You are on page 1of 45

บทที่ 1

บทนำ ควำมรูเ้ บื้องต้น

การเขียนโปรแกรมคอมพิวเตอร์เพื่อแก้ปัญหาการคานวณเชิงวิศวกรรม อาศัยพื้นฐานทางคณิตศาสตร์เป็น
ความรู้หลัก ที่จะนาไปสู่ความเข้าใจในเนื้อหาอันเกี่ยวเนื่องกับการใช้โปรแกรมคอมพิวเตอร์เข้ามาช่วยเหลือการ
แก้ปัญหาทางวิศวกรรม โดยหลักแล้วเกี่ยวข้องกับการคิดเป็นขั้นตอน การจัดการกับความคิด ในบทนี้รวบรวม
ความรู้พื้นฐานเกี่ยวกับการคานวณเชิงวิศวกรรมที่เกี่ยวข้องกับการเขียนโปรแกรม แบ่งเป็น 4 ส่วนได้แก่
1. หน่วยและการแปลงหน่วย (Unit Analysis)
2. สัญกรณ์วิทยาศาสตร์ (Scientific Notation)
3. การพัฒนาโปรแกรม (Software development)
4. การพัฒนาขั้นตอนวิธี (Algorithm development)
1.1 หน่วยและกำรแปลงหน่วย (Unit Analysis)
ในการคานวณเชิงวิศวกรรมหน่วยของข้อมูลมีผลกับผลลัพธ์ในการคานวณ ทั้งนี้ก่อนทาการคานวณ
จะต้องมีการคานึงถึงหน่วยของผลลัพธ์ที่ต้องการ ตัวอย่างเช่น การหาพื้นที่ของสี่เหลี่ยมผืนผ้าใดๆ มีสมการคือ
𝑎𝑟𝑒𝑎 = 𝑤𝑖𝑑𝑡ℎ×𝑙𝑒𝑛𝑔𝑡ℎ

เมื่อ area คือพื้นที่ซึ่งหาได้จาก ความกว้าง (𝑤𝑖𝑑𝑡ℎ) คูณกับความยาว (𝑙𝑒𝑛𝑔𝑡ℎ) หากหน่วยของความกว้างเป็น


ฟุต และหน่วยของความยาวเป็นนิ้ว จะต้องทาการแปลงหน่วยก่อนหาผลลัพธ์ โดยสามารถเลือกทาอย่างใดอย่าง
หนึ่งระหว่างแปลงหน่วยของความกว้างให้เป็นนิ้ว หรือแปลงหน่วยของความยาวให้เป็นฟุต เช่น ความยาว 2 ฟุต
ความกว้าง 5 นิ้ว
12 นิ้ว
𝑎𝑟𝑒𝑎 = 2 ( ) ×5 นิ้ว
1 ฟุต
2
𝑎𝑟𝑒𝑎 = 120 นิ้ว

หรือ
1 ฟุต
𝑎𝑟𝑒𝑎 = 2×5 ( )
12 นิ้ว
𝑎𝑟𝑒𝑎 = 0.83 ฟุต2

1|Page
จะเห็นได้ว่าค่าตัวเลขของผลลัพธ์ที่ได้มาแตกต่างกันโดยสิ้นเชิง ดังนั้นการคานวณใดๆในการเขียนโปรแกรม
คอมพิวเตอร์ก็จะต้องคานึงถึง หน่วยของผลลัพธ์ที่ต้องการและหน่วยของข้อมูลที่จะนามาใช้ในการคานวณหน่วย
ต่างๆที่ใช้งานบ่อยในการคานวณเชิงวิศวกรรมแสดงในตารางที่ 1.1

2|Page
ตำรำงที่ 1.1 หน่วยที่ใช้บ่อยสาหรับปริมาณเชิงกายภาพ (Bronson, 2010)
Quantity Symbol Units English Engineering Units
International
Time t seconds (s) seconds (sec)
Length l meters (m) feet (ft) 1 m = 3.2808 ft
Area A sq. meters (m2) sq. feet (ft2) 10.76 ft2
Volume V cubic meters (m3) cubic feet (ft3) 1m3 =35.31 ft3
Mass m kilograms (kg) pounds mass (lbm) 1 kg = 2.19 lbm
Force F Newton (1 N =1 kg- pounds-force (lbf 1 lbf = 4.448 N
m/s2) =lbm-ft/sec2)
Weight W Newton (N) pounds force (lbf) 1 lbf = 4.448 N
Density ρ kilograms/cubic pounds-mass/cubic ft 1 lbf/ft3 =16.02 kg/m3
meters (kg/m3) (lbm/ft3)
Velocity v meters/sec (m/s) feet/sec (ft/sec) 1 m/s =3.2808 ft/sec
Acceleration a meters/sec2 (m/s2) feet/sec2 (ft/sec2) 1 m/s2 =3.2808
ft/sec2
Pressure P Pascal (Pa) (1 Pa =1 lbf/ft2 1 lbf/ft2 =47.88 Pa
N/m2)
Heat transfer Q Joules (J) (1 J = 1N.m) British Thermal Unit 1 BTU = 1055 J
(BTU)
Heat flux Q Joules/sec (J/s) (1J/s = BTU/sec 1 BTU/sec =1055 J/s
1 Watt)
Work W Joules (J) ft-lbf 1 ft-lbf =1.356 J
Power W Watts (W) (1 W =1 J/s) ft-lbf/sec 1 ft-lbf/sec =1.356 W
Temperature T degrees Celsius (C) degrees Fahrenheit(F)
and and degrees Rankin (R)
degrees Kelvin (K)

สาหรับอุณหภูมิให้ใช้สูตรต่างๆดังนี้ในการแปลงหน่วย
°F = 1.8°C + 32 = 9/5°C + 32
°C = (°F - 32)/1.8 = 5/9 (°F - 32)
°K = °C + 273.15
°R = °F + 459.67
°R = 1.8°K
3|Page
°C = (°R - 491.67) / 1.8 = 5/9 (°R - 491.67)

4|Page
1.2 สัญกรณ์วิทยำศำสตร์ (Scientific Notation)
การคานวณเชิงวิศวกรรมมีการใช้ค่าที่เป็นปริมาณมหาศาล และค่าที่มีปริมาณน้อยมากๆ เช่น อัตรา
ความเร็วของแสงในสูญญากาศมีค่าถึง 299,792,458 เมตรต่อวินาที (ประมาณ 3 x108 เมตรต่อวินาที) หรือ เส้น
ผ่านศูนย์กลางของเส้นผมที่มีค่าประมาณ 0.000100 เมตร (100 ไมโครเมตร หรือ 100 x 10-6 เมตร) สังเกตว่า
ค่าต่างๆในเชิงวิศวกรรมสามารถเขียนให้อยู่ในรูปเลขทศนิยมและเลขยกกาลัง หรือที่เรียกว่าสัญกรณ์วิทยาศาสตร์
(Scientific notation) นั่นเอง ค่าเหล่านี้สามารถเขียนให้อยู่ในรูปของเลขยกกาลังที่เป็นมาตรฐานสาหรับ
โปรแกรมคอมพิวเตอร์ได้ เช่น อัตราความเร็วแสงสามารถกาหนดได้ในรูปแบบ 3e08 เมตรต่อวินาที และ
เช่นเดียวกันกับสองเท่าของรัศมีหน้าตัดเส้นผม สามารถทดแทนด้วย 100e-6 เมตร การใช้ e ในรูปแบบนี้เรียกว่า
Exponential notation ซึ่งเพิ่มความสะดวกในการเขียนโปรแกรมคอมพิวเตอร์
การเขียนค่าต่างๆในการคานวณเชิงวิศวกรรมในรูปแบบของสัญกรณ์วิทยาศาสตร์ช่วยให้การคานวณง่ายและ
สะดวกยิ่งขึ้น โดยมีหลักการของการนาเลขยกกาลังมาบวกลบกัน ดังแสดงในตัวอย่าง
236,000×0.345×1,345,000
ต้องการคานวณตัวเลขชุดหนึ่ง 65.2×.000003

ข้อมูลชุดดังกล่าวสามารถถูกนามาดัดแปลงให้อยู่ในรูปของสัญกรณ์วิทยาศาสตร์ก่อนทาการคานวณดังนี้
2.36×105 ×3.45×10−1 ×1.345×106 2.36×3.45×1.345×10(5−1+6)
=
6.25×101 ×3.0×10−6 6.25×3.0×101−6

จะได้ผลลัพธ์สุดท้ายคือ
2.36×3.45×1.345×1015
6.25×3.0

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


สัญลักษณ์ทดแทน สัญลักษณ์ของสัญกรณ์วิทยาศาสตร์แสดงในตารางที่ 1.2
ตำรำง 1.2 สัญลักษณ์สัญกรณ์วิทยาศาสตร์
Scientific Notation Symbol Name (อ่ำนว่ำ) Exponential notation
10-12 p pico (พิโค) e-12
10-9 n nano (นาโน) e-9
10-6 µ Micro (ไมโคร) e-6
10-3 m milli (มิลลิ) e-3
103 k kilo (กิโล) e3
106 M mega (เมกะ) e6
109 G giga (กิกะ) e9
1012 T tera (เท-รา) e12

5|Page
6|Page
1.3 กำรพัฒนำโปรแกรม (Software development)
ในการพัฒนาโปรแกรมที่ซับซ้อน จะมีช่วงระยะของการทางานอยู่สามช่วง ได้แก่ การออกแบบและพัฒนา
การจัดเตรียมเอกสาร และ การบารุงรักษา ในส่วนของการเขียนโปรแกรมคอมพิวเตอร์เพื่องานวิศวกรรมนี้ จะลง
รายละเอียดแค่ในส่วนของการออกแบบและพัฒนาโปรแกรม เนื่องจากรายวิชาการเขียนโปรแกรมคอมพิวเตอร์
เป็นรายวิชาพื้นฐาน โปรแกรมที่เขียนไม่มีความยุ่งยากซับซ้อนมากไปกว่าเจตนาที่ต้องการปลูกฝังแนวคิดในการ
แก้ปัญหาเชิงวิศวกรรมให้กับผู้เรียน
โดยปกติแล้วทุกๆโปรแกรมถูกสร้างขึ้นมาเพื่อให้สามารถทางานดังรูป 1.1 คือมีอินพุท (input) เข้าไปใน
กระบวนการ (process) และได้เอาท์พุท (output) ออกมาเป็นผลที่ต้องการ

