ประกอบด้วยเนื้อหา ดังนี้
1. ตัวอย่างระบบคำนวณค่าโดยสารรถประจำทาง
2. ตัวดำเนินการบูลีน
3. การวนซ้ำด้วยคำสั่ง while
4. เงื่อนไขทางเลือก
5. ฟังก์ชัน
จุดประสงค์ของบทเรียน
1. เขียนโปรแกรมไพหอนที่มีการใช้งานฟังก์ชันที่สร้างขึ้นเองได้
2. เขียนโปรแกรมไพหอนที่มีการใช้ตัวดำเนินการบูลีนได้
โครงของภาษา Python ในภาษาคอมพิวเตอร์นั้นก็มีโครงสร้างของภาษาเช่นเดียวกกับภาษามนุษย์ ซึ่งสิ่งเหล่านี้ถูกกำหนดเพื่อเป็นรูปแบบและวิธีในการเขียนโปรแกรมในภาษา Python มันใช้สำหรับควบคุมวิธีที่เขียนโค้ดขเพื่อให้เข้าใจโดยตัวแปรภาษาหรือคอมไพเลอร์
Python นั้นมีคุณสมบัติเป็นภาษาเขียนโปรแกรมแบบไดนามิกส์และมีระบบการจัดการหน่วยความจำอัตโนมัติและสนับสนุนการเขียนโปรแกรมหลายรูปแบบ ที่ประกอบไปด้วย การเขียนโปรแกรมเชิงวัตถุ imperative การเขียนโปรแกรมแบบฟังก์ชัน และการเขียนโปรแกรมแบบขั้นตอน มันมีไลบรารี่ที่ครอบคลุมการทำงานอย่างหลากหลาย
Simple Python program
เพื่อเริ่มต้นการเรียนรู้ในภาษา Python มาดูตัวอย่างของโปรแกรมอย่างง่าย โดยเป็นโปรแกรมที่ถามชื่อผู้ใช้และแสดงข้อความทักทายทางหน้าจอ มาเริ่มเขียนโปรแกรมแรกในภาษา Python ให้พิมพ์โค้ดภาษาไพทอน Python ลงในเว็บ ::> Online Python compiler แล้วลองรันดูผลลัพธ์
ในตัวอย่างเป็นโปรแกรมในการรับชื่อและแสดงข้อความทักทายออกทางหน้าจอ ในการรันโปรแกรมคุณสามารถรันได้หลายวิธี แต่ที่แนะนำคือการใช้ Python shell ให้คุณเปิด Python shell ขึ้นมาแล้วกดสร้างไฟล์ใหม่โดยไปที่ File -> New File จะปรากฏกล่อง Text editor ของภาษา Python ขึ้นมา เพื่อรันโปรแกรม Run -> Run Module หรือกด F5 โปรแกรมจะเปลี่ยนกลับไปยัง Python shell และเริ่มต้นทำงาน
นี่เป็นผลลัพธ์การทำงานในการรันโปรแกรม first.py จาก Python shell ในตัวอย่างได้กรอกชื่อเป็น "Mateo" และหลังจากนั้นโปรแกรมได้แสดงข้อความทักทายและจบการทำงาน ในตอนนี้ยังไม่ต้องกังวลว่าโปรแกรมในแต่ละบรรทัดนั้นทำงานยังไง ซึ่งจะอธิบายในขั้นต่อไปModule
ในตัวอย่างโปรแกรมรับชื่อของเรา เป็นโปรแกรมแรกของเราในบทเรียน Python นี้ และเราได้บันทึกเป็นไฟล์ที่ชื่อว่า _first.py _ ซึ่งไฟล์ของภาษา Python นั้นจะเรียกว่า Module ซึ่ง Module จะประกอบไปด้วยคลาส ฟังก์ชัน และตัวแปรต่างๆ และนอกจากนี้เรายังสามารถ import โมดูลอืนเข้ามาในโปรแกรมได้ ซึ่งโมดูลอาจจะอยู่ภายใน package ซึ่งเป็นเหมือน directory ของ Module ในตัวอย่าง _first.py _ จึงเป็นโมดูลของโปรแกรมแรกของเรา
Comment
คอมเมนต์ในภาษา Python นั้นเริ่มต้นด้วยเครื่องหมาย # คอมเมนต์สามารถเริ่มต้นที่ตำแหน่งแรกของบรรทัดและหลังจากนั้นจะประกอบไปด้วย Whilespace หรือโค้ดของโปรแกรม หรือคำอธิบาย ซึ่งโดยทั่วไปแล้วคอมเมนต์มักจะใช้สำหรับอธิบายซอสโค้ดที่เราเขียนขึ้นและมันไม่มีผลต่อการทำงานของโปรแกรม นี่เป็นตัวอย่างการคอมเมนต์ในภาษา Python
Statement
Statement คือคำสั่งการทำงานของโปรแกรม แต่ละคำสั่งในภาษา Python นั้นจะแบ่งแยกด้วยการขึ้นบรรทัดใหม่ ซึ่งจะแตกต่างจากภาษา C และ Java ซึ่งใช้เครื่องหมายเซมิโคลอนสำหรับการจบคำสั่งการทำงาน แต่อย่างไรก็ตาม ในภาษา Python นั้นคุณสามารถมีหลายคำสั่งในบรรทัดเดียวกันได้โดยการใช้เครื่องหมายเซมิโคลอน ;
ในตัวอย่าง เรามี 4 คำสั่งในโปรแกรม สองบรรทัดแรกเป็นคำสั่งที่ใช้บรรทัดใหม่ในการจบคำสั่ง ซึ่งเป็นแบบปกติในภาษา Python และบรรทัดสุดท้ายเรามีสองคำสั่งในบรรทัดเดียวที่คั่นด้วยเครืองหมาย ; สำหรับการจบคำสั่ง( อ้างอิงจาก http://marcuscode.com/lang/python/program-struct )
ตัวอย่างการเขียนโค้ด (Code)
ตัวอย่างผลลัพธ์
ตัวแปร (variable) คือ ชื่อหรือเครื่องหมายที่กำหนดขึ้นสำหรับใช้เก็บค่าในหน่วยความจำ ตัวแปรจะมีชื่อ (identifier) สำหรับใช้ในการอ้างถึงข้อมูลของมัน ในการเขียนโปรแกรม ค่าของตัวแปรสามารถที่จะกำหนดได้ใน run-time หรือเปลี่ยนแปลงอยู่ตลอดเวลาในขณะที่โปรแกรมทำงาน (executing)
ในการเขียนโปรแกรมคอมพิวเตอร์นั้น ตัวแปรจะแตกต่างจากตัวแปรในทางคณิตศาสตร์ ค่าของตัวแปรนั้นไม่จำเป็นต้องประกอบไปด้วยสูตรหรือสมการที่สมบูรณ์เหมือนกับในคณิตศาสตร์ ในคอมพิวเตอร์ ตัวแปรนั้นอาจจะมีการทำงานซ้ำๆ เช่น การกำหนดค่าในที่หนึ่ง และนำไปใช้อีกที่หนึ่งในโปรแกรม และนอกจากนี้ยังสามารถกำหนดค่าใหม่ให้กับตัวแปรได้ตลอดเวลา ต่อไปเป็นตัวอย่างของการประกาศตัวแปรในภาษา Python
ในตัวอย่าง ได้ทำการประกาศ 3 ตัวแปร ในการประกาศตัวแปรในภาษา Python ไม่จำเป็นต้องระบุประเภทของตัวแปรในตอนที่ประกาศเหมือนในภาษา C ในตัวแปร a มีค่าเป็น 3 และเป็นประเภทเป็น Integer ตัวแปร b มีค่าเป็น 4.92 และเป็นประเภทเป็น Float และตัวแปร c มีค่าเป็น "marcuscode.com" และเป็นประเภท String ภายหลังได้เปลี่ยนค่าของตัวแปร c เป็น 10.5 ตัวแปรกลายเป็นประเภท Float2.1 ตัวอย่างระบบคำนวณค่าโดยสารรถประจำทาง
หากผู้ปกครองพานักเรียนอนุบาลขึ้นรถโดยสารประจำทางไปโรงเรียน คนเก็บค่าโดยสารต้องคำนวณว่า ผู้ปกครองและนักเรียน จะต้องเสียคำโดยสารคนละเท่าใด โดยขึ้นอยู่กับเงื่อนไขอายุหรือส่วนสูง เป็นตัน หากต้องการระบบเก็บค่าโดยสารอัตโนมัติ ระบบนี้จะต้องคำนวณค่าโดยสารได้เอง จากเงื่อนไขที่ถูกกำหนดไว้ล่วงหน้าแล้ว
ตัวอย่างที่ 2.1 ค่ารถโดยสาร
รถโดยสารสาธารณะในอำเภอหนึ่ง ประกาศอัตราค่าโดยสารไว้ดังนี้
- ผู้โดยสารทั่วไป คิดอัตราคนละ 10 บาทตลอดเส้นทาง
- ผู้โดยสารที่เป็นเด็กอายุต่ำกว่า 3 ขวบ โดยสารฟรี
- ผู้โดยสารสูงอายุที่มีอายุตั้งแต่ 60 ปีขึ้นไป คิดค่าโดยสารครึ่งราคา
- ราคาค่าโดยสารสำหรับหมู่คณะที่ประกอบด้วยผู้โดยสารไม่เกิน 30 คน ถ้าค่าโดยสารรวมเป็นจำนวนตั้งแต่ 200 บาทขึ้นไปจะมีส่วนลดเพิ่มอีก 10%
ถ้านักเรียนต้องการนำคนในหมู่บ้านไปทัศศึกษา และต้องการคำนวณค่ารถโดยสารจะออกแบบอัลกอริทีมอย่างไร เพื่อแก้ปัญหาข้างตัน นักเรียนควรพิจารณาการแก้ปัญหาย่อยต่อไปนี้
1. ทราบได้อย่างไรว่ามีผู้โดยสารที่เป็นเด็กอายุต่ำกว่า 3 ขวบกี่คน เป็นผู้ใหญ่อายุมากกว่า 60 ปีกี่คนและที่เหลือกี่คน
ตอบ นับจำนวนผู้โดยสาร ว่ามีทั้งหมดกี่คน เป็นเด็กที่มีอายุต่ำกว่า 3 ขวบกี่คน เป็นผู้สูงอายุกี่คน จำนวน ผู้โดยสารที่ต้องชำระค่าโดยสารเต็มราคากี่คน ซึ่งคำนวณได้จากจำนวนผู้โดยสารทั้งหมด ลบด้วยจำนวนเด็กที่อายุต่ำกว่า 3 ขวบ และลบด้วยจำนวนผู้สูงอายุ
2. ค่าโดยสารรวมของผู้สูงอายุเป็นเท่าไร
ตอบ ค่าโดยสารรวมของผู้สูงอายุ คำนวณได้จาก จำนวนผู้สูงอายุคุณกับค่าโดยสาร 5 บาท (ครึ่งหนึ่งของ 10 บาท)
3. ค่าโดยสารรวมของผู้โดยสารที่จ่ายเต็มราคาเป็นเท่าไร
ตอบ ค่าโดยสารรวมของผู้โดยสารที่จ่ายเต็มราคา คำนวณได้จาก จำนวนผู้โดยสารที่เหลือ (ผลลัพธ์จาก ข้อ 1) คูณกับ 10 บาท
4. ค่าโดยสารรวมทั้งหมดเป็นเท่าไรก่อนลดราคา
ตอบ ค่าโดยสารวมทั้งหมด คำนวณได้จาก ค่าโดยสารวมของผู้สูงอายุ (ผลลัพธ์จากข้อ 2) บวกกับ
ค่าโดยสารรวมของผู้โดยสารที่จ่ายเต็มราคา (ผลลัพธ์จากข้อ 3)
5. ได้รับส่วนลด 10% หรือไม่
ตอบ ได้รับส่วนลดเมื่อมีจำนวนผู้โดยสารไม่เกิน 30 คน และมีค่าโดยสารรวมตั้งแต่ 200 บาทขึ้นไป
6. หากได้รับส่วนลด ค่าโดยสารสุทธิเป็นเท่าไร
ตอบ ค่าโดยสารสุทธิคำนวณได้จาก ค่าโดยสารรวมทั้งหมด (ผลลัพธ์จากข้อ 4) ลบด้วย 10% ของค่าโดยสารรวมทั้งหมด
7. แสดงผลอะไรบ้าง
ตอบ แสดงจำนวนผู้โดยสารทั้งหมด จำนวนผู้โดยสารที่จ่ายเต็มราคา จำนวนผู้โดยสารที่เป็นเด็กอายุต่ำ กว่า 3 ขวบ จำนวนผู้โดยสารที่เป็นผู้สูงอายุ ค่าโดยสารรวมก่อนลดราคา และค่าโดยสารสุทธิหลังหักส่วนลด
นำแนวทางการแก้ปัญหาย่อยที่ได้มาเรียบเรียงเป็นอัลกอทีมในรูปแบบรหัสลำลองได้ดังนี้
1. all <-- รับจำนวนผู้โดยสารทั้งหมด
2. children <-- รับจำนวนผู้โดยสารที่มีอายุต่ำกว่า 3 ขวบ
3. elders <-- รับจำนวนผู้สูงอายุ (มีอายุตั้งแต่ 60 ปีขึ้นไป)
4. regular <-- (all - children - elders)
5. fare_elders <-- elders*(10/2)
6. fare_regular <-- regular*10
7. total <-- fare _elders + fare_regular
8. แสดงค่า all, children, elders, regular
9. แสดงค่า total
10. ถ้า all <= 30 และ total >= 200
10.1 total_discounted <-- total -(total*0.1)
10.2 แสดงค่า total_discounted
ไม่มีความคิดเห็น:
แสดงความคิดเห็น