نویسنده : ایران دلوپر
مثال : برنامه ای بنویسید که دو عدد را از ورودی دریافت و چنانچه عدد اول در بازه ۰ تا ۵ بود توان دوم عدد دوم را چاپ کند چنانچه ۶۸ بود حاصلضرب دو عدد را چاپ کند و در غیر اینصورت مقادیر مجاز را چاپ کند.
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 :
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.
تکلیف : روشی برای تلفظ اعداد پیدا کنید.
حلقه تکرار :
۱- تعداد معین
۲- تعداد معین
Do مقدار نهایی to { مقدار شروع=: متغیر for
downto
begin
___
___
___
end;
توجه مهم : در برخی از حلقه ها دستورات داخل حلقه به متغیر حلقه مرتبط می باشند و در برخی موارد هیچگونه ارتباطی وجود ندارد.
حلقه for برای تعداد تکرار معین به کار میرود
Downto : در مواردی به کار میرود که مقدار اولیه از مقدار نهایی بیشتر باشد
مثال : برنامه ای بنویسید که توان دوم اعداد ۱۰۰ تا ۲۰۰ را چاپ کند.
For i:=100 to 200 do
Begin
Writeln(i*i);
End;
End.
نکته : اجازه ندارید مقدار متغیر حلقه را در داخل بدنه عوض کنید .
مثال : برنامه ای بنویسید که حاصلجمع اعداد ۱۰۰٫٫۱ را چاپ کند.
Sum:=0;
For i:=1 to 10 do
Begin
Sum:=sum+i
End;
Write(sum);
End.
مثال : برنامه ای بنویسید که حاصلجمع مضارب ۵ بین ۰ تا ۱۰۰را به دست آورد.
Sum:=0;
For I:=1 to 20 do
Begin
Sum:=sum+i*5;
End;
Writeln(sum);
End.
مثال : برنامه ای بنویسید که دو عدد را از ورودی دریافت و اعداد ما بین این دو عدد را چاپ کند (a
Writeln(‘enter a,b’);
Readln(a,b);
For I:= a to b do
Writeln(i);
End.
مثال : برنامه ای بنویسید که با یک حلقه for اعداد بین۱۰۰٫٫۱ و۷۳۸٫٫۳۵۳و ۹۵۰٫٫۹۴۰ را چاپ کند
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 :
For i:=1 to 950 do
Case I of
1..100,353..738,940..950: writeln(i);
end;
end.
)باقیمانده)mod?
مثال :
X mod y
مثال : برنامه ای بنویسید که مضارب ۷ بین ۱ تا ۱۰۰ را چاپ کند
For i:= 1 to 100 do
Begin
If I mod 7 = 0 then
Writeln(i);
End;
End.
مثال : برنامه ای بنویسید که تعداد مضارب ۵و۷ را در بازه ۲۳۱~۸۴۶ چاپ کند.
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.
مثال : برنامه ای بنویسید که حقوق پایه وتعداد فرزندان ۱۰۰ کارگر را از ورودی دریافت و مبلغ حقوق آنها را بر اساس فرمول زیر حساب کند۰
۱۰۰۰*تعداد فرزند + حقوق پایه = حقوق کل
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.
مثال : برنامه ای بنویسید که ۱۰۰ عدد را از ورودی دریافت و میانگین و حاصلجمع آنها را به ما بدهد.
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;
مثال : برنامه ای بنویسید که اعداد ۱۰۰٫٫۱ را چاپ کند
I:=1;
While i<=100 do
Begin
Write(i);
I:=i+1;
End;
مثال : برنامه ای بنویسید که تعدادی اسم را از ورودی دریافت و به ما بگوید چند بار اسم ali تکرار شده است(آخرین اسم end است).
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.
مثال : برنامه ای بنویسید که تعدادی عدد که آخرین آنها صفر است را از ورودی دریافت و حاصلجمع آنها را چاپ کند.
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
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.
تکلیف : میخواهیم برای برنامه های خود یک منو تهیه کنیم این منو شامل موارد زیر است
۱) 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.
دیدگاه خود را بیان کنید.
باید وارد سایت شده باشید برای دیدگاه دادن