บทที่ 7: If Statements


ในบทนี้จะเป็นการเรียนรู้สำหรับการเขียนโปรแกรมเชิงเงื่อนไขด้วยการใช้คำสั่ง (if และ if/else)

Basic Conditionals

โปรแกรมจะเริ่มทำงานตามคำสั่งที่อยู่ใน code block ของคำสั่ง if ก็ต่อเมื่อเงื่อนไขที่ทำการตรวจสอบ มีค่าเป็นจริง และจะทำงานตามคำสั่งที่อยู่ใน code block ของคำสั่ง else เมื่อเงื่อนไขที่ทำการตรวจสอบ มีค่าเป็นเท็จ

if test:
if code-block
else:
else code-block

เพื่อให้สามารถทำความเข้าใจการทำงานของคำสั่ง if/else ได้ง่ายขึ้น ด้านล่างคือตัวอย่างโปรแกรมที่ให้คาเรลเดินไปจนสุดกำแพง โดยในระหว่างทาง ถ้าเจอเหรียญ ให้คาเรลเก็บเหรียญ แต่ถ้าไม่เจอเหรียญ ก็ให้คาเรลวางเหรียญแทน

ในบางครั้งที่ต้องการให้โปรแกรมทำงานเฉพาะอย่างเพิ่มเติม เมื่อพบเงื่อนไขพิเศษ สามารถใช้คำสั่ง if เพียงอย่างเดียวได้โดยไม่จำเป็นต้องใช้คำสั่ง else

if test:
if code-block

Conditions

ตารางข้างล่างคือรายการคำสั่งที่หุ่นยนต์คาเรลสามารถใช้ตรวจสอบเงื่อนไขต่างๆ ได้

Test Opposite ตรวจสอบสิ่งใด
front_is_clear() front_is_blocked() มีกําแพงด้านหน้าหรือไม่
beepers_present() no_beepers_present() มีเหรียญที่ว่างอยู่ตรงใต้ Karel หรือไม่
left_is_clear() left_is_blocked() มีกําแพงด้านซ้ายหรือไม่
right_is_clear() right_is_blocked() มีกําแพงด้านขวาหรือไม่
beepers_in_bag() no_beepers_in_bag() มีเหรียญในถุงที่หุ่น Karel หรือไม่
facing_north() not_facing_north() ทิศทาง Karel ว่าหันไปทางเหนือหรือไม่
facing_south() not_facing_south() ทิศทาง Karel ว่าหันไปทางใต้หรือไม่
facing_east() not_facing_east() ทิศทาง Karel ว่าหันไปทางตะวันออกหรือไม่
facing_west() not_facing_west() ทิศทาง Karel ว่าหันไปทางตะวันตกหรือไม่

Putting it all together

ยินดีด้วย ถึงตรงนี้ ผู้ใช้ได้เรียนรู้พื้นฐานของการเขียนโปรแกรมในทุกๆ ภาษาในขณะที่เรียนรู้การควบคุมหุ่นยนต์คาเรล โดยคำสั่ง for loops, while loops, if/else เป็นพื้นฐานที่ถูกใช้ในทุกๆ ภาษาหรับการเขียนโปรแกรม


บทถัดไป