แบบฝึกหัดท้ายบทที่ 8
1. ผังงาน (flowchart) คืออะไร
ตอบ. ผังงาน (Flowchart) คือ รูปภาพ (Image) หรือสัญลักษณ์(Symbol) ที่ใช้เขียนแทนขั้นตอน คำอธิบาย ข้อความ หรือคำพูด ที่ใช้ในอัลกอริทึม (Algorithm) เพราะการนำเสนอขั้นตอนของงานให้เข้าใจตรงกัน ระหว่างผู้เกี่ยวข้อง ด้วยคำพูด หรือข้อความทำได้ยากกว่า
2. อธิบายรูปแบบผังงานแบบเรียงลำดับ (sequence) แบบมีเงื่อนไข (decision) และแบบทำซ้ำ (loop)
ตอบ. 1)การทำงานแบบตามลำดับ(Sequence) คือ การเขียนให้ทำงานจากบนลงล่าง เขียนคำสั่งเป็นบรรทัด และทำทีละบรรทัดจากบรรทัดบนสุดลงไปจนถึงบรรทัดล่างสุด สมมติให้มีการทำงาน 3 กระบวนการคือ อ่านข้อมูล คำนวณ และพิมพ์ จะเขียนเป็นผังงาน(Flowchart) ในแบบตามลำดับได้
2)การเลือกกระทำตามเงื่อนไข(Decision) คือ การเขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว
2)การเลือกกระทำตามเงื่อนไข(Decision) คือ การเขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น ตัวอย่างผังงานนี้ จะแสดงผลการเลือกอย่างง่าย เพื่อกระทำกระบวนการเพียงกระบวนการเดียว
3) การทำซ้ำ (Loop) คือ การทำกระบวนการหนึ่งหลายครั้ง โดยมีเงื่อนไขในการควบคุม หมายถึงการทำซ้ำเป็นหลักการที่ทำความเข้าใจได้ยากกว่า 2 รูปแบบแรก เพราะการเขียนโปรแกรมแต่ละภาษา จะไม่แสดงภาพอย่างชัดเจนเหมือนการเขียนผังงาน(Flowchart) ผู้เขียนโปรแกรมต้องจินตนาการ ถึงรูปแบบการทำงาน และใช้คำสั่งควบคุมด้วยตนเอง ตัวอย่างผังงานที่นำมาแสดงนี้เป็นการแสดงคำสั่งทำซ้ำ(do while)ซึ่งหมายถึงการทำซ้ำในขณะที่เป็นจริง และเลิกการทำซ้ำเมื่อเงื่อนไขเป็นเท็จ
3. ขั้นตอนการทำงานซ้ำแบบ while…do และ do…until ต่างกันอย่างไร จงอธิบาย
ตอบ. while...do เป็นโครงสร้างที่มีการทดสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริงก็จะเข้ามาทำงานในกลุ่มคำสั่งที่ต้องทำซ้ำ ซึ่งเรียกว่าการเข้าลูป หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นจริงอยู่ ก็ยังคงต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากลูปไปทำคำสั่งถัดไปที่อยู่ถัดจาก DO WHILE หรืออาจเป็นการจบการทำงาน
ส่วน do…until เป็นโครงสร้างการทำงานแบบทำงานซ้ำเช่นกัน แต่มีการทำงานที่แตกต่างจาก DO WHILE คือจะมีการเข้าทำงานกลุ่มคำสั่งที่อยู่ภายในลูปก่อนอย่างน้อย 1 ครั้ง แล้วจึงจะไปทดสอบเงื่อนไข ถ้าเงื่อนไขเป็นเท็จก็จะมีการเข้าทำกลุ่มคำสั่งที่ต้องทำซ้ำอีก หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นเท็จอยู่ ก็ยังต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นจริง จึงจะออกจากลูปไปทำคำสั่งถัดจาก UNTIL หรืออาจเป็นการจบการทำงาน
ตอบ. while...do เป็นโครงสร้างที่มีการทดสอบเงื่อนไขก่อน ถ้าเงื่อนไขเป็นจริงก็จะเข้ามาทำงานในกลุ่มคำสั่งที่ต้องทำซ้ำ ซึ่งเรียกว่าการเข้าลูป หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นจริงอยู่ ก็ยังคงต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากลูปไปทำคำสั่งถัดไปที่อยู่ถัดจาก DO WHILE หรืออาจเป็นการจบการทำงาน
ส่วน do…until เป็นโครงสร้างการทำงานแบบทำงานซ้ำเช่นกัน แต่มีการทำงานที่แตกต่างจาก DO WHILE คือจะมีการเข้าทำงานกลุ่มคำสั่งที่อยู่ภายในลูปก่อนอย่างน้อย 1 ครั้ง แล้วจึงจะไปทดสอบเงื่อนไข ถ้าเงื่อนไขเป็นเท็จก็จะมีการเข้าทำกลุ่มคำสั่งที่ต้องทำซ้ำอีก หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นเท็จอยู่ ก็ยังต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นจริง จึงจะออกจากลูปไปทำคำสั่งถัดจาก UNTIL หรืออาจเป็นการจบการทำงาน
4.จงบอกประโยชน์ของผังงาน
ตอบ. 1. สามารถเรียนรู้และเข้าใจได้ง่าย เพื่อผังงานไม่ขึ้นอยู่กับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งโดยเฉพาะ
2. ผังงานเป็นการสื่อความหมายด้วยภาพ ทำให้ง่ายและสะดวกในการพิจารณาถึงลำดับขั้นตอนในการทำงาน ต่างกับการบรรยายเป็นตัวอักษร เพราะอาจสื่อความหมายผิดไปได้3. ในโปรแกรมที่ไม่ซับซ้อน สามารถใช้ผังงานตรวจสอบความถูกต้องของลำดับขั้นตอนได้ง่ายถ้ามีข้อผิดพลาด สามารถแก้ไขได้สะดวกและรวดเร็ว
4. การเขียนโปรแกรมโดยพิจารณาจากผังงาน สามารถทำงานง่ายและรวดเร็ว
5. การบำรุงรักษาโปรแกรม เมื่อมีการเปลี่ยนแปลงแก้ไขโปรแกรม สามารถดูผังงานเพื่อแก้ไขคำสั่งในโปรแกรมก่อนแก้ไขได้
5.จงเขียนขั้นตอน( Algorithm) และวาดผนังงาน(Flowchart) สำหรับการทำงานต่อไปนี้
ตอบ.
5.1)การยืมหนังสือในห้อสมุด
การยืม
หนังสือที่เหลือ=จำนวนหนังสือที่มี -จำนวนที่ยืม
แทนเป็นสมการA=B-N
การคืน
จำนวนที่ยืม+หนังสือที่เหลือ=จำนวนหนังสือที่มี
แทนเป็นสมการ N+A=B
การยืม
การคืน
จำนวนที่ยืม+หนังสือที่เหลือ=จำนวนหนังสือที่มี
แทนเป็นสมการ N+A=B
5.2)ระบบไฟจราจร
5.3)การขึ้น/ลงลิฟท์
เมื่อค่าน้อยกว่าให้บวกเมื่อเท่ากันให้หยุดเมื่อค่ามากกว่าให้ลบเมื่อเท่ากัน
ให้หยุด
แหล่งที่มา http://junnapas.blogspot.com/2011/09/8.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น