ในบทนี้จะเป็นการเรียนรู้สำหรับการเขียนโปรแกรมเชิงเงื่อนไขด้วยการใช้คำสั่ง (if
และ
if/else
)
โปรแกรมจะเริ่มทำงานตามคำสั่งที่อยู่ใน code block ของคำสั่ง if ก็ต่อเมื่อเงื่อนไขที่ทำการตรวจสอบ มีค่าเป็นจริง และจะทำงานตามคำสั่งที่อยู่ใน code block ของคำสั่ง else เมื่อเงื่อนไขที่ทำการตรวจสอบ มีค่าเป็นเท็จ
if
test:
if code-block
else:
else code-block
เพื่อให้สามารถทำความเข้าใจการทำงานของคำสั่ง if/else ได้ง่ายขึ้น ด้านล่างคือตัวอย่างโปรแกรมที่ให้คาเรลเดินไปจนสุดกำแพง โดยในระหว่างทาง ถ้าเจอเหรียญ ให้คาเรลเก็บเหรียญ แต่ถ้าไม่เจอเหรียญ ก็ให้คาเรลวางเหรียญแทน
ในบางครั้งที่ต้องการให้โปรแกรมทำงานเฉพาะอย่างเพิ่มเติม เมื่อพบเงื่อนไขพิเศษ สามารถใช้คำสั่ง if เพียงอย่างเดียวได้โดยไม่จำเป็นต้องใช้คำสั่ง else
if
test:
if code-block
ตารางข้างล่างคือรายการคำสั่งที่หุ่นยนต์คาเรลสามารถใช้ตรวจสอบเงื่อนไขต่างๆ ได้
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 ว่าหันไปทางตะวันตกหรือไม่ |
ยินดีด้วย ถึงตรงนี้ ผู้ใช้ได้เรียนรู้พื้นฐานของการเขียนโปรแกรมในทุกๆ ภาษาในขณะที่เรียนรู้การควบคุมหุ่นยนต์คาเรล โดยคำสั่ง for loops, while loops, if/else เป็นพื้นฐานที่ถูกใช้ในทุกๆ ภาษาหรับการเขียนโปรแกรม