การเขียนรหัสจำลอง (Pseudo Code)
คือการเขียนอัลกอริทึมโดยใช้ประโยคภาษาอังกฤษที่สื่อความหมายง่าย ๆ สามารถอ่านแล้วเข้าใจได้โดยทันที แต่ก็สามารถใช้รูปแบบที่เป็นภาษาพูดด้วยภาษาไทยและภาษา
อังกฤษก็ได้
โครงสร้างของรหัสจำลองเริ่มต้นด้วยข้อความ Begin แล้วอธิบายขั้นตอนการทำงานโดยใช้คำสั่งต่าง ๆ ที่ใกล้เคียงกับภาษาคอมพิวเตอร์ในการเขียนโปรแกรม เช่น
คำสั่ง read หมายถึง การอ่านค่าหรือรับค่าข้อมูลตัวแปรตามที่กำหนดไว้
คำสั่ง print หมายถึง การแสดงผลลัพธ์ที่ได้จากการคำนวณ
และพิมพ์ข้อความ End เมื่อจบการทำงาน
การเขียนรหัสจำลองจะต้องมีการวางแผนสำหรับการอ้างอิงถึงข้อมูลที่จะต้องนำไปใช้ภายในโปรแกรมด้วย
การสร้างตัวแปร โดยใช้เครื่องหมายเท่ากับ (= ) แทนการกำหนดค่าตัวแปร
หลักในการเขียน Pseudocode
1. คำสั่งที่เขียนใช้ภาษาที่เข้าใจง่าย ไม่ต้องคำนึงถึงภาษาคอมพิวเตอร์
2. ในหนึ่งบรรทัด ให้มีเพียงหนึ่งคำสั่งเท่านั้น
3. ใช้ย่อหน้าในการแสดงกลุ่มของคำสั่ง ที่เป็นคำสั่งย่อยในคำสั่งพวกเงื่อนไข เช่น if-else, while, for ฯลฯ
4. ในการเขียนแต่ละคำสั่งให้เรียงการทำงานจากบนลงล่าง และมีทางออกหรือจุดสิ้นสุดเพียงจุดเดียว
5. กลุ่มคำสั่งอาจจะเขียนรวมกันเป็นโมดุล และเวลาเรียกใช้ก็เรียกใช้ผ่านชื่อโมดุล (คล้ายกับการเรียกใช้ฟังก์ชัน2. ในหนึ่งบรรทัด ให้มีเพียงหนึ่งคำสั่งเท่านั้น
3. ใช้ย่อหน้าในการแสดงกลุ่มของคำสั่ง ที่เป็นคำสั่งย่อยในคำสั่งพวกเงื่อนไข เช่น if-else, while, for ฯลฯ
4. ในการเขียนแต่ละคำสั่งให้เรียงการทำงานจากบนลงล่าง และมีทางออกหรือจุดสิ้นสุดเพียงจุดเดียว
ข้อตกลงในการเขียนรหัสจำ ลอง
1. ในการอธิบายการทำ งานใช้คำ สั่งซึ่งเป็นคำ กริยาในภาษาอังกฤษ เช่น MOVEINITIALIZE READ WRITE SUBTRACT ADD DISPLAY COMPUTEเป็นต้น
2. คำ สั่งหลาย ๆ คำ สั่งรวมเรียกว่า มอดูล หรือ กระบวนการ กำ หนดชื่อให้มอดูลนั้น แล้วใช้ do นำ หน้า
3. การทำ งานใด ๆ จะเขียนคำ สั่งเป็นบรรทัด ๆ ไป เรียงเป็นลำ ดับStatement-1Statement-2....Statement-n
4. การทำ งานตามเงื่อนไข เป็นการทำ งานที่ เมื่อทดสอบเงื่อนไขแล้ว จะเลือกทำ ทางใดทางหนึ่งเท่านั้น เช่นIF Condition THEN Statement-1 ELSE Statement-2 ENDIF
อธิบายคำ สั่งได้ดังนี้คำ สั่ง IF เป็นการตรวจสอบเงื่อนไข หากเงื่อนไขเป็นจริง จะทำ คำ สั่งที่ 1 แต่หากเงื่อนไขเป็นเท็จ จะทำ คำ สั่งที่ 2
5. การวนรอบ เป็นการวนรอบซํ้าตามจำ นวนที่ต้องการ ซึ่งการวนรอบมีหลายลักษณะดังนี้
- REPEAT FOR วนรอบซํ้า เท่าจำ นวนรอบที่ระบุ คือรู้จำ นวนรอบที่แน่นอน REPEAT FOR n TIMES Statement-1 Statement-2 ENDFOR
อธิบายคำ สั่งได้ดังนี้คำ สั่ง FOR เป็นการวนรอบซํ้าเป็นจำ นวน n ครั้ง เพื่อทำ คำ สั่งที่ 1 คำ สั่งที่ 2
- REPEAT UNTIL วนรอบซํ้า จนกระทั่ง เงื่อนไขที่กำ หนดเป็นจริง จึง เสร็จสิ้น REPEAT Statement-1 Statement-2 UNTIL condition
อธิบายคำ สั่งได้ดังนี้คำ สั่ง REPART UNTIL เป็นการวนรอบซํ้าในขณะที่เงื่อนไขเป็นเท็จ เพื่อทำคำ สั่งที่ 1 คำ สั่งที่ 2 แต่หากเงื่อนไขเป็นจริง ก็จบการวนซํ้า
- REPEAT WHILE วนรอบซํ้าในขณะที่เงื่อนเป็นจริง
REPEAT WHILE condition Statement-1 Statement-2 END REPEAT
อธิบายคำ สั่งได้ดังนี้คำ สั่ง REPART WHILE เป็นการวนรอบซํ้าในขณะที่เงื่อนไขเป็นจริงเพื่อทำคำ สั่งที่ 1 คำ สั่งที่ 2 แต่หากเงื่อนไขเป็นเท็จก็จบการวนซํ้าตัวอย่างการเขียน รหัสจำ ลอง1) ให้นับจำ นวนนักศึกษาที่อายุ มากกว่า หรือเท่ากับ 18 ปี และจำ นวนนักศึกษาที่อายุน้อยกว่า 18 ปี
IF student’s age >= 18 THEN AdultCounter = AdultCounter + 1 ELSE JuniorCounter = JuniorCounter + 1ENDIF
2) ให้นับจำ นวนพนักงานหญิง และพนักงานชาย โดยนับจากข้อมูลรหัสเพศ และ ตรวจ
สอบด้วยว่าข้อมูลรหัสเพศที่ไม่ถูกต้องมีกี่คน
IF employee’s sex is female THEN FemaleCounter = FemaleCounter + 1 ELSE IF employee’s sex is male THEN MaleCounter = MaleCounter + 1ELSE ErrorCounter = ErrorCounter + 1ENDIFENDIF
3) ให้นับจำ นวนชั่วโมงการทำ งานที่เกิน 40 ชั่วโมงIF hour worked > 40THEN OverTimeCounter = OverTimeCounter + 1ENDIF4) จงเขียนรหัสจำ ลองหาพื้นที่ของวงกลมกำ หนดให้ สูตรพื้นที่วงกลม = 3.1415 x รัศมี x รัศมี Area of cycle Read radius Compute Area = 3.1415 * radius * radius Display Area End
5) ทำ การวนรอบเพื่อพิมพ์รายชื่อลูกค้าจำ นวน 5 คนPrint HeadingInitialize Counter to 1RepeatRead CustNamePrint CustNameIncrement Counter by 1Until Counter equals 5End
6) ทำ การวนรอบเพื่อพิมพ์ชื่อและที่อยู่ของลูกค้าจนหมดแฟ้มข้อมูลPrint HeadingRead CustRecordRepeat While not EndOfFilePrint CustName , CustAddressRead CustRecordEndRepeat
1. ในการอธิบายการทำ งานใช้คำ สั่งซึ่งเป็นคำ กริยาในภาษาอังกฤษ เช่น MOVEINITIALIZE READ WRITE SUBTRACT ADD DISPLAY COMPUTEเป็นต้น
2. คำ สั่งหลาย ๆ คำ สั่งรวมเรียกว่า มอดูล หรือ กระบวนการ กำ หนดชื่อให้มอดูลนั้น แล้วใช้ do นำ หน้า
3. การทำ งานใด ๆ จะเขียนคำ สั่งเป็นบรรทัด ๆ ไป เรียงเป็นลำ ดับStatement-1Statement-2....Statement-n
4. การทำ งานตามเงื่อนไข เป็นการทำ งานที่ เมื่อทดสอบเงื่อนไขแล้ว จะเลือกทำ ทางใดทางหนึ่งเท่านั้น เช่นIF Condition THEN Statement-1 ELSE Statement-2 ENDIF
อธิบายคำ สั่งได้ดังนี้คำ สั่ง IF เป็นการตรวจสอบเงื่อนไข หากเงื่อนไขเป็นจริง จะทำ คำ สั่งที่ 1 แต่หากเงื่อนไขเป็นเท็จ จะทำ คำ สั่งที่ 2
5. การวนรอบ เป็นการวนรอบซํ้าตามจำ นวนที่ต้องการ ซึ่งการวนรอบมีหลายลักษณะดังนี้
- REPEAT FOR วนรอบซํ้า เท่าจำ นวนรอบที่ระบุ คือรู้จำ นวนรอบที่แน่นอน REPEAT FOR n TIMES Statement-1 Statement-2 ENDFOR
อธิบายคำ สั่งได้ดังนี้คำ สั่ง FOR เป็นการวนรอบซํ้าเป็นจำ นวน n ครั้ง เพื่อทำ คำ สั่งที่ 1 คำ สั่งที่ 2
- REPEAT UNTIL วนรอบซํ้า จนกระทั่ง เงื่อนไขที่กำ หนดเป็นจริง จึง เสร็จสิ้น REPEAT Statement-1 Statement-2 UNTIL condition
อธิบายคำ สั่งได้ดังนี้คำ สั่ง REPART UNTIL เป็นการวนรอบซํ้าในขณะที่เงื่อนไขเป็นเท็จ เพื่อทำคำ สั่งที่ 1 คำ สั่งที่ 2 แต่หากเงื่อนไขเป็นจริง ก็จบการวนซํ้า
- REPEAT WHILE วนรอบซํ้าในขณะที่เงื่อนเป็นจริง
REPEAT WHILE condition Statement-1 Statement-2 END REPEAT
อธิบายคำ สั่งได้ดังนี้คำ สั่ง REPART WHILE เป็นการวนรอบซํ้าในขณะที่เงื่อนไขเป็นจริงเพื่อทำคำ สั่งที่ 1 คำ สั่งที่ 2 แต่หากเงื่อนไขเป็นเท็จก็จบการวนซํ้าตัวอย่างการเขียน รหัสจำ ลอง1) ให้นับจำ นวนนักศึกษาที่อายุ มากกว่า หรือเท่ากับ 18 ปี และจำ นวนนักศึกษาที่อายุน้อยกว่า 18 ปี
IF student’s age >= 18 THEN AdultCounter = AdultCounter + 1 ELSE JuniorCounter = JuniorCounter + 1ENDIF
2) ให้นับจำ นวนพนักงานหญิง และพนักงานชาย โดยนับจากข้อมูลรหัสเพศ และ ตรวจ
สอบด้วยว่าข้อมูลรหัสเพศที่ไม่ถูกต้องมีกี่คน
IF employee’s sex is female THEN FemaleCounter = FemaleCounter + 1 ELSE IF employee’s sex is male THEN MaleCounter = MaleCounter + 1ELSE ErrorCounter = ErrorCounter + 1ENDIFENDIF
3) ให้นับจำ นวนชั่วโมงการทำ งานที่เกิน 40 ชั่วโมงIF hour worked > 40THEN OverTimeCounter = OverTimeCounter + 1ENDIF4) จงเขียนรหัสจำ ลองหาพื้นที่ของวงกลมกำ หนดให้ สูตรพื้นที่วงกลม = 3.1415 x รัศมี x รัศมี Area of cycle Read radius Compute Area = 3.1415 * radius * radius Display Area End
5) ทำ การวนรอบเพื่อพิมพ์รายชื่อลูกค้าจำ นวน 5 คนPrint HeadingInitialize Counter to 1RepeatRead CustNamePrint CustNameIncrement Counter by 1Until Counter equals 5End
6) ทำ การวนรอบเพื่อพิมพ์ชื่อและที่อยู่ของลูกค้าจนหมดแฟ้มข้อมูลPrint HeadingRead CustRecordRepeat While not EndOfFilePrint CustName , CustAddressRead CustRecordEndRepeat
ผังงานระบบ (System Flowchart)
จะแสดงภาพรวมของระบบ เน้นแสดงเฉพาะสื่อที่ทำหน้าที่นำข้อมูลเข้าและออก โดยจะไม่แสดงถึงรายละเอียดวิธีการประมวลผล ซึ่งจะนำไปแสดงไว้ในส่วนของผังงานโปรแกรมแทน
วิธีการเขียนผังงานที่ดี
• ใช้สัญลักษณ์ตามที่กำหนดไว้
• ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา
• คำอธิบายในภาพควรสั้นกะทัดรัด และเข้าใจง่าย
• ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก
• ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
• ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรม
ไม่มีความคิดเห็น:
แสดงความคิดเห็น