ก่อนการเขียนโปรแกรม ผู้พัฒนาโปรแกรมจะต้องเลือกภาษาคอมพิวเตร์ ที่จะนำมาใช้ช่วยงานโดยพิจารณาจากปัจจัยต่างๆ ในการทำงาน เช่น ลักษณะของปัญหา ความถนัดของนักเขียนดโปรแกรม สภาพแวดล้อมในการทำงานของระบบคอมพิวเตอร์ เป็นต้น เนื่องจากในปัจจุบันมีภาษาคอมพิวเตอร์ให้เลือกได้หลายภาษา เช่น ภาษาปาสคาล ภาษาซี ภาษาจาวา และภาษาเดลฟาย ภึงแม้แต่ละภาษาจะมีรูปแบบและหลักการในการสร้างงานที่แตกต่างกันแต่ทุกภาษาจะต้องมีโครงสร้างควบคุมหลักทั้ง 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)
ปัญหาบางอย่างต้องการการตัดสินใจ เพื่อเลือกว่าจะใช้วิธีการใด โดยต้องมีการตรวจสอบว่าเงื่อนไขที่ใช้ในการตัดสินใจว่าเป็นจริงหรือเท็จ ถ้าเป็นจริงจะไปเลือกทำคำสั่งชุดหนึ่ง แต่ถ้าเป็นเท็จจะไปเลือกทำคำสั่งอีกชุดหนึ่ง ซึ่งชุดคำสั่งเหล่านี้จะประกอบด้วยโดตรงสร้างแบบลำดับนั่นเอง รูปที่ 6.11 แสดงผังงานของโครงสร้างแบบทางเลือก และรูปที่ 6.12 แสดงตัวอย่างของขั้นตอนวิธีที่ต้องมีการเลือกตัดสินใจในการเลือกพิมพ์ค่ามรามากกว่าออกมา
      

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


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

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

จากรายละเอียดของปัญหา สามารถเขียนเป็นขั้นตอนของรหัสลำลองได้ดังนี้



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