The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

บทที่ 2 การแก้ปัญหาด้วยภาษาไพทอน 04

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by punch.mizaga, 2022-07-25 04:49:54

บทที่ 2 การแก้ปัญหาด้วยภาษาไพทอน 04

บทที่ 2 การแก้ปัญหาด้วยภาษาไพทอน 04

บทท่ี 2
การแกป้ ัญหาดว้ ยไพทอน

วิทยาการคานวณ ช้ันมธั ยมศกึ ษาปที ่ี 2

คาถาม?
“ถ้าเปรยี บคอมพวิ เตอรเ์ ปน็ รา่ งกายมนษุ ย์

จะเปรยี บหนว่ ยประมวลผลกลางกบั อวยั วะใด”

สมอง

การออกแบบขน้ั ตอนการทางานของโปรแกรม

การออกแบบขน้ั ตอนการทางานของโปรแกรม

การออกแบบขน้ั ตอนการทางานของโปรแกรม

รู้จกั กบั ไพทอน

ไพทอนเป็นภาษาที่ง่ายต่อการเริม่ ตน้ เรียนร้กู ารเขียนโปรแกรม มี
โครงสร้างคาสั่งท่ีไม่ซับซ้อน มีชุดคาสั่งท่ีทางานทางด้านกราฟิกให้เลือกใช้
งานไดส้ ะดวก สามารถทดสอบการทางานตามคาส่ัง และตรวจสอบผลลัพธ์
ได้ทันที นักเรียนสามารถนาภาษาไพทอนไปใช้ในการเขียนโปรแกรมท่ี
ซับซ้อนเพ่ือการทางานจริงได้ ตัวอย่างโปรแกรมที่ใช้ภาษา Pythonใน
การใชง้ าน เช่น Google, YouTube, Instagram

การเขยี นโปรแกรมภาษา Python

ตวั ดาเนนิ การทใ่ี ชใ้ นการเขยี นภาษาไพทอน

ตัวแปรในภาษาไพทอน ตวั แปร คือ สัญลักษณ์ในลกั ษณะคาภาษาอังกฤษที่
ผพู้ ฒั นาโปรแกรมหรือผู้เขียนโปรแกรมต้ังชอ่ื น้ันข้ึนมาเองเพอื่ ใช้เกบ็ ข้อมูลตา่ งๆ
ในชุดคาสง่ั ภาษาโปรแกรมหรือโค้ดโปรแกรม

รหสั ควบคมุ (Escape Sequence) คือ รหสั พิเศษทแี่ ทรกไว้ในข้อมูล
ตัวอักษร เพื่อใชค้ วบคุมการแสดงผลของตวั อักษรออกมาทางจอภาพในลกั ษณะ
ตา่ งๆ ซง่ึ การใชง้ านรหัสควบคุมจะต้องมเี ครอ่ื งหมาย \ (Back – Slash)
นาหน้าเสมอ

ตัวดาเนินการทใ่ี ชใ้ นการเขยี นภาษาไพทอน(ต่อ)

ตัวดาเนนิ การ (Operator) เป็นเคร่ืองหมาย หรอื อกั ขระท่ใี ชส้ าหรบั
คานวณ หรอื ประมวลผลต่างๆ โดยในภาษาไพทอนมีตวั ดาเนินการหลาย
ชนิด ได้แก่ ตวั ดาเนนิ การทางคณติ ศาสตรต์ ัวดาเนนิ การสาหรบั กาหนดคา่
ตัวดาเนนิ การเปรียบเทียบ และตวั ดาเนินการตรรกะ

การใช้งานฟงั กช์ ันในโปรแกรมไพทอน

ฟงั กช์ นั คาสง่ั แสดงผลทางหนา้ จอ

ในภาษาไพทอนคาสงั่ ทใี่ ชแ้ สดงผลออกมาทางหนา้ จอ คอื ฟงั กช์ นั print( )
ซง่ึ มรี ปู แบบการใชง้ าน 2 รูปแบบ ดังน้ี

