Algorithm programming

25
อออออออออออออออออออออ อออออออ Algorithm and Programming อออ อ.ออ. ออออออออออ ออออออออออออ

Transcript of Algorithm programming

อั�ลกอัริ�ทึ�มและการิเขี�ยนโปริแกริมAlgorithm and Programmingอั�ลกอัริ�ทึ�มและการิเขี�ยนโปริแกริมAlgorithm and Programming

โดย อั.ดริ. แจ่�มจ่�นทึริ� ศริ�อัริ�ณริ�ศม�

หล�กการิแก�ป�ญหา

เส้�นทางจาก A ไปยั ง H เส้�นทางใดใช้�เวลาเด�นทางน�อยัท��ส้�ด

(ตั วเลขแทนเวลาเป�นนาท�)

หล�กการิแก�ป�ญหา

1 . การว�เคราะห์!และก"าห์นดรายัละเอ�ยัดของป#ญห์า

2. การวางแผนในการแก�ป#ญห์า3. การด"าเน�นการแก�ป#ญห์า4. การตัรวจส้อบและปร บปร�ง

หล�กการิแก�ป�ญหา

1 . การว�เคราะห์!และก"าห์นดรายัละเอ�ยัดของป#ญห์า

- ส้��งท��ตั�องการค'ออะไร

- ข�อมู*ลท��ก"าห์นดให์�ค'ออะไร

- พิ�จารณาข�อมู*ลและเง'�อนไขว-าเพิ�ยังพิอท��จะห์าค"าตัอบของป#ญห์าได�ห์ร'อไมู-

หล�กการิแก�ป�ญหา

2. การวางแผนในการแก�ป#ญห์า - เล'อกใช้�เคร'�องมู'อและว�ธี�การเพิ'�อให์�ได�มูา ซึ่0�งค"าตัอบ - ใช้�ประส้บการณ!

- พิ�จารณารายัละเอ�ยัดของส้��งท��ตั�องการห์า ค"าตัอบห์าความูส้ มูพิ นธี!

- อาศั ยัรห์ ส้ล"าลอง (pseudo code) ห์ร'อ ผ งงาน (flowchart) เข�ามูาช้-วยัในการ ถ่-ายัทอดความูค�ด

หล�กการิแก�ป�ญหา

3. การด"าเน�นการแก�ป#ญห์า

เป�นการน"าเคร'�องมู'อและว�ธี�การท��ได�วางแผนไว�ในข 3นตัอนท�� 2 มูาด"าเน�นการแก�ป#ญห์า

หล�กการิแก�ป�ญหา

4. การตัรวจส้อบและปร บปร�ง - ตัรวจส้อบว�ธี�การท��น"ามูาซึ่0�งผลล พิธี!ว-าถ่*กตั�องตัามูรายัละเอ�ยัดของป#ญห์าท��ก"าห์นดไว�ห์ร'อไมู-

- อาจใช้�ว�ธี�การยั�อนกล บไปท"าข 3นตัอนท��ผ-านมูาซึ่"3าๆ เพิ'�อทบทวนห์ร'อปร บปร�งจนกว-าจะได�ค"าตัอบท��ถ่*กตั�อง

Algorithm

อ ลกอร�ท0มู (Algorithm ) ห์มูายัถ่0ง

ข 3นตัอนห์ร'อล"าด บการประมูวลผลในการแก�ป#ญห์าใดป#ญห์าห์น0�ง ห์ร'อล"าด บการท"างานซึ่0�งจะช้-วยัให์�เจ�าของผลงาน ห์ร'อผ*�ท��ส้นใจ ห์ร'อโปรแกรมูเมูอร!เห์6นข 3นตัอนของการท"างาน ช้-วยัตัรวจส้อบความูถ่*กตั�อง และเข�าใจการท"างานได�ง-ายัข03น

หล�กการิเขี�ยน Algorithm

เร�ยังล"าด บความูส้"าค ญของงานท��จะท"า เข�ยันออกมูาในล กษณะภาษาเข�ยัน

ส้ามูารถ่เข�าใจง-ายัมู�ความูละเอ�ยัดของ

โครงส้ร�างพิอส้มูควร

Step 1 Step 2 Step 3

Flow chart

โฟลว!ช้าร!ตั (Flow chart) ห์ร'อผ งงาน ห์มูายัถ่0ง

ผ งแส้ดงข 3นตัอนและล"าด บการท"างานตั-างๆ ในโปรแกรมู โดยัแส้ดงในร*ปของส้ ญล กษณ!และตั วอ กษรประกอบการอธี�บายัในแตั-ละข 3นตัอน

Flow chart

