مثال : برنامه اي بنويسيد كه دو عدد را از ورودي دريافت و چنانچه عدد اول در بازه 0 تا 5 بود توان دوم عدد دوم را چاپ كند چنانچه 68 بود حاصلضرب دو عدد را چاپ كند و در غير اينصورت مقادير مجاز را چاپ كند.
کد:
 
BEGIN WRITELN('ENTER TWO NUMBER'); READLN(A,B); CASE A OF 0..5 :WRITELN(B*B); 68:WRITELN(A*B) ELSE WRITELN('ENTER 0..5 OR 68'); END; END.
معادل برنامه بالا با دستور If :
کد:
 
Begin Writeln('enter 2 number'); Readln(a,b); If (a>=0)and(a<=5) then Writeln(b*b) Else If a=68 then Writeln(a*b) Else Writeln('enter 0..5 or68'); End.
تكليف : روشي براي تلفظ اعداد پيدا كنيد.


حلقه تكرار :


1- تعداد معين


2- تعداد معين

کد:
 
Do مقدار نهايي to { مقدار شروع=: متغير for downto begin ___ ___ ___ end;
توجه مهم : در برخي از حلقه ها دستورات داخل حلقه به متغير حلقه مرتبط مي باشند و در برخي موارد هيچگونه ارتباطي وجود ندارد.
حلقه
for براي تعداد تكرار معين به كار ميرود
Downto : در مواردي به كار ميرود كه مقدار اوليه از مقدار نهايي بيشتر باشد

مثال : برنامه اي بنويسيد كه توان دوم اعداد 100 تا 200 را چاپ كند.

کد:
 
Begin For i:=100 to 200 do Begin Writeln(i*i); End; End.
نكته : اجازه نداريد مقدار متغير حلقه را در داخل بدنه عوض كنيد .

مثال : برنامه اي بنويسيد كه حاصلجمع اعداد 100..1 را چاپ كند.

کد:
 
Begin Sum:=0; For i:=1 to 10 do Begin Sum:=sum+i End; Write(sum); End.

مثال : برنامه اي بنويسيد كه حاصلجمع مضارب 5 بين 0 تا 100را به دست آورد.
کد:
  
 
Begin Sum:=0; For I:=1 to 20 do Begin Sum:=sum+i*5; End; Writeln(sum); End
.
مثال : برنامه اي بنويسيد كه دو عدد را از ورودي دريافت و اعداد ما بين اين دو عدد را چاپ كند (a<B)

کد:
 
Begin Writeln('enter a,b'); Readln(a,b); For I:= a to b do Writeln(i); End.

مثال : برنامه اي بنويسيد كه با يك حلقه for اعداد بين100..1 و738..353و 950..940 را چاپ كند

کد:
 
Begin For i:=1 to 950 do Begin If ( i>=1) and (i<=100) then Writeln(i); If (i>353) and (i<=738) then Writeln(i); If (i>=940) and (i<=950) then Writeln(i); End; End.
معادل برنامه بالا با استفاده از دستور case :
کد:
 
Begin For i:=1 to 950 do Case I of 1..100,353..738,940..950: writeln(i); end; end.
باقيمانده mod

مثال :

X mod y

مثال : برنامه اي بنويسيد كه مضارب 7 بين 1 تا 100 را چاپ كند


کد:
 
Begin For i:= 1 to 100 do Begin If I mod 7 = 0 then Writeln(i); End; End.
مثال : برنامه اي بنويسيد كه تعداد مضارب 5و7 را در بازه 231~846 چاپ كند.
کد:
 
Begin K:=0; C:=0; For i:=846 downto 231 do Begin If I mod 5 = 0 then C:=c+1; If I mod 7 = 0 then K:=k+1; End; Writeln('5=',c,'7=',k); End; End.
مثال : برنامه اي بنويسيد كه حقوق پايه وتعداد فرزندان 100 كارگر را از ورودي دريافت و مبلغ حقوق آنها را بر اساس فرمول زير حساب كند0

1000*تعداد فرزند + حقوق پايه = حقوق كل

کد:
 
Begin For i:=1 to 100 do Begin Writeln('enter salary and number of children'); readln(salary,num); kol := salary + num * 1000; writeln(kol); end; end.


مثال : برنامه اي بنويسيد كه 100 عدد را از ورودي دريافت و ميانگين و حاصلجمع آنها را به ما بدهد.

کد:
 
Begin Sum:=0; For i:= 1 to 100 do Begin Writeln('enter num'); Readln(num); Sum:=sum+num; End; Ave:=ave/100; Writeln(sum,ave); End.



تعداد تكرار نامعين :

کد:
Do شرط while begin ___ ___ ___ end;

مثال : برنامه اي بنويسيد كه اعداد 100..1 را چاپ كند


کد:
 
Begin I:=1; While i<=100 do Begin Write(i); I:=i+1; End;
مثال : برنامه اي بنويسيد كه تعدادي اسم را از ورودي دريافت و به ما بگويد چند بار اسم ali تكرار شده است(آخرين اسم end است).

کد:
 
Var S:integer; St:string; Begin Read(st); While st<> 'end' do Begin If st='ali' then S:=s+1; Read(st); End;write(s); End.

مثال : برنامه اي بنويسيد كه تعدادي عدد كه آخرين آنها صفر است را از ورودي دريافت و حاصلجمع آنها را چاپ كند.

کد:
 
Begin Readln(num); T:=1; While num<>0 do Begin Sum:=sum+num; Readln(num); T:=t+1; End; Writeln('s=',s,'average',s/t); End;
تكليف : براي دانش آموزان يك كلاس برنامه اي بنويسيد كه نام آنها به همراه تعداد نمرات و سپس نمرات آنها را به فرم زير از ورودي دريافت كند.تعداد دانش آموزان كلاس نامعين است ولي آخرين نفر نامش end است .برنامه ميبايستي پس از دريافت هر يك از اطلاعات پيامي به شكل زير چاپ كند.


:
Average: Sum: Ali Name
3
18
20
13.5
کد:
 
program test; var name:string[10]; ave,sum,nomreh:real; num,i:integer; begin writeln('enter name ' ); readln(name); while name <> 'end' do begin writeln('enter num:'); readln(num); for i:=1 to num do begin writeln('enter nomreh: '); readln(nomreh); sum:=sum+nomreh; end; ave:=sum/num; writeln('name:',name,'sum:',sum,'ave:',ave); writeln('enter name '); readln(name); end; end.

تكليف : ميخواهيم براي برنامه هاي خود يك منو تهيه كنيم اين منو شامل موارد زير است

1
) load

2
) save

3 ) edit

4 ) exit

:
please select a number
کد:
 
program test; var num:integer; begin writeln(' 1) load'); writeln(' 2) save'); writeln(' 3) edit'); writeln(' 4) exit'); writeln(please select a number : '); readln(num); while num<>4 do begin case num of 1:writeln('loading'); 2:writeln('saving'); 3:writeln('editing'); end; end; end.