print(ขอ้ มลู ) ข้อมูลทอี่ ยใู่ นวงเลบ็ สามารถเปน็ ไดท้ งั้ ตวั เลข ตวั อกั ษร ตวั แปร หรอื นพิ จน์ และหากมี
การใชง้ านตวั แปรหลายตวั ตอ้ งใสเ่ ครอ่ื งหมาย ( , ) คั่นระหวา่ งตวั แปรเสมอ
ตวั อยา่ ง print("Hello”)

print(“ขอ้ มลู ทมี่ กี ารแทรกรหสั รปู แบบขอ้ มลู ” ตาแหนง่ รหสั รปู แบบขอ้ มลู ) การใชฟ้ งั กช์ นั print( )
ในลกั ษณะน้ี จะมกี ารแทรกรหสั รปู แบบขอ้ มลู ไวใ้ นขอ้ มลู ทจี่ ะแสดงผล
ตัวอยา่ ง print("Area is ",area)

การใชง้ านฟงั กช์ ันในโปรแกรมไพทอน(ต่อ)

ฟงั ก์ชนั คาสงั่ รบั ขอ้ มลู ทางแปน้ พมิ พ์

ในภาษาไพทอนคาสงั่ ทใี่ ชร้ บั ขอ้ มลู ทางแปน้ พมิ พ์ คือ input( ) โดยขอ้ มลู ทไ่ี ดร้ บั เขา้ มานนั้ จะ
เป็นขอ้ มลู ชนดิ ขอ้ ความ หากตอ้ งการใชง้ านขอ้ มลู ทรี่ บั เขา้ มาเปน็ ขอ้ มลู ชนดิ อื่น เชน่ เลขจานวน
เตม็ จาเปน็ ตอ้ งแปล ข้อมลู ทเ่ี ปน็ ขอ้ ความทรี่ บั เขา้ มาจากแป้นพมิ พเ์ ปน็ ขอ้ มลู ชนดิ อ่นื กอ่ นเสมอ
ตวั แปร = input(ขอ้ ความ)
- ตวั แปร คือ ตวั แปรทใ่ี ชเ้ กบ็ ขอ้ มลู ทร่ี บั จากทางแปน้ พมิ พ์
- ข้อความ คอื ข้อความประกอบการรบั ขอ้ มลู

ตวั ดาเนนิ การบลู นี

บูลีน (Boolean) เป็นทฤษฎีทางพีชคณิตท่ีใช้ตัว
ดาเนนิ การทางตรรกะศาสตรแ์ ละทฤษฎขี องเซต คาว่า พีชคณิต
แบบบลู ต้ังตามชอ่ื ของ จอร์จ บลู นักคณติ ศาสตร์ชาวองั กฤษ
เป็นผู้คิดพีชคณิตแบบบลูขึ้น ซ่ึงเป็นรากฐานสาคัญของ
ตรรกศาสตรแ์ ละวงจรดิจิทัล โดยนาเทคนิคทางพีชคณิตมาใช้
กบั นิพจน์ในตรรกศาสตรเ์ ชิงประพจน์

ตวั ดาเนนิ การบลู นี

ตวั ดาเนนิ การตรรกศาสตร์ (Logical Operators)
คือ ตัวดาเนินการท่ีใช้สาหรับประเมินค่าทางตรรกศาสตร์
ซึ่งผลลัพธ์จากการประเมิน จะให้ค่า จริง(True) ค่าเท็จ(False)
อย่างใดอย่างหนึ่งเท่าน้ัน ซ่ึงในโปรแกรมภาษาไพทอนมี 3 ตัวคือ
and, or และ not

ตัวดาเนินการบลู นี and

นพิ จน์ 1 นิพจน์ 2 นิพจน์ 1 and นพิ จน์ 2 ผลลัพธท์ ไ่ี ดจ้ ำกกำรเช่ือม
จรงิ จริง จรงิ นพิ จน์ 2 นิพจน์ด้วย and
จริง เทจ็ เทจ็ จะเปน็ จรงิ (True) ถำ้ ท้งั สอง
เทจ็ จริง เทจ็ นพิ จนเ์ ป็นจรงิ ทัง้ คู่ สว่ น
เท็จ เทจ็ เทจ็ กรณอี ่นื ๆ จะเปน็ เทจ็ (False)

กำหนดให้ height <= 115 and age <= 3

height = 120 เท็จ จริง

age = 3 เทจ็

ตัวดาเนินการบลู นี or

นพิ จน์ 1 นิพจน์ 2 นพิ จน์ 1 or นพิ จน์ 2 นพิ จนท์ เี่ ชื่อมด้วย or จะ
จริง จรงิ จริง เปน็ จรงิ (True) ถ้ำอยำ่ ง
จริง เท็จ จรงิ นอ้ ยหนงึ่ นิพจน์เปน็ จรงิ
เทจ็ จริง จรงิ
เทจ็ เท็จ เท็จ

กำหนดให้ height <= 115 or age <= 3
height = 120
age = 3 เทจ็ จริง

จริง

ตัวดาเนนิ การบลู นี not

นพิ จน์ 1 not นพิ จน์ 1 นพิ จน์ทีม่ ี not นำหน้ำจะมี
จริง เทจ็ ค่ำควำมจริงเป็นตรงกนั ขำ้ ม
เทจ็ จรงิ

กำหนดให้ not height <= 115
height = 120
เท็จ
จริง

กิจกรรมการหาผลลพั ธ์

การหาผลลพั ธ์ค่าความจริงจากนพิ จน์เปรียบเทียบทีม่ ีการใช้

ตัวดาเนินการบลู นี ทดลองพมิ พค์ าสั่งต่อไปนี้ในคอนโซล ถ้าเปลย่ี น age มีค่า

age=12 False เป็น 9 , 20 ผลลัพธ์
age>13 and age<19 True จะเปน็ อยา่ งไร
age>13 or age<19 True
not age>13

สรุปบทเรยี น

นกั เรียนไดเ้ รยี นรเู้ รอ่ื งอะไรบา้ ง
ในคาบเรยี นนี้

การวนซา้ ด้วยคาสัง่
while

การแกป้ ัญหาดว้ ยไพทอน

การวนซา้ ดว้ ยคาสงั่ while

ในการเขียนโปรแกรมใหท้ างานวนซา้ ชุดคาสั่ง
เดิม นอกจากคาส่ัง for แล้ว ภาษาไพทอนยังมีคาส่ัง
while ใหเ้ ลือกใช้งาน ซงึ่ คาสัง่ while จะเหมาะสมกบั
กรณีการวนซ้าท่ีไม่ทราบจานวนรอบหรือจานวนคร้ัง
ของการวนซ้าท่แี นน่ อน

รปู แบบการใช้ เรม่ิ ตน้ While เทจ็

while เงอ่ื นไขทางเลอื ก: เงือ่ นไข
ชดุ คาสง่ั ทางเลอื ก

การทางานของคาส่ัง while คอื จริง
ถ้าเงื่อนไขทางเลือก เป็นจริง ชุดคาสั่งจะถูก ชดุ คาสงั่
เรียกใหท้ างานเปน็ จานวนหนงึ่ ครงั้ แล้วจะวน
กลับไปตรวจสอบเงอื่ นไขทางเลอื กอกี จนกว่า
เง่ือนไขทางเลอื กจะเปน็ เทจ็ และจงึ จะออกจาก
การวนซา้ และไปทางานในคาสัง่ ถัดไป

ตัวอยา่ งผังงาน

ตัวอยา่ งโครงสรา้ งแบบวนซา้
สถานการณ:์ ต้องการเขยี นผงั งานแสดงขน้ั ตอนถา่ ยภาพใหเ้ พอื่ น
หากเขียนไลเ่ รียงขนั้ ตอนการถา่ ยภาพออกมาเปน็ ขอ้ ๆ จะได้ดงั น้ี

1. ถ่ายภาพ
2. ถา้ ภาพสวย จะส่งรูปใหเ้ พอ่ื น แตถ่ ้าภาพไมส่ วย
จะถ่ายใหม่จนกว่าจะสวย
จากขา้ งตน้ สามารถนามาเขียนใหอ้ ยใู่ นรปู ผงั งานได้ ดังนี้

ขอ้ สงั เกต
-การตงั้ เงอ่ื นไข จะต้องเปน็ เงอ่ื นไขทท่ี าใหเ้ ราสามารถตดั สนิ ใจได้ 2 ทาง คอื
จรงิ หรอื เทจ็ , ใชห่ รอื ไมใ่ ช่
- ตอ้ งมกี ารเขยี นบอก “จริง”, “เทจ็ ” ท่ลี กู ศรเพอ่ื บอกลาดบั การทางานดว้ ย
- ถา้ มจี ดุ ทล่ี กู ศรเลอ่ื นมาชนกนั หรอื รวมกนั ใหใ้ ชส้ ญั ลกั ษณ์ “จดุ เชอื่ มตอ่ ” ดว้ ย
- สงั เกตการใชส้ ญั ลกั ษณใ์ นขัน้ ตอนตา่ งๆ ใหด้ ี

ผงั งานตวั อยา่ งที่ 2.4

กจิ กรรมการหาผลลพั ธ์

ทดลองตัวอย่างที่ 2.4 การใช้คาสงั่ while เม่อื ไมท่ ราบจานวนรอบ
การวนซา้ ทแ่ี น่นอน

สรุปบทเรยี น

นอกจากคาสั่ง for ในการทางานแบบวนซ้าแล้ว
ภาษาไพทอนยังมีคาสั่ง while ให้เลือกใช้งาน ซ่ึงคาสั่ง
while จะเหมาะสมกบั กรณกี ารวนซา้ ทไ่ี ม่ทราบจานวนรอบ
หรือจานวนครัง้ ของการวนซา้ ทแ่ี นน่ อน

เงื่อนไขทางเลือก
if-else

การแกป้ ัญหาด้วยไพทอน

คาถาม?

“สถานการณใ์ นชวี ติ ประจาวนั
ทีต่ อ้ งตดั สนิ ใจ”

เง่อื นไขทางเลอื ก

คาสั่ง if-else ช่วยให้โปรแกรมไพทอนสามารถ
ตัดสินใจเลือกทางานชุดคาสั่งตามผลลัพธ์ของเงื่อนไข ซึ่งมี
สองทางเลือก และหากมีทางเลือกมากกว่านั้น ผู้เขียน
โปรแกรมต้องใช้คาส่ัง if-else ร่วมกัน หรือซ้อนกันเพ่ือให้
ได้จานวนทางเลือกตามท่ีต้องการไพทอนยังมีคาส่ังให้ใช้ใน
กรณที มี่ ีหลายทางเลอื ก คอื คาสัง่ if-elif-else ซงึ จะช่วยให้
สะดวกข้ึน

รูปแบบการใช้

if เงอื่ นไขทางเลอื ก1:
ชุดคาสง่ั 1

elif เงื่อนไขทางเลอื ก2:
ชุดคาสง่ั 2

elif เงือ่ นไขทางเลอื ก3:
ชุดคาสง่ั 3

...
else:

ชดุ คาสง่ั สดุ ทา้ ย

ตวั อยา่ งผังงาน

ตวั อยา่ งโครงสรา้ งแบบมที างเลอื ก
สถานการณ์ ตอ้ งการเขยี นผงั งานแสดงขน้ั ตอนถา่ ยภาพ
หากเขยี นไลเ่ รียงขนั้ ตอนการถา่ ยภาพออกมาเปน็ ขอ้ ๆ จะได้ดงั น้ี

1. ถ่ายภาพ
2. ถา้ ภาพสวย จะเก็บภาพไว้ ถา้ ภาพไมส่ วย จะลบภาพทงิ้
จากข้างตน้ สามารถนามาเขยี นใหอ้ ยใู่ นรปู ผงั งานได้ ดังน้ี

ข้อสังเกต
- การตงั้ เงอื่ นไข จะตอ้ งเปน็ เงอ่ื นไขทท่ี าใหเ้ ราสามารถตดั สนิ ใจได้ 2 ทาง คือ
จรงิ หรอื เทจ็ , ใชห่ รอื ไมใ่ ช-่ ตอ้ งมกี ารเขยี นบอก “จริง”, “เทจ็ ” ท่ลี ูกศรเพอ่ื บอก
ลาดบั การทางานดว้ ย
- ถา้ มจี ดุ ทลี่ กู ศรเลอ่ื นมาชนกนั หรอื รวมกนั ให้ใชส้ ญั ลกั ษณ์ “จุดเชอื่ มตอ่ ” ด้วย
- สงั เกตการใชส้ ญั ลกั ษณใ์ นข้ันตอนตา่ งๆ ให้ดี

กิจกรรมการหาผลลพั ธ์

ทดลองตวั อย่างท่ี 2.5 การใชค้ าส่งั if-elif-else สาหรบั กรณีท่มี มี ากกวา่ 2 ทางเลอื ก “เขียน
โปรแกรมไพทอนเพ่ือแจ้งราคาค่าโดยสารรถประจาทาง ซ่งึ ปกตอราคา 6.50 บาท แตถ่ ้าเปน็
ผู้สูงอายจุ ะเสียคา่ โดยสารเพยี งคร่ึงเดยี ว และถา้ เปน็ เดก็ ที่อายุไมเ่ กิน 3 ขวบไม่ตอ้ งเสยี คา่ โดยสาร

ดงั นี้”

สรุปบทเรยี น

คาสั่ง if-else ชว่ ยใหโ้ ปรแกรมไพทอนสามารถตดั สนิ ใจ
เลอื กทางานชดุ คาสง่ั ตามผลลพั ธข์ องเงอื่ นไข ซ่งึ มี สองทางเลอื ก
และหากมที างเลอื กมากกวา่ นน้ั ต้องใชค้ าสงั่ if-else ร่วมกนั หรอื
ซอ้ นกนั เพอื่ ใหไ้ ดจ้ านวนทางเลอื กตามทต่ี อ้ งการ

https://www.liveworksheets.com/4-td297827fa

1. พมิ พ ์ ชอื่ ชนั้ เลขที่
2. พมิ พค์ ำตอบใหค้ รบถว้ น

3. เมอื่ เสรจ็ แลว้ กดป่ มุ Finish!!

4. กดเลอื กตรงนี้

5. พมิ พช์ อื่ ตวั เอง
6. พมิ พช์ นั้
7. พมิ พช์ อื่ วชิ ำ
8. พมิ พ ์z1j972x7h0k
9. เสรจ็ แลว้ กด Send เพอื่ สง่

สรปุ ทา้ ยบท

การโปรแกรมดว้ ยไพทอนมคี าสง่ั if if-else สาหรบั การทางานแบบ
มที างเลอื ก นอกจากนย้ี งั มคี าสงั่ สาหรบั การทาทม่ี หี ลายเงอ่ื นไข หรือ if เชิงซอ้ น
ได้แก่ คาสงั่ if-elif-else และยงั มตี วั ดาเนนิ การบูลนี ทใ่ี ชใ้ นนพิ จนเ์ ปรยี บเทยี บ
สาหรบั กาหนดเงอ่ื นไขทซี่ บั ซอ้ นขน้ึ ไดแ้ ก่ and or และ not และคาสงั่ สาหรบั
การทางานแบบวนซา้ ได้แก่ for ใช้สาหรบั การทางานทที่ ราบจานวนรอบ และ
while ใช้ในกรณที ไี่ มท่ ราบจานวนรอบทแ่ี นน่ อน


Click to View FlipBook Version