ข่าว IT ล่าสุด
ถูกใจอย่าลืม Like Fanpage
บทที่ 7 การใช้คำสั่ง If Then Else
แสดงแล้ว 26311 ครั้ง /
สิงหาคม 06, 2009, 10:51:15

Moshi

ออฟไลน์
กระทู้ : 16,996
คะแนนขอบคุณ : 45
it4x สังคมแห่งการเรียนรู้
บทที่ 7 การใช้คำสั่ง If Then Else
--------------------------

ก้าวสู้บทที่ 7 กันแล้วนะครับ โย่วๆ

คำสั่ง If Then Else แปลตามตัวก็คือ ถ้า แล้ว หรือ -*- ฟังแล้วอาจจะงงนิสหน่อยนะครับเรามาดูกันดีกว่า เวลานำไปใช้ไปใช้ยังไง

การใช้ if then else มีได้ 3 รูปแบบด้วยกนนะครับจามทฤษดีของผมเอง

รูปแบบที่ 1 มีคำสั่ง เดียว ในเงื่อนไข

if เงื่อนไข then
            คำสั่ง   <<< ข้อควรสังเกตุ ไม่มี ; หลังคำสั่ง หากในเงื่อนไขไม่มี else ก็ใส่ ; เพื่อจบคำสั่งได้เลย
else <<< สามารถมีหรือไม่มีก็ได้แล้วแต่ในเงื่อนไขของเรา
            คำสั่ง;  <<< ข้อควรสังเกตุ มี ; หลังคำสั่ง

ตัวอย่างโปรแกรม คำสั่งเดียว ผมต้องการให้โปรแกรมรับค่า x แล้วผมจะให้มันตรวจสอบว่า ถ้า x มีค่า มากกว่า 4 หรือเท่ากับ 4 ให้ แสดง x>4 แต่ถ้า x น้อยกว่า 4 ให้แสดง x<4

ก็พิมตามนี้เลยครับ

Program it4x;
uses crt;
var x:integer;
begin
         clrscr;
         write('Input Your X = ');
         readln(x);
         if x>=4 then
         writeln('X>=4')
         else
         writeln('X<4');
         readln;
end.

ลองรันดูนะครับ

ครั้งแรก ใส่ 4 แล้วมันจะทำตามเงื่อนไข if x>=4 และแสดงผล writeln('X>=4') ตามภาพที่ 2



รูปแบบที่ 2 มีหลายคำสั่งในเงื่อนไข

if เงื่อนไข then
            begin
            คำสั่ง;
            คำสั่ง;
            คำสั่ง;
            end <<< ข้อควรสังเกตุ ไม่มี ; หลังคำสั่ง หากในเงื่อนไขไม่มี else ก็ใส่ ; เพื่อจบคำสั่งได้เลย
else <<< สามารถมีหรือไม่มีก็ได้แล้วแต่ในเงื่อนไขของเรา
            begin
            คำสั่ง;
            คำสั่ง;
            คำสั่ง;
            end;

ตัวอย่างโปรแกรม หลายคำสั่งภายในเงื่อนไข ผมต้องการให้โปรแกรมรับค่า x แล้วผมจะให้มันตรวจสอบว่า ถ้า x มีค่า มากกว่า 4 หรือเท่ากับ 4 ให้ ให้กำหนดตัวแปร name = 'max' และแสดง x>4 แต่ถ้า x น้อยกว่า 4 ให้กำหนดตัวแปร name = 'min' และ ให้แสดง x<4

Program it4x;
uses crt;
var  name:string[5];
       x:integer;
begin
         clrscr;
         write('Input Your X = ');
         readln(x);
         if x>=4 then
         begin
         name:='max';
         writeln('X>=4');
         else
         name:='min';
         writeln('X<4');
         readln;
end.

จากนั้นลองรันดูครับ ^^

รูปแบบที่ 3 If ซ้อน If

ก็คือการ นำ เงื่อนไขมาเช็ค แล้วเช็ค เช็ค เช็ค นำไปดัดแปลงใช้ได้ เช่น โปรแกรมตัดเกรดเป็นต้น

โครงสร้าง

if เงื่อนไข then
   begin
   คำสั่ง;
   คำสั่ง;
   if เงื่อนไข then
   begin
          คำสั่ง;
   end;
   end
else
    begin
    if เงื่อนไข then
    คำสั่ง;
    end;

ตัวอย่าง ผมต้องการให้กรอกคะแนน  ตัวแปรที่ใช้ คะแนนคือ point
หากpointมากกว่า 0 ให้เริ่มต้นโปรแกรม
หากpoint<50 ได้เกรด E  
หากpoint<60 ได้เกรด D  
หากpoint<70 ได้เกรด C  
หากpoint<80 ได้เกรด B  
หากpoint<101 ได้เกรด A  
หากpoint>101 ERROR

Program Grade_Cut_if;
uses crt;
var point:integer;
begin
     clrscr;
     writeln('Program Grade Cut IF');
     writeln('--------------------');
     writeln;
     write('Input point = ');
     readln(point);
     writeln;
     if point>0 then
     begin
        if point<50 then
      begin
         writeln('Grade E');
      end
      else
         begin
            if point<60 then
            begin
            writeln('Grade D');
            end
            else
            begin
               if point<70 then
               begin
               writeln('Grade C');
               end
               else
               begin
                  if point<80 then
                  begin
                  writeln('Grade B');
                  end
                  else
                  begin
                     if point<101 then
                     begin
                     writeln('Grade A');
                     end
                     else
                     begin
                     writeln('Error');
                     end;
                  end;
               end;
            end;
         end;
        end
     else
     begin
        writeln('Error');
     end;
    writeln;
    writeln;
    writeln('Press Enter Key To Exit');
         readln;
end.

ลองรันผลดูครับ ^^ Copy จากเว็ปไปลง Pascal ชัวที่สุดครับเกิดคุณพิมตกจะงมแก้อีก ฮร่าๆ

ถ้าคุณจะ Copy ไปที่ไหนกรุณาให้ Credit กันด้วยนะครับ

Credit : www.it4x.com

« แก้ไขครั้งสุดท้าย: กันยายน 13, 2009, 07:42:14 โดย admin »

Moshi

ออฟไลน์
กระทู้ : 16,996
คะแนนขอบคุณ : 45
it4x สังคมแห่งการเรียนรู้
สิงหาคม 29, 2009, 21:47:20
 :-*

isin

ออฟไลน์
กระทู้ : 3
คะแนนขอบคุณ : 0
กันยายน 05, 2010, 21:17:57
 :-* :-*

 

ด้วยฟังค์ชั่น ตอบด่วน คุณสามารถใช้โค๊ดและ เครื่องหมายแสดงอารมณ์ได้ เหมือนการตั้งกระทู้ธรรมดา แต่สามารถทำได้สะดวกกว่า

ระวัง: หัวข้อนี้ไม่มีการอัพเดทมานานถึง 120 วัน

แจ้งเตือน: โพสของคุณจะไม่แสดงจนกว่าผู้ดูแลจะอนุมัติ.
ชื่อ: อีเมล์: