17
หหหหหหหห 10 หหหหหหหหหหหหหหหหหหหหห

หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

  • Upload
    -

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

หน่�วยที่�� 10 การที่ างาน่แบบมี�ที่ าซ้ำ �า

Page 2: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

ประเภที่ของการที่ าซ้ำ �าการทำ�างานแบบวนซ้ำ��าน �น จะต้�องมี�การต้รวจสอบ

เง��อนไขอยู่��ภายู่ในลู�ปของการทำ�าซ้ำ��าด้�วยู่ งานบางประเภทำมี�จ�านวนคร �งในการทำ�าซ้ำ��าทำ��แน�นอน งานบางประเภทำมี�จ�านวนคร �งในการทำ�าซ้ำ��าไมี�แน�นอน ข%�นอยู่��ก บเง��อนไขทำ��เข�ยู่นโปรแกรมี ประเภทำของการทำ�าซ้ำ��าจะแบ�งได้�เป'นสามีประเภทำด้ งน��

1. การทำ�าซ้ำ��าแบบทำ��ทำราบจ�านวนคร �งในการทำ�าซ้ำ��า2. การทำ�าซ้ำ��าจนระบบมี�เง��อนไขอยู่�างหน%�งจ%งหยู่)ด้3. การทำ�าซ้ำ��าแบบถ้�าเง��อนไขเป'นจร+งจะทำ�าชุ)ด้ค�าส �ง

Page 3: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

B

Page 4: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

การทำ�าซ้ำ��าแบบแรกน �น มี กจะใชุ�ก บงานทำ��ทำราบจ�านวนคร �งในการทำ�าซ้ำ��าทำ��แน�นอน โด้ยู่ในลู�ปจะมี�ต้ วแปรส�าหร บควบค)มีการน บลู�ปอยู่��ภายู่ใน ส�วนการทำ�าซ้ำ��าแบบทำ�าซ้ำ��าจนระบบมี�เง��อนไขอยู่�างหน%�งจ%งหยู่)ด้เมี��อโปรแกรมีเข�าส��ลู�ปการทำ�าซ้ำ��า จะมี�การต้รวจสอบเง��อนไขทำ��ด้�านทำ�ายู่ของลู�ป ถ้�าหากเง��อนไขเป'นจร+งก-จะออกจากลู�ปการทำ�าซ้ำ��า ส�วนการทำ�าซ้ำ��าแบบถ้�าเง��อนไขเป'นจร+งจะทำ�าชุ)ด้ค�าส �ง จะมี�การต้รวจสอบเง��อนไขก�อนการทำ�าซ้ำ��าถ้�าเง��อนไขเป'นจร+งจะทำ�าชุ)ด้ค�าส �งภายู่ใน แต้�ถ้�าเง��อนไขเป'นเทำ-จจะออกจากลู�ปการทำ�าซ้ำ��า

การที่ าซ้ำ �าแบบที่ราบจำ าน่วน่คร��งใน่การที่ าซ้ำ �าการทำ�าซ้ำ��าในแบบน��จะเร+�มีต้�นด้�วยู่การก�าหนด้ค�าเร+�มีต้�นให�ก บ

ต้ วแปรทำ��ทำ�าหน�าทำ��เป'นต้ วควบค)มีลู�ปจากน �นจะต้รวจสอบเง��อนไขว�าเป'นจร+งหร�อเทำ-จ ถ้�าเป'นจร+งจะทำ�าก+จกรรมีต้�าง ๆ ทำ��อยู่��ในลู�ป แต้�ถ้�าเป'นเทำ-จจะออกนอกลู�ป โด้ยู่ภายู่ในลู�ปน �นจะมี�การเพิ่+�มีค�าหร�อลูด้ค�าต้ วควบค)มีลู�ปด้�วยู่ ด้ งต้ วอยู่�างในร�ปทำ�� 10.2

Page 5: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

ต้รวจสอบ

เง��อนไข

ก+จกรรมีต้�างๆ

ภายู่ในลู�ป

เพิ่+�มีค�าหร�อลูด้ค�า

ต้ วแปรควบค)มี

B

จร+ง เทำ-จ

Page 6: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

ตั�วอย�างค าอธิ บายการพิ มีพิ"ค�าตั�วเลข 1 ถึ%ง 10

ภายู่ในลู�ปของการทำ�าซ้ำ��า จะประกอบด้�วยู่ชุ)ด้ค�าส �งทำ��ต้�อก นแบบลู�าด้ บก-ได้� หร�อจะมี�หลูายู่ ๆ ค�าส �งก-ได้�

Page 7: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

การทำ�าซ้ำ��าประเภทำน�� การอธิ+บายู่การทำ�างานจะใชุ�ค�าว�า ในขณะน�� แลูะค�าว�า ทำ�า เป'นค�าทำ��ใชุ�อธิ+บายู่การทำ�างาน “ ” “ ”

