7.20.2554

เนื้อหาจากการประชุมครั้งที่ 5

คำสั่งเงื่อนไข(Condition Statement)


1.คำสั่งตัดสินใจแบบเลือกทำหรือไม่ด้วยคำสั่ง if
คำสั่ง if เป็นคำสั่งที่เราใช้กำหนดให้โปรแกรมตัดสินใจทำหือไม่ทำสิ่งใดสิ่งหนึ่ง โดยตรวจสอบเงื่อนไขที่กำหนดว่าเป็นจริงหรือเท็จ ถ้าเป็นจริง(ture) โปรแกรมจะทำงานที่ชุดคำสั่งที่อยู่ภายใต้คำสั่ง if แต่ถ้าเป็นเท็จ(false) โปรแกรมจะข้ามไปทำงานคำสั่งต่อไปทันที


ซึ่งคำสั่ง if ในภาษา C มีรูปแบบคำสั่งดังนี้
if(condition)
{
statements;
}
โดยที่ condition เป็นเงื่อนไขที่ใช้กำหนดการตัดสินใจของโปรแกรม

statements เป็นชุดคำสั่งที่ทำงานเมื่อเงื่อนไขที่กำหนดให้เป็นจริง


คำสั่ง if สามารถเขียนแผนภูมิการทำงาน(flowchart)ได้ดังนี้



*NOTE ถ้าหากคำสั่งภายใต้คำสั่ง if มีเพียงคำสั่งเดียว ไม่จำเป็นต้องใส้เครื่องหมาย { } ก็ได้*



ตัวอย่างการใช้คำสั่ง if




ผลลัพธ์ของโปรแกรม
-รันครั้งที่ 1
How old are you? : 15
You are less than 18 years old
You are young
You are 15 years old
-รันครั้งที่ 2
How old are you? : 18

You are 18 years old


2.การตัดสินใจแบบสองทางเลือกด้วย if....else
คำสั่ง if...else เป็นคำสั่งที่เราใช้กำหนดให้โปรแกรมตัดสินใจเลือกทำอย่างใดอย่างหนึ่งจาก 2 ทางเลือก โดยตรวจสอบเงื่อนไขที่กำหนดว่าเป็นจริงหรือเท็จ ถ้าเป็นจริง(true) โปรแกรมจะทำงานที่ชุดคำสั่งที่อยู่ภายใต้คำสั่ง if แต่ถ้าเป็นเท็จ(false) โปรแกรมจะทำงานที่ชุดคำสั่ง else
ซึ่งคำสั่ง if...else ในภาษา C มีรูปแบบคำสั่งดังนี้
if(condition)
{
statements1;
}
else
{
statements2;
}

โดยที่ condition เป็นเงื่อนไขที่ใช้กำหนดการตัดสินใจของโปรแกรม
statements1 เป็นชุดคำสั่งที่ทำงานเมื่อเงื่อนไขที่กำหนดให้เป็นจริง
statements2 เป็นชุดคำสั่งที่ทำงานเมื่อเงื่อนไขที่กำหนดให้เป็นเท็จ


จากรูปแบบคำสั่ง if...else เราสามารถเขียน flowchart ได้ดังนี้







ตัวอย่างการใช้คำสั่ง if...else





ผลลัพธ์จากโปรแกรม

-รันครั้งที่ 1

Please enter points : 49

Fail!!

-รันครั้งที่ 2

Please enter points : 79

Pass exam!!


3.การตัดสินใจแบบหลายทางเลือกด้วย if...else if

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


ซึ่งคำสั่ง if..else if ในภาษา C มีรูปแบบคำสั่งดังนี้

if(condition_1)
{

statements_1;

}

else if(condition_2)

{

statements_2;

}

else if(condition_n)

{

statements_n;

}

else

{

statements;

}


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

statements_n เป็นชุดคำสั่งที่ต้องทำงานเมื่อเงื่อนไขที่กำหนดที่ n เป็นจำนวนจริง

statements เป็นชุดคำสั่งที่ต้องทำงานเมื่อเงื่อนไขที่กำหนดทั้งหมดเป็นเท็จ


จากรูปแบบตำสั่ง if...else if สามารถเขียน flowchart ได้ดังนี้








ตัวอย่างการใช้คำสั่ง if...else if





ผลลัพธ์ของโปรแกรม

-รันครั้งที่ 1

Please enter points : 55

You get grade D

-รันครั้งที่

Please enter points : 80

You get grade A



การเขียน Flowchart


-สัญลักษณ์และการใช้งาน




หลักการเขียน flowchart
1.flowchartต้องมีจุดเริ่มต้นและจุดสิ้นสุดเสมอ
2.เลือกใช้สัญลักษณ์เพื่อสื่อความหมายให้ถูกต้อง
3.ใช้ลูกศรกำหนดทิศทางการทำงานของโปรแกรม จากบนลงล่าง หรือจากซ้ายไปขวา โดยเรียงตามลำดับการทำงานขอ

