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

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

        การตรวจสอบเงื่อนไขการทำงานของโปรแกรม เป็นกระบวนการตรวจสอบเพื่อให้โปรแกรมทำงานตามขั้นตอนที่ได้กำหนดไว้ตามเงื่อนไข (Condition) โดยจะมีการนำเอาค่าของตัวแปร หรือนิพจน์ต่าง ๆ
มาเปรียบเทียบทางตรรกศาสตร์ ว่าผลลัพธ์ที่เปรียบเทียบนั้นมีค่าเป็นจริง หรือเท็จ หากมีค่าเป็นจริงก็จะทำงานตามคำสั่ง หรือชุดคำสั่งของเงื่อนไขนั้น ๆ หากเป็นเท็จก็จะหยุดการทำงานแล้วไปทำงานตามคำสั่งต่อไปของโปรแกรม คำสั่งที่ใช้กำหนดเงื่อนไขได้แก่

1.
คำสั่ง if
2.
คำสั่ง if-else
3.
คำสั่ง if-else if
4.
คำสั่ง Nested if

(แหล่งข้อมูล...  คู่มือเรียนรู้ภาษาซีด้วยตนเอง / ผศ.รุ่งทิวา เสาร์สิงห์)

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

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

1. คำสั่งกำหนดเงื่อนไข if 1
        คำสั่ง if เป็นคำสั่งที่กำหนดการเลือกกระทำตามเงื่อนไข เมื่อเงื่อนไขเป็นจริง (True) ก็จะทำตามคำสั่ง หรือชุดคำสั่ง(Statements) แต่หากเงื่อนไขเป็นเท็จ (False) ก็จะไม่มีการทำงานใด ๆ     

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

if (Condition) Statement ;

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

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

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


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


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

Pseudo Code
Flowchart
Algorithm Function printf( );
  1. Start
  2. int age
  3. Print Enter your age :
  4. Input age
  5. if (age > 30)
    5.1 Print Your age > 30
  6. End

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

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

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

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

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


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

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


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