
º··Õè
6
¤ÓÊÑè§ IF, CASE, GO áÅÐ WHILE loop
¤ÓÊÑè§
IF
à»ç¹¤ÓÊÑè§·Õèà»ç¹¡ÒÃàÅ×Í¡¡ÃзÓÍÂèÒ§ã´ÍÂèҧ˹Öè§ã¹
2 ·Ò§
ÃٻẺ·Õè 1
IF à§×èÍ¹ä¢ THEN ¤ÓÊÑè§·Õè 1 ELSE ¤ÓÊÑè§·Õè 2;
¤ÇÒÁËÁÒ ¶éÒà§×è͹ä¢à»ç¹¨ÃÔ§ãËé·Ó¤ÓÊÑè§·Õè 1 ËÅѧ
THEN ¶éÒà§×è͹ä¢à»ç¹à·ç¨ãËé·Ó¤ÓÊÑè§·Õè 2 ËÅѧ ELSE
ÃٻẺ·Õè 2
IF à§×èÍ¹ä¢ THEN ¤ÓÊÑè§;
¤ÇÒÁËÁÒ ¶éÒà§×è͹ä¢à»ç¹¨ÃÔ§à¤Ã×èͧ¨Ð·Ó¤ÓÊÑè§ËÅѧ
THEN
µÑÇÍÂèÒ§
PROGRAM EXAM12;
VAR CODE,NAME:STRING;
SCORE:INTEGER;
GRADE:STRING;
BEGIN
WRITELN(‘ENTER SCORE:’);
READLN(SCORE);
IF SCORE>=80 THEN WRITELN(‘GRADE=A’) ELSE
IF SCORE>=70 THEN WRITELN(‘GRADE=B’) ELSE
IF SCORE>=60 THEN WRITELN(‘GRADE=C’) ELSE
IF SCORE>=50 THEN WRITELN(‘GRADE=D’) ELSE
WRITELN(‘GRADE=F’);
END.
¤ÓÊÑè§
CASE
à»ç¹¤ÓÊÑè§·Õèãªéá·¹¡ÒÃà¢Õ¹ IF Statements ·Õè«Ñº«é͹
·ÓãËéäÁèµéͧà¢Õ¹ IF «éÓ æ ¡Ñ¹ºèͤÃÑé§
ÃٻẺ
CASE ª×è͵ÑÇá»Ãà§×èÍ¹ä¢ OF
¤èÒµÑÇá»Ã 1 : ¤ÓÊÑè§ 1;
¤èÒµÑÇá»Ã 2 : ¤ÓÊÑè§ 2;
.
.
.
.
¤èÒµÑÇá»Ã n : ¤ÓÊÑè§ n;
ELSE
¤ÓÊÑè§;
END;
µÑÇÍÂèÒ§
PROGRAM EXAM13;
VAR A,B,X:INTEGER;
Y:REAL;
BEGIN
WRITELN(‘ENTER NUMBER’);
READLN(A,B);
WRITELN(‘CHOOSE NUMBER (1,2,3,4) :’);
READLN(X);
CASE X OF
1 : Y := A+B;
2 : Y := A-B;
3 : Y := A*B;
4 : Y := A/B;
ELSE
WRITELN(‘Y=0’);
END;
WRITELN(‘Y=’,Y);
END.
¤ÓÊÑè§
GOTO
à»ç¹¤ÓÊÑè§·ÕèãËé¢éÒÁä»·Õèã´·Õè˹Öè§ã¹â»Ãá¡ÃÁâ´ÂÁÕà§×è͹ä¢
áÅШÐãËéà»ç¹¡ÒâéÒÁ仢éҧ˹éÒËÃ×Í¢éÒ§ËÅѧ¡çä´é áµè¡ÒÃà¢Õ¹â»Ãá¡ÃÁàÃÒ¨ÐãËéÁѹ¡ÃÐâ´´¢éÒÁä»â´ÂäÁèÁÕ¤ÇÒÁËÁÒÂäÁèä´éà¾ÃÒШзÓãËéÃٻẺ¢Í§â»Ãá¡ÃÁ·Õèà»ç¹â¤Ã§ÊÃéÒ§àÊÕÂä»
µÑÇÍÂèÒ§
PROGRAM EXAM14;
USES CRT;
VAR M:INTEGER;
LABEL X,Y;
BEGIN
CLRSCR;
X:WRITELN(‘ENTER MARK’);
READLN(M);
IF M=99 THEN GOTO Y;
WRITE(‘RESULT= ‘);
CASE M OF
90..100 : WRITELN(‘GRADE=A’);
80-89 : WRITELN(‘GRADE=B’);
70-79 : WRITELN(‘GRADE=C’);
60-69 : WRITELN(‘GRADE=D’);
END;
GOTO X;
Y : WRITELN(‘END PROGRAM’);
READLN;
END.
¼Å·Õèä´é¨Ò¡¡Òà RUN
ENTER MARK
- ãËéãÊè¤Ðá¹¹ áÅéÇ¡´ ENTER
ãËéãÊè¤Ðá¹¹ä»àÃ×èÍÂ æ ¶éÒµéͧ¡ÒÃËÂØ´â»Ãá¡ÃÁ ãËéãÊè¤Ðá¹¹ 99 ¡´ ENTER áÅéÇà¤Ã×èͧ¨Ð¢Öé¹
ENDPROGRAM
¤ÓÊÑè§
While loop
à»ç¹¤ÓÊÑè§·´Êͺà§×è͹䢷Õèµé¹ loop áÅШзӵÒÁ¤ÓÊÑè§µèÒ§
æ ã¹ loop àÁ×èÍà§×è͹䢷Õè¡Ó˹´äÇéµÍ¹ááÂѧà»ç¹¨ÃÔ§ÍÂÙè
ÃٻẺ
WHILE à§×èÍ¹ä¢ DO ¤ÓÊÑè§;
µÑÇÍÂèÒ§
PROGRAM EXAM15;
VAR COUNT:INTEGER;
BEGIN
COUNT:=1;
WHILE COUNT <= 5 DO
BEGIN
WRITELN(‘HELLO’);
COUNT:=COUNT+1;
END;
WRITELN(‘GOODBYE’);
END.
¼Å·Õèä´é¨Ò¡¡Òà RUN
HELLO
HELLO
HELLO
HELLO
HELLO
GOODBYE
Ẻ½Ö¡ËÑ´
àÃ×èͧ ¤ÓÊÑè§
IF, CASE, GO áÅÐ WHILE loop
1. ¨§à¢Õ¹â»Ãá¡ÃÁ¤Ô´¤èÒ¹éÓ»ÃлҢͧÅÙ¡¤éҨӹǹ 15 ¤¹ â´ÂÁÕà§×è͹䢴ѧ¹Õé
¶éÒãªé¹éÓµèÓ¡ÇèÒ 20 unit äÁèàÊÕÂà§Ô¹
¶éÒãªé¹éÓÃÐËÇèÒ§ 20-40 unit ¤Ô´ unit ÅÐ 3.00 ºÒ·
¶éÒãªé¹éÓÃÐËÇèÒ§ 41-60 unit ¤Ô´ unit ÅÐ 4.00 ºÒ·
¶éÒãªé¹éÓÁÒ¡¡ÇèÒ 60 unit ¤Ô´ unit ÅÐ 6.00 ºÒ·
µÑÇÍÂèÒ§ output
---------------------------------------------------------------------------------------------------------
SUPAB SANGKEAW
71/6 DUSIT
BANGKOK 10300
BEFORE
NUMBER 12360 UNIT
AFTER NUMBER 12430 UNIT
TOTAL 70 UNIT
PAYMENT 420 UNIT
---------------------------------------------------------------------------------------------------------