โครงสร้างการโปรแกรม

Page 1

โครงสร้ างการโปรแกรม

ก่อนการเขียนโปรแกรม ผูพ้ ฒั นาโปรแกรมจะต้องเลือกภาษาคอมพิวเตร์ ที่จะนามาใช้ ช่วยงานโดยพิจารณาจากปัจจัยต่างๆ ในการทางาน เช่น ลักษณะของปัญหา ความถนัดของ นักเขียนดโปรแกรม สภาพแวดล้อมในการทางานของระบบคอมพิวเตอร์ เป็ นต้น เนื่องจากใน ปัจจุบนั มีภาษาคอมพิวเตอร์ให้เลือกได้หลายภาษา เช่น ภาษาปาสคาล ภาษาซี ภาษาจาวา และ ภาษาเดลฟาย ภึงแม้แต่ละภาษาจะมีรูปแบบและหลักการในการสร้างงานที่แตกต่างกันแต่ทุก ภาษาจะต้องมีโครงสร้างควบคุมหลักทั้ง 3 แบบ ได้แก่ โดครงสร้างแบบลาดับ (sequential structure) โครงสร้างแบบทางเลือก (selection structure) และโครงสร้างแบบวนซ้ า(repetition structure) โครงสร้ างแบบลาดับ (sequential structure)

โปรแกรมที่ทางานเป็ นขั้นตอนเพื่อแก้ปัญหาจะทางานตามคาสัง่ ที่เขียนไว้ตามลาดับ ตั้งแต่ คาสัง่ แรกไปจนถึงคาสัง่ สุ ดท้าย โดยที่คาสัง่ ในที่น้ ีอาจเป็ นคาสัง่ เดี่ยวๆ หรื อเป็ นคาสัง่ เชิงซ้อน ทีมีหลายคาสั่งย่อยประกอบกันในลักษณะเป็ นโครงสร้างแบบทางเลือกหรื อแบบวนซ้ าก็ได้ โครงสร้างแบบเรี ยงลาดับเมื่อเขียนเป็ นผังงาน จะมีลกั ษณะดังเช่นรู ปที่ 6.9 และมีกระบวนการ ทางานพื้ฐานอยู่ 3 ชนิด ดังแสดงในรู ปที่ 6.10 ได้แก่ -การคานวณ เป็ นกระบวนการที่คอมพิเตอร์ทาการคานวณ ประมวลผล ซึ่งจะรวมไปถึงการ กาหนดค่าให้กบั ตัวแปร เพื่อให้สามารถนาค่าของตัวแปรนั้นมาใช้ในภายหลังได้ - การรับข้อมูลเข้า เป็ นกระบวนการรับข้อมูลจากอุปกรณ์ของหน่วยรับเข้า เช่น คียบ์ อร์ด เพื่อ นาค่าไปกาหนดให้กบั ตัวแปร และเก็บไว้ในหน่วยความจา - การส่ งข้อมูลออก เป็ นกระบวนการนาค่าของข้อมูลไปแสดงผลยังอุปกรณ์ของหน่วยส่ งออก เช่น จอภาพหรื อเครื่ องพิมพ์ ข้อมูลที่จะส่ งออกโดยทัง่ ไปจะเป็ นค่าคงที่ หรื อค่าของตัวแปร ในการดาเนินการเพื่อแก้ปัญหาด้วยคอมพิวเตอร์ กระบวนการเหล่านี้ตอ้ งถูกแปลงให้อย฿่​่รูป ของคาสั่งหลายคาสั่งประกอบกันเพื่อให้ทางานตามขั้นตอนที่ได้ออกแบบไว้ เช่น กรบวนการ การคานวณในการเพิ่มค่าของตัวแปร counter ขึ้นอีกหนึ่ง จะใช้คาสั่ง " counter < counter + 1 " กระบวนการรับข้อมูลเข้าเพื่อเก็บไว้ในตัวแปร x จะใช้คาสั่ง " input x" และกระบวนการส่ ง ข้อมูลออกไปยังจอภาพเพื่อแสดงผลของตัวแปร average จะใช้คาสั่ง "print avereage" เป็ นต้น


โครงสร้ างแบบทางเลือก (selection structure)

