วชิ า หลักการเขียนโปรแกรม
รหัสวชิ า 20204 - 2004
วทิ ยาลยั เทคนิคกาญจนาภเิ ษกเชยี งราย
วชิ า หลกั การเขยี นโปรแกรม รหสั วิชา 20204 – 2004
ระดับประกาศนียบตั รวชิ าชีพ (ปวช.)
หนว่ ยที่ 4 รหัสเทียม (pseudo code)
สาระสาคัญ
การเขียนรหัสเทียม หรือ การเขียนซูโดโค้ด (Pseudo code)
เป็นการกาหนดรายละเอียดปลีกย่อยในการเขียนโปรแกรม อาทิ
การประกาศ และกาหนดชนิดตัวแปรที่ใช้ ซึ่งมีการเขียนหลาย
รูปแบบตามความเหมาะสมตอ่ การใชง้ าน
สาระเรยี นรู้
1. ความหมายของซโู ดโคด้
2. การเขียนซูโดโค้คในการเขยี นโปรแกรมข้นั พ้นื ฐาน
3.การเขยี นซูโดโคด้ ในการเปรยี บเทียบ
4. การเขียนซโู ดโค้ดในการทางานแบบวนซ้า
5. การเขยี นซโู ดโค้ดในการเรียกโพรซีเยอร์ย่อย
วัตถุประสงค์
1. ผู้เรยี นบอกความหมายของซโู ดโค้ดได้
2. ผูเ้ รยี นบอกความหมายการเขียนซโู ดโคด้ ในการเขียนโปรแกรมขั้น
พ้ืนฐานได้
3. ผู้เรยี นบอกความหมายการเขียนซโู ดโค๊ดในการเปรยี บเทยี บได้
4. ผูเ้ รยี นบอกความหมายการเขยี นซูโดโคด๊ ในการทางานแบบวนซา้ ได้
5. ผเู้ รยี นบอกความหมายการเขียนซโู ดโคด้ ในการเรยี กโพรซีเยอรย์ ่อยได้
รหัสเทียม : ชโู ดโคด้ (pseudo code)
เปน็ การเขยี นโปรแกรมในรูปแบบภาษาอังกฤษท่ีมีข้ันตอน
และรูปแบบแน่นอนกะทัดรัด และมองดูคล้ายภาษาระดับสูงท่ี
ใช้กับเครื่องคอมพิวเตอร์ซ่ึงไม่เจาะจงภาษาใดภาษาหนึ่งเป็น
รหัสคาส่ังท่ีไม่ใช่คาสั่งภาษาโปรแกรมคอมพิวเตอร์ แต่เป็น
ชุดคาสง่ั ทีเ่ ขียนเพ่อื เลยี นแบบคาสง่ั โปรแกรม อย่างยอ่ ๆ
รหสั เทยี ม : ชูโดโค้ด (pseudo code)
การเขยี นรหสั เทียมไม่มีกฎท่แี น่นอนตายตัว แตก่ ็มีลักษณะ
คล้ายกับภาษาคอมพิวเตอร์
เกณฑใ์ นการเขยี น รหัสเทียม : ชโู ดโค้ด (pseudo code)
1. ประโยคคาส่งั เขยี นเปน็ ภาษาองั กฤษอย่างง่าย
2. ประโยคคาสงั่ หนึ่ง ๆ จะเขยี นต่อหน่ึงบรรทดั เทา่ นั้น
3. คาหลัก (key word) และการเขียนย่อหน้าใช้เพอ่ื แยกโครงสรา้ ง
ควบคมุ
4. คาสั่งถูกเขยี นจากบนลงลา่ งโดยมีทางเขา้ -ออก เพียงทางเดยี ว
5. กลุม่ ของประโยคคาสั่งอาจถกู จดั อยใู่ นรปู สว่ นจาเพาะ(Module)
และแตล่ ะกลุ่มต้องมชี ื่อเรียก
รหสั เทียมท่ดี ี
ตอ้ งมีความชัดเจน ส้ัน และได้ใจความ ข้อมูลตา่ งๆ ท่ีใช้จะถูก
เขียนอยู่ในรูปของตัวแปร ชูโดโค้ดนี้บางคร้ังจะถูกเรียกว่า
อัลกอริธึมก็ได้ แต่จะให้ความละเอียดมากกว่าอัลกอริธึมทั่วไป
มาก
องค์ประกอบทส่ี าคัญ ของการเรียน รหัสเทียม (Pseudo Code)
กาหนดตวั แปร
รับขอ้ มลู เขา้ (Input) ประมวลผล แสดงผลลพั ธ์
(Process) (Output)
การเขียน รหสั เทยี ม : ชโู ดโคด้ (pseudo code)
แบ่งออกเปน็ 5 แบบ
1. การกาหนดคา่ ให้กบั ตวั เกบ็ ขอ้ มูล
1.1 การกาหนดค่าให้กบั ค่าเร่ิมตน้ คาส่ังทใ่ี ช้ Set
Set Number = 500
Set Sum = 50
Set Sum = Number
การเขียน รหัสเทียม : ชโู ดโคด้ (pseudo code)
1. การกาหนดค่าให้กับตวั เกบ็ ขอ้ มลู
1.1 กาหนดค่าท่ีเกิดจากการประมวลผลไว้ท่ีตัวเก็บ
จะใชเ้ คร่ืองหมาย =
Number = 500 + 1
Sum = 50
Sum = Number
การเขยี น รหสั เทียม : ชูโดโค้ด (pseudo code)
2. การแสดงขอ้ มลู เข้า (INPUT)
คาท่ใี ช้ Read ,Get, Input
เชน่ Read SUM
Get Number
Input aa
การเขยี น รหสั เทียม : ชโู ดโค้ด (pseudo code)
3. การแสดงขอ้ มูลออก (Output)
คาทใี่ ช้ Print ,Write , Put , Display , Output
เช่น Print “Hello Word”
Display Number
Output Sum
การเขยี น รหัสเทียม : ชโู ดโค้ด (pseudo code)
3. การปฏบิ ตั กิ ารทางคณิตศาสตร์
สัญลักษณท์ ี่ใช้ + , - , * , ( ), ^
เช่น C = (F-32) * 5/9
การเขยี น รหัสเทียม : ชูโดโคด้ (pseudo code)
4. การเปรียบเทียบและการเลือก
คาทีใ่ ช้ IF , THEN , ELSE
IF sum = “100” IF sum = “100” THEN
THEN Print “Yes.”
Print “Yes.” ELSE
END IF Print “NO”
การเขยี น รหัสเทยี ม : ชูโดโค้ด (pseudo code)
5. ปฎิบตั ิการซา้ ,วนซ้า
คาทีใ่ ช้ DO…WHILE
DOWHILE sum =< 50 DOWHILE Num <50
Print “input sum:” Print Num
Get sum Num = Num+1
ENDDO
ENDDO
โครงสร้างรูปแบบ การเขยี นซโู ดโค้ด
ซโู ดโค้ดที่ดตี อ้ งมีความชัดเจน ส้ัน และได้ใจความ มรี ปู แบบดงั นี้
Algorithm <name>
1. --------------------------------------
2. --------------------------------------
3. --------------------------------------
.
.
5. --------------------------------------
END
ตวั อยา่ ง การเขียนซูโดโคด้
การหาคา่ ผลบวกของเลข 3 จานวน ที่รับเข้ามาทางแปน้ พิมพ์
Algorithm Summation
1. SUM = 0
2. INPUT value1
3. INPUT value2
4. INPUT value3
5. SUM = value1+value2+value3
6. OUTPUT SUM
END
ตวั อยา่ ง การเขยี น ซูโดโคด้
การคานวณหาพื้นท่ีสามเหลีย่ ม สูตร : พืน้ ทส่ี ามเหล่ยี ม = ฐาน * สงู * 1/2
½ = 0.5 Algorithm Triangle area
1. SET Base , Height , area = 0
Height 2. GET Base , Height
3. Area = 0.5(Base*Height)
4. Print Area
Base END
ตัวอย่าง การเขียน ซโู ดโค้ด
การคานวณหาพื้นทีร่ ูปวงกลม สตู ร : พน้ื ที่รูปวงกลม = ( = (22) หรอื 3.14
7
Algorithm Circle area
แปลงสูตร: 1. SET Circle area = 0
พื้นทร่ี ูปวงกลม = 3.14 (r*r) 2. SET r = 0
3. GET r
4. Circle area = 3.14 (r * r)
radius 5. Print Circle area
END
ตวั อย่าง การเขียน ซูโดโค้ด การคานวณปรมิ าตรทรงกรวย
สตู ร :
ปรมิ าตรทรงกรวย =
ปริมาตรทรงกรวย = แหล่งทมี่ า:http://119.46.166.126/self_all/selfaccess9
0.33 *3.14(r*r)h /m3/691/lesson1/index3.php
ตวั อยา่ ง การเขยี น ซโู ดโค้ด
การคานวณปริมาตรทรงกรวย Algorithm cone area
สตู ร : 1. SET cone area = 0
2. SET r = 0 , SET h = 0
ปริมาตรทรงกรวย = 3. GET r , GET h
4. cone area = 0.33*3.14 (r * r)h
5. Print cone area
ปรมิ าตรทรงกรวย = END
0.33 *3.14(r*r)h
ตัวอยา่ ง การเขยี น ซโู ดโค้ด
การคานวณปรมิ าตรทรงกระบอก
สตู ร :
ปรมิ าตรทรงกระบอก =
ปรมิ าตรทรงกรวย = แหลง่ ทมี่ า:http://sucharat2556.blogspot.com/2013/11/b
3.14(r*r)h log-post_1512.html
ตวั อยา่ ง การเขยี น ซโู ดโค้ด
การคานวณปรมิ าตรทรงกระบอก Algorithm Cylinder area
สตู ร : 1. SET Cylinder = 0
2. SET r = 0 , SET h = 0
ปรมิ าตรทรงกระบอก = 3. GET r , GET h
4. Cylinder = 3.14 (r * r)h
ปรมิ าตรทรงกรวย = 5. Print Cylinder
3.14(r*r)h
END
การเขียนรหัสเทียม
ตัวอยา่ ง จงเขียนรหสั เทยี มของราคาเครื่องคอมพวิ เตอร์ รวม vat
โดยคานวณจากราคาเครอื่ งบวก vat 7%
Algorithm ComputeTotal
1. SET total, price = 0
2. SET vat = 0.07
3. INPUT price
4. total = price + (price x 0.07)
5. print price, total
end
การเขียนรหัสเทียมแบบเปรียบเทียบ 2 เงื่อนไข
เปน็ การเปรียบเทยี บเงือ่ นไขแบบบลู ลีน โดยจะมี 2 เง่อื นไข
คือ เง่ือนไขทีเ่ ป็นจรงิ กบั เงอ่ื นไขทีเ่ ปน็ เท็จ if condition then
sequence 1
ซ่งึ ภาษาท่ใี ช้จะประกอบไปดว้ ย 4 คาดว้ ยกัน
คอื if, then, else และ endif else
sequence 2
endif
การเขียนรหสั เทยี มแบบเปรยี บเทยี บ 2 เง่อื นไข
ตวั อยา่ ง นาตวั เลขในตวั แปร number มาทดสอบถา้ มากกวา่ 0 ใหแ้ สดงว่าเป็น
เลขบวก แต่ถา้ ไมม่ ากกวา่ 0 ใหแ้ สดงว่าเป็นเลขลบ
If number > 0 then
print positive number
Else
print negative number
End if
การเขียนรหัสเทียมแบบเปรยี บเทยี บ เง่อื นไข
ตวั อย่าง จงเขียนรหสั เทยี มเพอ่ื เปรียบเทยี บคา่ ขอ้ มูลทเ่ี กบ็ ในตัวแปร X
โดยมเี งือ่ นไขดังน้ี
ถา้ X > 0 ใหแ้ สดงคาวา่ ”Positive Number”
ถา้ X < 0 ใหแ้ สดงคาว่า ”Negative Number”
ถ้า X = 0 ใหแ้ สดงคาวา่ ”Zero Number”
ตัวอยา่ ง จงเขียนรหัสเทียมเพ่อื เปรยี บเทยี บคา่ ข้อมลู ท่เี กบ็ ในตวั แปร
X โดยมีเงื่อนไขดงั น้ี
• Algorithm if IF X <0 THEN
SET X Print “Negative
GET X
IF X >0 THEN Number”
ELSE
Print “Positive Number”
ELSE Print “Zero Number”
IF X <0 THEN ENDIF
Print “Negative Number” ENDIF
ELSE ENDIF
END
สรุปบทเรียน
รหัสเทียม คือการเขียนอังกอริธึม รูปแบบหนึ่ง ที่ไม่ใช่
ภาษาคอมพิวเตอร์ เปน็ การเขยี นลักษณะภาษาองั กฤษ สน้ั ๆ
เป็นลาดับข้ันตอน เพ่ือแก้ไขโจทย์ปัญหา โครงสร้าง
ประกอบด้วย การกาหนดคา่ ตัวแปร การรบั ขอ้ มูลเข้า
การประมวลผล การแสดงผล
สรุปบทเรยี น
ซ่งึ มีคาส่งั ประกอบด้วย คาสง่ั การกาหนดค่าตัวแปร เชน่ คาส่งั Set
กลมุ่ คาสั่งการรบั ข้อมลู เข้า เชน่ Read , Get ,Input
กลมุ่ คาสัง่ การประมวลผลทางคณติ ศาสตร์ เชน่ + , - , * , / , ^
ชดุ คาส่ังการแสดงผลข้อมลู เชน่ Print Write, Put,Display,
Output
กลมุ่ คาส่ังทางเลือก เช่น IF,THEN,ELSE
กลุ่มคาส่ัง ปฎิบัติซา้ เชน่ Do While , For Loop
นายประพันธ์ มอนแกว้ ติดตอ่ กลบั ครผู สู้ อน
ตาแหนง่ ครู ค.ศ. 1 เบอรโ์ ทร 088 – 289 - 4562
สาขาวิชาคอมพิวเตอร์ธรุ กจิ : Mr.PM007
วิทยาลยั เทคนคิ กาญจนาภิเษกเชยี งราย : prapunmonkaew
: [email protected]
ดาวนโ์ หลดเอกสารไดท้ ี่
http://gg.gg/jslts
หรอื สแกน QR Code
ขอขอบคุณ
นายมนัส ชูเวช
ผ้อู านวยการวิทยาลัยเทคนิคกาญจนาภเิ ษกเชยี งราย
นางยุวดี วงคก์ าปนิ นายณฤพนธ์ นิลแกว้ นางยวุ ดี วงค์กาปิน นายศุภกฤต กนั ตา
รองผ้อู านวยการฝา่ ยวิชาการ รกั ษาการตาแหน่งรองผูอ้ านวยการฝา่ ยแผนงานฯ รองผู้อานวยการฝ่ายบริหารทรพั ยากร รองผ้อู านวยการฝ่ายกจิ การนกั เรยี น