19
READ นาไปใช้สาหรับการอ่านค่าที่มีอยู่แล้วมาเก็บไว้ในตัวแปร เช่นอ่านข้อมูลจากไฟล์
ในสื่อบันทึกต่าง ๆ
INPUT และ GET นาไปใช้สาหรับการรับข้อมูลจากแป้นพิมพ์
สาหรับ variable คือตัวแปรที่ใช้ในการเก็บข้อมูลที่อ่านหรือรับเข้ามา ซึ่งสามารถกาหนด
ได้หลายตัวตามจานวนตัวแปรที่ต้องการโดยใช้เครื่องหมาย “ , ” คั่นระหว่างชื่อตัวแปร
ตัวอย่างเช่น
INPUT a, b, c
Answer = a + b + c
หมายความว่า ให้รับค่าตัวแปร a ,b ,c ผ่านทางแป้นพิมพ์และกาหนดให้ตัวแปร answer เก็บค่า
ผลรวมของตัวแปรทั้ง 3
GET current_date
Expire_date = current_date + 120
หมายความว่า ให้รับค่าวันที่ปัจจุบัน แล้วเก็บไว้ในตัวแปรชื่อ current date จากนั้นกาหนดให้ตัว
แปรวันหมดอายุชื่อ expire_date มีค่าเท่ากับวันที่ปัจจุบันบวกเพิ่มไปอีก 120 วัน
OPEN student_file
READ id, name, address, sex
หมายความว่า ให้เปิดไฟล์ชื่อ student_file ไว้ แล้วอ่านค่าเรคอร์ด จากไฟล์ดังกล่าวซึ่ง
ประกอบด้วย ฟิลด์ id, name, address, sex
3. การแสดงผลของข้อมูล
รูปแบบ
PRINT variable_1, variable_2,variable_n
PROMPT variable_1, variable_2,variable_n
WRITE variable_1, variable_2,variable_n
สาหรับการแสดงผลข้อมูลสามารถใช้คาสั่ง PRINT, PROMPT, WRITE ใช้ในกรณีต่าง ๆ ต่อไปนี้
- PRINT และ PROMPT นาไปใช้สาหรับการพิมพ์ค่าข้อมูล หรือข้อความ
12.
20
- WRITE นาไปใช้สาหรับการบันทึกข้อมูลลงในแฟ้มข้อมูล
ตัวอย่างเช่น
PROMPT“Enter 3 Value ==> ”
INPUT value1,value2,value3
Sum = value1 + value2 + value3
PRINT sum
หมายความว่าแสดงข้อความให้พิมพ์ค่าจานวนตัวเลขจานวน 3 ค่า จากนั้นให้รับค่าตัวเลขทั้ง
สามโดยจัดเก็บไว้ที่ตัวแปรที่ชื่อ value1 ,value2 , value3 และกาหนดให้ sum มีค่าเท่ากับผลรวมของตัว
แปรทั้งสาม แล้วพิมพ์ค่า sum
OPEN student_file
INPUT id, name, address, sex
WRITE id, name ,address , sex
หมายความว่า ให้เปิดไฟล์ที่ชื่อ Student_file ขึ้นมา จากนั้นรับค่า id ,name ,address และ
sex แล้วบันทึกค่าดังกล่าวลงในแฟ้มข้อมูล
4. การกาหนดเงื่อนไข
รูปแบบ
IF <condition> THEN
Activity 1
ELSE
Activity2
ENDIF
โดยที่ <condition> คือเงื่อนไขที่กาหนด ซึ่งหากเงื่อนไขเป็นจริง ก็จะทากิจกรรมหลัง THEN แต่ถ้า
เงื่อนไขนั้นเป็นเท็จ ก็จะทากิจกรรมหลัง ELSE
13.
21
ตัวอย่างเช่น
IF score >=80 THEN
Grade = “4”
ELSE
Grade = “3”
ENDIF
นอกจากการใช้เงื่อนไข IF … THEN แล้ว ก็ยังมีคาสั่ง CASE …. OF ซึ่งสามารถตรวจสอบ
เงื่อนไขหลายเงื่อนไขได้ด้วย เช่น
CASE score OF
Score>= 80 : grade = “4”
Score>= 70 : grade = “3”
Score>= 60 : grade = “2”
Score>= 50 : grade = “1”
END CASE
5. การทางานเป็นรอบ(Loop)
5.1 การทางานเป็นรอบด้วย WHILE
รูปแบบ
WHILE <condition>
Activity1
Activity2
Activity3
END WHILE
การทางานของลูป WHILE จะมีการตรวจสอบเงื่อนไขก่อนหากเงื่อนไขเป็นจริงก็จะทา
กิจกรรมที่อยู่ภายในไปเรื่อย ๆ จนกระทั่งเงื่อนไขนั้นเป็นเท็จและก็จะออกจากลูปนั้นไป
14.
22
ตัวอย่าง
WHILE num <=20
PRINTnum
Num = num + 1
END WHILE
PROMPT “STOP”
จากตัวอย่าง num จะมีค่าเริ่มต้นเป็น 1 และจะวนภายในลูปจานวน 20 รอบ พร้อมกับพิมพ์ค่า
ของ num โดยเพิ่มทีละ 1 ไปเรื่อย ๆ จนกระทั่ง ค่า num มากกว่า 20 แล้วก็ออกจากลูป พร้อมกับพิมพ์
ข้อความว่า STOP ออกมา
5.2 การทางานเป็นรอบด้วยลูป DO…UNTIL
รูปแบบ
DO
Activity1
Activity2
Activity3
UNTIL <condition>
การทาลูป DO…UNTIL จะเป็นการตรวจสอบเงื่อนไขภายหลังซึ่งจะวนรอบไปเรื่อย ๆ และทา
กิจกรรมภายในลูป
ตัวอย่างเช่น
DO
PRINT “Hello World”
Num = num +1
UNTIL num > 20
จากตัวอย่างโปรแกรมก็จะพิมพ์ข้อความ “Hello World” ไปเรื่อย ๆ โดยจะมีการนับค่า
num เพิ่มขึ้นทีละ 1 และจะตรวจสอบว่า num มีค่ามากกว่า 20 เมื่อไรก็จะหลุดออกจากลูปทันที
15.
23
5.3 การทาเป็นรอบแบบ FOR…NEXT
รูปแบบ
FORn = 1 to 10
Activity 1
Activity 2
Activity 3
NEXT
การทางานของลูป FOR…NEXT จะมีการวนซ้าเพื่อทางานภายในลูปที่กาหนดว้าอย่างแน่นอน
เช่น กาหนดไว้ 10 รอบ ก็จาทากิจกรรมภายในลูป 10 รอบ ตัวอย่างเช่น ให้พิมพ์คาว่า
GOOD Bye จานวน 10 ข้อความ
FOR n=1 to 10
PRINT “GOOD Bye”
NEXT
6. โปรแกรมย่อย (Procedure)
ในกรณีที่โปรแกรมมีความซับซ้อน และมีขั้นตอนมากมายอาจจะมีความจาเป็นต้องแบ่งโปรแกรม
ออกเป็นโปรแกรมย่อย ๆ หรือเรียกว่าโพรซีเยอร์( PROCEDURE) โดยแต่และโพรซีเยอร์จะต้องมี ชื่อกากับ
พร้อมชุดคาสั่งภายในโปรแกรมย่อย นั้นๆ ส่วนการเรียกใช้จะใช้คาสั่ง CALL แล้วตามด้วยชื่อ โพรซีเยอร์
รูปแบบ
PROCEDURE name