Open top menu
วันพุธที่ 2 กันยายน พ.ศ. 2558

คำสั่ง if - else

เป็นคำสั่งที่ต่างจากคำสั่ง if แบบง่ายที่ผ่านมาตรงที่คำสั่ง if แบบง่ายนั้น มีทางเลือกที่จะให้ทำอยู่เพียงทางเลือกเดียว คือ ถ้าเป็นจริงก็ทำทางเลือกนั้น แต่ถ้าเป็นเท็จก็ไม่ทำ แต่คำสั่ง if - else นี้มีทางเลือกที่ให้ทำอยู่สองทางเลือกหรือสองกรณี คือ
             กรณีที่ 1 ถ้าเงื่อนไขเป็นจริง ให้ทำกับสายงานหนึ่ง คือ ทำตามชุดคำสั่งที่ตามหลังเงื่อนไข (Condition) ที่ใช้ตรวจสอบ
             กรณีที่ 2 ถ้าเงื่อนไขเป็นเท็จ ก็ให้ทำกับอีกสายงานหนึ่ง คือ ทำตามชุดคำสั่งที่ตามหลังคำสงวน else
                  รูปแบบคำสั่ง  if  - else  2  ทางเลือก

if (เงื่อนไข)
{
           คำสั่งชุด  A ;
}
else
{
           คำสั่งชุด  B ;
}
ภาพผังงานแสดงการเลือกกระทำของประโยค   if - else 
                 จากภาพ แสดงให้เห็นว่า เป็นการเลือกทำชุดคำสั่ง A หรือชุดคำสั่ง B ดังนี้

                 1. ถ้าเงื่อนไขการตรวจสอบเป็น "จริง" จะไปทำสายงานในชุดประโยคคำสั่ง A
แล้วไปทำชุดประโยคคำสั่ง C ต่อไป
                 2. ถ้าเงื่อนไขการตรวจสอบเป็น "เท็จ" จะไปทำสายงานในชุดประโยคคำสั่ง B
แล้วไปทำชุดประโยคคำสั่ง C ต่อไป
               ตัวอย่างที่ 2  ปรแกรมการใช้งาน  if - else  2  ทางเลือก
                     โจทย์ :  ร้านขายผลไม้แห่งหนึ่ง ขายมะม่วง โดยมีอัตราการขายดังนี้ ถ้าซื้อมะม่วงมากกว่าหรือเท่ากับ 10 ลูกขึ้นไป มีอัตราการแถมอยู่ที่ 10 ต่อ 2 ลูก ซึ่งถ้าซื้อมะม่วง 10 ลูก จะได้แถม 2 ลูก, ถ้าซื้อ 20 ลูก จะได้แถม 4 ลูก เป็นต้น  แต่ถ้าซื้อไม่ถึง 10 ลูก จะไม่แถม
                                    จากโจทย์ จงเขียนโปรแกรมเพื่อรับค่าจำนวนมะม่วงที่ซื้อ และคำนวณหาจำนวนมะม่วงที่ลูกค้าจะได้
                   จากโจทย์  ขียนผังงาน (Flowchart)  ได้ดังนี้
ผังงาน (Flowchart) แสดงทิศทางการแก้ปัญหาโจทย์ตัวอย่างที่ 2
                  จากผังงานนำมาเขียนโปรแกรมได้ดังนี้
 
Source code
คำอธิบายโปรแกรม
1
2
3
4
5

6

7
#include <stdio.h>
#include<conio.h> 
 main() 

      int 
net,number

      printf("
Input Number of Mango : ");  

      scanf("
%d",&number); 




// ประกาศตัวแปร net, number 
    เป็นชนิดจำนวนเต็ม
// แสดงข้อความ Input Number of
   Mango :
// รอรับคะแนนจากแป้นพิมพ์มาเก็บ
   ที่ตัวแปร number
8


9
10
11
12
13
14
15
16

17
18
19
      if (number>=10) 

      { 
         
 net=number+(number*2)/10;
      }
      
else
      {
          
net=number;
      }
      printf("
Output Number of Mango :
                   %d
",net); 
      getch(); 
      
}
// ตรวจสอบว่า number >= 10 
   ใช่หรือไม่? ถ้าใช่เริ่มการทำงาน
   ใน block

// คำนวณหาจำนวนมะม่วงที่ลูกค้าจะได้





// แสดงข้อความ 
Output Number of
   Mango
 : จำนวนมะม่วงที่ลูกค้าจะได้

      ผลที่ได้จากการ Run
                 ถ้าป้อนจำนวนมะม่วงมากกว่าหรือเท่ากับ 10 ลูก เช่น ถ้าป้อนเท่ากับ 30 ลูก
                  จะได้ผลลัพธ์
                 ถ้าป้อนจำนวนมะม่วงน้อยกว่า 10 ลูก เช่น ถ้าป้อนเท่ากับ 4 ลูก
                  จะได้ผลลัพธ์
                หมายเหตุ  จากสูตร  net=number+(number*2)/10  ยกตัวอย่างเช่น ถ้า number มีค่าเท่ากับ 30 จะสามารถแทนสูตรได้ดังนี้  net=30+(30*2)/10 คือ net=30+6  จึงมีค่าเป็น 36 ซึ่งก็คือ 10 ต่อ 2 ลูก นั่นเอง
แบบทดสอบ
โปรแกรมการใช้งาน  if - else  2  ทางเลือก
จงเขียนโค๊ตจากโจทย์ลงในสมุด
                     โจทย์ :  ร้านขายผลไม้แห่งหนึ่ง ขายมะม่วง โดยมีอัตราการขายดังนี้ ถ้าซื้อมะม่วงมากกว่า 5 ลูกขึ้นไป มีอัตราการแถมอยู่ที่ 6 ต่อ 2 ลูก ซึ่งถ้าซื้อมะม่วง 10 ลูก จะได้แถม 4 ลูก, ถ้าซื้อ 20 ลูก จะได้แถม 8 ลูก เป็นต้น  แต่ถ้าซื้อไม่ถึง จำนวนที่กำหนดไว้  จะไม่แถม

ตัวแปรมี2ตัว ให้เปลี่ยนเป็น a กับ b



0 ความคิดเห็น