โด้ยู่มี�การต้รวจเง��อนไขอยู่��ระหว�างค�าว�า ในขณะทำ�� ก บค�า“ ”ว�า ทำ�า ด้ งต้ วอยู่�างในร�ปทำ�� “ ” 10.2

ส�าหร บการเข�ยู่นซ้ำ�โด้โค�ด้จะใชุ�ค�าว�า “FOR” , “DO” แลูะ “ENDFOR” โด้ยู่มี�ร�ปแบบด้ งน��

Page 8: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

ตั�วอย�างจงเข�ยู่นผั งงานส�าหร บหาผัลูบวกของเลูขยู่ก

ก�าลู งสอง ถ้�าหากต้ วเลูขจ�านวนเต้-มีระหว�าง 1 ถ้%ง 10 แลู�วแสด้งผัลูบวกออกทำางจอภาพิ่ว ธิ�ที่ างานในลู กษณะน��จะทำ�าจ�านวน 10 คร �ง ด้ งน �นจะก�าหนด้ให�

sum เป'นต้ วแปรส�าหร บเก-บผัลูรวมี| เป'นต้ วแปรทำ��ใชุ�น บลู�ป

Page 9: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

การทำ�างานของโปรแกรมีจะเข�ยู่นได้�ด้ งน��

Page 10: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

ถ้�าหากต้�องการร บต้ วเลูขจ�านวนเต้-มีระหว�าง 0 ถ้%ง 100 เข�าไปจ�านวน 10 ค�า แลูะให�ระบบแสด้งค�าส�งส)ด้แลูะค�าต้��าส)ด้ออกมีาทำางจอภาพิ่ จงว+เคราะห4งานของป5ญหาน�� พิ่ร�อมีทำ �งเข�ยู่นผั งงานแลูะต้ วอยู่�างโปรแกรมีในภาษาปาสคาลู

ว ธิ�ที่ า ต้�องการอะไร ค�าส�งส)ด้ (Max) , ค�าต้��าส)ด้ (Min)

ต้�องการเอาต้4พิ่)ต้อยู่�างไร แสด้งค�า Max แลูะ Min ทำางจอภาพิ่

ข�อมี�ลูเข�า ร บข�อมี�ลูเลูขจ�านวนเต้-มี 10 ค�าทำางแป7นพิ่+มีพิ่4

ว+ธิ�การประมีวลูผัลู ให�ต้ วแปร | เป'นต้ วน บจ�านวนข�อมี�ลู 10 ค�า

ก�าหนด้ให� Max = 0 แลูะ Min = 100 ให�ต้ วแปร x เป'นค�าข�อมี�ลูทำ��ร บเข�าทำาง แป7นพิ่+มีพิ่4แลู�วให�เปร�ยู่บเทำ�ยู่บว�าค�าน��ควรเป'น Mix หร�อ Min

Page 11: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

จากลู กษณะของงานจะต้�องมี�การใชุ�ค�าส �งเลู�อกทำ�าอยู่��ในลู�ปด้�วยู่ เพิ่��อต้รวจสอบว�าค�า x ทำ��ร บเข�ามีาเป'นค�าส�งส)ด้หร�อค�าต้��าส)ด้ ซ้ำ%�งสามีารถ้ทำ�าการเลู�อกทำ�าแบบทำางเด้�ยู่วมีาใชุ�ได้� ด้ งน �นสามีารถ้เข�ยู่นค�าอธิ+บายู่การทำ�าข �นต้อนการทำ�างานได้�ด้ งน��

Page 12: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

