คำสั่ง if | คำสั่ง if-else | คำสั่ง if-else if | คำสั่ง Nested if

———————————————————————————————————————————

สื่อวีดิทัศน์การสอน เรื่อง :: การตรวจสอบเงื่อนไข คำสั่ง if-else ::   

———————————————————————————————————————————

2. คำสั่งกำหนดเงื่อนไข if-else 1
          คำสั่ง if-else เป็นคำสั่งที่กำหนดการเลือกกระทำตามเงื่อนไข เมื่อเงื่อนไขเป็นจริง (True) ก็จะทำตามคำสั่งหลังเงื่อนไข หากเป็นเท็จก็จะทำตามคำสั่งหลัง else ตามคำสั่งที่กำหนดไว้     

          รูปแบบคำสั่ง

if (Condition) Statement;
else
     Statement;

          หรือการนำเอาเครื่องหมาย { } มาช่วยในการทำงานแบบหลายคำสั่ง

if (Condition)
{
     Statement1;
     Statement2;
     StatementN;
}
else
{
     Statement1;
     Statement2;
     StatementN;
}

       ตัวอย่างโปรแกรม
              คุณครูต้องการทราบอายุของบิดานักเรียนแต่ละคน ว่าอายุของบิดานักเรียนมากกว่า 30 ปี
       หรือน้อยกว่า 30 ปี หรือไม่ ถ้าใช่ ให้แสดงข้อความว่า Your age > 30  แล้วขึ้นบรรทัดใหม่ ถ้าไม่ใช่
       ให้แสดงข้อความว่า Your age  < 30 แล้วขึ้นบรรทัดใหม่บนจอภาพ  จึงให้นักเรียนเขียนโปรแกรม
       เพื่อรับข้อมูลเป็นอายุของบิดานักเรียนแต่ละคนดังนี้
              “ให้นักเรียนเขียนโปรแกรมเพื่อรับข้อมูลเป็นอายุบิดาของนักเรียนแต่ละคน โดยให้แสดงข้อความ
       Enter your age บนจอภาพ พร้อมรับค่าตัวแปร age แบบ %d (เลขจำนวนเต็ม) และตรวจสอบ
       เงื่อนไขว่าตัวแปร age ที่รับเข้ามามีค่ามากกว่า 30 หากตัวแปร age มีค่ามากกว่า 30 ให้แสดง
       ข้อความว่า Your age > 30 ถ้าไม่ใช่ก็จะแสดงข้อความ Your age < 30 บนจอภาพ”


       วิเคราะห์ปัญหา (Analysis)
              สิ่งที่โจทย์กำหนด :: กำหนดให้ตัวแปร age เก็บข้อมูลอายุบิดาของนักเรียนแต่ละคน โดยใช้
       Format Code ชนิด Integer กำหนดการรับค่าตัวแปร age แบบ %d (เลขจำนวนเต็ม) กำหนด
       การตรวจสอบเงื่อนไขว่าตัวแปร age มีค่ามากกว่า 30 ให้แสดงข้อความว่า Your age > 30 แล้วขึ้น
       บรรทัดใหม่ ถ้าไม่ใช่ให้แสดงข้อความว่า Your age < 30 แล้วขึ้นบรรทัดใหม่บนจอภาพ
              สิ่งที่โจทย์ต้องการ :: แสดงอายุบิดาของนักเรียนแต่ละคนว่ามากกว่า 30 ปี หรือ น้อยกว่า 30 ปี
       หรือไม่ ด้วยค่าของตัวแปร age จากการรับข้อมูลเข้ามาในระบบ ถ้าหากตัวแปร age มีค่ามากกว่า 30
       ให้แสดงข้อความว่า Your age > 30 ถ้าไม่ใช่ ให้แสดงข้อความว่า Your age < 30 บนจอภาพ


        การแก้ปัญหา (Problem Solving) ตามแนวทางการคิดเชิงคำนวณ โดยการคิดแบบ "ขั้นตอนวิธี" (Algorithm) ดังนี้

Pseudo Code
Flowchart
Algorithm if-eles
  1. Start
  2. int age
  3. Print Enter your age :
  4. Input age
  5. if (age > 30)
    5.1 Print Your age > 30
  6.else
    6.1 Print Your age < 30
  7. End

        เขียนโปรแกรม (Coding) 

บรรทัดที่
โปรแกรม
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int age;
int main( )
{
     printf(‚ Enter your age : );
     scanf("%d",&age);
     if (age > 30) {
          printf("Your age > 30 \n");
     }else{
     printf("Your age < 30 \n"); }
}

        อธิบายโปรแกรม

บรรทัดที่ 1
กำหนดใช้งานไลบรารีชื่อ stdio.h
บรรทัดที่ 2
กำหนดตัวแปรชนิด Integer ชื่อ age
บรรทัดที่ 3
กำหนดการเริ่มต้นโปรแกรมหลัก int main( )
บรรทัดที่ 4
เริ่มชุดคำสั่งโปรแกรมหลักด้วย {
บรรทัดที่ 5
แสดงข้อความ Enter your age บนจอภาพ
บรรทัดที่ 6
รับค่าตัวแปร age แบบ %d (เลขจำนวนเต็ม)
บรรทัดที่ 7
ตรวจสอบเงื่อนไขว่าตัวแปร age ที่รับเข้ามามีค่ามากกว่า 30
บรรทัดที่ 8
หากตัวแปร age มีค่ามากกว่า 30 ให้แสดงข้อความว่า Your age > 30 แล้วขึ้นบรรทัดใหม่
บรรทัดที่ 9
เขียนคำสั่ง else หากเงื่อนไขเป็นเท็จ ให้ทำหลังคำสั่งนี้
บรรทัดที่ 10
หากตัวแปร age มีค่าน้อยกว่า 30 ให้แสดงข้อความว่า Your age < 30 แล้วขึ้นบรรทัดใหม่
บรรทัดที่ 11
สิ้นสุดการทำงานของโปรแกรมหลัก int main( ) ด้วยเครื่องหมาย }

          ผลลัพธ์บนจอภาพ
                    โปรแกรมจะแสดงอายุของบิดานักเรียนแต่ละคนว่ามากกว่า 30 ปี หรือ น้อยกว่า
        30 ปี หรือไม่
ด้วยค่าของตัวแปร age จากการรับข้อมูลเข้ามาในระบบ ถ้าหากตัวแปร age มีค่า
        มากกว่า 30 ให้แสดงข้อความว่า Your age > 30 ถ้า เป็นเท็จก็จะแสดงข้อความ "Your age
        < 30" บนจอภาพ


Enter your age : 29           (ผู้ใช้งานกรอกเลข 29 เข้ามาแล้วกดปุ่ม Enter)
Your age < 30                   (แสดงข้อความบนจอภาพ)

        การทดสอบการทำงานของโปรแกรมจากเว็บ https://repl.it/languages/c
                คลิกเครื่องหมาย  เพื่อดูผลผลลัพธ์การทำงานของโปรแกรมด้านล่าง
        (ลิงค์สำรอง https://repl.it/repls/FloralwhiteStrangeChief)



———————————————————————————————————————————