ส้ถ่าบ นมูาตัรฐานแห์-งช้าตั�อเมูร�กา (The American National Standard Institute: ANSI)ได�ก"าห์นดส้ ญล กษณ!ท��เป�นมูาตัรฐานในการเข�ยันผ งงานไว�ตั-างๆ ด งน�3

หล�กการิใช้�สั�ญล�กษณ�ขีอังผั�งงาน

ผ งงาน (Flowchart) ท��เข�ยันข03น ตั�องมู�จ�ดเร��มูตั�น และ จ�ดส้�3นส้�ด (Start and Stop)1

ส้ ญล กษณ!แตั-ละร*ปจะมู�การเช้'�อมูตั-อด�วยั ท�ศัทางการท"างาน (Direction of Flow)

2

ท�ศัทางการท"างานจะตั�องเร��มูตั�นจากจ�ดเร��มูตั�นและจบท��จ�ดส้�3นส้�ดเท-าน 3น3

โคริงสัริ�างการิเขี�ยนผั�งงาน

โคริงสัริ�างแบบล(าด�บ(Sequential Structure)

โคริงสัริ�างแบบล(าด�บ(Sequential Structure)

โคริงสัริ�างแบบม�ทึางเล)อัก(Selection Structure)

โคริงสัริ�างแบบม�ทึางเล)อัก(Selection Structure)

