แนวคิดเชิงคาํ นวณ
(Computational Thinking)
ทิพยส์ ดุ า สรณะ
แนวคิดเชิ งคาํ นวณคืออะไร
องคป์ ระกอบของแนวคดิ เชงิ คำนวณ คือ
การคดิ แนวคดิ ในการแกป้ ัญหา
อยา่ งเปน็ ระบบ
เปน็ กระบวนการ
ทีม่ ลี ำดบั ขั้นตอนชัดเจน
เปน็ กระบวนการทมี่ นุษย์
และคอมพวิ เตอรเ์ ขา้ ใจร่วมกันได้
การแก้ปัญหาโดยใช้แนวคิ ด
เชิ งคาํ นวณ
ตวั อย่างการแบ่งปัญหาใหญ่เป็ นปัญหาย่อย (Decomposition)
1. รถของครูเฟิ ร์น
ครูเฟิร์น เป็นคณุ ครูที/เดก็ ๆ รัก และกําลงั จะเดนิ ทางไปโรงเรียนในเช้าของวนั นี Eแตด่ ้วยครูปมุ้ ไมส่ ามารถ
สตาร์ทรถยนต์คใู่ จท/ีใช้ทกุ วนั ให้ตดิ ได้ จงึ ทบทวนสาเหตวุ า่ อาจเกิดปัญหา O ประการ ได้แก่ เมื/อคืนเปิดไฟในรถ
ทิงE ไว้ทงัE คืนอาจจะทําให้แบตเตอร/ีหมด หรือ ก่อนเข้าบ้านเขาไมไ่ ด้เตมิ นําE มนั ให้เตม็ ถงั อาจจะเป็นไปได้วา่
นําE มนั ในถงั เชิงเพลงิ หมด หรืออาจจะเป็นปัญหาเคร/ืองยนต์ เมื/อต้องการใช้แนวคดิ เชิงคํานวณแก้ปัญหาท/ี
เกิดขนึ E ครูปมุ้ จะสามารถแก้ปัญหาด้วยการแบง่ ปัญหาใหญ่เป็นปัญหายอ่ ย ได้ดงั นี E
การแบง่ ปัญหาใหญ่เป็นปัญหายอ่ ย (Decomposition)
1. แบตเตอร/ีหมด
S. นําE มนั เชือE เพลงิ หมด
O. เครื/องยนต์มีปัญหา
แนวคดิ เชิงนามธรรม (abstract thinking หรือ abstraction) เป็ นองค์ประกอบหน8ึงของแนวคดิ เชิงคาํ นวณ (computational thinking) ซ8ึงใช้กระบวนการคดั
แยกคุณลกั ษณะทส8ี ําคญั ออกจากรายละเอยี ดปลกี ย่อยในปัญหา หรืองานทก8ี าํ ลงั พจิ ารณา เพ8ือให้ได้ข้อมูลทจ8ี าํ เป็ นและเพยี งพอในการแก้ปัญหา
แชร์กบั ฉัน
หอ้ งเรียนหอ้ งหน+ึงในโรงเรียนมธั ยมแห่งหน+ึงมีนกั เรียนอยทู่ 6งั หมด 20 คน เพอ+ื เป็นการตอนรับการเปิ ดเทอมก๊วนเพอื+ นรักซ+ึงประกอบไปดว้ ยหนูนิก
หนูแนน และหนูหน่อยไดน้ ดั กนั ไปรับประทานอาหารที+ร้านป้าแป๋ วใกลโ้ รงเรียน และตกลงกนั วา่ ไม่วา่ ใครจะสง+ั อะไรกจ็ ่ายค่าอาหารคนละเท่าๆ กนั โดยมี
รายการอาหารดงั น6ี
หนูนิกสงั( สลดั ผกั กบั น/าํ มะนาวป(ัน หนูแนนสง(ั
ขา้ วผดั กบั ชาเยน็ ส่วนหนูหน่อยสง(ั ก๋วยเตีAยวกบั
ทบั ทิมกรอบ
ใหพ้ ิจารณารูป 1.1 วา่ ขอ้ มูลใดบา้ งท(ีจาํ เป็นต่อการแกป้ ัญหา
ใหพ้ ิจารณารูป 1.1 วา่ ขอ้ มูลใดบา้ งท(ีจาํ เป็นต่อการแกป้ ัญหา SScchhooooll
School
ซ(ึงนกั เรียนจะเห็นวา่ ขอ้ มูลท(ีจาํ เป็นตอ้ งทราบ คือ ราคาอาหารแต่ละรายการที(สง(ั เพื(อท(ีจะ
นาํ มารวมกนั แลว้ หารดว้ ยจาํ นวนเพ(ือนที(ไป ซ(ึงประกอบดว้ ย 3 คน คือ หนูนิก หนูแนน
และหนูหน่อย
อลั กอริทึม (Algorithm) คือ กระบวนการแกป้ ัญหาท3ีสามารถอธิบายออกมาเป็นข=นั ตอนท3ีชดั เจน เมื3อนาํ เขา้ อะไร
แลว้ จะตอ้ งไดผ้ ลลพั ธ์เช่นไร กระบวนการน=ีประกอบดว้ ยจะประกอบดว้ ย วธิ ีการเป็นข=นั ๆ และมีส่วนท3ีตอ้ งทาํ แบบวนซ=าํ อีก
จนกระทง3ั เสร็จสิ=นการทาํ งาน (http://mindphp.com)
รูปแบบการเขียนอัลกอริทมึ
U.แบบลําดบั (Sequential) มีลกั ษณะการทํางานจะเป็นไปตามขนัE ตอน ก่อน-หลงั ตอ่ เนื/องกนั ไป
เป็นลาํ ดบั โดยการทํางานแตล่ ะขนัE ตอนต้องทําให้เสร็จก่อน แล้วจงึ ไปทําขนัE ตอนตอ่ ไป
S.แบบทางเลือก (Decision) อลั กอริทมึ รูปแบบนี Eมีเง/ือนไขเป็นตวั กําหนดเส้นทางการทํางานของกระบวนการ
แก้ปัญหา โดยตวั เลอื กนนัE อาจจะมีตงัE แต่ S ตวั ขนึ E ไป เชน่ สอบข้อเขียน คะแนนเตม็ XY ได้คะแนน OY สอบผา่ น ถ้า
ตํ/ากวา่ OY สอบไมผ่ า่ น
O.แบบทําซําE (Repetition) อลั กอริทมึ แบบนีคE ล้ายกบั แบบทางเลอื ก คือ มีการตรวจสอบเง/ือนไข แตแ่ ตกตา่ งกนั
ตรงท/ีเม/ือการทํางานตรงตามเงื/อนไขท/ีกําหนด โปรแกรมจะกลบั ไปทํางานอีกครังE วนการทํางานแบบนีเEรื/อย ๆ จนกระทง/ั
ไมต่ รงกบั เงื/อนไขที/กําหนดไว้จงึ หยดุ การทํางานหรือทํางานในขนัE ตอ่ ไป
กจิ กรรม วางสี สีเทา
สดี ำ สีขาว
กำหนดคำสั่งดังนี้
เริม่ เป6นคำสั่ง เรม่ิ ต'นการ coding หากไมพ4 บคำส่ังน้ีจะไมท4 ำงานใดๆ
วาง ส.ี . เป6นคำสงั่ วางสี โดยจะกำหนดวา4 เปนH สีอะไร (สีดำ สเี ทา หรือ สขี าว)
จบ เป6นคำส่ัง จบการทำงาน หากไมพ4 บคำสัง่ นี้จะถอื วา4 การทำงานยงั ไมเ4 สร็จ
ตวั อยา0 ง คำส่ัง
เร่มิ
วาง สีดำ
วาง สีขาว
วาง สดี ำ
วาง สีเทา
จบ
ตวั อย0าง คำสั่ง
เริ่ม
ทำซ้ำ 6 รอบ
วาง สขี าว
จบ
ตวั อยา0 ง คำส่ัง
เร่ิม
ทำซ้ำ 3 รอบ
วาง สเี ทา
ทำซ้ำ 3 รอบ
วาง สีขาว
จบ
ตัวอย0าง คำสัง่
1 23
เริ่ม
ทำซ้ำ 3 รอบ
วาง สดี ำ
วาง สขี าว
จบ
ตัวอยา0 ง คำสั่ง
12
เริ่ม
ทำซำ้ 2 รอบ
วาง สีดำ
ทำซำ้ 2 รอบ
วาง สขี าว
จบ
เริม่
วาง สีเหลอื ง
ทำซ้ำ 2 รอบ
วาง สีฟ<า
ทำซำ้ 2 รอบ
วาง สีเหลือง
จบ
เริ่ม
ทำซ้ำ 2 รอบ
ทำซ้ำ 2 รอบ
วาง สเี หลือง
วาง สฟี <า
ทำซำ้ 2 รอบ
วาง สีเหลือง
จบ
THANK YOU
THANK YOU
THANK YOU