การที่ าซ้ำ �าจำน่ระบบมี�เง&�อน่ไขอย�างหน่%�งจำ%งหย(ดการทำ�าซ้ำ��าในลู กษณะน��เป'นการทำ�าซ้ำ��าทำ��มี�จ�านวนคร �งใน

การทำ�าไมี�แน�นอน เมี��อโปรแกรมีเข�าส��ลู�ปการทำ�าซ้ำ��าจะมี�การต้รวจสอบเง��อนไขอยู่��ด้�านทำ�ายู่ของลู�ป ถ้�าหากต้รวจสอบเง��อนไขแลู�วเป'นเทำ-จโปรแกรมีจะกลู บไปทำ�าก+จกรรมีในลู�ปอ�กคร �ง แต้�ถ้�าต้รวจสอบเง��อนไขแลู�วเป'นจร+งโปรแกรมีจะออกนอกลู�ป ด้ งน �นโปรแกรมีจะต้�องทำ�าก+จกรรมีต้�าง ๆ ภายู่ลู�ปหน%�งคร �งเสมีอ การทำ�างานในลู กษณะน��จะใชุ�ค�าอธิ+บายู่ว�า จน“กระทำ �ง แลูะต้ามีด้�วยู่เง��อนไขของการต้รวจสอบ ส�วนซ้ำ�โด้”โค�ด้ทำ��ใชุ�ในการเข�ยู่นการทำ�าซ้ำ��าแบบน�� จะใชุ�ค�าว�า “REPEAT…UNTIL” หร�อ “DO…UNTIL” ก-ได้� การทำ�าซ้ำ��าในลู กษณะน��เข�ยู่นเป'นผั งงานได้�ด้ งร�ป

Page 13: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

Instruction

I

Instruction 

B

T

F

Page 14: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ
Page 15: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

ตั�วอย�างถ้�าหากต้�องการให�ระบบคอมีพิ่+วเต้อร4ร บค�าต้ วเลูขจ�านวนเต้-มีเข�าไป

ทำ�ลูะค�า แลู�วน�าต้ วเลูขมีารวมีก นจนกระทำ �งป7อนต้ วเลูขเป'น 0 ให�หยู่)ด้ร บค�าแลูะแสด้งผัลูรวมีออกมีาทำางจอภาพิ่

จงว+เคราะห4ป5ญหาน�� พิ่ร�อมีทำ �งเข�ยู่นผั งงาน ซ้ำ�โด้โค�ด้แลูะโปรแกรมีต้ วอยู่�างภาษาปาสคาลูว ธิ�ที่ า ต้�องการอะไร หาค�าผัลูรวมีของต้ วเลูข ต้�องการเอาต้4พิ่)ต้อยู่�างไร แสด้งผัลูรวมีทำางจอภาพิ่ ข�อมี�ลูเข�า ร บต้ วเลูขทำ�ลูะค�า ถ้�าต้ วเลูขเป'น 0 ให�จบโปรแกรมี ว+ธิ�การประมีวลูผัลู ต้�องประกาศต้ วแปรหน%�งต้ ว (sum) ส�าหร บเก-บ ผัลูรวมีโด้ยู่เร+�มีต้�นให�ต้ วแปรน��มี�ค�าเป'น 0

ร บข�อมี�ลู (x) เข�ามีาทำ�ลูะค�าแลู�วเอาไปรวมีก บ sumถ้�าหาก x เป'น 0 ให�แสด้งผัลูรวมีแลู�วออกจากโปรแกรมี

Page 16: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

การทำ�าซ้ำ��าแบบน��จะไมี�ทำราบจ�านวนคร �งในการทำ�าซ้ำ��าทำ��แน�นอน โด้ยู่จะทำ�าไปเร��อยู่ๆ จนกว�าข�อมี�ลูทำ��ร บเข�าไปจะเป'น 0 ด้ งน �นสามีารถ้เข�ยู่นค�าอธิ+บายู่ว+ธิ�การทำ�างานได้�ด้ งน��

Page 17: หน่วยที่ 10 การทำงานแบบมีทำซ้ำ

การที่ าซ้ำ �าแบบถึ*าเง&�อน่ไขเป+น่จำร งจำะที่ าชุ(ดค าสั่��งการทำ�าซ้ำ��าแบบน��จะมี�การต้รวจสอบเง��อนไขก�อนเข�าส��

ลู�ป ถ้�าหากเง��อนไขเป'นจร+งจะทำ�าในลู�ปแต้�ถ้�าหากเง��อนไขเป'นเทำ-จจะออกจาการทำ�าลู�ป ด้ งน �นลู�ปแบบน��อาจไมี�มี�การทำ�างานภายู่ในลู�ปเลูยู่ก-ได้�ถ้�าหากเง��อนไขเป'นเทำ-จ ส�าหร บค�าอธิ+บายู่การทำ�างานจะใชุ�ค�าว�า ในขณะทำ��ทำ�า โด้ยู่ระหว�างค�าว�าขณะ“ ”ทำ��ก บทำ�าจะเป'นน+พิ่จน4ทำ��ต้รวจสอบเง��อนไข ส�าหร บการเข�ยู่นซ้ำ�โด้โค�ด้ส�าหร บการทำ�าซ้ำ��าแบบน��จะใชุ�ค�าว�า “WHILE…ENDWHILE” ผั งงานของการทำ�าซ้ำ��าแบบน��แสด้งด้ งได้�ร�ปทำ�� 10.5 ต้ วอยู่�างเชุ�น ถ้�าหากต้�องการให�แสด้งค�าเลูขจ�านวนเต้-มีทำ��เก-บอยู่��ในต้ วแปร X ต้ �งแต้� 1 ถ้%ง 10 จะเข�ยู่นค�าอธิ+บายู่ได้�ด้ งน��