คำสั่งไม่ควรสลับการทำงานขึ้นบ้างลงบ้าง
4.แผนภาพทุกตัวต้องมีลูกศรเข้าและออก ยกเว้นจุดเริ่มต้นและจุดสิ้นสุดการทำงานเท่านั้น
5.ลูกศรทุกตัวต้องออกจากแผนภาพและชี้ที่แผนภาพเสมอ
6.คำอธืบายในแผนภาพควรสั้นๆเข้าใจง่าย
7.ไม่ควรใช้ลูกศรชี้ไกลเกินไป หากจำเป็นให้ใช้การเชื่อมต่อแทน


ตัวอย่างการเขียนและอธิบายการทำงานของ flowchart





อธิบายการทำงานของ flowchart ได้ดังนี้

1.เริ่มการทำงานของโปรแกรมโดยการกำหนดค่าตัวแปร A=5 , B=3

2.กำหนดให้ตัวแปร A มีค่าเท่ากับ A+B

3.แสดงค่าตัวแปร A จบการทำงานของโปรแกรม


จาก flowchart สามารถเขียนเป็นโค้ดโปรแกรมได้ดังนี้





7 ความคิดเห็น:

  1. ไม่ระบุชื่อ1 สิงหาคม 2554 เวลา 10:16

    โปรมแกรมนี้เป็นโปรแกรมเปรียบเทียบค่าโดยฟังก์ชันหลักจะทำหน้าที่รับค่าส่วนฟังก์ชันcompareจะทำการเปรียบเทียบค่า
    #include
    void compare (double a,double b);
    int main ()
    {
    double a,b;
    printf ("Enter number :");
    scanf ("%lf",&a);
    printf ("Enter number :");
    scanf ("%lf",&b);
    compare(a,b);
    }
    void compare (double a,double b)
    {
    if (a%.2f",b,a);
    if (a>b)
    printf ("%.f>%.2f",a,b);

    }
    จะแสดงผล
    Enter number :4.5
    Enter number :4.6
    4.6>4.5
    (นายปลวัชร เปรมสิริอำไพ 54-010116-2033-0)

    ตอบลบ
  2. วีรศักดิ์ ดังชนกนันท์1 สิงหาคม 2554 เวลา 10:21

    #include "stdio.h"
    main(){
    int i,x;
    x=0;
    for(i=0;i<=10;i++)
    x=x+i;
    printf("x=%d",x);
    }

    Flow chart

    http://www.picza.net/show.php?id=68aaaf60765087259376454283cc286b

    ตอบลบ
  3. #include
    #include
    main(void)
    {
    int s,r;
    s=0;
    for(s=0;s<=10;s++)
    r=r+s;
    printf("r=%d",r);
    }
    return 0;
    (นายอาภากร กัณหา)

    ตอบลบ
  4. ไม่ระบุชื่อ1 สิงหาคม 2554 เวลา 20:11

    #include"stdio.h"
    int main(void)
    {
    int num;
    printf("Enter Number=> ");
    scanf("%d",&num);
    if(num>0)
    printf("Positive Number");
    else if(num<0)
    printf("Negative Number");
    else(num==0)
    printf("Zero Number")
    return 0;
    }

    แสดงผล คือ
    Enter Number=> 45
    Positive Number

    (น.ส. พรทิพย์ ทาบุตร 54-010116-2036-4)

    ตอบลบ
  5. #include
    int main (void)
    {
    int number ,mod ,a ,b;
    printf("Input Number =>");
    scanf("%d",&number);
    mod=number%2;
    printf("Mod Result is %d\n",mod);
    if(mod==1)
    {
    a=number +1;
    printf("%d is odd number.but %d is even number, and %d%d is also even number.\n ",number,a,number,a);
    }
    else
    {
    b=number +1;
    printf("%d is even number.but %d is even number, and %d%d is also even number.\n ",number,b,number,b);
    }



    printf("End of Program\n");
    system("PAUSE");

    return 0;
    การทำงาน
    Input Number => 9
    9 is negative even number.but 10 is negative obb number, and 910 is also negative even number.

    นายธน สุทธิธรรม 5401011630149

    ตอบลบ
  6. ไม่ระบุชื่อ4 สิงหาคม 2554 เวลา 20:43

    โปรแกรม แสดงเลขคู่,เลขคี่
    #include
    int main(void)
    {
    int n,m;
    printf("Enter number ");
    scanf("%d",&n);
    m = n%2;
    if(m == 0)
    printf("Your num is even number");
    else
    printf("Your num is odd number");
    }

    ผล

    Enter number 4
    Your num is even number

    Enter number 5
    Your num is odd number

    นาย ประวีร์ แสงทอง 54-010116-2032-1

    ตอบลบ
  7. #include
    int main (void)
    {
    int a,b;
    printf("Please enter number for search the true number between 1-10\n");
    b=0;
    while(b<100)
    {
    printf("Enter number =\t ");
    scanf("%d",&a);
    if(a==5)
    {
    printf("True\n");
    break;
    }
    else
    {
    printf("False");

    }
    printf("\n");
    }

    }
    ใส่ค่า 1-10 ใส่ผิดเเสดง false
    เมื่อใส่ค่า 5 จะเเสดง true
    ศราวุฒิ คำเมือง 54-010116-2049-6

    ตอบลบ