คำสั่งเลือกทำอย่างใดอย่างหนึ่ง
คำสั่งเลือกทำอย่างใดอย่างหนึ่ง ( if-else )
3.3 คำสั่งเลือกทำอย่างใดอย่างหนึ่ง ( if-else ) จากตำสั่ง if ที่ผ่านมาจะใช้ในการเขียนโปรแกรมที่ใช้ทดสอบว่าจะเลือกทำหรือไม่ ถ้าเงื่อนไข เป็นจริงจะทำคำสั่งหรือสเตตเมนต์หลัง if ในกรณีที่คอมพิวเตอร์ต้องเลือกทำอย่างใดอย่างหนึ่โดยตรวจ สอบเงื่อนไขที่กำหนดจะใช้คำสั่ง if-else ถ้าเงื่อนไขเป็นจริงจะทำคำสั่งหลัง if แต่ถ้าเงื่อนไขเป็นเท็จ จะทำคำสั่งหลัง else โดยนิพจน์การตรวจสอบเงื่อนไขที่ตามหลัง if จะเป็นข้อมูลทางตรรก รูปแบบคำสั่งเป็นดังนี้ การทำงานของคำสั่งนี้สามารถเขียนผังงานได้ดังนี้ ตัวอย่าง มีคัวแปร a และ b เก็บค่าข้อมูลใดๆ ถ้าหากนำข้อมูลทั้งสองมาเปรียบเทียบกัน และต้องการให้ตัวแปร c เก็บข้อมูลที่มีค่ามากกว่าสามารถเขียนได้ดังนี้ |
โปรแกรมที่ 3.4 จงเขียนโปรแกรมคำนวณหาพื้นที่วงกลม
วิธีทำ พื้นที่วงกลมหาได้จาก พ.ท. = Pi* รัศมียกกำลังสองในการออกแบบโปรแกรมจะให้รับค่ารัศมีเข้า ไปโดยตรวจสอบว่าค่ารัศมีนั้นต้องมากกว่าศูนย์ สำหรับโปรแกรมเขียนได้ดังนี้ จากตัวอย่าง ถ้าหากเงื่อนไขของ if เป็นจริงจะทำสเตตเมนต์ที่ตามมา ซึ่งมีสเตตเมนต์เดียว แต่ถ้าหาก เงื่อนไขของ if เป็นเท็จจะทำสเตตเมนต์หลัง else ซึ่งเป็นสเตตเมนต์รวมท เมื่อรันโปรแกรม ถ้าหากป้อนค่ารัศมีที่มีค่าน้อยกว่าศูนย์จะได้ผลลัพธ์ดังนี้ ถ้าหากป้อนรัศมีที่มีค่ามากกว่าศูนย์จะได้ผลลัพธ์ดังนี้โปรแกรมที่ 3.5 จงเขียนโปรแกรมรับตัวเลขสองตัวเป็นจำนวนเต็ม จากนั้นให้คอมพิวเตอร์หารเลขทั้งสองแล้วแสดงผลหารออกมา วิธีทำ ในการหารเลขนั้นจะต้องตรวจสอบด้วยง่าตัวหารมีค่าเป็นศูนย์หรือไม่ ถ้าเป็นศูนย์จะหารไม่ได้ ในโปรแกรมต่อไปนี้จะประกาศตัวแปรสำหรับเก็บตัวเลขสองตัวคือ number1 และ number2 ส่วนผลการหารจะเก็บไว้ในตัวแปร quotient แต่ถ้าหากป้อนค่าแรกเป็น 10 และค่าที่สองเป็น 4 ผลลัพธ์ที่ได้จะเป็นดังนี้ โปรแกรมที่ 3.6 จงเขียนโปรแกรมสำหรับคำนวณจำนวนเงินค่าจ้าง โดยมีอัตราจ้างชั่วโมงละ 150 บาท โดยจะต้องทำงาน 40 ชั่วโมง แต่ถ้าหากทำงานเกิน 40 ชั่วโมงในชั่วโมงที่เกินจะได้ค่าจ้างเพิ่มขึ้น 50 เปอร์เซ็นต์ วิธีทำ โปรแกรมจะต้องรับจำนวนชั่วโมงเข้าไป และโปรแกรมทดสอบว่า จำนวนชั่วโมงเกิน 40 หรือไม่ ถ้าเกินให้นำจำนวนชั่วโมงที่เกินมาคิดจำนวนเงินเพิ่มชั่วโมงละ 50 เปอร์เซ็นต์ ซึ่งทำได้โดยนำจำนวน ชั่วโมงที่เกินมาคูณกับ 1.5 แล้วคูณกับค่าจ้างรายชั่วโมง ถ้าให้ STANDARD เป็นจำนวนชั่วโมงมาตรฐานที่ต้องทำ, RATE เป็นค่าจ้างรายชั่วโมง, hoursเป็นชั่วโมงทำงาน สามารถเขียนการตรวจสอบเงื่อนไขได้ |