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

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

โปรแกรมย่อย (Sub Program)

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


งานนำเสนอเรื่อง: "โปรแกรมย่อย (Sub Program)"— ใบสำเนางานนำเสนอ:

1 โปรแกรมย่อย (Sub Program)

2 สร้างขึ้นมาเพื่อ อำนวยความสะดวกในการเขียนโปรแกรม เพื่อแบ่งการทำงานของโปรแกรมออกเป็นส่วน ๆ ตามหน้าที่การทำงาน มีอยู่ 2 ประเภท ฟังก์ชั่น (Function) โพรซิเยอร์ (Procedure)

3 ตำแหน่งของโปรแกรมย่อย
อยู่ที่ส่วนของการประกาศ (Declaration Part)

4 ส่วนประกอบของโปรแกรมย่อย
ประกอบด้วย 3 ส่วน เหมือนกับในส่วนของโปรแกรมหลัก ส่วนหัว ของโปรแกรมย่อย (Sub Program Heading) ส่วนประกาศ ของโปรแกรมย่อย (Sub Program Declaration Part) ส่วนคำสั่ง ของโปรแกรมย่อย (Sub Program Statement Part)

5 ส่วนหัว ของโปรแกรมย่อย (Sub Program Heading)
ใช้ในการประกาศ ชื่อของ โปรแกรมย่อย ใช้ในประกาศข้อมูลที่ส่งให้กับโปแกรมย่อย และข้อมูลที่ส่งกลับมาจากโปรแกรมย่อย ส่วนประกาศ ของโปรแกรมย่อย (Sub Program Declaration Part) ใช้ในการประกาศ ชนิดข้อมูล, ค่าคงที่, ตัวแปร ที่ใช้ในโปรแกรมย่อย

6 ส่วนคำสั่ง ของโปรแกรมย่อย (Sub Program Statement Part)
ใช้ในการประกาศ โปรแกรมย่อย ที่ถูกเรียกใช้งาน ในโปรแกรมย่อยนี้ ส่วนคำสั่ง ของโปรแกรมย่อย (Sub Program Statement Part) เป็นส่วนที่เป็นลำดับขั้นตอนการทำงานของโปรแกรมย่อย ขึ้นต้อนด้วยคำว่า begin จบด้วยคำว่า end;

7 ฟังก์ชั่น (Function) ตัวอย่างของ ฟังก์ชั่นที่มีใช้งานในภาษาปาสคาลเช่น
การหารากที่ 2 การหาค่ายกกำลัง 2 การหาค่าของ ex นอกจากนี้ผู้ใช้งาน ยังสามารถเขียนฟังก์ชั่นขึ้นมาใช้งาน เพิ่มเติม ตามความต้องการ

8 การประกาศส่วนหัวของฟังก์ชั่น
Identifier คือส่วนที่ใช้ประกาศชื่อของ ฟังก์ชั่น Parameter list คือส่วนที่ใช้ในการประกาศ ค่าต่าง ๆ ที่ส่งให้กับฟังก์ชั่น Type of return value คือชนิดของข้อมูลที่ฟักช์ชั่นนั้น ส่งค่ากลับคืน

9 การประกาศในส่วน ของ Parameter list
ตัวอย่างฟังก์ชั่น มาตรฐานของภาษาปาสคาล เช่น SQRT(X) : Parameter ที่ส่งให้ฟังก์ชั่นคือ x, ค่าที่ฟังก์ชั่นนี้ ส่งกลับคือ ข้อมูลชนิด Real

10 ตัวอย่างการประกาศส่วนหัวของ ฟังก์ชั่น
Function example1(a : integer) : integer; Function example2(a, b : integer) : Boolean; Function example3(a : integer; b : real) : real; Function example4(var a : integer) : integer; Function example5(a : integer; var b : integer) : integer; Function example6(var a : integer; b,c : integer) : char;

