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

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

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

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


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

1

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

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

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 รูปแบบการประกาศตัวแปร : 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 extern int c; extern int fac(int); void main() { b = fac(5); printf("5! = %d\n",b); } #include 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! 1. Read n 2. n!  fac(n) 3. 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: X n 1. Read n 2. power(n) power(n) 1. if (n=0) then return 1 2. else write x * power(n-1) ฟังก์ชัน power() มี การเรียกใช้ฟังก์ชัน power() ( เรียกใช้ตัวมันเอง )

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


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

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


Ads by Google