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

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

Chapter 7 ฟังก์ชัน Function.

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


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

1 Chapter 7 ฟังก์ชัน Function

2 โปรแกรมโครงสร้าง โปรแกรมถูกแบ่งออกเป็นหลายส่วน แต่ละส่วนถูกกระทำโดยอิสระจากกัน

3 ข้อดีของโปรแกรมโครงสร้าง
การแบ่งโปรแกรมที่ซับซ้อน ให้เป็นส่วนย่อยหลายๆส่วน เมื่อนำแต่ละส่วนมาเขียนโปรแกรมสามารถเขียนได้ง่ายกว่า โดยที่แต่ละส่วนมีการทำงานที่แยกและเป็นอิสระจากกัน การแก้ไขข้อผิดพลาดในโปรแกรมย่อย ทำได้ง่ายกว่า สามารถนำโปรแกรมย่อยไปใช้ในงานอื่นที่มีลักษณะคล้ายกันได้ โดยอาจจะมีการแก้ไขเพียงเล็กน้อย

4 การวางแผนเขียนโปรแกรมโครงสร้าง
แจกแจงงานที่ต้องทำมีอะไรบ้าง บันทึกชื่อ ที่อยู่ลูกค้า ปรับปรุงข้อมูลที่บันทึกไว้แล้ว เรียงลำดับข้อมูลตามตัวอักษร พิมพ์สติกเกอร์จ่าหน้าซองจดหมาย นำงานที่แจกแจง มาเขียนโปรแกรม แบ่งแต่ละงานเป็นหนึ่งฟังก์ชัน

5 Top-Down Approach main function a function b function c function w
function x function y function z function d function e function f

6 ฟังก์ชัน (function) เป็นส่วนของโปรแกรม
ในโปรแกรมซี อย่างน้อยต้องมี 1 ฟังก์ชัน คือ ฟังก์ชันหลัก(main function) ในการกระทำการ จะต้องเริ่มต้นที่ฟังก์ชันหลักเสมอ แต่ละฟังก์ชันจะทำงานโดยอิสระ จากฟังก์ชันอื่น ฟังก์ชันจะทำงาน เมื่อถูกเรียกให้ทำงานจากฟังก์ชันหลักหรือฟังก์ชันอื่น เมื่อฟังก์ชันทำงานเสร็จแล้ว จะส่งค่ากลับไปยังฟังก์ชันที่เรียก

7 การเขียนฟังก์ชัน การกำหนดฟังก์ชัน มี 2 ส่วน
int sum (int x, int y) { int result; result = x + y; return (result); } การกำหนดฟังก์ชัน มี 2 ส่วน บรรทัดแรก รวมการประกาศพารามิเตอร์ (formal parameters) ประกอบด้วย ประเภทข้อมูลของค่าที่ส่งกลับไปยังฟังก์ชันที่เรียก ชื่อฟังก์ชัน ต้องไม่ซ้ำกับฟังก์ชันอื่น ประเภท และ พารามิเตอร์ ตัวฟังก์ชัน เป็นส่วนของข้อความสั่งต่างๆ อยู่ในปีกกา จบด้วยข้อความสั่ง return นิพจน์

8 การเขียนฟังก์ชัน ประเภทข้อมูล ชื่อฟังก์ชัน (ประเภท พารามิเตอร์, …, ประเภท พารามิเตอร์) ส่งกลับ int sum (int x, int y) { int result; result = x + y; return (result); }

9 การเรียกใช้ฟังก์ชัน Calling function
โดยการเรียกชื่อฟังก์ชัน ตามด้วยพารามิเตอร์ในวงเล็บ หรือ วงเล็บเปล่า lowertoupper (m) factorial (x) print (x) โดยมักใส่ไว้ในข้อความสั่งกำหนดค่า(assignment statement) y = factorial(x); นำค่าที่ส่งกลับเก็บไว้ใน y

10 ตัวแปรเฉพาะที่ (Local variable) ตัวแปรที่ประกาศในฟังก์ชัน

11