รูปที่ 1.1 แสดงการทางานของโปรแกรม


การออกแบบพัฒนาโปรแกรมเพื่อแก้ปัญหาเชิงวิศวกรรมแบ่งได้เป็น 5 ขั้นตอนหลักดังนี้
1. วิเครำะห์โจทย์ปัญหำ (Analyse the problem) เมื่อต้องการแก้ปัญหา จะต้องทาความเข้าใจกับ
ปัญหาเสียก่อนว่าปัญหานั้นคืออะไร ต้องการอะไรเป็นคาตอบ หากเป็นการคานวณที่ซับซ้อน
ผู้พัฒนาโปรแกรมจะต้องเข้าใจที่มาที่ไปของแต่ละส่วนที่ใช้ในการคานวณอย่างลึกซึ้ง ไม่เช่นนั้นแล้วการ
พัฒนาโปรแกรมเพื่อแก้ปัญหาก็จะเป็นไปไม่ได้
2. กำหนด input/output เมื่อ input คือข้อมูลที่ต้องรับเข้ามาและส่งเข้าไปในกล่องของกระบวนการ และ
output คือสิ่งที่ต้องการ เรียกได้ว่าเป็นผลลัพธ์ของกระบวนการ, ผลของการคานวณ หรือสิ่งที่ต้องการ
แสดงให้แก่ผู้ใช้โปรแกรมผ่านหน้าจอ หรือผ่านไฟล์
3. พัฒนำขั้นตอนวิธี (Algorithm Development) คือขั้นตอนของการคิด และเขียน หรือวาดแผนผัง
ของกระบวนการในการแก้ปัญหาดังกล่าว ขั้นตอนวิธีที่จะจัดการกับ input และ output ซึ่งหมายถึง
ข้อมูล (data) นั่นเอง ขั้นตอนวิธีนี้คือวิธีการแก้ปัญหาที่เป็นขั้นเป็นตอน (steps) ต่อเนื่องกันไป เปรียบได้
กับวิธีทาอาหาร หรือวิธีติดตั้งเครื่องมือหรืออุปกรณ์ ที่มีขั้นตอนบอกอย่างชัดเจนว่าต้องทาอะไรเป็นสิ่ง
แรกและทาอะไรเป็นสิ่งถัดไป การพัฒนาขั้นตอนวิธีนี้เป็นหัวใจของการเขียนโปรแกรม หาก
ผู้พัฒนาโปรแกรมไม่สามารถคิดเป็นขั้นตอนได้ การเขียนโปรแกรมสั่งงานให้เครื่องคอมพิวเตอร์ทาในสิ่งที่
ต้องการก็จะเป็นเรื่องที่แทบจะเป็นไปไม่ได้เลย เพราะคอมพิวเตอร์มีหลักการทางานที่เป็นขั้นตอน
โดยทั่วไปผู้พัฒนาโปรแกรมสามารถใช้เครื่องมือช่วยในการพัฒนาขั้นตอนวิธี ได้แก่ผังงาน (flowchart)
และ ภาษาเทียม (pseudo code) ซึ่งจะกล่าวถึงรายละเอียดในลาดับถัดไป
7|Page
4. กำรคำนวณด้วยมือ (Hand example) คือการทดลองคานวณด้วยมือ หรือเครื่องคิดเลขหรือสเปรดชีท
โดยใช้ชุดข้อมูลตัวอย่างที่กาหนดขึ้นมา ซึ่งชุดข้อมูลตัวอย่างที่ดี ควรจะสามารถครอบคลุมเงื่อนไขต่างๆ
ของปัญหาได้เป็นอย่างดี เช่น ให้ผลลัพธ์ที่เป็นค่าลบ ให้ผลลัพธ์ที่เป็นค่าบวก และให้ผลลัพธ์ที่มีค่าเป็น
ศูนย์ เป็นต้น ทั้งนี้เงื่อนไขก็จะขึ้นอยู่กับปัญหานั่นเอง การทดลองคานวณด้วยตนเองโดยการเขียนลง
กระดาษ หรือการทา hand example นี้ จะช่วยให้ผู้พัฒนาโปรแกรมสามารถเข้าใจการแก้ปัญหาได้ดี
ยิ่งขึ้น
5. กำรเขียนโปรแกรมและกำรทดสอบ (Coding and Testing) เป็นขั้นตอนในการนาขั้นตอนวิธีจากข้อ
3 มาปรับปรุงให้เป็นโปรแกรม โดยเลือกใช้ภาษาการเขียนโปรแกรมที่เหมาะสมหรือที่ถูกกาหนดไว้ แล้ว
ทาการทดสอบโปรแกรมที่เขียนขึ้นด้วยชุดข้อมูลทดสอบที่กาหนดไว้ในข้อ 4 ที่ถูกใช้ในการคานวณด้วยมือ
ซึ่งการใช้ชุดข้อมูลทดสอบเดียวกันนี้ จะทาให้ทราบว่าโปรแกรมที่เขียนขึ้นมีข้อผิดพลาดหรือไม่ประการใด
โดยการเปรียบเทียบผลตอบสนองของโปรแกรมกับผลที่ได้จากการคานวณด้วยมือที่ได้เตรียมไว้ในข้อ 4
ขั้นตอนนี้อาจมีการทาซ้าซ้อนและกลับไปทาการแก้ไข เนื่องจากข้อผิดพลาดในการเขียนโปรแกรมมีหลาย
ชนิด (จะกล่าวถึงในลาดับต่อไป) ระยะเวลาในการปรับปรุงโปรแกรมจนได้ผลตอบสนองที่ถูกต้องก็ขึ้นอยู่
กับปริมาณและชนิดของข้อผิดพลาดในการเขียนโปรแกรม ในขั้นตอนนี้ การสารองข้อมูล (Backup) เป็น
สิ่งที่จาเป็น ยิ่งความสาคัญของงานมากเท่าใดก็ต้องให้ความสาคัญของการสารองข้อมูลมากเท่านั้น
สามารถทาได้ตั้งแต่การบันทึกไปที่ Cloud Services, Flash drive หรือ External Hard drives

จะเห็นได้ว่าทุกกระบวนการต่างมีความสาคัญที่จะทาให้สามารถเขียนเป็นโปรแกรมได้ แต่ขั้นตอนที่สาคัญ
ที่สุดคือขั้นตอนที่ 3 หากมีการพัฒนาขั้นตอนวิธีที่ถูกต้องและเหมาะสม โดยเฉพาะการใช้ภาษาเทียมในการพัฒนา
ขั้นตอนวิธีแล้ว การดัดแปลงให้มาเป็นภาษาโปรแกรมคอมพิวเตอร์ภาษาใดๆก็จะสามารถทาได้อย่างง่ายดาย
โดยเฉพาะมีการใช้เครื่องมือช่วยในการพัฒนาโปรแกรมภาษาคอมพิวเตอร์ที่เป็นลักษณะที่เรียกว่า Integrated
Development Environment (IDE) รายละเอียดเกี่ยวกับ IDE จะกล่าวถึงในลาดับถัดไป
1.4 กำรพัฒนำขั้นตอนวิธี (Algorithm development)
เครื่องมือพื้นฐานสาหรับการพัฒนาขั้นตอนวิธีได้แก่ ผังงาน (Flowchart) และภาษาเทียม (pseudo code)

ผังงำน (Flowchart)
เป็นเครื่องมือสาหรับการพัฒนาขั้นตอนวิธีที่เป็นมาตรฐานสากล ผังงานใช้สัญลักษณ์ที่มีความหมายใน
ตัวเองประกอบกับคาอธิบายเล็กน้อย เพื่อสื่อสารระหว่างผู้พัฒนาโปรแกรม หรือเพื่อใช้ในการอธิบายขั้นตอนการ
ทางานของกระบวนการที่ซับซ้อนอย่างใดอย่างหนึ่ง สัญลักษณ์และความหมายแสดงในตารางที่ 1.3
ผังงานที่ดีควรมีลักษณะดังนี้
1. มีจุดเริ่มต้นเพียงจุดเดียวและจุดสิ้นสุดเพียงจุดเดียว
8|Page
2. สัญลักษณ์มีลูกศรหรือ flow line เข้าหนึ่งออกหนึ่งเท่านั้น ยกเว้น สัญลักษณ์ diamond (decision) มี
เข้าหนึ่งออกสอง และ terminator ที่มีเข้าหรือออกเพียงหนึ่งอัน
3. ใช้ตัวเชื่อมต่อ (connector) เพื่อเชื่อมต่อ flow lines
ภำษำเทียม (Pseudo code)
ภาษาเทียมคือภาษาอังกฤษพื้นฐานที่ใช้อธิบายขั้นตอนวิธีหรือกระบวนการ ภาษาเทียมจะมีลักษณะ
ใกล้เคียงกับภาษาโปรแกรมคอมพิวเตอร์ แต่ไม่ใช่ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ภาษาเทียมจะถูกนามา
แปลงเป็นโปรแกรมคอมพิวเตอร์ภาษาใดภาษาหนึ่งได้อย่างง่ายดายโดยผู้ที่มีความเข้าใจในหลักการของการทางาน
เป็นขั้นตอน ภาษาเทียมสามารถใช้อธิบายขั้นตอนวิธีการทางานของโปรแกรมแทนผังงาน เป็นที่นิยมใช้ในการ
อธิบายขั้นตอนวิธีของผู้พัฒนาโปรแกรมทั่วโลก หรือแม้แต่ใช้ในการอธิบายขั้นตอนวิธีการทางานของระบบใด
ระบบหนึ่งที่ไม่ใช่โปรแกรมคอมพิวเตอร์ก็สามารถทาได้
ภาษาเทียมบางครั้งถูกเขียนโดยใช้ไวยากรณ์ของภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งเป็นหลัก ทาให้การ
นาไปแปลงเป็นภาษานั้นๆสะดวกยิ่งขึ้น คาหลักๆ ที่ใช้ในภาษาเทียม ส่วนมากจะเป็นคาสงวน (Reserve words)
หรือคาหลัก (Keywords) ในภาษาคอมพิวเตอร์ ได้แก่ input, output, read, print, for, while, end เป็นต้น

