บทที่ 3: เงื่อนไขและการตัดสินใจ (Conditionals)

3.3 การเขียนโปรแกรมที่ใช้การตัดสินใจตามเงื่อนไข

การเขียนโปรแกรมที่ใช้การตัดสินใจตามเงื่อนไข (Conditional Programming) เป็นพื้นฐานสำคัญในการพัฒนาโปรแกรมให้ทำงานตามเงื่อนไขที่กำหนดไว้ ไม่ว่าจะเป็นการตัดสินใจว่าจะแสดงผลลัพธ์อะไร หรือควบคุมการทำงานของโปรแกรมเมื่อเงื่อนไขบางอย่างเป็นจริงหรือไม่เป็นจริง ใน Python การตัดสินใจตามเงื่อนไขจะใช้คำสั่ง if, elif, และ else เพื่อควบคุมการทำงานของโปรแกรมตามเงื่อนไขที่กำหนด

หลักการของ Conditional Programming
  1. ตรวจสอบเงื่อนไข: โปรแกรมจะตรวจสอบเงื่อนไขที่กำหนดในคำสั่ง if หากเงื่อนไขนั้นเป็นจริง (True) โปรแกรมจะทำงานในบล็อกคำสั่งที่เกี่ยวข้อง
  2. การใช้ elif: หากเงื่อนไขแรกไม่เป็นจริง (False) โปรแกรมจะตรวจสอบเงื่อนไขต่อไปในคำสั่ง elif
  3. การใช้ else: หากไม่มีเงื่อนไขใด ๆ เป็นจริงเลย โปรแกรมจะทำงานในบล็อกคำสั่ง else หากมี
ตัวอย่างการเขียนโปรแกรมที่ใช้การตัดสินใจตามเงื่อนไข

ตัวอย่างที่ 1: การตัดสินใจแบบง่าย

ในตัวอย่างนี้ เราจะใช้คำสั่ง if และ else เพื่อทำการตัดสินใจง่าย ๆ ว่าผู้ใช้จะได้รับข้อความอะไรขึ้นอยู่กับอายุของเขา

age = int(input("Enter your age: "))

if age >= 18:
    print("You are an adult.")
else:
    print("You are not an adult.")

อธิบาย:

  • โปรแกรมจะรับค่าอายุจากผู้ใช้
  • หากอายุมากกว่าหรือเท่ากับ 18 โปรแกรมจะแสดงข้อความว่า "You are an adult."
  • หากอายุน้อยกว่า 18 โปรแกรมจะแสดงข้อความว่า "You are not an adult."

ตัวอย่างที่ 2: การใช้หลายเงื่อนไข (Nested Conditions)

ในตัวอย่างนี้ เราจะตรวจสอบหลายเงื่อนไขเพื่อแสดงเกรดตามคะแนนที่ได้รับ

score = int(input("Enter your score: "))

if score >= 90:
    print("You got an A.")
elif score >= 80:
    print("You got a B.")
elif score >= 70:
    print("You got a C.")
elif score >= 60:
    print("You got a D.")
else:
    print("You got an F.")

อธิบาย:

  • โปรแกรมจะรับค่าคะแนนจากผู้ใช้
  • จากนั้นจะเปรียบเทียบกับช่วงคะแนนที่กำหนดไว้เพื่อแสดงเกรดตามเงื่อนไข เช่น หากคะแนนอยู่ระหว่าง 80 ถึง 89 จะได้เกรด B เป็นต้น

ตัวอย่างที่ 3: การใช้ตัวดำเนินการตรรกศาสตร์ในเงื่อนไข

ในตัวอย่างนี้ เราจะใช้ตัวดำเนินการตรรกศาสตร์ (and, or) เพื่อเชื่อมเงื่อนไขหลายเงื่อนไขเข้าด้วยกัน

temperature = int(input("Enter the temperature: "))
is_sunny = input("Is it sunny today? (yes/no): ")

if temperature > 30 and is_sunny == "yes":
    print("It's a hot and sunny day.")
elif temperature <= 30 and is_sunny == "yes":
    print("It's a pleasant and sunny day.")
else:
    print("The weather is not sunny.")

อธิบาย:

  • โปรแกรมจะตรวจสอบว่าอุณหภูมิและสภาพอากาศเป็นอย่างไร และแสดงข้อความตามเงื่อนไข เช่น หากอุณหภูมิสูงกว่า 30 องศาและมีแดด จะบอกว่าร้อนและแดดจัด
การใช้การตัดสินใจตามเงื่อนไขในการแก้ปัญหา

การใช้เงื่อนไขสามารถนำไปประยุกต์ในการเขียนโปรแกรมเพื่อแก้ปัญหาต่าง ๆ ได้ เช่น การควบคุมการแสดงผลในเกม การคำนวณเงินเดือน การตรวจสอบข้อมูลผู้ใช้ และอื่น ๆ อีกมากมาย

ตัวอย่างที่ 4: การคำนวณเงินเดือนตามชั่วโมงการทำงาน

ในตัวอย่างนี้ โปรแกรมจะคำนวณเงินเดือนของพนักงานตามจำนวนชั่วโมงการทำงาน โดยมีการให้โบนัสสำหรับการทำงานเกินเวลา

hours_worked = int(input("Enter the number of hours worked: "))
hourly_rate = 15

if hours_worked > 40:
    overtime = hours_worked - 40
    regular_pay = 40 * hourly_rate
    overtime_pay = overtime * (hourly_rate * 1.5)
    total_pay = regular_pay + overtime_pay
else:
    total_pay = hours_worked * hourly_rate

print("Total pay:", total_pay)

อธิบาย:

  • หากพนักงานทำงานเกิน 40 ชั่วโมง จะมีการคำนวณค่าทำงานล่วงเวลา
  • หากทำงานไม่เกิน 40 ชั่วโมง จะคำนวณเงินเดือนปกติ
สรุป

การใช้การตัดสินใจตามเงื่อนไขช่วยให้โปรแกรมมีความยืดหยุ่นและสามารถจัดการกับสถานการณ์ต่าง ๆ ได้อย่างมีประสิทธิภาพ โปรแกรมสามารถตรวจสอบเงื่อนไขหลายเงื่อนไขและทำงานตามเงื่อนไขที่กำหนด ซึ่งเป็นพื้นฐานสำคัญในการพัฒนาโปรแกรมที่มีความซับซ้อนมากขึ้น