งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ฟังก์ชัน (Function).

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ฟังก์ชัน (Function)."— ใบสำเนางานนำเสนอ:

1 ฟังก์ชัน (Function)

2 Outline รูปแบบในการกำหนดฟังก์ชัน ตัวอย่างการกำหนดฟังก์ชันในภาษาซี
รูปแบบในการเรียกใช้ฟังก์ชัน ขอบเขตของตัวแปร โปรโตไทป์ (prototype) การเวียนเกิด (Recursion)

3 รูปแบบในการกำหนดฟังก์ชัน
[type] function-name ([formal parameters]) 1. statement 1 2. statement 2 [return function-variable] n. end type : int , float , char , user-defined formal parameters : datatype parameter-name

4 ตัวอย่างการกำหนดฟังก์ชันในภาษาซี
กรณีที่ 1 ไม่มีพารามิเตอร์ และไม่มีการส่งค่ากลับ void prn () { int i; for(i=1;i<=15;i++) printf(“*”); printf(“\n”); }

5 ตัวอย่างการกำหนดฟังก์ชันในภาษาซี
กรณีที่ 2. ไม่มีพารามิเตอร์ แต่มีการส่งค่ากลับ int sum () { int i,n,s=0; scanf(“%d”,&n); for(i=1;i<=n;i++) s += i; return s; }

6 ตัวอย่างการกำหนดฟังก์ชันในภาษาซี
กรณีที่ 3. มีพารามิเตอร์ และมีการส่งค่ากลับ int fac (int m) { int i,ans=1; for(i=1;i<=m;i++) ans *= i; return ans; }

7 ตัวอย่างการกำหนดฟังก์ชันในภาษาซี
กรณีที่ 4 มีพารามิเตอร์ แต่ไม่มีการส่งค่ากลับ void func (int x , float y) { printf(“answer = %f\n”, y / (x * x)); }

8 รูปแบบในการเรียกใช้ฟังก์ชัน
มีการส่งค่ากลับ ans  sum()  ไม่มีพารามิเตอร์ ans  fac(int m)  มีพารามิเตอร์ var  function-name ([arguments])

9 รูปแบบในการเรียกใช้ฟังก์ชัน
ไม่มีการส่งค่ากลับ prn ()  ไม่มีพารามิเตอร์ func (int x , float y)  มีพารามิเตอร์ function-name ( [arguments] )

10 ตัวอย่างการกำหนดและการเรียกใช้ฟังก์ชัน
float area (float a , float b) { return 1.0/2 * a * b; } void func (int x , float y) { printf(“answer = %f\n”, y / (x * x)); void main() { int a; float triangle, b; triangle = area(3.5,4.0); scanf(“%d %f”,&a,&b); func(a,b); การกำหนดฟังก์ชัน การเรียกใช้ฟังก์ชัน (มีการส่งค่ากลับ) การเรียกใช้ฟังก์ชัน (ไม่มีการส่งค่ากลับ)

11 ขอบเขตของตัวแปร Global Local Static Extern

12 ขอบเขตของตัวแปร: Global & Local
int i , n; int sumi2 () { int j=0, i, n; …. } void func (int a , int b , int c) { int i, n; float j; …. void main() { int ans, j; ….. Global variables ทุกฟังก์ชันมองเห็นและสามารถเรียกใช้ได้ Local variables ใช้งานได้ภายในฟังก์ชันเท่านั้น ฟังก์ชันอื่น ๆ มองไม่เห็น ถูกประกาศไว้ในฟังก์ชันใด ก็ถูกเรียกใช้ได้เฉพาะในฟังก์ชันนั้น

13 ขอบเขตของตัวแปร: Static
รูปแบบการประกาศตัวแปร: static data-definition; Ex. static int i; ถ้ากำหนดใช้ในฟังก์ชัน จะทำให้ค่าของตัวแปรยังคงถูกเก็บไว้หลังจากทำงานในฟังก์ชันเสร็จสิ้นและเมื่อเรียกใช้ฟังก์ชันอีกครั้ง ค่าดังกล่าวจะถูกนำมาใช้ต่อไปได้เลย

14 ขอบเขตของตัวแปร: Extern
รูปแบบ extern data-definition; extern function-prototype; เป็นการเรียกใช้ตัวแปรหรือฟังก์ชันที่กำหนดไว้นอกโปรแกรม Ex. extern int c; extern int fac (int);

15 ตัวอย่างโปรแกรมใช้ตัวแปรแบบ extern
#include<stdio.h> extern int c; extern int fac(int); void main() { b = fac(5); printf("5! = %d\n",b); } #include <stdio.h> int c; int fac(int m) { int i, f=1; for (i=1;i<=m;i++) f *= i; return f; }

16 โปรโตไทป์ (Prototype)
Prototype declaration เป็นการประกาศรูปแบบฟังก์ชันที่มีใช้ในโปรแกรมซึ่งเขียนต่อจากส่วนโปรแกรมหลัก ทั้งนี้เพื่อให้ตัวแปลภาษารู้จักก่อนมีการเรียกใช้งานฟังก์ชันนั้น

17 ตัวอย่างการเขียนโปรโตไทป์
float area (float , float); void func (int , float); void main() { int a; float triangle, b; triangle = area(3.5,4.0); scanf(“%d %f”,&a,&b); func(a,b); } float area (float a , float b) { return 1.0/2 * a * b; void func (int x , float y) { printf(“answer = %f\n”, y / (x * x)); การเขียนโปรโตไทป์ เขียนฟังก์ชันไว้หลัง main จึงต้องมีการประกาศโปรโตไทป์

18 การเวียนเกิด (Recursion)
คือการเรียกตัวเองซ้ำของฟังก์ชัน โดยต้องมีส่วนที่ทำการเรียกตัวฟังก์ชันเอง และจุดที่ทำให้จบการเรียกซ้ำตัวเอง เช่น n! (n factorial) 1! = 1 2! = 2 x 1 = 2 x 1! 3! = 3 x 2 x 1 = 3 x 2! n! = n x (n-1) x (n-2) x … x 2 x 1 = n x (n-1)!

19 การเวียนเกิด (Recursion)
Algorithm n factorial Input: a number of n Output: n! Read n n!  fac(n) Write n! fac(n) 1. if (n=1) then return 1 2. else return n * fac(n-1) ฟังก์ชัน fac() มีการเรียกใช้ฟังก์ชัน fac() (เรียกใช้ตัวมันเอง)

20 การเวียนเกิด (Recursion)
Algorithm power n Input: ค่า n Output: Xn Read n power(n) 1. if (n=0) then return 1 2. else write x * power(n-1) ฟังก์ชัน power() มีการเรียกใช้ฟังก์ชัน power() (เรียกใช้ตัวมันเอง)

21 Class Exercise เขียนขั้นตอนวิธีด้วยรหัสลำลองเพื่อคำนวณหาค่าผลรวมของ
โดยมีการเรียกใช้ฟังก์ชัน xn


ดาวน์โหลด ppt ฟังก์ชัน (Function).

งานนำเสนอที่คล้ายกัน


Ads by Google