ปัญหาบางอย่างต้องการการตัดสิ นใจ เพื่อเลือกว่าจะใช้วธิ ีการใด โดยต้องมีการตรวจสอบว่า เงื่อนไขที่ใช้ในการตัดสิ นใจว่าเป็ นจริ งหรื อเท็จ ถ้าเป็ นจริ งจะไปเลือกทาคาสั่งชุดหนึ่ง แต่ถา้ เป็ นเท็จจะไปเลือกทาคาสั่งอีกชุดหนึ่ง ซึ่งชุดคาสั่งเหล่านี้จะประกอบด้วยโดตรงสร้างแบบ ลาดับนัน่ เอง รู ปที่ 1 แสดงผังงานของโครงสร้างแบบทางเลือก และรู ปที่ 2 แสดงตัวอย่างของ ขั้นตอนวิธีที่ตอ้ งมีการเลือกตัดสิ นใจในการเลือกพิมพ์ค่ามากกว่าออกมา

รู ปที่ 1 แสดงผังของโครงสร้างแบบทางเลือก


รู ปที่ 2 แสดงตัวอย่างของขั้นตอนวิธีที่ตอ้ งมีการเลือกตัดสิ นใจการเลือกพิมพ์ค่ามากกว่าออกมา

โครงสร้างการทางานแบบทางเลือกที่กล่าวมาแล้ว อาจเรี ยกว่ามีโครงสร้างของการทางานแบบ if...then...else... ซึ่งเป็ นการเลือกทาแบบทางใดทางหนึ่ง เนื่องจากต้องมีการเลือกทาชุดคาสั่งใด ชุดคาสั่งหนึ่งตามผลของเงื่อนไข แต่ในการเขียนโปรแกรมหรื อผังงานเพื่อแก้ปัญหา นักเขียน โปรแกรมอาจไม่ตอ้ งการทางานใดๆ เมื่อผลของเงื่อนไขเป็ นเท็จก็ได้ โดยผังงานจะมีลกั ษณะ ดังรู ปที่ 3 ซึ่งเรี ยกว่ามีโครงสร้างของการทางานแบบเลือกทาเพียงทางเดียว หรื อ แบบ if..then...

รู ปที่ 3 โครงสร้ างแบบวนซ้า (repetition structure)

ในการแก้ปัญหาบางอย่างอาจต้องมีการทางานในบางคาสั่งหรื อชุดของคาสั่งซ้ ากันมากกว่า หนึ่งรอบขึ้นไป โครงสร้างแบบมีการวนซ้ านี้ตอ้ งมีการตัดสิ นใจร่ วมอยูด่ ว้ ยเสมอ เพื่อเป็ น เงื่อนไขที่ตดั สิ นใจว่าเมื่อใดจะวนซ้ า หรื อเมื่อไรจะถึงเวลาหยุดวนซ้ าโดยทัว่ ไปผังงานของการ


วนว้าจะมีลกั ษณะดังรู ปที่ 4 หรื อรู ปที่ 5 โดยมีความแตกต่างกันตือ ในรู ปที่ 4 เป็ นการวนซ้ า แบบที่ตอ้ งตรวจสอบเงื่อนไขที่จะใช้วนซ้ าก่อนที่จะทางานในชุดคาสั่งในโครงสร้างแบบวนซ้ า เรี ยกว่า การวนซ้ าแบบ while ซึ่งจะสังเกตได้วา่ ถ้าเงื่อนไขไม่เป็ นจริ งตั้งแต่แรก คาสั่งแบบ โครงสร้างในการวนซ้ าจะไม่ถูกเรี ยกให้ทางานเลยแต่สาหรับ 5 เป็ นการวนซ้ าแบบมีการ ตรวจสอบเงื่อนไขที่จะให้วนซ้ าหลังจากที่ได้ทางานตามชุดคาสัง่ ในโครงสร้างแบบวนซ้ าไป รอบหนึ่งแล้วเรี ยกว่า การวนว้าแบบ until สาหรับตัวอย่างของการวนซ้ า เช่น การรับค่าตัวเลข เข้ามาหลายค่า ในโครงสร้าเพื่อคานวนหาผลรวม

รู ปที่ 4


รู ปที่ 5 สิ่ งที่ควรระวังในการใช้งานขั้นตอนวิธีแบบมีการวนซ้ าคือ ต้องตรวจสอบว่าได้กาหนดเงื่อนไขอย่างรัดกุมและ ถูกต้อง มิเช่นนั้นแล้วอาจเกิดกรณี แบบวนซ้ าไม่รู้จบ (infinte loop) หรื อกรณี ที่วนซ้ าไม่ได้ตามจานวนรอบที่ ต้องการ


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.