การเขียนโปรแกรมเบื้องต้น ครูหนึ่งฤทัย เจริญสุข
ขั้นตอนการเขียนโปรแกรม ประกอบด้วย 1. การวิเคราะห์ปัญหา 2. การออกแบบโปรแกรม 3. การเขียนโปรแกรม 4. การทดสอบโปรแกรม 5. การจัดทำเอกสารประกอบโปรแกรม
รูปแบบการเขียนโปรแกรม การเขียนโปรแกรมเชิงโครงสร้าง (Structured Programming) รูปแบบการเขียนโปรแกรมเชิงโครงสร้าง ประกอบด้วย - ชุดคำสั่งภายในโปรแกรม จะเป็นลำดับขั้นตอน (Sequence) - มีทางเลือกในการตัดสินใจทางใดทางหนึ่ง (Decision) - มีชุดคำสั่งเพื่อการทำซ้ำ (Repetition) การเขียนโปรแกรมเชิงวัตถุ(Object–Oriented Programming)
อัลกอริทึม Algorithms สิ่งสำคัญของการเขียนโปรแกรมไม่ใช่การลงมือเขียนโปรแกรมโดยทันที จำเป็นจะต้องได้รับการออกแบบอย่างมีแบบแผนก่อน จึงจะนำไปสู่ขั้นตอนการเขียนโปรแกรมจริงและกระบวนการที่ได้รับการยอมรับก็คือ อัลกอริทึม นั่นเอง อัลกอริทึม จึงหมายถึงขั้นตอนวิธีที่จะอธิบายว่างานนั้นทำอย่างไร โดยจะประกอบด้วยกระบวนการทำงานเป็นลำดับขั้นตอนที่ชัดเจน และมีการรับประกันว่า เมื่อได้ปฏิบัติถูกต้องตามขั้นตอนจนครบแล้วจะต้องได้ผลลัพธ์ที่ถูกต้องตามความต้องการ
ตัวอย่างอัลกอริทึม การต้มบะหมี่กึ่งสำเร็จรูป ซึ่งประกอบด้วยขั้นตอนดังนี้ เทน้ำสะอาดใส่หม้อ และต้มจนเดือด ฉีกซอง และนำบะหมี่กึ่งสำเร็จรูปใส่ลงในชาม เทเครื่องปรุงลงในชาม นำน้ำที่ต้มเดือดเทลงในชาม ปิดฝา รอประมาณ 3 นาที
………………………………………………………..……. 2. การออกแบบโปรแกรม 3. การเขียนโปรแกรม แบบฝึกหัดที่ 1 ให้นักเรียนอธิบายขั้นตอนการเขียนโปรแกรม ทั้ง 5 ขั้นตอน 1.การวิเคราะห์ปัญหา ………………………………………………………..……. 2. การออกแบบโปรแกรม 3. การเขียนโปรแกรม 4. การทดสอบโปรแกรม 5. การจัดทำเอกสารประกอบโปรแกรม
ซูโดโค้ด (Pseudo Code) ทั้งซูโดโค้ด และผังงาน(Flowchart) ต่างก็สามารถนำมาใช้เป็นตัวแทนของอัลกอริทึมได้ แต่ผังงานจะมีข้อจำกัดในเรื่องของการขาดรายละเอียด ซูโดโค้ดจึงมักถูกนำมาใช้เป็นตัวแทนของอัลกอริทึม เนื่องจากมีรูปแบบโครงสร้างภาษาอังกฤษคล้ายภาษาคอมพิวเตอร์ระดับสูง
วิธีการเขียนซูโดโค้ด ถ้อยคำหรือประโยคคำสั่ง(Statement) ให้เขียนในรูปแบบของภาษาอังกฤษอย่างง่าย ในหนึ่งบรรทัด ให้เขียนประโยคคำสั่งเพียงคำสั่งเดียว ควรใช้ย่อหน้าให้เป็นประโยชน์ เพื่อแยกแยะคำเฉพาะ (Keywords) ได้ชัดเจน รวมถึงจัดโครงสร้างการควบคุมให้เป็นสัดส่วน ซึ่งการกระทำดังกล่าวจะทำให้อ่านง่าย แต่ละประโยคคำสั่งให้เขียนลำดับจากบนลงล่าง โดยมีทางเข้าเพียงทางเดียวและมีทางออกทางเดียวเท่านั้น กลุ่มของประโยคคำสั่งต่าง ๆ อาจจัดรวมกลุ่มเข้าด้วยกันในรูปแบบโมดูล แต่ต้องกำหนดซื่อโมดูลเหล่านั้นด้วย เพื่อให้สามารถเรียกใช้งานโมดูลนั้นได้
แบบฝึกหัดที่ 2 ให้นักเรียนเขียนอัลกอริทึมการทอดไข่เจียว ………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..........................................................
รูปแบบการเขียนซูโดโค้ด ที่สามารถนำไปประยุกต์ใช้เพื่อการเขียนโปรแกรม การกำหนดค่า และการคำนวณ รูปแบบ name = Expression name คือ ชื่อตัวแปรที่ใช้สำหรับเก็บค่า Expression คือ ค่าข้อมูลหรือนิพจน์ ตัวอย่างเช่น Salary = 1000 Tax = 125 income = salary - tax
2. การอ่าน/รับข้อมูล รูปแบบ read variable_n input variable_n Get variable_n read คือ อ่านค่าที่มีอยู่แล้วไปเก็บในตัวแปร input และ Get นำไปใช้รับค่าผ่านแป้นพิมพ์ variable คือตัวแปรที่อ่านและรับค่าเข้ามา ตัวอย่างเช่น input a,b,c answer = a+b+c Get current_date expire_date =current_date Read id,name,address
3. การแสดงผลข้อมูล รูปแบบ PRINT variable_n PROMPT variable_n WRITE variable_n PRINT และ PROMPT คือ พิมพ์ค่าข้อมูลหรือข้อความ WRITE นำไปใช้สำหรับการบันทึกข้อมูลลงในแฟ้มข้อมูล ตัวอย่างเช่น PROMPT “Enter 3 value == >” INPUT value1,value2 sum = Value1+value3 PRINT sum หรือ WRITE sum
ตัวอย่าง ให้นักเรียนหาผลบวกของเลข 2 จำนวนและแสดงผลลัพธ์ ตัวอย่าง ให้นักเรียนหาผลบวกของเลข 2 จำนวนและแสดงผลลัพธ์ เขียนอัลกอริทึม 1.กำหนดตัวแปร เป็น ค่า A,B,SUM เพื่อรับค่าและแสดงผล 2. นำค่ามาบวกกัน SUM=A+B 3.แสดงค่าตัวแปร SUM เขียนเป็น ซูโดโค้ด PROMPT “Enter A value == >” INPUT A PROMPT “Enter B value == >” INPUT B SUM = A+B PRINT SUM
แบบฝึกหัด เขียนอัลกอริทึมและซูโดโค้ดต่อไปนี้ ให้นักเรียนหาผลบวกของเลข 3 จำนวนและแสดงผลลัพธ์ ให้หาค่ายกกำลัง 2 ของเลขจำนวนใดก็ได้และบันทึกผลลัพธ์ลงในไฟล์
4. การกำหนดเงื่อนไข รูปแบบ IF <condition> THEN activity 1 ELSE ENDIF ตัวอย่างเช่น IF sex =“M” THEN male= male + 1 female= female + 1
5. การทำงานเป็นรอบ รูปแบบ ที่ 1 WHILE <condition> activity 1 activity n ENDWHILE ตัวอย่างเช่น WHILE num <=20 PRINT num num = num + 1 PROMPT “ Stop Run”
5. การทำงานเป็นรอบด้วยลูป รูปแบบ ที่ 2 DO activity 1 activity 2 activity n UNTIL <condition> ตัวอย่างเช่น PRINT “Hello”” num = num + 1 UNTIL num > 20
5. การทำงานเป็นรอบ รูปแบบ ที่ 3 FOR i = 1 to n activity 1 activity 2 activity n NEXT ตัวอย่างเช่น FOR i =1 to 20 PRINT “Good Morning…”
ให้เขียนซูโด้โค้ดคำนวณคะแนนเพื่อแสดงค่าเกรดของนักเรียน อัลกอริทึม แบบฝึกหัด ให้เขียนซูโด้โค้ดคำนวณคะแนนเพื่อแสดงค่าเกรดของนักเรียน อัลกอริทึม กำหนดตัวแปร 2 ตัวแปร score ,grade รับค่าตัวแปร score จากคีย์บอร์ด กำหนดเงื่อนไข ถ้า score >= 80 ให้ grade = “A” ถ้า score >= 70 ให้ grade = “B” ถ้า score >= 60 ให้ grade = “C” ถ้า score >= 50 ให้ grade = “D” ถ้านอกเหนือจากเงื่อนไข ให้ grade = “F”