หลักการเขียนโปรแกรม (2201-2410) [แผนกคอมพิวเตอร์] หลักการเขียนโปรแกรม (2201-2410) 8 บทที่ การสร้างโพรซีเดอร์และฟังก์ชั่น โดยอาจารย์อำภา กุลธรรมโยธิน วิทยาลัยอาชีวศึกษาธนบุรี
โพรซีเดอร์และฟังก์ชัน (Procedure and Function) การเขียนโปรแกรมในภาษาปาสคาล คอมไพเลอร์ (compiler) ได้เตรียม Procedure ที่มีการใช้บ่อย ๆ เช่น write() read() ผู้เขียนโปรแกรมสามารถนำมาใช้ได้ทันที แต่บาง Procedure จะถูกแยกไว้ในยูนิตอื่น ๆ เช่น clrscr , gotoxy() , delay() หลักการเขียนโปรแกรม (2201-2410)
2. ประโยชน์ของโพรซีเดอร์ (Procedure) 1. เพื่อประหยัดเวลาในการเขียนคำสั่งที่ซ้ำ ๆ กันในกรณีที่ต้องการผลลัพธ์ เดียวกัน ได้สะดวก และรวดเร็ว 2. สามารถแบ่งการทำงานให้เป็นระเบียบ ง่ายต่อการแก้ไขโปรแกรมใน ภายหลัง 3. สามารถสร้างคำสั่งขึ้นมาใหม่ เพื่อให้ทำงานตรงกับความต้องการ 4. โปรแกรมมีขนาดกะทัดรัด และสามารถเข้าใจขั้นตอนการทำงานของ โปรแกรมได้ง่าย 5. สามารถนำคำสั่งที่สร้างขึ้นมาใช้งานในโปรแกรมอื่นได้ หลักการเขียนโปรแกรม (2201-2410)
หลักการเขียนโปรแกรม (2201-2410) รูปแบบคำสั่ง Procedure ชื่อของโพรซีเดอร์; Begin คำสั่งที่คอมไพเลอร์ (Compiler) จัดเตรียมไว้ และโครงสร้างการทำงานต่าง ๆ เช่น if then, repeat until เป็นต้น End; 2.1 การเขียนโพรซีเดอร์ขึ้นมาใช้งาน การสร้างโพรซีเดอร์ (Procedure) ขึ้นมาใช้งานในภาษาปาสคาลจะเป็นการนำ Procedure ที่มีอยู่แล้วมาออกแบบขั้นตอนการทำงาน เพื่อให้ทำงานตรงกับความต้องการ หลักการเขียนโปรแกรม (2201-2410)
หลักการเขียนโปรแกรม (2201-2410) 2.2 ฟังก์ชัน (Function) ฟังก์ชันเหมือนกับโพรซีเดอร์ที่คอมไพเลอร์จัดเตรียมไว้ให้แล้ว ต่างกันที่ฟังก์ชันมีการคืนค่าเป็นข้อมูลชนิดต่าง ๆ เช่น ฟังก์ชัน chr() จะคืนค่ามาเป็นข้อมูลตัวแปรชนิด char (ตัวอักษร 1 ตัว) ในการใช้ฟังก์ชัน chr() เมื่อป้อนค่าตัวเลขเช่น chr(65) จะมีค่ามาเป็นตัวอักษร ‘A’ หากเขียนเป็นโปรแกรมเช่น write(chr(65)); จะพบตัวอักษร A จากตัวอย่างเรียก 65 ว่า argument ซึ่งจะส่งผ่านค่าไปให้พารามิเตอร์ (Parameter) ที่อยู่ในส่วนประกาศ function หลักการเขียนโปรแกรม (2201-2410)
หลักการเขียนโปรแกรม (2201-2410) Parameter คือ ตัวแปรที่อยู่ในส่วนประกาศ Procedure หรือ function ซึ่งสามารถเปลี่ยน แปลงค่าต่าง ๆ โดยกำหนดที่อากิวเมนท์ (argument) Argument คือ ค่าที่จะส่งให้กับตัวแปรที่เป็นพารามิเตอร์ใน Procedure หรือใน Function หลักการเขียนโปรแกรม (2201-2410)
3. ตัวแปรโกลบอล (Global) กับโลคอล (Local) 1. จะอยู่เหนือส่วนการประกาศ Procedure, function ทั้งหมด 2. สามารถใช้ตัวแปรโกลบอลได้ทั้งในส่วนทำงานและส่วนประกาศ Procedure, function 3. สามารถกำหนดชื่อของค่าคงที่ ตัวแปร ประเภทของข้อมูล ยูนิต เลเบล หรือโปรแกรมย่อย โดยกำหนดไว้ระหว่าง Program กับ Begin ของโปรแกรมหลัก หลักการเขียนโปรแกรม (2201-2410)
หลักการเขียนโปรแกรม (2201-2410) ตัวแปรโลคอล ลักษณะของตัวแปรแบบโลคอล (local) 1. จะอยู่ภายในส่วนการประกาศ Procedure, function 2. สามารถใช้ตัวแปรได้แต่ภายในส่วนของโปรแกรมย่อยเท่านั้น ( Procedure / function ) หลักการเขียนโปรแกรม (2201-2410)
4. การส่งผ่านพารามิเตอร์ (Parameter) การส่งผ่านพารามิเตอร์คือการแทนค่าให้กับตัวแปรที่ทำหน้าที่เป็นพารามิเตอร์ ซึ่งอยู่ในโพรซีเดอร์หรือฟังก์ชัน เพื่อนำค่านั้นไปดำเนินการกับคำสั่งต่าง ๆ ภายในโพรซีเดอร์หรือฟังก์ชันนั้น มีการส่ง 2 แบบคือ 1. Passing Value การส่งแบบ Value เป็นการส่งค่าหรือค่าของตัวแปรไปยังตัวแปรที่ทำหน้าที่เป็นพารามิเตอร์ ถ้าส่งค่าโดยใช้ “ค่าของตัวแปร” จะไม่มีการเปลี่ยนแปลงค่าของตัวแปรนั้น ๆ ภายในการทำงานของโพรซีเดอร์หรือฟังก์ชัน หลักการเขียนโปรแกรม (2201-2410)
5. การหยุดโปรแกรมและประโยชน์ของค่าคงที่ เทคนิคการทำให้การวนซ้ำหยุดโปรแกรม เพื่อป้องกันโปรแกรมหยุดไม่ได้ ซึ่งสามารถทำได้ 2 วิธี คือ 1. การทำให้ loop มีเงื่อนไข IF keypressed then break; เช่น หลักการเขียนโปรแกรม (2201-2410)
หลักการเขียนโปรแกรม (2201-2410) 5.1 ประโยชน์ของการประกาศค่าคงที่ 1. ช่วยแก้ไขการเขียนโปรแกรมยาว ๆ ได้ง่าย 2. ช่วยประหยัดเวลาในการค้นหาทีละประโยค 3. ช่วยประหยัดหน่วยความจำในกรณีที่ใช้ซ้ำ ๆ กัน หลายแห่ง หลักการเขียนโปรแกรม (2201-2410)
หลักการเขียนโปรแกรม (2201-2410) ตัวอย่างที่ 1 และตัวอย่าง 2 เปรียบเทียบประโยชน์ของการกำหนดค่าคงที่ หลักการเขียนโปรแกรม (2201-2410)
6. ข้อมูลชนิดเรคคอร์ด (Record) การใช้งานข้อมูลในรูปแบบของ Record มีลักษณะการทำงานคล้ายคลึงกับ Array คือการที่เป็นชุดข้อมูลของ Record จุดเด่นของโครงสร้างสามารถจัดเก็บข้อมูลหลาย ๆ ประเภทไว้ภายใต้ข้อมูล ชุดเดียวได้ รูปแบบคำสั่ง Record ชื่อฟิลด์ : ชนิดข้อมูล ...ชื่อฟิลด์ : ชนิดข้อมูล End; ตัวอย่างที่ 1 Type N = Record x : String; y : integer; z : char; End; หลักการเขียนโปรแกรม (2201-2410)
หลักการเขียนโปรแกรม (2201-2410) 7. ข้อมูลแบบไฟล์ (File) การทำงานในโปรแกรมภาษาปาสคาล สามารถจัดเก็บข้อมูลเหล่านั้นลงในไฟล์ได้ ซึ่งจะทำให้สามารถเรียกข้อมูลเหล่านั้น นำมาใช้งานในครั้งต่อไปได้ ลักษณะของไฟล์ของปาสคาลเป็นไฟล์ลักษณะโครงสร้างซึ่งจะมีลักษณะเหมือนกับเรคคอร์ด (Record) ตัวอย่างที่ 1 จัดเก็บหลาย ๆ เรคคอร์ดใน 1 ไฟล์ แต่ละเรคคอร์ดจัดเก็บ ข้อมูลตัวเลข ที่มีลำดับที่ชัดเจน หลักการเขียนโปรแกรม (2201-2410)
การสร้างโพรซีเดอร์และฟังก์ชั่น 8 จบการนำเสนอ บทที่ การสร้างโพรซีเดอร์และฟังก์ชั่น หลักการเขียนโปรแกรม (2201-2410)