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

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

กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี

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


งานนำเสนอเรื่อง: "กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี"— ใบสำเนางานนำเสนอ:

1 กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
หน่วยที่ 7 ฟังก์ชั่น กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี

2 Agenda : ประเด็นพิจารณา
ลักษณะทั่วไป ประโยชน์ของการใช้ฟังก์ชั่น รูปแบบการเขียนฟังก์ชั่น ตัวอย่าง parameter กฎการเรียกใช้ฟังก์ชั่น Function Prototype แบบฝึกหัด กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์

3 ลักษณะทั่วไป การเขียนโปรแกรมในภาษาซีจะเขียนในลักษณะเป็น module หรือโปรแกรมย่อย ๆ แต่ละโมดูลมักจะทำหน้าที่อย่างใดอย่างหนึ่ง ฟังก์ชั่น main() เป็นฟังก์ชั่นหลักของภาษาซี การติดต่อกันของฟังก์ชั่น เรียกว่า Function call Function call มีผู้เกี่ยวข้องสองฝ่ายคือ ผู้เรียกใช้ และผู้ถูกเรียก ฟังก์ชั่น สามารถเป็นได้ทั้งผู้เรียก และผู้ถูกเรียกใช้ โดยทั้งสองฝ่ายอาศัย พารามิเตอร์ เป็นตัวเชื่อมโยงข้อมูลซึ่งกันและกัน กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์

4 ประโยชน์ของการใช้ฟังก์ชั่น
- สามารถเรียกใช้ฟังก์ชั่นหลายๆ ที่ได้ - โปรแกรมมีโครงสร้างที่ดี กระทัดรัด เข้าใจง่าย ตรวจเช็คความสมบูรณ์ของโปรแกรมได้ง่าย - ง่ายต่อการทดสอบและแก้ไขโปรแกรม - ฟังก์ชันที่ดีและจัดเก็บเป็นระบบ สามารถนำกลับมาใช้ง่ายและรวดเร็ว กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์

5 รูปแบบของฟังก์ชั่น int function_name(int x, float y, char z)
expression ที่ส่งกลับซึ่งมีชนิดข้อมูลตามที่ระบุด้านบน int function_name(int x, float y, char z) { . . return …; } ชนิดข้อมูลที่ส่งกลับ ชื่อ function พารามิเตอร์ที่รับเข้ามาเพื่อใช้ใน function ชนิดของฟังก์ชั่น - เหมือนชนิดข้อมูล - หากไม่ต้องการคืนค่า (เช่นฟังก์ชั่นที่ไม่มีการคำนวณ) ให้ระบุชนิดเป็น void และไม่มีคำสั่ง return พารามิเตอร์ - มีชนิดเหมือนตัวแปรทั่วไป - หากไม่มีพารามิเตอร์ ให้ใช้เครื่องหมายวงเล็บว่าง กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์

6 ตัวอย่างการเขียน function
ตัวอย่างฟังก์ชันที่ใช้ในการคำนวณหา เลขยกกำลังสาม int cube(int x) { return x*x*x; // x*x*x คือค่าที่ส่งกลับไปให้ผู้ เรียกใช้ ซึ่งมีชนิดข้อมูลเป็น integer ตามที่ระบุที่หัวฟังก์ชัน } กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์

7 ตัวอย่างการเรียกใช้ function
การเรียกใช้งานฟังก์ชัน cube จะต้องผ่านพารามิเตอร์ที่มีชนิดเป็นเลขจำนวนเต็ม 1 จำนวน ตามรูปแบบที่กำหนดไว้ตอนสร้างฟังก์ชั่น y=cube(9); 9 คือค่าที่ถูกส่งไปให้ x ในฟังก์ชัน cube แล้ว cube ทำการคำนวณ x*x*x แล้วส่งกลับมาให้ y ทำให้คำสั่ง y=cube(9); กลายเป็น y=729; นั่นเอง จากนั้นก็สามารถนำ y ไปใช้งานต่อได้ กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์

8 พารามิเตอร์ / กฎการใช้งาน
parameter หมายถึงข้อมูลเพิ่มเติมที่ฟังก์ชั่นต้องการ โดยฟังก์ชั่นที่เรียกใช้ จะต้องส่งให้กับฟังก์ชั่น ตัวอย่าง int cube(int x) ฟังก์ชั่น cube ต้องการข้อมูลชนิดเลขจำนวนเต็ม 1 ตัว เพื่อนำมาคำนวณ ในกรณีที่ฟังก์ชั่นไม่ต้องการพารามิเตอร์ ให้ใช้ ( ) ข้อกำหนด : ชนิด และจำนวนของพารามิเตอร์ ทั้งที่ จุดเรียกใช้ และที่ฟังก์ชั่น จะต้องเป็นชนิดเดียวกัน และมีจำนวนเท่ากัน เสมอ กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์

9 พารามิเตอร์ / กฎการใช้งาน
void a() { … } void a(int x) int a() return …; int a(float z) main() { a(); { int y=7; a(y); { int j; j=a(); { int k; k=a(5.9); กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์

10 Function Prototype ฟังก์ชั่นที่ถูกเรียกใช้ ควรสร้างไว้ก่อนการเรียกใช้
Compiler ต้องรู้จักฟังก์ชั่นก่อนที่จะมีการเรียกใช้ หากไม่มีการสร้างฟังก์ชั่นก่อนการเรียกใช้ สามารถใช้วิธีประกาศชื่อฟังก์ชั่นให้ compiler รู้จัก ก่อนที่จะเรียกใช้ เรียกว่าการสร้าง prototype กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์

11 Function Prototype ตัวอย่างนี้ compile error main() { int y;
y=cube(5); printf(“%d”,y); } int cube(int x) { return x*x*x; ฟังก์ชัน main เรียกใช้ฟังก์ชัน cube ทั้งๆที่ตัวเองมองไม่เห็น cube แก้ปัญหาได้โดย int cube(int x); // เอาแค่บรรทัดแรกของ // ฟังก์ชันมาประกาศไว้ // เป็น prototype main() // main มองเห็นว่ามี cube อยู่

12 แบบฝึกหัด เขียนโปรแกรมในรูปของฟังก์ชั่นเพื่อหาค่า nm
จงเขียนโปรแกรมที่มีเมนูให้ผู้ใช้เลือกว่าต้องการทำการบวก ลบ คูณ หรือ หาร ตัวเลข 2 จำนวนซึ่งป้อนจากทางแป้นพิมพ์ และถ้าผู้ใช้เลือกตามเมนูข้อใด ก็ให้เรียกใช้ฟังก์ชั่นเพื่อคำนวณและแสดงผลลัพธ์ตามที่ได้เลือกไว้ แต่ถ้าผู้ใช้เลือกข้อที่ไม่มีในเมนู ให้แสดงข้อความว่า “Out of menu.”


ดาวน์โหลด ppt กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี

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


Ads by Google