โคริงสัริ�างทึ(าซ้ำ(+า(repetition Structure)

โคริงสัริ�างทึ(าซ้ำ(+า(repetition Structure)

ก�จ่กริริมทึ�, 1 ฝึ.กปฏิ�บ�ติ�

1 .ให์�เข�ยันผ งงานแส้ดงการตั�มูท"าบะห์มู��ก0�งส้"าเร6จร*ป

2. เข�ยันผ งงานแส้ดงการค"านวณห์าพิ'3นท��ร*ปส้ามูเห์ล��ยัมูซึ่0�งมู�การก"าห์นดความูยัาวฐานและความูส้*ง

3. เข�ยันแผนผ งแส้ดงการเด�นทางมูามูห์าว�ทยัาล ยัของตันเอง

การิก(าหนดค�าให�ติ�วแปริ

เป�นการเปล��ยันจากข�อความูเป�นรห์ ส้ล"าลอง ช้-วยัลดความูยัาวของข�อความูเมู'�อมู�การกล-าวซึ่"3า

ห์ลายัคร 3ง ช้-วยัให์�การถ่-ายัทอดความูค�ดกระช้ บ ช้-วยัให์�เข�าใจง-ายั การก"าห์นดจะใช้�ร*ปของตั วอ กษรภาษาอ งกฤษเป�น

ช้'�อข�อมู*ล ณ เวลาห์น0�งๆ ตั วแปรจะมู�ค-าได�เพิ�ยังค-าเด�ยัวเท-าน 3น ตั วแปรส้ามูารถ่เปล��ยันค-าได� ข03นอยั*-ก บการด"าเน�นการ

ก บข�อมู*ลน 3นๆ ได�ด�วยั

การิก(าหนดค�าให�ติ�วแปริ

การก"าห์นดค-าให์�ตั วแปร ส้ามูารถ่ท"าได� 3 ว�ธี�ค'อ

1 .การร บค-าจากภายันอก

2 .การก"าห์นดค-าจากตั วแปรอ'�น

3 .การก"าห์นดค-าจากการค"านวณ

การิก(าหนดค�าให�ติ�วแปริ

ส้ ญล กษณ!ท��ใช้�ส้"าห์ร บการก"าห์นดค-าให์�ตั วแปร

ใช้�เพิ'�อน"าค-าทางขวาของล*กศัร ไปก"าห์นดให์�ก บตั วแปรทางด�านซึ่�ายัของล*กศัร

เช้-น X 2 ห์มูายัถ่0ง น"าค-า 2 ไปใส้- x

a b x c ห์มูายัถ่0ง น"าผลล พิธี!ของ b x c ไปใส้-ไว�ใน a

ก�จ่กริริมฝึ.กค�ด ฝึ.กปฏิ�บ�ติ� 1

การค"านวณห์าพิ'3นท��ของร*ปส้ามูเห์ล��ยัมู ซึ่0�งมู�การก"าห์นดความูยัาวฐานและความูส้*ง

ข 3นตัอนท�� 1 ถ่-ายัทอดความูค�ดเป�นรห์ ส้ล"าลอง (pseudo code)

เร��มูตั�น 1. ก"าห์นดค-าความูยัาวฐาน 2. ก"าห์นดค-าความูส้*ง

3. ค"านวนพิ'3นท��ร*ปส้ามูเห์ล��ยัมูจากส้*ตัร พิ'3นท�� =½ x ฐาน x ส้*ง

4. แส้ดงผลล พิธี!พิ'3นท�� จบ

ก�จ่กริริมฝึ.กค�ด ฝึ.กปฏิ�บ�ติ� 1

ข 3นตัอนท�� 2 ถ่-ายัทอดเป�นผ งงาน (flowchart

เร��มูตั�นเร��มูตั�น

แส้ดงผลล พิธี!พิ'3นท��ส้ามูเห์ล��ยัมู

แส้ดงผลล พิธี!พิ'3นท��ส้ามูเห์ล��ยัมู

จบจบ

ค"านวณพิ'3นท��ส้ามูเห์ล��ยัมู ค'อ ½ x ฐาน x ส้*ง

ค"านวณพิ'3นท��ส้ามูเห์ล��ยัมู ค'อ ½ x ฐาน x ส้*ง

ก"าห์นดค-าความูยัาวฐานก"าห์นดค-าความูยัาวฐาน

ก"าห์นดค-าความูส้*งก"าห์นดค-าความูส้*ง

ก�จ่กริริมฝึ.กค�ด ฝึ.กปฏิ�บ�ติ� 2

ค�ดราคาตั =วภาพิยันตัร! โดยัปกตั�ราคาตั =วภาพิยันตัร!เท-าก บ 120 บาท เน'�องจากเป�นว นครอบคร ว ผ*�ท��มู�อายั�ตั"�ากว-าห์ร'อเท-าก บ 12 ป> จะได�ร บส้-วนลด 40 บาท ถ่�ามู�อายั�มูากกว-าน 3นจะได�ร บส้-วนลด 20 บาท

ข 3นตัอนท�� 1 ถ่-ายัทอดความูค�ดเป�นรห์ ส้ล"าลอง (pseudo code) เร��มูตั�น 1. ก"าห์นดค-าราคาตั =วเท-าก บ 120 บาท 2. ร บค-าอายั�ผ*�ช้มูภาพิยันตัร! ถ่�า อายั�น�อยักว-าห์ร'อเท-าก บ 12 ท"า ราคาตั =ว ราคาตั =ว - ส้-วนลด 40 บาท มู�ฉะน 3น ราคาตั =ว ราคาตั =ว - ส้-วนลด 20 บาท 3. แส้ดงราคาตั =ว จบ

ราคาตั =ว 120ราคาตั =ว 120

ก�จ่กริริมฝึ.กค�ด ฝึ.กปฏิ�บ�ติ� 2ข 3นตัอนท�� 2 ถ่-ายัทอดเป�นผ งงาน (flowchart)

เร��มูตั�นเร��มูตั�น

แส้ดงราคาตั =วแส้ดงราคาตั =ว

จบจบ

ราคาตั =ว ราคาตั =ว -20ราคาตั =ว ราคาตั =ว -20

ร บค-าอายั�ผ*�ช้มูภาพิยันตัร!ร บค-าอายั�ผ*�ช้มูภาพิยันตัร!

อายั� ≤ 12อายั� ≤ 12

ราคาตั =ว ราคาตั =ว -40ราคาตั =ว ราคาตั =ว -40

เท6จ จร�ง

ใบงานทึ�, 1 (งานเด�,ยว) ทึ(าลงในกริะดาษ A4

1 .ให์�เข�ยันรห์ ส้ล"าลองและผ งงานแส้ดงการห์าพิ'3นท��ของร*ปส้��เห์ล��ยัมูผ'นผ�า

2. ให์�เข�ยันรห์ ส้ล"าลองและผ งงานแส้ดงการห์าค-ามูากท��ส้�ดของจ"านวนส้ามูจ"านวน เช้-น กรอก 3, 17, 11 แส้ดงค-า 17 เป�นจ"านวนท��มูากท��ส้�ด

3. ให์�เข�ยันรห์ ส้ล"าลองและผ งงานแส้ดงการร บตั วเลข 1-7 เพิ'�อแส้ดงช้'�อว นในส้ ปดาห์! เช้-น กรอกเลข 1 แส้ดงข�อความูเป�น ว น“อาท�ตัยั! ”

อ�างอ�ง

ส้ถ่าบ นส้-งเส้ร�มูการส้อนว�ทยัาศัาส้ตัร!และเทคโนโลยั� . (2556). หน�งสั)อัเริ�ยน ริายว�ช้าพื้)+นฐานเทึคโนโลย�สัาริสันเทึศและ การิสั),อัสัาริ . กระทรวงศั0กษาธี�การ.