9|Page
ตำรำงที่ 1.3 สัญลักษณ์สามัญที่ใช้ในการเขียนผังงาน

สัญลักษณ์ ชื่อ ความหมาย ตัวอย่างการใช้งาน


Start/Stop เริ่มต้น/
Terminator
สิ้นสุด

รับข้อมูลเข้ามา หรือส่ง
Input, Output ข้อมูลออกไป หรือแสดงผล
ข้อมูล

การประมวลผล, การ
Process
คานวณ, การกาหนดค่า

การตัดสินใจที่มีคาตอบ ใช่
Decision
หรือไม่ใช่

ทิศทางการไหลของข้อมูล
ใช้เชื่อมต่อสัญลักษณ์อื่นใน
Flow line
ผังงาน และ/หรือ กาหนด
ตรรกะของเส้นทางข้อมูล

ใช้สาหรับเชื่อมต่อ flow
Connector
lines

Page connector ใช้เชื่อมต่อหน้า

10 | P a g e
ตัวอย่ำงกำรแก้ปัญหำทำงวิศวกรรม
โจทย์ตัวอย่ำงที่ 1 จงหาพื้นที่ของสี่เหลี่ยมใดๆ
1. วิเครำะห์โจทย์ สี่เหลี่ยมมีด้านกว้างและด้านยาว ความกว้างและความยาวของสี่เหลี่ยมสามารถเป็นเลข
ทศนิยมได้
2. กำหนด input/output ความกว้างและความยาวของสี่เหลี่ยมคือ input ที่ต้องรับเข้ามา ส่วนพื้นที่คือ
สิ่งที่ต้องทาการคานวณหาและแสดงผลออกมา ดังนั้นพื้นที่เป็น output
3. ผังงำน สามารถเขียนผังงานได้ดังนี้

11 | P a g e
รูปที่ 1.2 แสดงผังงานของการคานวณหาพื้นที่สี่เหลี่ยมใดๆ

ภำษำเทียม (Pseudo code) สามารถเขียนภาษาเทียมได้ดังนี้


START
GET width, length
IF width and length greater than zero THEN
area=width X length
PRINT area
END
4. Hand Example ให้ความกว้างเป็น 2.50 ม. ความยาวเป็น 4.50 ม. จะได้พื้นที่ 11.25 ตร.ม.
12 | P a g e
5. Coding and Testing

Listing 1.1 ComputeArea\main.py


if __name__ == '__main__':
pass
print("Welcome to my program\n")
width=0
height=0
area=0
while ((width==0)or(height==0)):
width=input("Enter the width of your rectangle: ")
height=input("Enter the height of your rectangle: ")

area=float(width)*float(height)
print("The area is "+ str(area))

รูปที่ 1.3 ผลตอบสนองของโปรแกรม (Run Result)

