613181117 เทคนิคการสอนโปรแกรม Python ง่าย ๆ ให้ได้ใจนักเร ียน ระดับมัธยมต้น ตามหลักสูตรใหม่ Basic ผศ.ดร.โปรดปราน บุณยพุกกณะ รศ.ดร.ลัญฉกร วุฒิสิทธิกุลกิจ ดร.ศิร ินทร์ นิติเนาวรัตน์ ดร.เอกพล ช่วงสุวนิช ดร.นฤมล ประทานวณิช
บทที่ 2 การแก้ปัญหา
บทที่ 2 การแก้ปัญหา • ขั้นตอนการแก้ปัญหา • การเขียนรหัสลาลองและผังงาน • การกาหนดค่าให้ตัวแปร • เงื่อนไขและการเลือกทา • เงื่อนไขและการทาซ้า • ภาษาโปรแกรม • แนวทางการสอนและการจัดกิจกรรม
บทที่ 2 การแก้ปัญหา • ขั้นตอนการแก้ปัญหา • การเขียนรหัสลาลองและผังงาน • การกาหนดค่าให้ตัวแปร • เงื่อนไขและการเลือกทา • เงื่อนไขและการทาซ้า • ภาษาโปรแกรม • แนวทางการสอนและการจัดกิจกรรม
2.1 ขั้นตอนการแก้ปัญหา • การแก้ปัญหาเป็นกิจกรรมพื้นฐานของมนุษย์ • • • •
เย็นนี้จะกินอะไรดี ? จ่ายเงินไปแล้ว จะได้เงินทอนมาเท่าไร ? ่ ุด ? จะเดินทางจากบ้านไปโรงเร ียน ว ิธีใดรวดเร็วทีส จะพัฒนาว ิธีการแยกขยะในชุมชนได้อย่างไร ?
• บางปัญหาอาจแก้ได้ง่าย บางปัญหาอาจมีความซับซ้อน ต้องใช้ขั้นตอนการแก้ปัญหา
2.1 ขั้นตอนการแก้ปัญหา • ตัวอย่างกิจกรรม
ให้นักเร ียนช่วยกันระบุปัญหาที่พบใน โรงเร ียน ในชีว ิตประจาวัน หร ือ โจทย์ทางคณิตศาสตร์ ว ิทยาศาสตร์ และพิจารณาว่าปัญหาใดแก้ได้ง่าย ปัญหาใดมีความซับซ้อน
2.1 ขั้นตอนการแก้ปัญหา • ขั้นตอนการแก้ปัญหา
1. วเคราะห์ ิ และกาหนดรายละเอียดของปัญหา 2. การวางแผนการแก้ปัญหา 3. การดาเนินการแก้ปัญหา 4. การตรวจสอบและประเมินผล
2.1 ขั้นตอนการแก้ปัญหา • ขั้นตอนการแก้ปัญหา
1. วเคราะห์ ิ และกาหนดรายละเอียดของปัญหา ่ นไข ข้อกาหนด ข้อจากัด • ทาความเข้าใจรายละเอียด เงือ • พิจารณาข้อมูลที่จาเป็นต้องใช้ในการแก้ปัญหา ข้อมูลเข้า และ ผลลัพธ์ที่ต้องการ มีลักษณะอย่างไร • จะตรวจสอบความถูกต้องของผลลัพธ์อย่างไร
2.1 ขั้นตอนการแก้ปัญหา • ขั้นตอนการแก้ปัญหา
1. วเคราะห์ ิ และกาหนดรายละเอียดของปัญหา ตัวอย่าง การคานวณปร ิมาตรของกล่อง • ข้อมูลเข้า เป็นตัวเลข 3 จานวน คือ ความกว้าง ความยาว และความสูง ของกล่อง • ได้ผลลัพธ์เป็นปร ิมาตรของกล่อง ซึ่งเป็นตัวเลข • ข้อกาหนดของปัญหาคือ เป็นกล่องสี่เหลี่ยมมุมฉากเท่านั้น • ว ิธีตรวจสอบความถูกต้อง อาจเติมน้าลงในกล่อง และคานวณปร ิมาตรน้า จากน้าหนักของน้า
2.1 ขั้นตอนการแก้ปัญหา • ขั้นตอนการแก้ปัญหา
2. การวางแผนการแก้ปัญหา • คิดลาดับขั้นตอนการแก้ปัญหา ตั้งแต่เร่มิ ต้นจนได้ผลลัพธ์ • อาจนาว ิธีการแก้ปัญหาอื่นมาปรับใช้ • อาจแสดงลาดับขั้นตอนด้วยรหัสลาลองหร ือผังงาน
2.1 ขั้นตอนการแก้ปัญหา • ขั้นตอนการแก้ปัญหา
ตัวอย่าง รหัสลาลองในการหาปร ิมาตรของกล่อง 2. การวางแผนการแก้ปัญหา เร่มิ ต้น 1. รับข้อมูลความกว้าง ความยาว ความสูงของกล่อง 2. คานวณ ปร ิมาตร = ความกว้าง ความยาว ความสูง 3. ตอบค่าปร ิมาตรของกล่องที่คานวณได้ สิน ้ สุด
2.1 ขั้นตอนการแก้ปัญหา • ขั้นตอนการแก้ปัญหา • ปฏิบัติตามลาดับขั้นตอนที่วางแผนไว้ • อาจพัฒนาเป็นโปรแกรมเพื่อช่วยแก้ปัญหา 3. การดาเนินการแก้ปัญหา
2.1 ขั้นตอนการแก้ปัญหา • ขั้นตอนการแก้ปัญหา ตัวอย่าง การดาเนินการหาปร ิมาตรของกล่อง 1. ข้อมูลความกว้าง ความยาว ความสูงของกล่อง มีค่าเท่ากับ 2 cm, 3 cm และ 4 cm ตามลาดับ 3 2. คานวณ ปร ิมาตร = 2 3 4 = 24 cm 3 3. ตอบค่าปร ิมาตรของกล่องเท่ากับ 24 cm 3. การดาเนินการแก้ปัญหา
2.1 ขั้นตอนการแก้ปัญหา • ขั้นตอนการแก้ปัญหา • ตรวจสอบผลลัพธ์ที่ได้ ว่าถูกต้องหร ือไม่ ถ้าไม่ถูกต้อง อาจกลับไปแก้ไขขั้นตอนต่าง ๆ ที่ผ่านมา • พิจารณาว่าว ิธีการที่ใช้มีประสิทธิภาพดีหร ือไม่ อาจปรับปรุ งเพื่อให้ได้ว ิธีการแก้ปัญหาที่ดียิ่งขึ้น
4. การตรวจสอบและประเมินผล
2.1 ขั้นตอนการแก้ปัญหา • ขั้นตอนการแก้ปัญหา ตัวอย่าง การตรวจสอบว ิธีการหาปร ิมาตรของกล่อง • เติมน้าลงในกล่อง และนาไปชั่งน้าหนัก พบว่าน้ามีน้าหนัก 24 g 3 • แสดงว่าน้ามีปร ิมาตร 24 cm 3 และกล่องมีปร ิมาตร 24 cm จร ิง • การคานวณปร ิมาตรของกล่องถูกต้อง 4. การตรวจสอบและประเมินผล
2.1 ขั้นตอนการแก้ปัญหา • ขั้นตอนการแก้ปัญหา
1. วเคราะห์ ิ และกาหนดรายละเอียดของปัญหา 2. การวางแผนการแก้ปัญหา 3. การดาเนินการแก้ปัญหา 4. การตรวจสอบและประเมินผล
2.1 ขั้นตอนการแก้ปัญหา • ตัวอย่างการใช้ขั้นตอนการแก้ปัญหา
• ปัญหา การหาผลบวก 1 + 2 + 3 + ... + ?
2.1 ขั้นตอนการแก้ปัญหา 1. วเคราะห์ ิ และกาหนดรายละเอียดของปัญหา • ข้อมูลนาเข้า คือจานวนสุดท้ายที่ต้องการบวก เช่น ถ้าต้องการบวกถึง 5 จะหาผลบวก 1 + 2 + 3 + 4 + 5 • ผลลัพธ์ เป็นผลบวกที่ต้องการ อยู่ในรู ปจานวนเต็ม • ข้อกาหนด ค่าที่รับเข้ามาต้องเป็นจานวนเต็ม • วธีิ การตรวจสอบผลลัพธ์ ตรวจสอบคาตอบกับแหล่งที่น่าเชื่อถือ เช่น เว็บไซต์ www.wolframalpha.com
2.1 ขั้นตอนการแก้ปัญหา 2. การวางแผนการแก้ปัญหา • รหัสลาลองในการแก้ปัญหา 1. รับค่าจานวนสุดท้ายที่ต้องการบวก 2. หาค่า 1 + 2 3. นาผลลัพธ์จากข้อ 2 มาบวกด้วย 3 4. นาผลลัพธ์จากข้อ 3 มาบวกด้วย 4 5. บวกไปเรอื่ ย ๆ จนถึงค่าสุดท้ายที่ต้องการบวก 6. ตอบค่าผลการบวกที่ได้
2.1 ขั้นตอนการแก้ปัญหา 3. การดาเนินการแก้ปัญหา • ดาเนินการตามรหัสลาลอง 1. รับค่าจานวนสุดท้ายที่ต้องการบวก = 5 2. หาค่า 1 + 2 = 3 3. นาผลลัพธ์จากข้อ 2 มาบวกด้วย 3 เป็น 3 + 3 = 6 4. นาผลลัพธ์จากข้อ 3 มาบวกด้วย 4 เป็น 6 + 4 = 10 5. นาผลลัพธ์จากข้อ 4 มาบวกด้วย 5 เป็น 10 + 5 = 15 6. ตอบค่าผลการบวกที่ได้ 1 + 2 + 3 + 4 + 5 = 15
2.1 ขั้นตอนการแก้ปัญหา 4. การตรวจสอบและประเมินผล • ตรวจสอบผลลัพธ์กับ www.wolframalpha.com พบว่าคาตอบถูกต้อง • หากค่าสุดท้ายที่ต้องการบวกมีค่ามาก ก็จะใช้เวลามาก น่าจะสามารถปรับปรุ ง วธีิ การแก้ปัญหาให้ดีกว่านี้
2.1 ขั้นตอนการแก้ปัญหา 2. การวางแผนการแก้ปัญหา (รอบปรับปรุ ง) • จากการสังเกต / ค้นข้อมูลเพิ่มเติม พบสูตรการบวกของเกาส์ดังนี้ • รหัสลาลองในการแก้ปัญหา 1. รับค่าจานวนสุดท้ายที่ต้องการบวก แทนด้วย n 2. คานวณค่าผลบวกจากสูตร ผลบวก = 1/2 n (n+1) 3. ตอบค่าผลการบวกที่ได้
2.1 ขั้นตอนการแก้ปัญหา 3. การดาเนินการแก้ปัญหา (รอบปรับปรุ ง) • ดาเนินการตามรหัสลาลอง 1. รับค่าจานวนสุดท้ายที่ต้องการบวก n = 5 2. คานวณค่าผลบวกจากสูตร ผลบวก = 1/2 5 (5+1) = 15 3. ตอบค่าผลการบวกที่ได้ 1 + 2 + 3 + 4 + 5 = 15
2.1 ขั้นตอนการแก้ปัญหา 4. การตรวจสอบและประเมินผล (รอบปรับปรุ ง) • ผลลัพธ์ถูกต้อง ได้ผลลัพธ์ตรงกับวธีิ การเดิม • ควรลองกับค่า n หลาย ๆ ค่า เพื่อให้ม่น ั ใจว่าวธีิ การถูกต้องจร ิง ๆ • จะเห็นได้ว่า วธีิ การแก้ปัญหาที่ปรับปรุ ง ทางานได้เร็วขึ้นมาก
2.1 ขั้นตอนการแก้ปัญหา • ตัวอย่างกิจกรรม
จากปัญหาที่นักเร ียนเสนอในกิจกรรม ก่อนหน้า ให้นักเร ียนลองใช้ขั้นตอนการ แก้ปัญหา เพื่อแก้ปัญหาดังกล่าว
2.1 ขั้นตอนการแก้ปัญหา • ตัวอย่างกิจกรรม
ให้นักเร ียนเปร ียบเทียบว ิธีการแก้ปัญหา ของนักเร ียนกับเพื่อนคนอื่น ๆ และลองช่วยกันคิดว่า สามารถปรับปรุ ง ว ิธีการแก้ปัญหาให้ดีขึ้นได้อย่างไรบ้าง
บทที่ 2 การแก้ปัญหา • ขั้นตอนการแก้ปัญหา • การเขียนรหัสลาลองและผังงาน • การกาหนดค่าให้ตัวแปร • เงื่อนไขและการเลือกทา • เงื่อนไขและการทาซ้า • ภาษาโปรแกรม • แนวทางการสอนและการจัดกิจกรรม
2.2 การเขียนรหัสลาลองและผังงาน • ในการแก้ปัญหา เราต้องสามารถถ่ายทอดความคิดของเราออกมา เพื่อให้ผู้อื่นสามารถเข้าใจได้ตรงกัน และนาไปปฏิบัติได้ • เป็นส่วนสาคัญในขั้นตอนการแก้ปัญหา คือขั้นตอนที่ 2 การวางแผนการแก้ปัญหา 1. วเคราะห์ ิ และกาหนดรายละเอียดของปัญหา 2. การวางแผนการแก้ปัญหา 3. การดาเนินการแก้ปัญหา 4. การตรวจสอบและประเมินผล
2.2 การเขียนรหัสลาลองและผังงาน • การอธิบายขั้นตอนวธีิ สามารถทาได้หลายแบบ
1. 2. 3. 4.
รหัสลาลอง
ผังงาน
ภาษาโปรแกรม
กดตู้ขายของอัตโนมัติ
ซื้อผักบุ้งให้คุณแม่
หาค่าผลบวก
เร่มิ ต้น
a = input(‘ใส่ค่า a’) b = input(‘ใส่ค่า b’) c=a+b print(‘ผลบวกคือ’, c)
กดเลือกของที่ต้องการซื้อ ใส่เงินเข้าไปในตู้ตามราคา รอรับสินค้า รอรับเงินทอน (ถ้ามี)
รับเงินมา 20 บาท ผักบุ้งราคาไม่เกิน 20 บาท ใช่ไหม ใช่ ซื้อผักบุ้ง
สิ้นสุด
ไม่ใช่
2.2 การเขียนรหัสลาลองและผังงาน • รหัสลาลอง (Pseudocode) เป็นการอธิบายขัน ้ ตอนด้วยคาบรรยาย ไม่มีรูปแบบที่ตายตัว รหัสลาลอง กดตู้ขายของอัตโนมัติ
1. 2. 3. 4.
กดเลือกของที่ต้องการซื้อ ใส่เงินเข้าไปในตู้ตามราคา รอรับสินค้า รอรับเงินทอน (ถ้ามี)
รหัสลาลอง การคานวณพื้นที่วงกลม
เร่มิ ต้น 1. รับค่ารัศมีวงกลม 2. คานวณพื้นที่วงกลมจากความสัมพันธ์ พื้นที่ = 3.14 รัศมี รัศมี 3. ตอบค่าพื้นที่วงกลม สิ้นสุด
2.2 การเขียนรหัสลาลองและผังงาน • ตัวอย่างกิจกรรม
มีขั้นตอนการต้มน้าร้อนมาให้ ให้นักเร ียนช่วยกันเร ียงลาดับขั้นตอน ให้เป็นรหัสลาลองที่ทางานได้ถูกต้อง รอน้าเดือด
ใส่น้าลงในกานา้ เปิดเตาแก๊ส ปิดเตาแก๊ส
ตั้งกาน้าบนเตา เปิดฝากาน้า
ปิดฝากาน้า
2.2 การเขียนรหัสลาลองและผังงาน • ตัวอย่างกิจกรรม
ให้นักเร ียนเขียนรหัสลาลอง เพื่ออธิบาย ขั้นตอนการทางานต่าง ๆ เช่น การทาอาหาร การเดินทางมาโรงเร ียน การคานวณตามสูตรคณิตศาสตร์
2.2 การเขียนรหัสลาลองและผังงาน • ผังงาน (Flowchart) เป็นการอธิบายขั้นตอนด้วยสัญลักษณ์ มีรูปแบบมาตรฐานดังนี้
จุดเร่มิ ต้น หร ือ จุดสิน ้ สุดกระบวนการ
การปฏิบัติงาน
การนาเข้าข้อมูล หร ือส่งออกข้อมูล
ทิศทาง การดาเนินงาน
เชื่อมต่อผังงาน ในหน้าเดียวกัน
เชื่อมต่อผังงาน ที่อยู่คนละหน้า สีของสัญลักษณ์ไม่มผ ี ลต่อคำสัง่
2.2 การเขียนรหัสลาลองและผังงาน • แปลงรหัสลาลองเป็นผังงาน
เร่มิ ต้น รับค่ารัศมี วงกลม
รหัสลาลอง การคานวณพื้นที่วงกลม
เร่มิ ต้น 1. รับค่ารัศมีวงกลม 2. คานวณพื้นที่วงกลมจากความสัมพันธ์ พื้นที่ = 3.14 รัศมี รัศมี 3. ตอบค่าพื้นที่วงกลม สิ้นสุด
คานวณพื้นที่วงกลมจาก พื้นที่ = 3.14 รัศมี รัศมี
แสดงค่าพื้นที่ วงกลม สิน ้ สุด
2.2 การเขียนรหัสลาลองและผังงาน • ตัวอย่างกิจกรรม
ให้นักเร ียนแปลงรหัสลาลอง จากกิจกรรมก่อนหน้า เป็นผังงาน เลือกใช้สัญลักษณ์ต่างๆ ให้ถูกต้อง ตามมาตรฐาน
2.2 การเขียนรหัสลาลองและผังงาน • โปรแกรมช่วยในการวาดผังงาน : Microsoft PowerPoint
2.2 การเขียนรหัสลาลองและผังงาน • โปรแกรมช่วยในการวาดผังงาน : www.draw.io
2.2 การเขียนรหัสลาลองและผังงาน • ตัวอย่างกิจกรรม
ให้นักเร ียนลองใช้ โปรแกรมช่วยในการวาดผังงาน เพื่อวาดผังงานให้ถูกต้องและสวยงาม
2.2 การเขียนรหัสลาลองและผังงาน • รหัสลาลองและผังงานที่ซับซ้อนมากขึ้น • การกาหนดค่าให้ตวั แปร • เงื่อนไขและการเลือกทา • เงื่อนไขและการทาซ้า
บทที่ 2 การแก้ปัญหา • ขั้นตอนการแก้ปัญหา • การเขียนรหัสลาลองและผังงาน • การกาหนดค่าให้ตัวแปร • เงื่อนไขและการเลือกทา • เงื่อนไขและการทาซ้า • ภาษาโปรแกรม • แนวทางการสอนและการจัดกิจกรรม
2.3 การกาหนดค่าให้ตัวแปร • ตัวแปร เป็นการตั้งชื่อที่เก็บข้อมูล ทาให้การเขียนลาดับขั้นตอนมีความชัดเจนมากขึ้น • ควรตั้งชื่อตัวแปรให้สื่อความหมายตามข้อมูลที่เก็บ เช่น area คือการเก็บข้อมูลขนาดของพื้นที่
name age area sum
2.3 การกาหนดค่าให้ตัวแปร • ใช้สัญลักษณ์ ← เพื่อแสดงการเก็บค่าด้านขวา เข้าตัวแปรทางด้านซ้าย
ชื่อตัวแปร ← ค่าที่ต้องการเก็บ • การกาหนดค่าให้ตัวแปร ทาได้ 3 วธีิ • รับค่าจากภายนอก (ข้อมูลนาเข้า) ่ • กาหนดค่าจากค่าคงที่ หร ือตัวแปรอืน • กาหนดค่าจากการคานวณ
2.3 การกาหนดค่าให้ตัวแปร • ตัวอย่างการให้ค่าตัวแปร
• รับค่าจากภายนอก (ข้อมูลนาเข้า)
name ← รับค่าชื่อเป็นภาษาอังกฤษ r ← รับค่ารัศมีวงกลม
่ • กาหนดค่าจากค่าคงที่ หร ือตัวแปรอืน
pi y
← 3.1415 ← x
• กาหนดค่าจากการคานวณ
sum area z
← a+b ← pi r r ← y-1
2.3 การกาหนดค่าให้ตัวแปร • รหัสลาลองและผังงาน ที่มีการใช้ตัวแปร
เร่มิ ต้น
รหัสลาลอง การคานวณพื้นที่วงกลม
r ← รับค่ารัศมีวงกลม
เร่มิ ต้น 1. r ← รับค่ารัศมีวงกลม 2. คานวณพื้นที่วงกลมจากความสัมพันธ์ area ← 3.14 r r 3. ตอบค่า area เป็นพื้นที่วงกลม สิ้นสุด
area ← 3.14 r r
แสดงค่า area
สิ้นสุด
2.3 การกาหนดค่าให้ตัวแปร • ตัวอย่างกิจกรรม
ให้นักเร ียนลองคิดดูว่า มีข้อมูลอะไร ที่นามาเก็บในตัวแปรได้บ้าง ข้อมูลนั้นมี ลักษณะอย่างไร เป็นตัวเลขหร ือตัวอักษร และจะตั้งชื่อตัวแปรว่าอย่างไร
2.3 การกาหนดค่าให้ตัวแปร • ตัวอย่างกิจกรรม
จากรหัสลาลองและผังงาน ในกิจกรรมที่ผ่านๆ มา ให้นักเร ียน ลองตั้งชื่อตัวแปร และใช้ตัวแปร ในรหัสลาลองและผังงานให้ถูกต้อง
บทที่ 2 การแก้ปัญหา • ขั้นตอนการแก้ปัญหา • การเขียนรหัสลาลองและผังงาน • การกาหนดค่าให้ตัวแปร • เงื่อนไขและการเลือกทา • เงื่อนไขและการทาซ้า • ภาษาโปรแกรม • แนวทางการสอนและการจัดกิจกรรม
2.4 เงื่อนไขและการเลือกทา • เงื่อนไข เป็น ข้อความที่ให้ค่า “จร ิง” หร ือ ”เท็จ”
• ตัวอย่างประโยคเงื่อนไข
• วันนี้เป็นวันจันทร์ • ค่าที่เก็บในตัวแปร x มีค่ามากกว่า 5
• ตัวอย่างประโยคที่ไม่ใช่เงื่อนไข • ยินดีที่ได้รู้จัก • แสดงค่าพื้นที่วงกลมทางจอภาพ
2.4 เงื่อนไขและการเลือกทา • รหัสลาลองและผังงาน ที่มีเงื่อนไขและการเลือกทา จร ิง
เงื่อนไข เพื่อการตัดสินใจ
จร ิง
ตอนนี้ฝนตก
x > 50
เท็จ
เท็จ
2.4 เงื่อนไขและการเลือกทา • รหัสลาลองและผังงาน ที่มีเงื่อนไขและการเลือกทา รหัสลาลอง ซื้อผักบุ้งให้คุณแม่
เร่มิ ต้น 1. รับเงินมา 20 บาท 2. ถ้า ผักบุ้งราคาไม่เกิน 20 บาท ทา 2.1 ซื้อผักบุ้ง สิ้นสุด
ผังงานซื้อผักบุ้งให้คุณแม่ เร่มิ ต้น รับเงินมา 20 บาท ผักบุ้งราคาไม่เกิน 20 บาท จร ิง ซื้อผักบุ้ง
สิน ้ สุด
เท็จ
2.4 เงื่อนไขและการเลือกทา • รหัสลาลองและผังงาน ที่มีเงื่อนไขและการเลือกทา กรณีผักบุ้งราคา 10 บาท
กรณีผักบุ้งราคา 30 บาท
เร่มิ ต้น
เร่มิ ต้น
รับเงินมา 20 บาท
รับเงินมา 20 บาท
ผักบุ้งราคาไม่เกิน 20 บาท จร ิง
เท็จ
ผักบุ้งราคาไม่เกิน 20 บาท จร ิง
ซื้อผักบุ้ง
ซื้อผักบุ้ง
สิน ้ สุด
สิน ้ สุด
เท็จ
2.4 เงื่อนไขและการเลือกทา • ตัวอย่างกิจกรรม
จากรหัสลาลองและผังงาน ซื้อผักบุ้งให้คุณแม่ ให้นักเร ียนลองเปลี่ยนราคาผักบุ้ง จากนั้นดูผลที่เกิดขึ้น เราจะซื้อผักบุ้งเมื่อราคาเป็นเท่าไรบ้าง
2.4 เงื่อนไขและการเลือกทา • ตัวอย่างกิจกรรม
จากรหัสลาลองและผังงาน ซื้อผักบุ้ง ให้คุณแม่ สมมุติผักบุ้งราคา 15 บาท ให้นักเร ียนลองเปลี่ยนจานวนเงินที่ได้มา จะต้องปรับผังงานตรงจุดใดบ้าง และผลการทาตามผังงานเป็นอย่างไร
2.4 เงื่อนไขและการเลือกทา • กาหนดให้ผักบุ้งราคา 15 บาท กรณีแม่ให้เงินมา 30 บาท
กรณีแม่ให้เงินมา 10 บาท
เร่มิ ต้น
เร่มิ ต้น
รับเงินมา 30 บาท
รับเงินมา 10 บาท
ผักบุ้งราคาไม่เกิน 30 บาท จร ิง
เท็จ
ผักบุ้งราคาไม่เกิน 10 บาท จร ิง
ซื้อผักบุ้ง
ซื้อผักบุ้ง
สิ้นสุด
สิ้นสุด
เท็จ
2.4 เงื่อนไขและการเลือกทา • รหัสลาลองและผังงาน ที่มีเงื่อนไขและการเลือกทา 2 ทาง ผังงานซื้อผักบุ้งให้คุณแม่
ผังงานไปเที่ยวกับคุณแม่
เร่มิ ต้น
เร่มิ ต้น
รับเงินมา 20 บาท
ออกจากบ้าน
ผักบุ้งราคาไม่เกิน 20 บาท จร ิง ซื้อผักบุ้ง
สิ้นสุด
เท็จ
จร ิง
ขณะนี้เป็น ฤดูร้อน
ไปสระว่ายน้า
เท็จ
ไปห้างสรรพสินค้า
สิ้นสุด
2.4 เงื่อนไขและการเลือกทา • รหัสลาลองและผังงาน ที่มีเงื่อนไขและการเลือกทา 2 ทาง รหัสลาลอง ไปเที่ยวกับคุณแม่
เร่มิ ต้น 1. ออกจากบ้าน 2. ถ้า ขณะนี้เป็นฤดูร้อน ทา 2.1 ไปสระว่ายน้า ไม่เช่นนั้น 2.2 ไปห้างสรรพสินค้า สิน ้ สุด
ผังงานไปเที่ยวกับคุณแม่ เร่มิ ต้น ออกจากบ้าน จร ิง
ขณะนี้เป็น ฤดูร้อน
ไปสระว่ายน้า
เท็จ
ไปห้างสรรพสินค้า
สิ้นสุด
2.4 เงื่อนไขและการเลือกทา • ตัวอย่างกิจกรรม
ให้นักเร ียนลองคิดเงื่อนไข ที่หากเงื่อนไขเป็นจร ิงจะทาอย่างหนึ่ง หากเป็นเท็จ จะทาอีกอย่างหนึ่ง ลองเขียนรหัสลาลองและวาดผังงาน
2.4 เงื่อนไขและการเลือกทา • รหัสลาลองและผังงาน ที่มีเงื่อนไขและการเลือกทาแบบซับซ้อน เร่มิ ต้น 1. รับชื่อเดือน 2. ถ้า ชื่อเดือนลงท้ายด้วย “คม” ทา 2.1 ตอบว่า 31 วัน ไม่เช่นนั้น 2.2 ถ้า ชื่อเดือนลงท้ายด้วย “ยน” ทา 2.2.1 ตอบว่า 30 วัน ไม่เช่นนั้น 2.2.2 ตอบว่า 28 หร ือ 29 วัน สิ้นสุด
เร่มิ ต้น
รับชื่อเดือน จร ิง
ชื่อเดือนลง ด้วย “คม” จร ิง
เดือนนี้มี 31 วัน
เดือนนี้มี 30 วัน
สิ้นสุด
เท็จ ชื่อเดือนลง ด้วย “ยน”
เท็จ
เดือนนี้มี 28 หร ือ 29 วัน
2.4 เงื่อนไขและการเลือกทา • ตัวอย่างกิจกรรม
ให้นักเร ียนศึกษารหัสลาลองและผังงาน ที่มีเงื่อนไขและการเลือกทา และพิจารณาผลลัพธ์ในกรณีต่างๆ
2.4 เงื่อนไขและการเลือกทา • ตัวอย่างกิจกรรม
เร่มิ ต้น x คะแนน ของนักเร ียน x > 80 เท็จ x > 70 เท็จ
x > 60
จร ิง
จร ิง
จร ิง
ได้เกรด 4
ได้เกรด 3
ได้เกรด 2
เท็จ x > 50 เท็จ ได้เกรด 0 สิ้นสุด
จร ิง
ได้เกรด 1
2.4 เงื่อนไขและการเลือกทา • ตัวอย่างกิจกรรม
ให้นักเร ียนลองเขียนรหัสลาลองและ ผังงาน ของการจาแนกสัตว์ต่อไปนี้ สุนัข นก แมว ปลา งู เงื่อนไขที่ต้องใช้มีอะไรบ้าง
2.4 เงื่อนไขและการเลือกทา เร่มิ ต้น
• ตัวอย่างกิจกรรม
พิจารณาลักษณะของสัตว์ จร ิง
จร ิง
มีคร ีบ
เท็จ
ไม่มี ขา
เท็จ
จร ิง
มี 2 ขา จร ิง
ปลา
งู
นก
สิ้นสุด
สุนัข
เท็จ
ร้อง “โฮ่ง”
เท็จ
แมว
บทที่ 2 การแก้ปัญหา • ขั้นตอนการแก้ปัญหา • การเขียนรหัสลาลองและผังงาน • การกาหนดค่าให้ตัวแปร • เงื่อนไขและการเลือกทา • เงื่อนไขและการทาซ้า • ภาษาโปรแกรม • แนวทางการสอนและการจัดกิจกรรม
2.5 เงื่อนไขและการทาซ้า • เงื่อนไข การเลือกทาและการทาซ้า ผังงานกินขนม แบบที่ 1
ผังงานกินขนม แบบที่ 2
เร่มิ ต้น
เร่มิ ต้น
สังเกตเห็นจานขนม
สังเกตเห็นจานขนม
มีขนมอยู่ในจาน จร ิง กินขนม 1 ชิ้น
สิน ้ สุด
เท็จ มีขนมอยู่ในจาน
จร ิง กินขนม 1 ชิ้น สิน ้ สุด
เท็จ
2.5 เงื่อนไขและการทาซ้า • เงื่อนไข การเลือกทาและการทาซ้า รหัสลาลองกินขนมแบบวนซ้า
เร่มิ ต้น 1. สังเกตเห็นจานขนม 2. ถ้า มีขนมอยู่ในจาน ทา 2.1 กินขนม 1 ชิน ้ 2.2 กลับไปทาขั้นตอนที่ 2 สิ้นสุด
ผังงานกินขนมแบบวนซ้า เร่มิ ต้น สังเกตเห็นจานขนม
มีขนมอยู่ในจาน
จร ิง กินขนม 1 ชิ้น สิน ้ สุด
เท็จ
2.5 เงื่อนไขและการทาซ้า • เงื่อนไขและการทาซ้าแบบต่างๆ ผังงานกินขนมแบบวนซ้า
ผังงานเก็บเงินซื้อหนังสือ
เร่มิ ต้น
เร่มิ ต้น
สังเกตเห็นจานขนม
มีขนมอยู่ในจาน จร ิง
เก็บเงินใส่กระปุก
เท็จ เท็จ
มีเงินพอซื้อหนังสือ
จร ิง
กินขนม 1 ชิ้น
ซื้อหนังสือ
สิ้นสุด
สิน ้ สุด
2.5 เงื่อนไขและการทาซ้า • เงื่อนไขและการทาซ้าแบบต่างๆ ผังงานเก็บเงินซื้อหนังสือ
รหัสลาลองเก็บเงินซื้อหนังสือ
เร่มิ ต้น 1. เก็บเงินใส่กระปุก 2. ถ้า มีเงินพอซื้อหนังสือ ทา 2.1 ซื้อหนังสือ ไม่เช่นนั้น 2.2 กลับไปทาขั้นตอนที่ 1 สิน ้ สุด
เร่มิ ต้น เก็บเงินใส่กระปุก
เท็จ
มีเงินพอซื้อหนังสือ
จร ิง ซื้อหนังสือ สิน ้ สุด
2.5 เงื่อนไขและการทาซ้า • ตัวอย่างกิจกรรม
ให้นักเร ียนลองคิดกิจกรรมใน ชีว ิตประจาวันที่มีการวนซ้า การวนซ้านั้นจะหยุดตามเงื่อนไขใด
2.5 เงื่อนไขและการทาซ้า • ตัวอย่างกิจกรรม
ให้นักเร ียนเขียนรหัสลาลองและผังงาน ของกิจกรรมที่มีการวนซ้า อาจเขียนได้หลายแบบก็ได้
2.5 เงื่อนไขและการทาซ้า • ตัวอย่างผังงานที่ซับซ้อน • ปัญหา 1 + 2 + 3 + ... + n • สร้างตัวแปร k ไว้ไล่ตัวเลข 1, 2, ..., n • สร้างตัวแปร sum ไว้เก็บผลรวมสะสม • เช่น ให้ n ← 3 เร่มิ จาก sum ← 0 และ k ← 1 จากนั้น sum ← sum + 1 กลายเป็น 1 และ k ← 2 จากนั้น sum ← sum + 2 กลายเป็น 3 และ k ← 3 จากนั้น sum ← sum + 3 กลายเป็น 6 และ k ← 4
เร่มิ ต้น
n ← จานวนสุดท้ายที่ ต้องการบวก sum ← 0 k←1
k>n เท็จ sum ← sum + k k←k+1 ตอบค่า sum เป็น ผลบวก 1+2+...+n สิ้นสุด
จร ิง
2.5 เงื่อนไขและการทาซ้า • ตัวอย่างกิจกรรม
จากผังงานการบวกเลข ให้นักเร ียนลองคานวณค่าผลบวก เมื่อเลือก n เป็นค่าต่างๆ โดยดาเนินการตามผังงานทีละขั้นตอน
บทที่ 2 การแก้ปัญหา • ขั้นตอนการแก้ปัญหา • การเขียนรหัสลาลองและผังงาน • การกาหนดค่าให้ตัวแปร • เงื่อนไขและการเลือกทา • เงื่อนไขและการทาซ้า • ภาษาโปรแกรม • แนวทางการสอนและการจัดกิจกรรม
2.6 ภาษาโปรแกรม • เป็นการถ่ายทอดขั้นตอนการแก้ปัญหา ให้คอมพิวเตอร์สามารถปฏิบัติตามได้ • ประเภทของภาษาโปรแกรม • ภาษาโปรแกรมระดับต่า • ภาษาโปรแกรมระดับสูง
2.6 ภาษาโปรแกรม • ภาษาโปรแกรมระดับต่า
• ใกล้เคียงกับการเก็บข้อมูลของคอมพิวเตอร์ • มนุษย์ทาความเข้าใจได้ยาก 011010010101001010010101011 010011001010101010101101010 100101010100010101001010100 100101010101010010010101010 101001010101010101010010101 010010101010101001010101001 010101010100101010101001011
รหัสเลขฐานสอง
FDEDFDF0FDF2FDF4FDF6FDF8FDF9-
6C C9 90 25 84 48 20
36 00 A0 02 32 35 78 FB
JMP CMP BCC AND STY PHA JSR
($0036) #$A0 $FDF6 $32 $35 $FB78
ภาษาแอสเซมบลี (Assembly) ใช้แอสเซมเบลอร์ (Assembler) เพื่อแปลเป็นรหัสเลขฐานสอง
2.6 ภาษาโปรแกรม • ภาษาโปรแกรมระดับสูง
• ใกล้เคียงกับภาษามนุษย์ (ภาษาอังกฤษ) • มนุษย์อ่านแล้วเข้าใจได้ง่าย • ต้องมีตวั แปลภาษา เพื่อแปลภาษาโปรแกรมระดับสูง ให้เป็นรหัสเลขฐานสอง
• ตัวแปลภาษา มี 2 แบบ
• คอมไพเลอร์ (Compiler) • อินเทอร์พร ีเตอร์ (Interpreter)
a = input(“ใส่ค่า a”) b = input(“ใส่ค่า b”) c=a+b print(“ผลบวกคือ”, c) ภาษาไพทอน (Python)
2.6 ภาษาโปรแกรม • ภาษาโปรแกรมระดับสูงที่แปลด้วยคอมไพเลอร์
• จะแปลให้เสร็จทั้งโปรแกรม แล้วจึงนาไปให้คอมพิวเตอร์ทางาน • เช่น ภาษา C, ภาษา C++, ภาษา Pascal
• ภาษาโปรแกรมระดับสูงที่แปลด้วยอินเทอร์พร ีเตอร์
• จะแปลโปรแกรมทีละบรรทัด แล้วนาไปให้คอมพิวเตอร์ทางานทันที โดยไม่ต้องรอให้แปลเสร็จทั้งโปรแกรม • เช่น ภาษา Python, ภาษา Logo, ภาษา PHP
2.6 ภาษาโปรแกรม • ภาษาคอมพิวเตอร์ที่ไม่ใช่ภาษาโปรแกรม แต่ไว้ใช้กาหนดรู ปแบบการแสดงผลหร ือรู ปแบบการเก็บข้อมูล เพื่อให้เป็นมาตรฐานในการใช้งานระหว่างแอปพลิเคชัน • ภาษา HTML (HyperText Markup Language) ใช้กาหนดรู ปแบบในการแสดงหน้าเว็บ • ภาษา XML (Extensible Markup Language) ใช้กาหนดรู ปแบบการเก็บข้อมูล
2.6 ภาษาโปรแกรม • ภาษาคอมพิวเตอร์ที่ไม่ใช่ภาษาโปรแกรม แต่ไว้ใช้กาหนดรู ปแบบการแสดงผลหร ือรู ปแบบการเก็บข้อมูล เพื่อให้เป็นมาตรฐานในการใช้งานระหว่างแอปพลิเคชัน <html> <head> <title> My Website </title> </head> <body> <p> Hello. </p> </body> </html>
ภาษา HTML
2.6 ภาษาโปรแกรม • ตัวอย่างกิจกรรม
ให้นักเร ียนสืบค้นข้อมูลว่า ภาษาโปรแกรมที่น่าสนใจ มีภาษาใดบ้าง แต่ละภาษานิยมนามาใช้เพื่อทาอะไร
บทที่ 2 การแก้ปัญหา • ขั้นตอนการแก้ปัญหา • การเขียนรหัสลาลองและผังงาน • การกาหนดค่าให้ตัวแปร • เงื่อนไขและการเลือกทา • เงื่อนไขและการทาซ้า • ภาษาโปรแกรม • แนวทางการสอนและการจัดกิจกรรม
2.7 แนวทางการสอนและการจัดกิจกรรม • สรุ ปให้เห็นภาพรวมของขั้นตอนการแก้ปัญหา
รหัสลาลอง และ ผังงาน
เรมิ่ ต้น
รับเงินมา 20 บาท
ผักบุ้งราคาไม่เกิน 20 บาท จร ิง ซื้อผักบุ้ง
1. วเคราะห์ ิ และกาหนดรายละเอียดของปัญหา
2. การวางแผนการแก้ปัญหา 3. การดาเนินการแก้ปัญหา 4. การตรวจสอบและประเมินผล
เรมิ่ ต้น 1. รับเงินมา 20 บาท 2. ถ้า ผักบุ้งราคาไม่เกิน 20 บาท ทา 2.1 ซือ ้ ผักบุ้ง สิ้นสุด
สิ้นสุด
เท็จ
2.7 แนวทางการสอนและการจัดกิจกรรม • ยกตัวอย่างปัญหา ที่ใช้ขั้นตอนการแก้ปัญหาครบทุกขั้นตอน
่ ้องการ และว ิธีตรวจสอบความถูกต้อง • คานึงถึงข้อมูลนาเข้า ผลลัพธ์ทีต • คานึงถึงขั้นตอนว ิธีในการแก้ปัญหา ว่ามีความซับซ้อนเพียงใด • การแสดงขั้นตอนว ิธีด้วยรหัสลาลองและผังงาน • การใช้ตัวแปรเพื่อเก็บค่าที่ต้องการ • เงื่อนไข การเลือกทา และการทาซ้า
• คานึงถึงการปรับปรุ งขั้นตอนว ิธีให้มป ี ระสิทธิภาพมากยิง ่ ขึ้น
• รู ปแบบของปัญหา
• ปัญหาในชีว ิตประจาวัน จะทาให้นักเร ียนเห็นภาพขั้นตอนการแก้ปัญหาได้ง่าย • ปัญหาทางคณิตศาสตร์และว ิทยาศาสตร์ จะเหมาะกับเรอื่ งการใช้ตัวแปร
จบบทที่ 2