Professional Documents
Culture Documents
การเขียนโปรแกรมคอมพิวเตอร์เพื่อแก้ปัญหาการคานวณเชิงวิศวกรรม อาศัยพื้นฐานทางคณิตศาสตร์เป็น
ความรู้หลัก ที่จะนาไปสู่ความเข้าใจในเนื้อหาอันเกี่ยวเนื่องกับการใช้โปรแกรมคอมพิวเตอร์เข้ามาช่วยเหลือการ
แก้ปัญหาทางวิศวกรรม โดยหลักแล้วเกี่ยวข้องกับการคิดเป็นขั้นตอน การจัดการกับความคิด ในบทนี้รวบรวม
ความรู้พื้นฐานเกี่ยวกับการคานวณเชิงวิศวกรรมที่เกี่ยวข้องกับการเขียนโปรแกรม แบ่งเป็น 4 ส่วนได้แก่
1. หน่วยและการแปลงหน่วย (Unit Analysis)
2. สัญกรณ์วิทยาศาสตร์ (Scientific Notation)
3. การพัฒนาโปรแกรม (Software development)
4. การพัฒนาขั้นตอนวิธี (Algorithm development)
1.1 หน่วยและกำรแปลงหน่วย (Unit Analysis)
ในการคานวณเชิงวิศวกรรมหน่วยของข้อมูลมีผลกับผลลัพธ์ในการคานวณ ทั้งนี้ก่อนทาการคานวณ
จะต้องมีการคานึงถึงหน่วยของผลลัพธ์ที่ต้องการ ตัวอย่างเช่น การหาพื้นที่ของสี่เหลี่ยมผืนผ้าใดๆ มีสมการคือ
𝑎𝑟𝑒𝑎 = 𝑤𝑖𝑑𝑡ℎ×𝑙𝑒𝑛𝑔𝑡ℎ
หรือ
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
5|Page
6|Page
1.3 กำรพัฒนำโปรแกรม (Software development)
ในการพัฒนาโปรแกรมที่ซับซ้อน จะมีช่วงระยะของการทางานอยู่สามช่วง ได้แก่ การออกแบบและพัฒนา
การจัดเตรียมเอกสาร และ การบารุงรักษา ในส่วนของการเขียนโปรแกรมคอมพิวเตอร์เพื่องานวิศวกรรมนี้ จะลง
รายละเอียดแค่ในส่วนของการออกแบบและพัฒนาโปรแกรม เนื่องจากรายวิชาการเขียนโปรแกรมคอมพิวเตอร์
เป็นรายวิชาพื้นฐาน โปรแกรมที่เขียนไม่มีความยุ่งยากซับซ้อนมากไปกว่าเจตนาที่ต้องการปลูกฝังแนวคิดในการ
แก้ปัญหาเชิงวิศวกรรมให้กับผู้เรียน
โดยปกติแล้วทุกๆโปรแกรมถูกสร้างขึ้นมาเพื่อให้สามารถทางานดังรูป 1.1 คือมีอินพุท (input) เข้าไปใน
กระบวนการ (process) และได้เอาท์พุท (output) ออกมาเป็นผลที่ต้องการ
จะเห็นได้ว่าทุกกระบวนการต่างมีความสาคัญที่จะทาให้สามารถเขียนเป็นโปรแกรมได้ แต่ขั้นตอนที่สาคัญ
ที่สุดคือขั้นตอนที่ 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 สัญลักษณ์สามัญที่ใช้ในการเขียนผังงาน
รับข้อมูลเข้ามา หรือส่ง
Input, Output ข้อมูลออกไป หรือแสดงผล
ข้อมูล
การประมวลผล, การ
Process
คานวณ, การกาหนดค่า
การตัดสินใจที่มีคาตอบ ใช่
Decision
หรือไม่ใช่
ทิศทางการไหลของข้อมูล
ใช้เชื่อมต่อสัญลักษณ์อื่นใน
Flow line
ผังงาน และ/หรือ กาหนด
ตรรกะของเส้นทางข้อมูล
ใช้สาหรับเชื่อมต่อ flow
Connector
lines
10 | P a g e
ตัวอย่ำงกำรแก้ปัญหำทำงวิศวกรรม
โจทย์ตัวอย่ำงที่ 1 จงหาพื้นที่ของสี่เหลี่ยมใดๆ
1. วิเครำะห์โจทย์ สี่เหลี่ยมมีด้านกว้างและด้านยาว ความกว้างและความยาวของสี่เหลี่ยมสามารถเป็นเลข
ทศนิยมได้
2. กำหนด input/output ความกว้างและความยาวของสี่เหลี่ยมคือ input ที่ต้องรับเข้ามา ส่วนพื้นที่คือ
สิ่งที่ต้องทาการคานวณหาและแสดงผลออกมา ดังนั้นพื้นที่เป็น output
3. ผังงำน สามารถเขียนผังงานได้ดังนี้
11 | P a g e
รูปที่ 1.2 แสดงผังงานของการคานวณหาพื้นที่สี่เหลี่ยมใดๆ
area=float(width)*float(height)
print("The area is "+ str(area))
13 | P a g e
โจทย์ตัวอย่ำงที่ 2 จงหา 𝑦(𝑡) เมื่อ
𝑡 2 − 2, 𝑡 ≤ 0
𝑦(𝑡) = { 2
𝑡 + 2, 𝑡 > 0
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))
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
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
21 | P a g e
เพื่อให้สะดวกต่อการเรียกใช้งานแอพพลิเคชั่นต่างๆบน Chrome Browser นักศึกษาควรติดตั้ง Chrome
App Launcher สามารถดาวน์โหลดและติดตั้งได้จาก https://chrome.google.com/webstore/launcher
หน้าตาของ Launcher เป็นดังแสดงในรูปที่ 1.8
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 แล้วส่ง
อีเมล์ไปทีเ่ พื่อนที่นั่งอยู่ข้างๆ
24 | P a g e
Google Drive
เป็นบริการ Cloud Storage ของ Google ที่ถูกพัฒนาเพิ่มเติมมาจาก Google Docs แอพพลิเคชั่นนี้อนุญาตให้
ผู้ใช้สามารถเก็บข้อมูลไว้ใน Cloud Storage Service และแบ่งปันกับผู้ใช้อื่นแบบ Real-time เช่นสามารถมีผู้ใช้
สองคนแก้ไขไฟล์เดียวกันได้ในขณะเดียวกัน ตัวอย่างการแชร์ไฟล์จาก Google Drive แสดงในรูปที่ 1.12
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 และองค์ประกอบต่างๆ
26 | P a g e
เมื่อทาการรันโปรแกรมที่ SourceLair เขียนขึ้นให้จากการกดที่ลิงค์ดังแสดงในรูป 1.14 แล้วจะปรากฏผล
รันของโปรแกรมในส่วนของ Output ของหน้าต่าง ดังแสดงในรูปที่ 1.15
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
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
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
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. '''
6. if __name__ == '__main__':
7. pass
8. print("Hello World")
9. print(sqrt(25))
38 | P a g e
คือคาอธิบายหรือคอมเมนท์ คอมเมนท์จะถูกข้ามในการแปลภาษาของตัวแปลภาษา ในการเขียน
โปรแกรม คอมเมนท์เป็นการฝึกฝนการเขียนโปรแกรมที่ดี ใช้สาหรับอธิบายโปรแกรมหรือเตือนผู้พัฒนาโปรแกรม
เองว่าส่วนนั้นของโปรแกรมทางานอะไร ในภาษา python คอมเมนท์สามารถสร้างได้หลายแบบ ได้แก่
#This is a single line comment
''' This is how we make
multiple lines comments
'''
39 | P a g e
print ("I am being imported from another module")
บรรทัดที่ 8
print("Hello World")
ข้อสังเกตุสาหรับคนที่เคยเขียนโปรแกรมภาษาอื่นๆมาก่อน
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
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
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()
รับข้อมูลหลังจากแสดงผลแล้ว
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