แบบฝึกหัดท้ายบทที่ 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 เป็น โครงสร้างที่มีการทดสอบเงื่อนไขก่อนถ้าเงื่อนไขเป็นจริงก็จะเข้ามาทำงานใน กลุ่มคำสั่งที่ต้องทำซ้ำซึ่งเรียกว่าการเข้าลูปหลังจากนั้นก็จะย้อนกลับไป ตรวจสอบเงื่อนไขใหม่อีกถ้าเงื่อนไขยังคงเป็นจริงอยู่ ก็ยังคงต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากลูปไปทำคำสั่งถัดไปที่อยู่ถัดจาก DOWHILE หรืออาจเป็นการจบการทำงาน
ส่วน do…until เป็นโครงสร้างการทำงานแบบทำงานซ้ำเช่นกันแต่มีการทำงานที่แตกต่างจาก DO WHILE คือจะมีการเข้าทำงานกลุ่มคำสั่งที่อยู่ภายในลูปก่อนอย่างน้อย 1 ครั้ง แล้วจึงจะไปทดสอบเงื่อนไข ถ้าเงื่อนไขเป็นเท็จก็จะมีการเข้าทำกลุ่มคำสั่งที่ต้องทำซ้ำอีก หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นเท็จอยู่ ก็ยังต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นจริง จึงจะออกจากลูปไปทำคำสั่งถัดจาก UNTIL หรืออาจเป็นการจบการทำงาน
ตอบ. while...do เป็น โครงสร้างที่มีการทดสอบเงื่อนไขก่อนถ้าเงื่อนไขเป็นจริงก็จะเข้ามาทำงานใน กลุ่มคำสั่งที่ต้องทำซ้ำซึ่งเรียกว่าการเข้าลูปหลังจากนั้นก็จะย้อนกลับไป ตรวจสอบเงื่อนไขใหม่อีกถ้าเงื่อนไขยังคงเป็นจริงอยู่ ก็ยังคงต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากลูปไปทำคำสั่งถัดไปที่อยู่ถัดจาก DOWHILE หรืออาจเป็นการจบการทำงาน
ส่วน do…until เป็นโครงสร้างการทำงานแบบทำงานซ้ำเช่นกันแต่มีการทำงานที่แตกต่างจาก DO WHILE คือจะมีการเข้าทำงานกลุ่มคำสั่งที่อยู่ภายในลูปก่อนอย่างน้อย 1 ครั้ง แล้วจึงจะไปทดสอบเงื่อนไข ถ้าเงื่อนไขเป็นเท็จก็จะมีการเข้าทำกลุ่มคำสั่งที่ต้องทำซ้ำอีก หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไขใหม่อีก ถ้าเงื่อนไขยังคงเป็นเท็จอยู่ ก็ยังต้องทำกลุ่มคำสั่งซ้ำหรือเข้าลูปต่อไปอีก จนกระทั่งเงื่อนไขเป็นจริง จึงจะออกจากลูปไปทำคำสั่งถัดจาก UNTIL หรืออาจเป็นการจบการทำงาน
4.จงบอกประโยชน์ของผังงาน
ตอบ. 1.) ทำให้มองเห็นรูปแบบของงานได้ทั้งหมดโดยใช้เวลาไม่มาก
2.) การเขียนผังงานเป็นสากลสามารถนำไปเขียนโปรแกรมได้ทุกภาษา
3.) สามารถตรวจสอบข้อผิดพลาดของโปรแกรมได้อย่างรวดเร็ว
4.)หาก มีการพัฒนาระบบงานในลำดับต่อไปสามารถทำได้อย่างรวดเร็วโดยศึกษาจากผังงานจะ สามารถศึกษาได้อย่างรวดเร็วและเข้าใจง่ายกว่าการศึกษาจากโปรแกรม
2.) การเขียนผังงานเป็นสากลสามารถนำไปเขียนโปรแกรมได้ทุกภาษา
3.) สามารถตรวจสอบข้อผิดพลาดของโปรแกรมได้อย่างรวดเร็ว
4.)หาก มีการพัฒนาระบบงานในลำดับต่อไปสามารถทำได้อย่างรวดเร็วโดยศึกษาจากผังงานจะ สามารถศึกษาได้อย่างรวดเร็วและเข้าใจง่ายกว่าการศึกษาจากโปรแกรม
5.จงเขียนขั้นตอน( Algorithm) และวาดผนังงาน(Flowchart) สำหรับการทำงานต่อไปนี้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น