13 | P a g e
โจทย์ตัวอย่ำงที่ 2 จงหา 𝑦(𝑡) เมื่อ
𝑡 2 − 2, 𝑡 ≤ 0
𝑦(𝑡) = { 2
𝑡 + 2, 𝑡 > 0

1. วิเครำะห์โจทย์ ผลของฟังก์ชั่นเมื่อ 𝑡 มีค่าน้อยกว่าหรือเท่ากับ 0 และเมื่อ 𝑡 มีค่ามากกว่า 0


2. กำหนด input/output จะได้ input คือ 𝑡 ส่วน output คือ 𝑦(𝑡)
3. ผังงำน สามารถเขียนผังงานได้ดังนี้

รูปที่ 1.4 ผังงานแสดงกระบวนการหาค่า 𝑦(𝑡)

4. Hand Example ทาการทดลองคานวณหาผลลัพธ์ด้วยค่าต่างๆ ได้ผลลัพธ์ดังนี้


𝑡 𝑦(𝑡)
-1 -1
0 -2
1 3

14 | P a g e
5. Coding and Testing
Listing 1.2 Example2\main.py
if __name__ == '__main__':
pass
print("Welcome to my program\nInput q to exit")
t=0
while (t!='q'):
t=input("Enter t: ")
if t=='q':
break
if int(t) <=0 :
yt=int(t)*int(t)-2
else:
yt=int(t)*int(t)+2
print("y(t) is "+ str(yt))

print("Exiting the program")

รูปที่ 1.5 ผลตอบสนอง (Run Result) ของโปรแกรม Listing 1.2

15 | P a g e
1.5 แบบฝึกหัดท้ำยบท
1. จงเขียนแสดงขั้นตอนวิธีเป็นขั้นๆ (step-by-step) ของกระบวนการต่อไปนี้
1.1 ต้มมาม่า
1.2 เปลี่ยนยางรถจักรยาน
1.3 ลงทะเบียนใน reg.ubu.ac.th
1.4 ยืมหนังสือห้องสมุด
2. จงเขียนแสดงขั้นตอนวิธีเป็นขั้นๆ (step-by-step) ของกระบวนการในการนับสระ ‘e’ ในประโยค
ภาษาอังกฤษใดๆ
3. จงเขียนขั้นตอนวิธี (Algorithm) โดยใช้ pseudo code หรือ flowchart ของกระบวนการในข้อ 2
4. จงเขียนขั้นตอนวิธี (Algorithm) โดยใช้ pseudo code หรือ flowchart ในการค้นหาค่าที่น้อยที่สุดใน
กลุ่มข้อมูลใดๆ
5. จงเขียนขั้นตอนวิธี (Algorithm) โดยใช้ pseudo code หรือ flowchart ในการเรียงข้อมูล 4 ตัวใดๆจาก
น้อยไปหามาก และจากมากไปหาน้อย

16 | P a g e
1309 200 Computer Programming Laboratory
ปฏิบัติกำรที่ 1.1: แนะนำเทคโนโลยีที่เกี่ยวข้องและกำรวำดผังงำนเบื้องต้น

เนื้อหาในปฏิบัติการนี้จะกล่าวถึงการนาเทคโนโลยีสารสนเทศในปัจจุบันมาใช้งานในรายวิชานี้ อันได้แก่
การส่งอีเมล์ การใช้งาน Social Network ในการติดต่อสื่อสาร การใช้งาน Google Chrome Applications เพื่อ
ส่งเสริมการเรียนรู้ด้วยตนเองของนักศึกษา
วัตถุประสงค์
1. เพื่อให้นักศึกษาสามารถสื่อสารด้วยอีเมล์อย่างมีประสิทธิภาพ
2. เพื่อให้นักศึกษาทราบถึงช่องทางการสื่อสารผ่าน Social Network
3. เพื่อให้นักศึกษาตระหนักถึงแอพพลิเคชั่นต่างๆที่ใช้ในรายวิชานี้
4. เพื่อให้นักศึกษาเข้าใจความหมายและการสร้างขั้นตอนวิธี (Algorithm)
5. เพื่อให้นักศึกษาสามารถวาดผังงานอย่างง่ายจากปัญหาที่กาหนดได้
ทฤษฏีที่เกี่ยวข้อง
ปัจจุบันมีการนาเทคโนโลยีสารสนเทศเข้ามาใช้ในวงการศึกษาเป็นอย่างแพร่หลาย ผู้เรียนส่วนมากใช้งาน
Social Network อย่างต่อเนื่องและเป็นประจา Social Network เช่น Google Plus จึงเป็นสื่อที่เหมาะสม
สาหรับใช้งานในการติดต่อสื่อสารระหว่างผู้เรียนกับผู้สอน ทั้งนี้การใช้งานอีเมล์ก็เข้ามาแทนการเขียนจดหมายหรือ
เอกสารที่เป็นทางการ การเรียนรู้เกี่ยวกับช่องทางในการสื่อสารทั้ง Social Network และอีเมล์จึงเป็นพื้นฐานที่
จาเป็นต่อการศึกษาของผู้เรียนที่สามารถนาไปต่อยอดในการค้นหาข้อมูลออนไลน์ส่วนอื่นได้ต่อไป
การเรียนรู้ของผู้เรียนในปัจจุบันได้เปลี่ยนแปลงตามเทคโนโลยีสารสนเทศที่พัฒนาไปอย่างรวดเร็ว เพื่อให้
ผู้เรียนทันต่อสถานการณ์ปัจจุบันและเรียนรู้เทคโนโลยีที่ทันสมัย รายวิชานี้จึงต้องปูพื้นฐานแอพพลิเคชั่นที่
เกี่ยวข้องกับการศึกษาให้กับผู้เรียนที่มีให้โดย Google ที่เรียกสั้นๆว่า Google Chrome Apps ซึ่งเนื้อหาใน
ปฏิบัติการนี้ผู้เรียนจะได้ฝึกฝนและลองใช้งาน Google Chrome Applications ต่างๆที่เกี่ยวข้องกับการศึกษา
และรายวิชานี้ อันได้แก่ Gliffy Diagrams, Google Drive และ SourceLair ทั้งนี้ ผู้เรียนจะได้ตระหนักถึง
Applications อื่นๆที่เกี่ยวข้องหรือเป็นทางเลือก อันได้แก่ Lucidchart Diagrams, Cacoo-Diagram,
Powerpoint, Daum Equation และอื่นๆ ที่น่าสนใจใน Chrome Web Store

17 | P a g e
สิ่งที่ต้องมีเพื่อใช้ในปฏิบัติกำรนี้
1. Google Chrome Browser และ Google Account ของนักศึกษาเอง
2. Email Account ของนักศึกษาเองที่เป็น @ubu.ac.th
ปฏิบัติกำรส่วนที่ 1 ช่องทางการสื่อสารด้วยเทคโนโลยีสารสนเทศ
Email (อีเมล์)
อีเมล์เป็นช่องทางการสื่อสารที่เป็นมาตรฐานทั่วโลกในการติดต่อ เปรียบได้กับการเขียนจดหมาย ส่วนประกอบที่
สาคัญของการใช้งานอีเมล์ได้แก่ Subject, CC/BCC, Body และภาษาที่ใช้ในการเขียนอีเมล์ ข้อควรระวังสาหรับ
การใช้งานอีเมล์ได้แก่

• ตั้งชื่อหัวข้ออีเมล์ให้สั้นกระชับได้ใจความ
• CC/Bcc สามารถใช้เพื่อส่งเมล์ฉบับเดียวกันไปที่อื่นได้ในการส่งครั้งเดียว
• ทุกอีเมล์ต้องมีส่วนของข้อความในอีเมล์ (Body)
• ลงชื่อทุกครั้งที่ใช้งานอีเมล์ในการติดต่อ
• อ่านทบทวนอย่างน้อยหนึ่งครั้งก่อนกดส่ง
• หากมีการแนบไฟล์ ตรวจสอบทุกครั้งว่าเป็นไฟล์ที่ต้องการส่ง
ตัวอย่างอีเมล์เพื่อการทดสอบส่งไฟล์ไปที่ comprosec3@gmail.com แสดงในรูปที่ 1.6

รูปที่ 1.6 แสดงส่วนประกอบต่างๆของอีเมล์ (แตกต่างกันไปสาหรับแต่ละผู้ให้บริการ)

18 | P a g e
ปัญหำต่ำงๆเกี่ยวกับอีเมล์ที่อำจจะเกิดขึ้น
• ทราบได้อย่างไรว่าเมล์นั้นจะถึงหรือไม่ โดยทั่วไปหากใส่อีเมล์ของผู้รับผิดพลาด จะมี dead mail
กลับมาแจ้งว่าส่งไม่ถึง แต่ในบางกรณีที่อีเมล์ของผู้รับถูกต้องแต่ก็อาจจะเกิดความผิดพลาดขึ้นได้ที่
อีเมล์ที่ส่งไปไม่แสดงใน inbox ของผู้รับ ทั้งนี้ผู้ส่งสามารถดึงอีเมล์ที่ได้ส่งออกไปแล้วมาจาก Sent
Box เพื่อยืนยันการส่งได้หากเกิดปัญหาขึ้น
• ไม่ได้รับเมล์ตอบกลับจากอาจารย์เจ้าของอีเมล์ ในช่วงเวลาของการส่งงาน จะมีการตั้งตอบกลับ
อัตโนมัติเพื่อให้นักศึกษาสบายใจว่างานนั้นถึงแล้ว หากไม่ได้รับเมล์ตอบกลับดังกล่าว ก็มีความ
เป็นไปได้สูงว่านักศึกษาอาจจะพิมพ์อีเมล์ผู้รับผิด หากตรวจสอบแล้วและแก้ไขแต่ยังไม่ได้รับการ
ตอบกลับ นักศึกษาก็อาจจะต้องหาทางติดต่อผ่านช่องทางอื่น แต่ทั้งนี้อีเมล์ที่ถูกส่งออกไปสามารถ
ทาการค้นได้ใน Sent Box ของนักศึกษาเองเสมอ
คำสั่ง จงส่งอีเมล์ถึงนักศึกษาที่นั่งอยู่ข้างๆตนเอง แล้วทาการตอบกลับ หากนักศึกษาได้อีเมล์ตอบจากเพื่อน
แสดงว่านักศึกษาสามารถใช้งานอีเมล์ในการสื่อสารเบื้องต้นได้อย่างถูกต้อง
Google Plus Community
ในรายวิชานี้ ทีมงานผู้สอนได้มีการสร้างช่องทำงกำรสื่อสำรสาหรับผู้เรียนไว้ในสังคมออนไลน์ (Social
Network) ได้แก่ Community ใน Google Plus ผู้เรียนควรเข้าร่วมเพื่อรับข่าวสารเกี่ยวกับรายวิชานี้เนื่องจากจะ
ไม่มีการติดประกาศที่เป็นกระดาษภายในคณะ เพื่อลดภาวะการใช้งานกระดาษ อีกทั้งผู้เรียนยังสามารถตั้งคาถาม
หรือปรึกษาหารือกันในกลุ่มเพื่อแบ่งปันความเข้าใจและปัญหาเกี่ยวกับรายวิชาได้อย่างสร้างสรรได้ตลอดเวลา
ส่วนประกอบต่างๆในหน้า Community บน Google Plus แสดงในรูปที่ 1.7
สิ่งที่ควรตระหนักในการใช้งานสังคมออนไลน์

• กลุ่มที่สร้างขึ้นไม่ใช่พื้นที่ส่วนบุคคล เป็นพื้นที่สาธารณะ
• ก่อนตั้งคาถาม ควรอ่านให้ครบถ้วนก่อนว่ามีคาถามแบบเดียวกันหรือไม่
• ใช้ภาษาที่สุภาพและถูกต้องตามหลักภาษาไทย งดการใช้ภาษาสก๊อย-แว๊นซ์
• อย่าโพส รหัสนักศึกษา หรือ ชื่อของตนเอง ยกเว้นแต่เป็นคาสั่ง
• ส่งข้อความส่วนตัว หากเป็นการติดต่อระหว่างบุคคล การตอบโพสไม่ใช่การส่งข้อความ
Links สาหรับ Community คือ

• https://plus.google.com/u/0/communities/107685445050170740529
QR Code คือ

19 | P a g e
20 | P a g e
รูปที่ 1.7 แสดงองค์ประกอบต่างๆใน Google Plus Community

Chrome Web Store


หน้าเวปของ Chrome Web Store คือจุดสาหรับดาวน์โหลดแอพพลิเคชั่นต่างๆสาหรับ Google
Chrome Browser และ Google Chrome Desktop ในปฏิบัติการส่วนนี้เครื่องที่ใช้งานต้องมี Chrome
Browser ติดตั้งอยู่ และผู้เรียนต้องทาการ Sign-in Chrome Browser ด้วย Google Account ของตนเอง
ข้อดีของ Chrome Browser คือ เมื่อผู้ใช้ Sign-in ด้วย Google Account ใดๆแล้ว เมื่อไปใช้งาน
Chrome ที่เครื่องอื่นแล้ว Sign-in ด้วย Google Account ของตนเองก็จะได้แอพพลิเคชั่น ที่ลงไว้เชื่อมต่อกับ
Google Account นั้นๆอยู่ซึ่งคุณสมบัติส่วนนี้ของ Chrome ช่วยสนับสนุนการเรียนการสอนได้เป็นอย่างดี

21 | P a g e
เพื่อให้สะดวกต่อการเรียกใช้งานแอพพลิเคชั่นต่างๆบน Chrome Browser นักศึกษาควรติดตั้ง Chrome
App Launcher สามารถดาวน์โหลดและติดตั้งได้จาก https://chrome.google.com/webstore/launcher
หน้าตาของ Launcher เป็นดังแสดงในรูปที่ 1.8

รูปที่ 1.8 แสดงการใช้งาน Chrome App Launcher


เมื่อมี Launcher ติดตั้งอยู่ จากนี้ไป Chrome Apps ที่ติดตั้งต่อไปจะปรากฏ Shortcut ใน Launcher
ให้กับผู้ใช้งาน การติดตั้งแอพพลิเคชั่นต่างๆให้ไปที่หน้า
https://chrome.google.com/webstore/category/collections หน้าตาของเวปดังกล่าวมีลักษณะดังแสดง
ในรูปที่ 1.9 ด้านซ้ายมือคือเมนูที่ต้องให้ความสนใจในปฏิบัติการนี้

22 | P a g e
รูปที่ 1.9 แสดงคอลเล็กชั่นของแอพพลิเคชั่นที่เลือกติดตั้งได้บน Chrome Browser
คำสั่ง ให้นักศึกษาทาการตรวจสอบเครื่องที่ใช้งานอยู่ว่ามี Chrome Browser หรือไม่ หากไม่มีให้ทาการติดตั้ง
เมื่อมี Chrome Browser พร้อมใช้งานแล้วให้นักศึกษา Sign-in ด้วย account ของตนเองแล้วทาการค้นใน
Store แล้วทาการติดตั้งแอพพลิเคชั่นต่างๆดังนี้

• Gliffy Diagrams
• SourceLair
• Cacoo-Diagram
• Google Drawings
• Daum Equation Editor
• Lucidchart Diagrams
Gliffy Diagrams
แอพพลิเคชั่นนี้มีไว้ใช้ในการเขียนผังภาพ เมื่อ Integrate กับ Google Drive แล้วจะสามารถสร้างผังภาพ
ได้จาก Google Drive ได้อย่างสะดวกสบาย แอพพลิเคชั่นที่เทียบเท่ากับตัวนี้ได้แก่ Google Drawings,
Lucidchart Diagrams, Cacoo-Diagram, MS-Office PowerPoint, MS-Visio, Dia และอื่นๆอีกหลายตัว
Gliffy Diagrams มีผังภาพหลายชนิดให้เลือกสร้างได้ นักศึกษาควรสารวจแต่ละ option ของแอพพลิเคชั่นด้วย
ตนเอง ซึ่งผังภาพแบบอื่นๆอาจมีความสาคัญกับรายวิชาอื่นๆที่นักศึกษาต้องเรียนในลาดับต่อไป รูปที่ 1.10 แสดง
ส่วนประกอบต่างๆใน Gliffy Diagrams

23 | P a g e
รูปที่ 1.10 แสดงองค์ประกอบแต่ละส่วนของ Gliffy Diagrams
คำสั่ง จงทาการสร้างผังงานดังแสดงในรูป 1.11 นี้ด้วย Gliffy Diagrams กาหนดให้ save เป็น .png แล้วส่ง
อีเมล์ไปทีเ่ พื่อนที่นั่งอยู่ข้างๆ

รูป 1.11 ผังงานแสดงการคานวณหาค่าพื้นที่สี่เหลี่ยมผืนผ้าใดๆ

24 | P a g e
Google Drive
เป็นบริการ Cloud Storage ของ Google ที่ถูกพัฒนาเพิ่มเติมมาจาก Google Docs แอพพลิเคชั่นนี้อนุญาตให้
ผู้ใช้สามารถเก็บข้อมูลไว้ใน Cloud Storage Service และแบ่งปันกับผู้ใช้อื่นแบบ Real-time เช่นสามารถมีผู้ใช้
สองคนแก้ไขไฟล์เดียวกันได้ในขณะเดียวกัน ตัวอย่างการแชร์ไฟล์จาก Google Drive แสดงในรูปที่ 1.12

รูปที่ 1.12 แสดงการแชร์เอกสารบน Google Drive


หากทาการติดตั้ง Gliffy integration ได้ถูกต้อง นักศึกษาจะต้องสามารถสร้าง Gliffy diagrams ได้จาก
หน้าของ Google Drive หาก Google Drive ถูกติดตั้งไว้แล้วนักศึกษาสามารถเรียกใช้งานจาก Shortcut ใน
Launcher ได้เลย หรือสามารถไปที่ https://drive.google.com/ ซึ่งจะถูกพาไปที่ Drive ของ Google
Account ที่กาลังใช้งานอยู่ทันที

รูปที่ 1.13 แสดงหน้า Google Drive ที่มี Gliffy Diagrams เชื่อมต่ออยู่

25 | P a g e
คำสั่ง จงสร้างผังงานดังแสดงในรูปที่ 1.13 แต่ปรับเปลี่ยนให้เป็นการคานวณหาพื้นที่ของวงกลม หลังจากนั้น
ให้ทาการ share diagram ดังกล่าวไปที่เพื่อนที่นั่งอยู่ข้างๆในแบบอ่ำนอย่ำงเดียว
SourceLair
แอพพลิเคชั่นนี้อนุญาตให้ผู้ใช้เขียนโปรแกรม CPP, C, Python, Fortran และอื่นๆอีกหลายภาษา ที่ใดก็ได้ที่มี
Internet โดยผู้ใช้ไม่จาเป็นต้องลงตัวแปลภาษาแต่อย่างใด สามารถใช้งานได้ทั้งบนอุปกรณ์พกพา และ
คอมพิวเตอร์ผ่านทาง Browser ที่สามารถเชื่อมต่ออินเตอร์เน็ตได้ โดย Source code จะถูกส่งไปแปล
(Compile) และทาการลิงค์ (Link) แล้ว รัน (Run) แสดงผลบน Browser ของผู้ใช้ รูปที่ 1.14 แสดงหน้าของ
SourceLair และองค์ประกอบต่างๆ

รูปที่ 1.14 แสดงหน้าของ SourceLair และองค์ประกอบต่างๆ รวมถึงการสร้างโปรแกรมอย่างง่าย

26 | P a g e
เมื่อทาการรันโปรแกรมที่ SourceLair เขียนขึ้นให้จากการกดที่ลิงค์ดังแสดงในรูป 1.14 แล้วจะปรากฏผล
รันของโปรแกรมในส่วนของ Output ของหน้าต่าง ดังแสดงในรูปที่ 1.15

รูปที่ 1.15 แสดงส่วนของการแสดงผลรันของโปรแกรมที่รันบน SourceLair


คาสั่ง จงทาการแก้ไขโปรแกรมที่ SourceLair สร้างขึ้นให้แสดงผลรันเป็นชื่อและรหัสของนักศึกษา ทาการ
Capture หน้าจอ และส่งเมล์ไปที่เพื่อนที่นั่งข้างๆ

27 | P a g e
ปฏิบัติกำรส่วนที่ 2 การสร้างกระบวนการแก้ปัญหา (Algorithm) ด้วยผังงานและภาษาเทียม
คำสั่ง อ้างถึงแบบฝึกหัดท้ายบทนา ให้นักศึกษาเขียนภาษาเทียมและวาดผังงานของ
1. การแปลงค่าอุณหภูมิที่เป็นองศาเซลเซียสให้เป็นองศาฟาเรนไฮท์
2. การค้นหาค่าที่น้อยที่สุดในกลุ่มข้อมูลใดๆ
3. การเรียงข้อมูล 4 ตัวใดๆจากน้อยไปหามาก และจากมากไปหาน้อย

28 | P a g e
1309 200 Computer Programming Laboratory
ปฏิบัติกำรที่ 1.2: Using Spyder

วัตถุประสงค์
1. สามารถใช้โปรแกรม Spyder ได้
2. สามารถพัฒนาหรือเขียนโปรแกรมด้วยภาษา python อย่างง่ายโดยใช้ Spyder ได้
3. สามารถ Run โปรแกรมภาษา python บน Spyder ได้
4. สามารถแก้ไขความผิดพลาดพี้นฐาน (common errors) ที่เกิดเมื่อเขียนโปรแกรมบน Spyder ได้

ทฤษฎีที่เกี่ยวข้อง
การพัฒนาโปรแกรมคอมพิวเตอร์ ไม่ว่าภาษาใด จะต้องมีองค์ประกอบของการสร้างข้อความ และตัว
แปลภาษาเป็นองค์ประกอบหลัก ปัจจุบันมีการพัฒนาผลิตภัณฑ์ที่มีส่วนของการสร้างข้อความและการแปลภาษา
เข้าด้วยกัน เพื่อความสะดวกของนักพัฒนาโปรแกรม ผลิตภัณฑ์ดังกล่าวเป็นกลุ่มของโปรแกรมคอมพิวเตอร์ที่
เรียกว่า IDE (Integrated Development Environment) ข้อดีของการใช้งาน IDE มีหลายประการ ประการแรก
คือ ในส่วนของการสร้างข้อความ หรือส่วนประกอบที่เรียกว่า Text Editor นั้น จะมีการเช็คไวยากรณ์ระหว่างการ
สร้างข้อความไปด้วย โดยใช้สีที่แตกต่างในแต่ละคาที่พิมพ์ลงไป มีการแนะนาคาที่พิมพ์ให้ ตามหลักไวยากรณ์ ทา
ให้เป็นการสะดวกต่อผู้พัฒนาโปรแกรม และทาให้มีข้อผิดพลาดน้อยลงเมื่อทาการแปลภาษา ประการที่สองที่เป็น
ข้อดีของการใช้งาน IDE คือ ตัวผลิตภัณฑ์ IDE จะจัดการในเรื่องที่อยู่ของไฟล์ที่เกี่ยวข้องให้โดยอัตโนมัติ โดยมีการ
กาหนดที่อยู่ของไฟล์ที่เกี่ยวข้องกับโปรแกรมที่พัฒนาอยู่อย่างเป็นระเบียบ ประการสุดท้ายที่ทาให้ IDE เป็นที่นิยม
ใช้โดยนักพัฒนาโปรแกรมคอมพิวเตอร์เป็นอย่างมากคือ บาง IDE นั้นสามารถเพิ่มตัวแปลภาษาได้หลากหลาย เมื่อ
ต้องเปลี่ยนภาษาที่ใช้ นักพัฒนาโปรแกรมก็ไม่ต้องไปฝึกใช้ IDE ตัวใหม่ แต่สามารถลงตัวแปลภาษาที่ต้องการเพิ่ม
เข้าไปได้ และทาการใช้งานได้ทันที ตัวอย่างของ IDE ที่เพิ่มตัวแปลภาษาที่หลากหลายได้ ได้แก่ Eclipse,
CodeBlocks, bloodshed, NetBeans, MS Visual Studio Express, CodeLite เป็นต้น การเลือกใช้ IDE ที่
เหมาะสมควรจะเลือก IDE ที่เป็น cross platform และ Open source คือสามารถใช้งานบนระบบปฏิบัติการที่
แตกต่างกันได้ ไม่ว่าจะเป็น Windows, Unix หรือ OS X และเป็น source code แบบเปิด ที่ให้โอกาสนักพัฒนา
โปรแกรม สามารถนาไปแก้ไขเพิ่มเติมตัวเลือกที่ต้องการได้อย่างเสรี
ในปฏิบัติการนี้ จะเป็นการแนะนา IDE ที่ใช้พัฒนาโปรแกรมภาษา python ที่ชื่อว่า Spyder ซึ่งเป็น
python IDE ที่มากับโปรแกรมชุด Anaconda โปรแกรมชุด Anaconda เป็นโปรแกรมที่รวบรวม libraries ของ

29 | P a g e
python ที่เกี่ยวข้องกับการคานวณทางคณิตศาตร์ การคานวณทางวิศวกรรม การพลอทกราฟ การจัดการกับ
ข้อมูลและการวิเคราะห์ข้อมูล ชุดโปรแกรม Anaconda มีส่วนประกอบหลักสองส่วนที่ทาให้การเขียนโปรแกรม
python เป็นไปได้อย่างสะดวก ส่วนแรกคือ IP (IPython) เป็น python command line ที่ผู้ใช้สามารถรันคาสั่ง
python สั้นๆและเห็นผลการรันได้ทันที ดังแสดงในรูปที่ 1.16 เป็นการกาหนดค่าให้กับ ตัวแปร(ชื่อ) number
หลังจากนั้นทาการเพิ่มค่าให้กับตัวแปร(ชื่อ) number ส่งผลให้ตัวแปร(ชื่อ) number มีค่าที่เปลี่ยนไป
ส่วนที่สองคือ Spyder ซึ่งเป็น python IDE ของ Anaconda ซึ่งจะใช้เป็น IDE หลักในรายวิชานี้ การ
เรียกใช้งาน Spyder ทาได้ด้วยการไปที่กลุ่มของโปรแกรม Anaconda หลังจากนั้นเลือก Spyder ดังแสดงในรูปที่
1.17

รูปที่ 1.16 ตัวอย่างการใช้งาน IP (IPython) ที่มากับ Anaconda

รูปที่ 1.17 การเรียกใช้งาน Spyder ที่มากับ Anaconda


30 | P a g e
กำรพัฒนำโปรแกรมด้วยภำษำ python
ในการเขียนโปรแกรมด้วยภาษา python นั้นจะต้องมีองค์ประกอบในการทางาน 3 ส่วนที่ช่วยในการ
พัฒนางาน คือ
1. องค์ประกอบในการสร้างข้อความ (Text Editor)
2. องค์ประกอบตัวแปลภาษา python (python interpreter) ประกอบไปด้วยตัวแปลภาษาและ
เครื่องเสมือน (Virtual Machine)
3. ไลบรารี่

ขั้นตอนในการพัฒนาโปรแกรมภาษา python บนระบบปฏิบัติการ Windows มีดังนี้


1. ในการเขียนโปรแกรมด้วย Text Editor จะได้ไฟล์ข้อความ (Text File) หรือที่เรียกว่า Source Code มี
นามสกุล .py
2. นาไฟล์ .py ผ่านขบวนการแปลด้วยตัวแปลภาษา python (python Interpreter) โดยการสั่ง python
filename.py ที่ python shell
3. หลังจากผ่านการแปลคาสั่งแล้ว virtual machine จะทาหน้าที่เชื่อมโยง Bytecode กับ library ที่จาเป็น
เพื่อทาการรันโปรแกรม

Python มี python shell มาให้ ซึ่งรองรับการทางานแบบทีละบรรทัดในลักษณะเดียวกันกับ MATLAB


อย่างไรก็ตามในปฏิบัติการรายวิชานี้จะใช้งาน Spyder และ IP (IPython) ซึ่งมีการติดตั้ง python Interpreter
ไว้เรียบร้อยแล้วพร้อมกับการติดตั้ง Anaconda โดยจะใช้งานหน้าต่าง Editor ของ Spyder ในการสร้างไฟล์ .py
และใช้งานเมนูของ Spyder ในการสั่งรันโปรแกรมโดยไม่ต้องไปที่ python shell
การทางานของ python Interpreter ในการรันโปรแกรม python ดังแสดงในแผนภาพที่ 1.18 ประกอบ
ไปด้วย source file ที่สร้างขึ้นด้วย Text Editor จะผ่านขั้นตอนของการแปลภาษาด้วย python Interpreter ซึง่
ในตัว Interpreter จะประกอบไปด้วย ตัวแปลภาษาและเครื่องเสมือน (Virtual Machine) เครื่องเสมือนจะทา
หน้าที่ในการนา Bytecode ที่ได้จากตัวแปลภาษาและดึงสิ่งที่จาเป็นในการรันโปรแกรมมาจากไลบรารี่ เพื่อให้
สามารถรันโปรแกรมได้

31 | P a g e
รูปที่ 1.18 องค์ประกอบของการพัฒนาโปรแกรม python
(http://opensourceforgeeks.blogspot.com.au/2015/10/how-python-works.html)
Programming Errors
ข้อผิดพลาดในโปรแกรม หรือ error มีอยู่ 3 ประเภทได้แก่ Syntax errors, Runtime errors และ
Logic errors
Syntax errors คือการเขียนโปรแกรมผิดไวยากรณ์ของภาษาเช่น ไม่มี : ปิดท้าย while, if statements,
ไม่มี “ ปิดข้อความ หรือ ไม่มี ‘ ปิดอักขระ ข้อผิดพลาดเหล่านี้จะปรากฏขึ้นในขั้นตอนของการเขียนโปรแกรมใน
Spyder ซึง่ จะมีการแจ้งเตือนในขณะที่กาลังทาการพิมพ์ code อยู่
Runtime errors จะไม่ปรากฏระหว่างการเขียนโปรแกรมหรือใน Source code แต่จะเกิดระหว่างการ
รันโปรแกรม ซึ่งอาจทาให้โปรแกรมปิดตัวลงอย่างไม่คาดคิด Spyder จะขึ้นข้อความแจ้งว่า error เนื่องจากอะไร
ตัวอย่างของข้อผิดพลาดประเภทนี้ได้แก่ การหารด้วย 0 ซึ่งทาให้เกิดการหาค่าไม่ได้ หรือการนาผลลัพท์จากการ
คานวณที่เป็นตัวเลขไปเก็บไว้ในตัวแปรที่เป็นสตริง ตัวอย่างของข้อผิดพลาดชนิดนี้ได้แก่ นาจานวนเต็มหารด้วย
จานวนเต็ม แต่คาดหวังคาตอบที่เป็นทศนิยม (Listing 1.3)
Logic errors เป็นข้อผิดพลาดที่อันตรายที่สุดในการเขียนโปรแกรม ยากที่จะค้นพบและลาบากในการ
แก้ไข ข้อผิดพลาดชนิดนี้เกิดจากตรรกะ และความรู้พื้นฐานของตัวผู้พัฒนาโปรแกรมเอง โดยเฉพาะความรู้พื้นฐาน

32 | P a g e
ทางคณิตศาสตร์ที่เป็นหัวใจสาคัญของการเขียนโปรแกรม หรือ การคานวณผิดขั้นตอน หรือการไม่ใส่วงเล็บในการ
คานวณ ทาให้ลาดับความสาคัญของการคานวณผิดพลาด
Listing 1.3 ShowLogicErrors\main.py
if __name__ == '__main__':
pass
print("Welcome to my program")
print("35 Celsius is "+ (9/5)*35+32)

33 | P a g e
กำรใช้งำนโปรแกรม Spyder บน Anaconda
ส่วนประกอบของโปรแกรม Spyder แบ่งออกเป็น 4 ส่วนดังแสดงในรูปที่ 1.19

รูปที่ 1.19 ส่วนประกอบของโปรแกรม Spyder

ส่วนประกอบของหน้าหลักของโปรแกรม Spyder แบ่งออกเป็น 4 ส่วนด้วยกัน ดังนี้


1. เมนูหลัก (Menu Bar and Tool Bar) เป็นที่รวบรวมคาสั่งทั้งหมดสาหรับใช้งาน Spyder คาสั่ง
ส่วนมากสามารถเรียกได้จากส่วนของคาสั่งจากเมนูหลัก
2. ส่วนหน้ำต่ำงของตัวแก้ไข (Editor Window) เป็นพื้นที่ส่วนที่ใช้สาหรับเขียนคาสั่งและแก้ไขไฟล์
หน้าต่างนี้จะเปิดขึ้นได้เมื่อทาการเลือกไฟล์จากเมนูหลักหรือ จากทางเลือกของส่วนการจัดการด้าน
ซ้ายมือ
3. หน้ำต่ำงกำรสำรวจ (Explorers) เป็นส่วนที่แสดง Project Files และ variables ปัจจุบันที่กาลังใช้
งานอยู่ ใช้สาหรับนาทางไปสู่ไฟล์ต่างๆที่เกี่ยวเนื่องกับ Project หรือ ค้นหาตัวแปรที่สนใจ โดยเฉพาะไฟล์
source code ที่ต้องทาการแก้ไข โดยปกติจะอยู่ที่ Help แต่สามารถเลือกแทปได้ด้านล่างของส่วนนี้
4. ส่วนหน้ำต่ำงข้อควำม (Logs & others) เป็นหน้าต่างขนาดเล็กทางด้านล่างของหน้าจอ ซึ่งเป็นพื้นที่ที่
ใช้สาหรับแสดงข้อความหรือข้อผิดพลาดที่เกิดขึ้นจากการคอมไฟล์และรันโปรแกรม ทั้งผลรัน และ
errors รวมถึง logs ต่างๆที่ผู้ใช้สามารถตรวจสอบได้ เมื่อทาการพัฒนาโปรแกรม
เมนูคำสั่งของ Spyder
เมนูหลักและแถบเครื่องมือ (Menu Bar and Tool Bar) เป็นที่รวบรวมคาสั่งทั้งหมดของ Spyder โดย
คาสั่งเหล่านี้จะแบ่งหมวดหมู่ตามประเภทของการทางาน โดยวิธีการเรียกเมนูคาสั่งและคาสั่งย่อยเมนู สามารถทา
34 | P a g e
ได้เหมือนโปรแกรมประยุกต์ทั่วไป โดยมีคีย์ลัดพื้นฐานเหมือนๆกับโปรแกรมประยุกต์อื่นๆ เช่น Alt+F คือ File
Menu เป็นต้น
กำรสร้ำงโปรเจ็คใหม่

เมนู File เป็นคาสั่งที่เกี่ยวกับการจัดการไฟล์ ส่วนเมนูโปรเจ็คใช้จัดการเกี่ยวกับโปรเจ็ค เช่น การสร้าง


เปิด หรือบันทึกไฟล์ หรือโปรเจ็ค สามารถสร้างโปรเจ็คใหม่ได้ด้วยการเลือกที่เมนู Projects>New Project ดัง
แสดงในรูปที่ 1.20 ผลที่ได้คือ pop up window ดังแสดงในรูปที่ 1.21

รูปที่ 1.20 แสดงการสร้าง New Project จากเมนู Projects

รูปที่ 1.21 แสดง pop up window เมื่อคาสั่ง New Project ถูกเลือก

35 | P a g e
เมือ่ เลือก New Project เพื่อสร้างโปรเจ็คใหม่สาหรับการเขียนโปรแกรม Python จะปรากฏหน้าต่าง
รายละเอียดของโปรเจ็คขึ้นมา ให้ทาการตั้งชื่อโปรเจ็คของตนเอง โดยให้สังเกตที่เส้นทางโฟลเดอร์ที่ทาการเก็บไฟล์
โปรเจ็คดังกล่าว ให้เลือกโฟลเดอร์ที่นักศึกษาสร้างขึ้นเองเท่านั้น การตั้งชื่อโปรเจ็ค ให้ทาการตั้งให้สื่อถึงสิ่งที่อยู่ใน
โปรเจ็ค และผู้เป็นเจ้าของโปรเจ็คดังกล่าว ตาแหน่งของ Project สามารถเลือกตาแหน่งที่ต้องการเก็บ Project
ด้วยการกด folder icon สีเหลือง โดยปกติแล้ว Project type จะเป็น Empty Project สาหรับโปรเจ็คที่
สร้างใหม่ ดังแสดงในรูปที่ 1.21 ข้างต้น
เมื่อกด create แล้ว Spyder จะทาการสร้างโปรเจ็คใหม่ให้และปรากฏ Project Explorer ขึ้นที่ซ้ายมือ
ให้ทาการสร้างไฟล์ด้วยการกดสัญลักษณ์แผ่นกระดาษที่มุมบนซ้าย เพื่อสร้างไฟล์ใหม่ จะได้ untitledfile ที่อยู่ใน
หน้าต่าง editor ดังแสดงในรูปที่ 1.22

รูปที่ 1.22 แสดง untitledfile เมือ่ กดสร้างไฟล์ใหม่ภายใต้โปรเจ็คใหม่ทสี่ ร้างขึน้


ทาการเพิม่ ชุดคาสั่งสามบรรทัดดังแสดงในรูปที่ 1.23 หลังจากนั้นทาการบันทึกด้วยการกดปุม่ รูปแผ่นดิสก์
ตั้งชื่อไฟล์พร้อมนามสกุลเป็น main.py แล้วทาการรัน โดยการกดที่ปมุ่ Play สีเขียว จะได้ผลการรันโปรแกรมที่
หน้าต่าง console มุมล่างขวา ส่วนในหน้าต่าง explorer ด้านบนขวามือ ให้เลือก variable explorer tab จะ
เห็นรายละเอียดของตัวแปร ดังแสดงในรูปที่ 1.23

36 | P a g e
รูปที่ 1.23 แสดงการแก้ไขไฟล์และรันโปรแกรมบน Spyder
กำรจัดกำรในหน้ำต่ำง Editor
ในหน้าต่าง Editor เป็นพื้นที่ใช้ในการพิมพ์คาสั่งหรือแก้ไขโปรแกรม ควรจะรู้จักการใช้ปุ่มต่างๆ บน
คีย์บอร์ด เพื่อช่วยให้ทางานได้เร็วขึ้น
กำรคัดลอกข้อมูล
การคัดลอกข้อมูลที่ส่วนที่ต้องการไปยังบริเวณอื่น สามารถทาได้ดังขั้นตอนต่อไปนี้
1. เลือกข้อมูลส่วนที่ต้องการคัดลอก โดยการกาหนดบล็อกข้อมูลตามวิธีการที่แสดงในหัวข้อที่ผ่านมา
2. ย้ายเคอร์เซอร์ไปยังตาแหน่งปลายทาง ที่ต้องการคัดลอกข้อมูลไปวาง
3. กดปุ่ม <Ctrl + Insert> เพื่อวางบล็อกของข้อมูลที่คัดลอกมา
กำรแทรกข้อมูล
การแทรกข้อมูลจะต่างจากการคัดลอกข้อมูล โดยการคัดลอกทาให้ข้อมูลที่เลือกทั้งหมด แล้วนาไปวางที่
ต้องการ โดยมีวิธีการดังนี้
1. เลือกข้อมูลส่วนที่ต้องการย้ายตาแหน่ง กดปุ่ม <Ctrl + Insert>
2. ย้ายเคอร์เซอร์ไปยังตาแหน่งใหม่
3. กดปุ่ม <Ctrl + N>
กำรลบข้อมูล
การลบข้อมูลที่ไม่ต้องการออกไปจากหน้าต่าง Edit มีขั้นตอนดังนี้
1. เลือกข้อมูลส่วนที่ต้องการลบ
2. กดปุ่ม <Ctrl + Delete>

37 | P a g e
การใช้งาน Spyder จะมีการแนะนาคาสั่งที่พิมพ์อยู่ให้อัตโนมัติ ในกรณีที่มีการพิมพ์ keywords ลงไป
และผู้เขียนโปรแกรมสามารถเลือกเติมคาให้เต็ม หรือเลือกคาสั่งที่แนะนาด้วยการกดลูกศรขึ้นลง (หากมีหลาย
คาสั่ง) แล้วเคาะ Enter อีกทั้ง Spyder จะมีการเพิ่มเครื่องหมายวงเล็บ และปีกกา เมื่อมีการพิมพ์เครื่องหมาย
ดังกล่าวลงไปเพียงหนึ่งอัน และยังทาการ highlight เครื่องหมายวงเล็บ หรือปีกกาที่เป็นคู่ของเครื่องหมายที่
ผู้เขียนโปรแกรมสนใจอยู่ให้ด้วย ทั้งนี้ Spyder จะมีการแจ้ง Syntax Error ให้ในขณะที่พิมพ์ ลูกเล่นต่างๆและการ
ตั้งค่าให้ตรงตามความต้องการของผู้ใช้ นักศึกษาที่สนใจสามารถอ่านได้จากคู่มือของ Spyder และทาการฝึกฝน
การใช้งาน Spyder อยู่เป็นประจา

คำอธิบำย HelloWorld\main.py
ในส่วนนี้เป็นการอธิบายโปรแกรมตัวอย่างคร่าวๆ ณ เวลานี้ขอให้ผู้เรียนเก็บความสงสัยบางอย่างไว้ก่อน
หลังจากที่ได้เรียนต่อไปเรื่อยๆ บทเรียนและปฏิบัติการแต่ละครั้งจะตอบปัญหาและข้อสงสัยต่างๆของผู้เรียนไป
เรื่อยๆ
Listing 1.4 HelloWorld\main.py
1. '''
2. Created on 23 Jul 2016

3. @author: Araya
4. '''

5. from math import sqrt

6. if __name__ == '__main__':
7. pass
8. print("Hello World")
9. print(sqrt(25))

จาก Source code ใน Listing 1.4 หมายเลขของแต่ละบรรทัดไม่ใช่ส่วนของโปรแกรม แต่ผู้เขียน


เพิ่มเติมเข้ามาเพื่อใช้ในการอ้างถึง code ส่วนต่างๆของโปรแกรม ในแต่ละส่วนของ Source code สามารถ
อธิบายคร่าวๆได้ดังนี้
บรรทัดแรกและบรรทัดที่สี่ของโปรแกรม
'''
'''

38 | P a g e
คือคาอธิบายหรือคอมเมนท์ คอมเมนท์จะถูกข้ามในการแปลภาษาของตัวแปลภาษา ในการเขียน
โปรแกรม คอมเมนท์เป็นการฝึกฝนการเขียนโปรแกรมที่ดี ใช้สาหรับอธิบายโปรแกรมหรือเตือนผู้พัฒนาโปรแกรม
เองว่าส่วนนั้นของโปรแกรมทางานอะไร ในภาษา python คอมเมนท์สามารถสร้างได้หลายแบบ ได้แก่
#This is a single line comment
''' This is how we make
multiple lines comments
'''

บรรทัดแรกถึงบรรทัดที่สี่ จึงเป็นคาอธิบายและไม่ถูกแปลโดยตัวแปลภาษา สิ่งที่อยู่ระหว่างบรรทัดแรก


และบรรทัดที่สี่คือชื่อของผู้เขียนโปรแกรมดังกล่าว ในที่นี้นักศึกษาควรใส่ชื่อของตนเองและรหัสนักศึกษาลงไปทุก
ครั้งที่สร้าง main module
บรรทัดที่ 5
from math import sqrt

เป็นการเพิ่ม built-in function ที่ชื่อ sqrt ซึง่ function ดังกล่าวถูกดึงมาจากไลบรารี่ที่ชื่อ math


บรรทัดที่ 6
if __name__ == '__main__':
pass

python มีตัวแปรพิเศษที่ชื่อ __name__ ซึง่ python interpreter จะกาหนดให้เป็น


'__main__' หากตัว interpreter กาลังรัน module นั้นในลักษณะโปรแกรมหลัก แต่ interpreter จะ
กาหนดเป็นชื่ออื่นหาก module นั้นถูก import และไม่ได้ใช้รันในลักษณะโปรแกรมหลัก ส่วน pass
statement เป็น placeholder ไม่ทาอะไรในที่นี้ เนื่องจากในโปรแกรมนี้ยังไม่ได้ implement การรันแบบ
โปรแกรมหลักหรือแบบ import
บรรทัดที่ 6 และ 7 นี้ เป็นชุดคาสั่ง if เป็นการเช็คว่า __name__ ตัวแปรพิเศษนั้นคือ
'__main__' หรือไม่ ถ้าใช่ให้รัน pass statement หลัง in statement จะต้องปิดด้วย : และบรรทัด
ต่อจากนั้นจะต้องย่อหน้าเข้ามา เพื่อให้รู้ว่าเป็นชุดคาสั่งภายใต้เงื่อนไขของ if statement
การรันแบบโปรแกรมหลักหรือแบบ import อาจเลือกทาได้ดังตัวอย่างด้านล่างนี้
if __name__ == '__main__':
print ("This program is being run by itself")
else:

39 | P a g e
print ("I am being imported from another module")

บรรทัดที่ 8
print("Hello World")

เป็นการแสดงข้อความ Hello world ออกไปที่หน้า Console โดยใช้ฟังก์ชั่น print( ) เป็นการ


พิมพ์ข้อความที่อยู่ใน " " ออกไปที่หน้าต่าง Console
บรรทัดที่ 9 เป็นคาสั่งสุดท้ายใน main.py
print(sqrt(25))

บรรทัดนี้เป็นการเรียกใช้งานฟังก์ชั่น print ในการพิมพ์ค่าของรากที่สองของ 25 ออกไปที่ Console โดย


มีการเรียกใช้งานฟังก์ชั่น sqrt( ) ในการหาค่ารากที่สองของ 25 ด้วยการเรียก sqrt(25)

ข้อสังเกตุสาหรับคนที่เคยเขียนโปรแกรมภาษาอื่นๆมาก่อน
Python เป็นภาษาที่ใกล้เคียงกับภาษามนุษย์มากที่สุด และลดรายละเอียดต่างๆในเรื่องของไวยากรณ์ลง
ไปมากเมื่อเทียบกับภาษาเขียนโปรแกรมอื่นๆ ซึ่งมีข้อแตกต่างคร่าวๆดังนี้
1. ไม่มี statement สาหรับเริ่มต้นหรือปิดท้ายไฟล์โปรแกรมหลัก
2. ไม่มีสัญลักษณ์สาหรับปิดท้ายชุดคาสั่ง
3. หากเป็นชุดคาสั่งเงื่อนไข จะใช้สัญลักษณ์พิเศษปิดบรรทัด และใช้ย่อหน้าในบรรทัดถัดไปเพื่อให้ทราบว่า
เป็นชุดคาสั่งที่เกี่ยวข้องกัน
4. ข้อความ ปิดด้วย single quote หรือ double quote มีค่าเท่ากัน
5. เป็นภาษาของการเขียนโปรแกรมเชิงวัตถุล้วนๆ
6. ไม่ต้องมีการกาหนดชนิดข้อมูลของตัวแปร
7. ไม่จาเป็นต้องประกาศตัวแปรก่อนใช้งาน
8. การอ้างอิงเป็นการอ้างแบบ reference ทั้งหมด ไม่มีการอ้างแบบ value
9. ชื่อตัวแปรเป็นลักษณะของการติดป้าย ไม่ใช่กล่องเก็บค่า เหมือนภาษา C/C++

อนึ่งข้อแตกต่างอื่นๆก็อาจจะมีให้เห็นในบทท้ายๆของเอกสารนี้

40 | P a g e
ปฏิบัติกำรส่วนที่ 1 กำรสร้ำงโฟล์เดอร์ หรือไดเรคทอรี่
ในห้องปฏิบัติการ หากนักศึกษาไม่ได้นาคอมพิวเตอร์พกพาของตนเองมาใช้งาน และต้องใช้งานเครื่องของ
สานักคอมพิวเตอร์และเครือข่ายซึ่งเป็นเครื่องสาธารณะ นักศึกษาพึงตระหนักถึงการสร้างที่เก็บข้อมูลของตนเอง
และความไม่ปลอดภัยของข้อมูล เนื่องจากข้อมูลของนักศึกษาอาจถูกลบออกไปจากเครื่องเมื่อใดก็ได้ เพื่อให้การ
เก็บข้อมูลเป็นไปอย่างเหมาะสมนักศึกษาโปรดปฏิบัติตามข้อกาหนดนี้
1. สร้างโฟลเดอร์ที่ไดรฟ์อื่นที่ไม่ใช่ไดรฟ์ C:
2. ตั้งชื่อโฟลเดอร์ว่า ComProXXXX เมื่อ XXXX คือรหัสนักศึกษาสี่ตัวสุดท้ายของตนเอง
3. เก็บงานเขียนโปรแกรมของตนเองไว้ในโฟลเดอร์นี้เท่านั้น
4. ระหว่างเขียนโปรแกรมให้ทาการ save ไฟล์อย่างสม่าเสมอ
วิธีการสร้างโฟลเดอร์บน Windows Explorer แสดงในรูปที่ 1.24

รูปที่ 1.24 แสดงการสร้างโฟลเดอร์ในตาแหน่งและชื่อที่เหมาะสม


ปฏิบัติกำรส่วนที่ 2 กำรเขียนโปรแกรมภำษำ python โดยใช้โปรแกรม Spyder

1. ให้นักศึกษาเปิดโปรแกรม Spyder โดยทาการดับเบิ้ลคลิกส์ทไี่ อคอน จะเข้าสู่โปรแกรม ดัง


รูปที่ 1.17 ที่ได้กล่าวถึงในส่วนของทฤษฏีที่เกี่ยวข้อง
2. หากมีโปรเจ็คอื่นใดที่มิใช่ของนักศึกษาเปิดค้างไว้ ที่หน้าต่าง package explorer ให้เลือก project แล้ว
ให้ทาการปิดโปรเจ็คด้วยการเลือกเมนู Projects แล้วเลือก close project ดังแสดงในรูป 1.25

41 | P a g e
รูปที่ 1.25 แสดงขั้นตอนการปิดโปรเจ็คที่ไม่เกี่ยวข้องที่เปิดอยู่
3. ให้ทาการสร้างโปรเจ็คใหม่ โดยโปรเจ็คนี้ จะให้นักศึกษาทาการแสดงชื่อ นามสกุลของตนเอง รวมทั้งรหัส
นักศึกษา และภาควิชาที่ศึกษาอยู่ ออกทางหน้าจอ ให้นักศึกษาทาตามขั้นตอนที่ได้อธิบายไว้ในส่วนของ
ทฤษฏีที่เกี่ยวข้องในการสร้างโปรเจ็คใหม่ โดยตั้งชื่อโปรเจ็คให้สอดคล้องกับสิ่งที่โปรเจ็คกระทา เช่น
MyIntroduction, IntroduceMyself เป็นต้น หลังจากสร้างโปรเจ็คเสร็จแล้ว ก่อนที่จะทาขั้นตอนถัดไป
หน้าจอของนักศึกษาจะต้องได้ไฟล์ main.py ที่มี code เหมือนดังแสดงในรูปที่ 1.23 ทุกประการ
4. เมื่อได้ไฟล์ main.py แล้ว สิ่งแรกที่นักศึกษาต้องฝึกฝนและเรียนรู้คือการสั่งให้ Spyder รันโปรแกรมของ
ตนเอง คาสั่งดังกล่าวสามารถเรียกได้จากเมนูบาร์ หรือกดปุ่มรันที่เป็นสัญลักษณ์ play
5. ให้นักศึกษาฝึกฝนและทาการแปลและรันโปรแกรมจนมั่นใจ แล้วทาการแก้ไขโปรแกรม เพื่อให้ได้ผลรันดัง
แสดงในรูปที่ 1.26 เมื่อ XXX YYY คือชื่อและนามสกุลของนักศึกษา 1234567 คือรหัสประจาตัวของ
นักศึกษา และให้แสดงภาควิชาที่นักศึกษาสังกัดอยู่ ซึ่งควรจะเป็นหนึ่งในภาควิชาต่างๆดังนี้
Electrical engineering Chemical Engineering Civil Engineering
Industrial Engineering Mechanical Engineering

รูปที่ 1.26 แสดงผลรันที่ต้องการ

42 | P a g e
6. ให้นักศึกษาปิดโปรเจ็คแรก และสร้างโปรเจ็คใหม่ โดยใน main.py พิมพ์โปรแกรมเพิ่มดังตัวอย่างแล้วรัน
โปรแกรม สังเกตุผลลัพธ์ที่เกิดขึ้น
Listing 1.5 HelloWorld\main.py
'''
Created on 23 Jul 2016

@author: Araya
'''

if __name__ == '__main__':
pass
print("Hello\nWorld\t! ")
ch=input()

7. ให้นักศึกษาแก้ไขโปรเจ็คแรกของตนเองเพื่อให้ได้ผลรันออกมาดังรูปที่ 1.27 โดยให้เคอร์เซอร์กระพริบรอ

รับข้อมูลหลังจากแสดงผลแล้ว

รูปที่ 1.27 แสดงผลรันใหม่ที่ต้องการ


8. ตอบคาถามต่อไปนี้
\n มีหน้าที่อะไร ..............................................................................................
.............................................................................................................................
\t มีหน้าที่อะไร...............................................................................................
…………………………………………………………………………………
ฟังก์ชัน input ( ) มีหน้าที่อะไร ……………………………………………..
.............................................................................................................................
9. จงเขียนโปรแกรมตาม Listing 1.6 นี้ สังเกตผลรัน และอธิบายความแตกต่างของสองบรรทัดที่ใช้
print
Listing 1.6 ComputeExpression\main.py
print("(10.5 + 2 * 3) / (45 - 3.5) = \n")
print((10.5+2*3)/(45-3.5))
43 | P a g e
.............................................................................................................................
.............................................................................................................................

44 | P a g e
แบบฝึกหัด
1) เขียนโปรแกรมภาษา python แนะนาข้อมูลส่วนตัวของนักศึกษา โดยมีข้อมูลดังนี้ ชื่อ-นามสกุล, รหัส
นักศึกษา, สาขาที่กาลังศึกษา, ชั้นปีที่, เกรดเฉลี่ยรวม, เพศ, อายุ ให้แสดงผลดังนี้ภาพต่อไปนี้
Name : Computer Programming
ID : 5413500602
Department : Electrical Engineering
GPA : 3.75
Sex : Male
Age : 20

1.2×0.1+3.3×0.3
2) จงเขียนโปรแกรม เพื่อแสดงผลการคานวณ
0.09+0.001
3) จงวาดผังงาน (flowchart) สาหรับการนับตัวอักษร ‘e’ ที่อยู่ในประโยคภาษาอังกฤษใดๆ
4) จงเขียนภาษาเทียม (pseudo code) อธิบายขั้นตอนในการย้ายแผ่นดิสก์ทั้งหมดออกจากหลักที่หนึ่งไปสู่
หลักที่สามดังภาพข้างล่างนี้ โดยมีกฏว่าให้ย้ายออกได้ทีละแผ่น และแผ่นที่อยู่ข้างล่างจะต้องใหญ่กว่าแผ่น
ที่อยู่ข้างบนเสมอ

45 | P a g e

You might also like