11 Global variable VS Local Variable
คือ ตัวแปรที่ประกาศ ที่ส่วน Declaration part ของ Main program สามารถเรียกใช้งานได้ Main program และโปรแกรมย่อยทุกโปรแกรม Local Variable คือ ตัวแปรที่ประกาศในส่วน Declaration part ของโปรแกรมย่อย สามารถเรียกใช้งานได้จากโปรแกรมย่อยที่เป็นผู้ประกาศเท่านั้น โปรแกรมย่อยอื่น และ Main program จะไม่สามารถเรียกใช้งานได้

12 Program Ex1(input, output);
Var a,b : integer; Function Sub_Program1 (x,y : integer) : integer; Var c : integer; begin c := x + y; Sub_Program1 := c; {การส่งค่ากลับจากฟังก์ชั่น} end; Begin a := 5; b := 10; a := Sub_Program1(a,b); write(a); End.

13 ชนิดของ Parameter คือ ข้อมูลที่ใช้ในการติดต่อระหว่างโปรแกรมย่อย กับโปรแกรมหลัก มีอยู่ 2 ประเภท คือ Actual Parameter คือ พารามิเตอร์ที่ใช้ในการส่งข้อมูลจากโปรแกรมหลัก ไปยังโปรแกรมย่อย Formal Parameter คือ พารามิเตอร์ที่ใช้ทำการรับข้อมูล เพื่อนำมาใช้งานในโปรแกรมย่อย

14 จากตัวอย่างโปรแกรม ตัวแปร a และ b คือ Actual Parameter ตัวแปร x และ y คือ Formal Parameter ฟังก์ชั่น Sub_Program1 ส่งค่ากลับเป็นข้อมูลชนิด integer การส่งค่ากลับทำได้โดยใช้คำสั่ง Assignment Statement ดังแสดงในบรรทัดสุดท้ายของฟังก์ชั่น Sub_Program1

15 ตัวแปรที่ประกาศในโปรแกรมย่อย สามารถตั้งซ้ำกับตัวแปรที่ประกาศในส่วนของ Main program หรือโปรแกรมย่อยอื่นได้ ถ้ามีการเรียกใช้งานตัวแปร ในโปรแกรมย่อย ในกรณีที่มีชื่อซ้ำกับ Main program หรือโปรแกรมย่อยอื่น จะหมายถึงการเรียกใช้ตัวแปรที่ประกาศในโปรแกรมย่อยนั้น

16 Program Demo1(input, output);
Var x,b : integer; Function Sub_demo (b : integer) : integer; begin b := SQR(x) + 10; Sub_demo := b; end; Begin x := 10; b := 5; x := Sub_demo(x); write(b,x); End.

17 การส่งค่า Parameter มีวิธีการส่งค่าให้กับโปรแกรมย่อยอยู่ 2 แบบ คือ
1. ส่งแบบให้ค่า (Pass by value) 2. ส่งแบบอ้างอิง (Pass by reference) ส่งแบบให้ค่า (Pass by value) การส่งค่าด้วยวิธีนี้ โปรแกรมย่อยจะทำการสร้างตัวแปรขึ้นมารองรับ ถ้าค่าข้อมูลในตัวแปรเปลี่ยนแปลงไปจะไม่มีผลกับค่าข้อมูลที่ Main program ส่งมาให้โปรแกรมย่อย

18 ส่งแบบอ้างอิง (Pass by reference)
โปรแกรมย่อยจะทำการสร้างตัวชี้ (Pointer) เพื่อชี้ไปยังช่องเก็บข้อมูลของโปรแกรมหลัก ที่ใช้ในการเก็บข้อมูลนั้น ถ้าค่าข้อมูลในตัวแปรเปลี่ยนแปลงไปจะส่งผลให้ข้อมูลที่ Main program เปลี่ยนแปลงตามไปด้วย การประกาศเพื่อใช้งานการส่งค่าแบบอ้างอิง จะประกาศโดยใช้คำว่า Var ขึ้นต้น

19 Program Pass_Parameter(input, output);
Var a,b : integer; ans : integer; Function Pass_Para(x : integer ; Var y : integer) : integer; begin x := x + 35; y := y – 15; Pass_Para := x – y; end; Begin a := 10; b := 20; ans := Pass_Para(a, b); write(a, b, ans); End.


ดาวน์โหลด ppt โปรแกรมย่อย (Sub Program)

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


Ads by Google