පැස්කල් ක්රමලේඛය 5 කොටස
ක්රමලේඛය තුළ වරණ භාවිතය
ක්රමලේඛයේ යම් පියවරක දී දෙන ලද අවශ්යතාවයක් පරීක්ෂා කර එය සත්ය හෝ අසත්ය වීම අනුව ක්රියාත්මක වන මාර්ගය තෝරා ගන්නා ආකාරයේ ගැටළු මෙම වර්ගයට අයත් වේ.
මෙහිදී ක්රමලේඛය තුළ පහත ආකාරයේ කොටසක් ඇතුලත් කරනු ලැබේ. එනම් දෙන ලද අගයක් සඳහා තාර්කික ප්රකාශයක් ගොඩනැගීම මගින් අදාල කොටස ක්රමලේඛය තුළ ක්රියාත්මක වීම හෝ නොවීම තීරණය කරනු ලබයි.
මේ සඳහා
IF <Condition> THEN
----------------------
----------------------
----------------------
ELSE
----------------------
----------------------
----------------------
ආකාරයේ ව්යුහයක් යොදාගනු ලැබේ. මෙහි <Condition> වෙනුවට දී ඇති තාර්කික ප්රකාශනයත් “-----------------“ කොටස් වල දී අදාල වගන්තිත් ලිවිය යුතුයි. එමෙන්ම එම වගන්ති එකකට වඩා ඇත්නම් ඒවා BEGIN . . END අතරත් ලිවිය යුුතුයි.
උදාහරණ
මෙහි දී පරිශීලක විසින් ලකුණු සඳහා ඇතුලත් කරන අගය marks නම් විචල්යය තුළ ගබඩා වේ. IF marks >= 40 THEN මගින්ම අගය 40 ට වඩා වැඩිද යන්න පරීක්ෂා කෙරේ. ඒහිදී ලකුණු ලෙස 40 ට වඩා වැඩි අගයක් ඇතුලත් කර ඇත්නම් Pass ලෙසද ඒසේ නොමැති නම් Fail ලෙසද තිරයේ දිස්වේ.
PROGRAM result;
VAR
marks : integer;
BEGIN
WRITELN (‘ Input marks : ’ );
READLN( marks );
IF marks >= 40 THEN
WRITELN (‘ Pass ’ )
ELSE
WRITELN (‘ Fail ’ );
READLN;
END.
PROGRAM find_discount; VAR Price : integer; discount, pay : real; BEGIN WRITELN (‘ Input price : ’ ); READLN( price ); IF price > 5000 THEN Discount := price *5 / 100 ; WRITELN (‘ Discount = ’ , discount ); READLN; END. |
PROGRAM SquareROOT;
VAR
NUMBER : integer;
SROOT : real;
BEGIN
WRITELN (‘ Input number : ’ );
READLN( NUMBER );
IF NUMBER > 0 THEN
SROOT := SQRT(NUMBER) ;
WRITELN (‘ SQURE ROOT OF THE NUMBER IS = ’ , SROOT );
READLN;
END.
*මෙහි SQRT( ) යනු වර්ගමූලය සෙවීමට භාවිතා වන විශේෂ ශ්රිතයකි
PROGRAM larger;
VAR
num1, num2, num3 : integer;
BEGIN
WRITELN (‘ Input three numbers : ’ );
READLN( num1, num2, num3 );
IF num1>num2 THEN
IF num1>num3 THEN
WRITELN (‘ largest is ’ , num1 )
ELSE
WRITELN (‘ largest is ’ , num3 )
ELSE
IF num2>num3 THEN
WRITELN (‘ largest is ’ , num2 )
ELSE
WRITELN (‘ largest is ’ , num3 );
READLN;
READLN;
END.
PROGRAM oddnumber; VAR m , k : integer; BEGIN WRITELN('Number - ?'); READLN (k) ; m:=k MOD 2; IF m=0 THEN WRITELN('even') ELSE WRITELN('odd'); READLN; END.
|
**** MOD යනු සංඛ්යාවක් තවත් සංඛ්යාවකින් බෙදූ විට ඉතිරිය ලබා ගැනීමට භාවිතා වන ශ්රිතයකි. උදා- 5 දෙකෙන් බෙදූ විට ඉතිරිය 1 කි. |
PROGRAM numbers (INPUT,OUTPUT);
VAR
a : REAL;
BEGIN
WRITELN('enter a number');
READLN(a);
IF a >0 THEN
WRITELN('POSITIVE NUMBER')
ELSE
IF a=0 THEN
WRITELN('ZERO')
ELSE
WRITELN('NEGATIVE NUMBER');
READLN;
END.