ลูปแบบ Repeat
การทำซ้ำ
สมมติว่าต้องการใช้คอมพิวเตอร์แสดงข้อความต่อไปนี้
I am a MEDIA INTELLIGENCE TECHNOLOGY .
I am a MEDIA INTELLIGENCE TECHNOLOGY .
I am a MEDIA INTELLIGENCE TECHNOLOGY .
I am a MEDIA INTELLIGENCE TECHNOLOGY .
I am a MEDIA INTELLIGENCE TECHNOLOGY .
นักเรียนมีวิธีการเขียนโปรแกรมได้ 2 วิธีคือ
1. เขียนทุกคำสั่ง ดังนี้
WriteLn(‘I am a MEDIA INTELLIGENCE TECHNOLOGY . ’);
WriteLn(‘I am a MEDIA INTELLIGENCE TECHNOLOGY . ’);
WriteLn(‘I am a MEDIA INTELLIGENCE TECHNOLOGY . ’);
WriteLn(‘I am a MEDIA INTELLIGENCE TECHNOLOGY . ’);
WriteLn(‘I am a MEDIA INTELLIGENCE TECHNOLOGY . ’);
วิธีการนี้อาจจะไม่สะดวกถ้าคำสั่งมีจำนวนมาก ๆ
2. โปรแกรมคอมพิวเตอร์มีวิธีการเฉพาะสำหรับดำเนินการกับงานที่ต้องทำซ้ำ ๆ เรียกว่าการทำงานในลักษณะลูป (Loop) ในภาษาปาสคาลมีอยู่ 3 แบบ คือ Repeat While และ For
หลักการทำงานของโปรแกรมในลักษณะลูปก็คือ โปรแกรมจะทำงานตามคำสั่งในคำสั่งชุดเดิมซ้ำ ๆ กัน จนกระทั่งสอดคล้องกับเงื่อนไขที่เป็นจริง (True) หรือเท็จ (False) แล้วแต่กรณีของลูปแต่ละแบบ
ค่าของเงื่อนไขที่เป็นจริงหรือเท็จนี้ได้มาจากการกระทำ 2 ประเภท คือ การเปรียบเทียบ (Relational expression) และการหาค่าบูลีน (Boolean expression)
การเปรียบเทียบ
การเปรียบเทียบ หรือรีเลชันนอลเอกซ์เพรสชัน หมายถึง การหาคำตอบว่าเมื่อนำค่าที่อยู่ทางด้านซ้ายและทางขวาของโอเปอเรเตอร์เปรียบเทียบ มาเปรียบเทียบกันแล้วจะได้ผลเป็นจริงหรือเท็จ
การเปรียบเทียบมี 6 กรณี แต่ละกรณีจะได้ผลเป็นจริงหรือเท็จ อย่างใดอย่างหนึ่งเพียงอย่างเดียว ดังตาราง
โอเปอเรชั่น | โอเปอเรเตอร์ | ชนิดของข้อมูลที่ใช้ได้ (Y) | ||||
เท่ากับ | = | ซิมเปิล | สตริง | เซต | พอยน์เตอร์ | เรคอร์ด |
ไม่เท่ากับ | < > | Y | Y | Y | Y | Y |
น้อยกว่า | < | Y | Y | | | |
มากกว่า | > | Y | Y | | | |
น้อยกว่าหรือเท่ากับ | <= | Y | Y | | | |
มากกว่าหรือเท่ากับ | >= | Y | Y | | | |
ตารางแสดงการเปรียบเทียบของโอเปอเรเตอร์แบบต่าง ๆ
ตัวอย่าง
ถ้า A มีค่าเป็น 5 B มีค่าเป็น 5 และ C มีค่าเป็น 4
A = B Ture A <> B False
A < B False A > B False
A > C Ture C <= A Ture
C >= B False
การหาค่าบูลีน
การหาค่าบูลีนหรือบูลีนเอ็กเพรสชัน เป็นการหาผลลัพธ์จากบูลีนโอเปอเรเตอร์ตามหลักของคณิตศาสตร์บูลีน บูลีนโอเปอเรเตอร์มีหลายตัว แต่นำมาใช้บ่อย ๆ ในการเขียนโปรแกรมมี 4 ตัว ได้แก่ NOT AND OR และ XOR ผลลัพธ์ที่ได้จากการหาค่าบูลีนก็คือ true หรือ false อย่างใดอย่างหนึ่ง
ตัวอย่าง เมื่อกำหนดให้ a และ b เป็น true และ false ในกรณีต่าง ๆ ที่เป็นไปได้ ค่าบูลีนที่ได้จากโอเปอเรเตอร์ NOT AND OR และ XOR จะเป็นดังตาราง
A | b | NOT a | a AND b | a OR b | a XOR b |
true | true | false | true | true | false |
true | false | false | false | true | true |
false | true | true | false | true | true |
false | false | true | false | false | false |
ลักษณะลูปแบบ Repeat
ลูปแบบ repeat จะทำงานตามคำสั่งจำนวนหนึ่งไปจนกระทั่งเงื่อนไขเป็นจริงแล้วจึงเลิกทำ แต่ถ้าเงื่อนไขเป็นเท็จจะทำงานตามคำสั่งจำนวนนั้นซ้ำอีก โดยแสดงลักษณะดังภาพ
Repeat
คำสั่ง;
...
คำสั่ง;
เท็จ
เงื่อนไขเป็น
จริง
จบ
รูปแบบของ Repeat
คำสั่ง Repeat มีรูปแบบดังนี้
Repeat
คำสั่ง ;
...
คำสั่ง ;
Until เงื่อนไขเป็นจริง
ตัวอย่างโปรแกรมลูปแบบ Repeat
ตัวอย่าง โปรแกรมใช้แสดงตัวเลขตั้งแต่ 1 ถึง 9 โดยวิธีให้โปรแกรมทำงานซ้ำที่ คำสั่งชุดเดิมแบบ Repeat
|
ผลที่ได้คือ
Repeat Counter
1
2
3
4
5
6
7
8
9
ลูปแบบ Repeat ซ้อนกัน (Nested Repeat)
คำสั่งที่ทำงานเป็นลูปอาจจะต้องนำมาซ้อนกันเพื่อให้สามารถทำงานที่มีลักษณะเป็นลูปซ้อนกันได้ Repeat ที่เป็นลูปซ้อนกันได้ Repeat ที่เป็นลูปซ้อนกันมีโครงสร้างดังนี้
Repeat
คำสั่ง;
....
Repeat
คำสั่ง;
....
Until เงื่อนไขเป็นจริง
คำสั่ง;
....
Until เงื่อนไขเป็นจริง
ตัวอย่างที่ 1 ในโปรแกรมที่ต้องการแสดงผลในลักษณะตาราง อาจจะต้องใช้คำสั่ง Repeat ซ้อนกัน เช่นโปรแกรมแสดงตารางสูตรคูณ ซึ่งต้องการให้แสดงผลเป็นตารางดังนี้
2 x 1 = 2 3 x 1 = 3 ... 9 x 1 = 9
2 x 2 = 4 3 x 2 = 6 ... 9 x 2 = 18
.... ...
2 x 10 = 20 3 x 10 = 30 ... 9 x 10 = 90
โปรแกรมแสดงตารางสูตรคูณดังกล่าวข้างต้น มีตัวอย่างดังโปรแกรมที่ 8
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น