12 ตัวแปรเฉพาะที่ (Local variable) ตัวแปรที่ประกาศในฟังก์ชัน

13

14 การทำงานของฟังก์ชัน functionA () {… } main() { call functionA …
call functionB call functionC } functionB () {… } functionC () {… }

15

16

17 Function prototypes เป็นการบอกลักษณะของฟังก์ชันที่จะพบภายหลัง เพื่อให้คอมไพเลอร์รับทราบไว้ก่อน เขียนไว้ที่ต้นโปรแกรม ก่อนฟังก์ชันหลัก ประเภทของค่า ชื่อฟังก์ชัน (ประเภท พารามิเตอร์, …, ประเภท พารามิเตอร์ ) ; ที่ส่งกลับ ไปยังฟังก์ชัน ที่เรียก

18 #include <stdio.h>
long int factorial(int n) { int I long int res = 1; if (n > 1) for (i=2; i<=n; ++i) res *= I; return (res); } main() { int n; printf (“\nn = ”); scanf (“%d”, &n); printf (“\nn! = %d”, factorial(n)); #include <stdio.h> long int factorial (int n); main() { int n; printf (“\nn = ”); scanf (“%d”, &n); printf (“\nn! = %d”, factorial(n)); } long int factorial(int n) { int I long int res = 1; if (n > 1) for (i=2; i<=n; ++i) res *= I; return (res);

19

20 Passing arguments to a function passing by value

21 Recursion การที่ฟังก์ชันเรียกตัวเองซ้ำหลายครั้ง
return 3 * factorial(2) 3 * 2 return 2 * factorial(1) 2 * 1 return 1 * factorial(0) 1 * 1 การที่ฟังก์ชันเรียกตัวเองซ้ำหลายครั้ง จนกระทั่งเป็นไปตามเงื่อนไขที่กำหนดไว้ return 1

22

23 Global variable

24 Project building เพื่อกระทำการโปรแกรมหลายแฟ้ม ต้องสร้าง project

25 output เป็น extern storage-class
จึงต้องถูกเรียกจากภายนอก ดังนั้นจึงต้องใช้ extern ทั้งใน function declaration(file1.cpp) และ function definition(file2.cpp) แต่เนื่องจาก extern เป็น default storage class จึงสามารถละได้

26

27

28 Variable definition in a multifile program
ภายในโปรแกรมหลายแฟ้ม external variable ที่กำหนดไว้ในแฟ้มหนึ่ง สามารถถูกเข้าถึงจากแฟ้มอื่น external variable definition ปรากฎได้เพียงแฟ้มเดียว คือ ภายนอกของ function definition ปกติมักอยู่ที่จุดเริ่มต้นของแฟ้ม ก่อน function definition แรก external variable definition สามารถกำหนดค่าเริ่มต้นได้ แต่ถ้าไม่กำหนดจะมีค่าเริ่มต้นเป็น ศูนย์ ไม่ต้องใส่ extern ใน definition เพราะตัวแปรจะถูกรู้จักด้วยตำแหน่งของตัวแปรภายในแฟ้มที่กำหนด

29 Variable declaration in a multifile program
ตัวแปรต้องถูกประกาศภายในแฟ้ม เพื่อให้สามารถเข้าถึง external variable ในอีกแฟ้มหนึ่ง โดยประกาศไว้ที่ใดก็ได้ภายในแฟ้ม แต่ปกติมักประกาศไว้ที่ต้นแฟ้ม ก่อน function definition แรก ต้องขึ้นต้นด้วย extern ไม่สามารถกำหนดค่าเริ่มต้น ค่าที่กำหนดสามารถเปลี่ยนแปลงได้ภายในแฟ้มที่รู้จักตัวแปร แฟ้มอื่นสามารถรับรู้การเปลี่ยนแปลงได้

30 FILEA กำหนดให้ a, b, c เป็น external variable มีค่าเริ่มต้น 1,2,3

31 กรณีที่ไม่เปิด project ไม่สามารถคอมไพล์ได้


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

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


Ads by Google