سفارش تبلیغ
صبا ویژن
 
پشتیبانخانهنشانی ایمیل من

دست خالی بیرون نمیای

هر آوندى بدانچه در آن نهند تنگ شود جز آوند دانش که هر چه در آن نهند فراختر گردد . [نهج البلاغه]

 RSS 

کل بازدید ها :

355657

بازدیدهای امروز :

15


وضعیت من در یاهو

یــــاهـو


درباره من

دست خالی بیرون نمیای
میلاد
چه گویم که ناگفتنم به


لوگوی من

دست خالی بیرون نمیای

 موضوعات وبلاگ

 اوقات شرعی


لوگوی دوستان


 لینک دوستان

پی سی ورلد
مجید انلاین
الهه انتقام
شبکه فن آوری اطلاعات ایران
ترفندستان


 جستجو

با سرعتی بی‏نظیر و باورنکردنی
متن یادداشت‏ها و پیام‏ها را بکاوید!


اشتراک

 


آوای آشنا


نوشته های قبلی

ترفند
اینترنت
رجیستری
متفرقه
بیشتر بدانید
اصطلاحات کامپیوتری
برنامه نویسی


[ خانه | مدیریت وبلاگ | شناسنامه | پست الکترونیک ]

میلاد تاریخ پنج شنبه 85/9/23 ساعت 1:50 صبح

مثال : برنامه ای بنویسید که دو عدد را از ورودی دریافت و طبق جدول زیر نسبت به مقدار آن واکنش نشان دهد

3 2 1 a
B+...+3+2+1 1..b b..1 واکنش

Begin
Writeln (" enter a,b :");
Readln(a,b);
Case a of
1:begin
for i:=1 to b do
write(i);
end;
2:begin
or I;=b downto 1 do
write(i);
end;
3:begin
sum:=0;
for i:=1 to b do
sum:=sum+I;
write(sum);
end;
end.
آرایه ها :
آرایه ها به عناصری اتلاق میشود که با یک نام تعدادی محل از حافظه را کنترل کند برای تشخیص محلها از اندیس استفاده میشود
انواع آرایه ها :
1- آرایه های یک بعدی
2- عناصر دو بعدی
3- آرایه های سه بعدی

تعریف آرایه ها :
var
نوع of ]اندیس پایان..اندیس شروع: array [ نام آرایه
نوع متغیر آرایه : متغیر آرایه
خواندن آرایه :
مثال : برنامه ای بنویسید که نمرات 100 دانش آموز را از ورودی دریافت و در یک آرایه بریزد.
Var
A:array[1..100] of real;
Begin
For i:=1 to 100 do
Readln(a[i]);

مثال : برنامه ای بنویسید که نمرات 100 دانش آموز را از ورودی دریافت و 50 تای اول را چاپ کند سپس تعداد نمرات 20 را مشخص کند.
Var
A:array[1..100] of real;
Begin
For I;=1 to 100 do
Writeln("enter no(",I,")");
Readln(a[i]);
For i:=1 to 50 do
Writeln(a[i]);
S:=0;
For i:=1 to 100 do
If i:=1 to 100 do
If a[i]=20 then
S:=s+1;
Writeln(s);
End.

پیدا کردن max,min
عنصر اول =min
حلقه برای گردش در آرایه
Min < عنصر فعلی if
عنصر فعلی min :=
Write(min);
مثال : برنامه ای بنویسید که با دریافت نمرات 100 دانش آموز بالاترین و پایین ترین نمره را در بین این 100 نفر پیدا کند.

Var
A:array[1..100] of real;
I:integer;
Begin
For i:=1 to 100 do
Readln(a[i]);
Min:=a[1];
Max:=a[1];
For i:=2 to 100 do
Begin
If a[1]< min then
Min:=a[i];
If a[i]>max then
Max := a[i];
End;
Writeln("max is :",max,"min is :",min);
End.
مثال : برنامه ای بنویسید که با دریافت 100 اسم به ما بگوید تعداد تکرار اسم ali چند بار است وآیا اسم hassan بیشتر ذکر شده یا اسم reza ؟
Var
A:array [1..100] of string;
Begin
For i:=1 to 100 do
Readln(a[i]);
Ali:=0;
Reza:=0;
Hassan:=0;
For i:=1 to 100 do
Begin
If a[i]="ali" then
Ali:=ali+1;
If a[i]="reza" then
Reza:=reza+1;
If a[i]="hassan" then
Hassan:=hassan+1;
Endd
Writeln(ali is :",ali);
If reza>hassan then
Writeln("reza")
Else
Writeln("hassan");
End.
مثال : برنامه ای بنویسید که با دریافت نام و نمره 100 دانش آموز تنبل ترین فرد کلاس را مشخص کند.
Var
Name:array[1..100] of string;
No:array[1..100] of real;
Begin
For i:=1 to 100 do
Begin
Readln(name[i]);
Readln(no[i]);
End;
Min:=no[1];
Namemin:=name[1];
For i:=2 to 100 do begin
If no[i] Begin
Min:=no[i];
Namemin:=name[i];
Writeln(namemin);
End.
آرایه های دو بعدی:
وقتی از آرایه دوبعدی استفاده میکنیم باید از دو حقه for استفاده کنیم.
مثال : برنامه ای بنویسید که نمرات 4 کلاس که هر یک 20 دانش آموز دارد را از ورودی دریافت وتنبل ترین فرد را در این 4 کلاس مشخص کند.
Var
A:array[1..20,1..4] of real;
Begin
For i:=1 to 4 do
Begin
For j:=1 to 20 do
Readln(a[j,i]);
End;
Min:=a[1,1];
For i:=1 to 4 do
For j:=1 to 20 do
If a[j,i]< min then
Min:=a[j,i];
Writeln(min);
End.
مثال : در یک آرایه 100*20دوهزار کاراکتر نگهداری میشود برنامه ای بنویسید که تعداد تکرار حرف A را با a مقایسه کند و همچنین به ما بگوید آیا کاراکتر z در این ماتریس وجود دارد ؟
Var
A:array[1..20,1..100] of character;
Bool:Boolean;
B,b1:integer;
Begin
For i:=1 to 100 do
For j:=1 to 20 do
If a[I,j]="A" then
B:=b+1;
If a[I,j]="a" then
B1:=b1+1;
If a[I,j]="z" then
Bool:=true;
End;
If b>b1 then writeln("A>a");
If b If b=b1 then writeln("A=a");
If true then writeln("""z""exist");
End.

تکلیف : میخواهیم نام و نمره تعدادی دانش آموز یک کلاس را از ورودی دریافت کنیم و مشخص کنیم که تنبل ترین و زرنگ ترین فرد کلاس کیست.چند نفر نمره زیر 10 گرفتند؟نام کسانی که نمره آنها در بازه 17 تا 15 می باشد ب همراه نمره آنها چاپ شود آخرین نفر نامش end است حداکثر تعداد دانش آموزان 100 نفر است.
Var

a:array [1..100] of string ;
b:array[1..100] of real;
begin
i:=1;
read(a[i]);
while a[i]<>"end" do begin
readln(b[i]);
i:=i+1;
readln(a[i]);
end;
j:=i-1;
min:=a[1];
max:=a[1];
for i:= 2 to j do
begin
if b[i] >max then
begin
max:=b[i];
name:a[i];
end;
end
writeln(name);
count:=0;
for i:=1 to j do
if b[i]<=10 then
count:=count+1;
writeln(count);
for i:=1 to j do
if (b[i]<17) and (b[i]>15) then
write(b[i],a[i]);
end.
تکلیف : برنامه ای بنویسید که حاصل این عبارت را حساب کند.
i/i!=1/1!+2/2!+3/3!+4/4!+5/5!
N!= 1*2*3*4*…*n
Begin
Sum:=0;
For n:=1 to 5 do
Begin
For m:=1 to n do
F:=f*m;
Sum:=sum+n/f;
End;
Writeln(sum);
End.
تکلیف : برنامه ای بنویسید که نمرات 80 دانش آموز را که در چهار کلاس دسته بنده شده اند را از ورودی دریافت کند سپس به سوالات زیر جواب دهد.
1- معدل هر یک از کلاسها
2- نمره تنبل ترین و زرنگترین شخص در هر کلاس به طور جداگانه
Var
A:array [1..4,1..20] of real;
Begin
For i:=1 to 4 do
For j:=1 to 20 do
Begin
Writeln("please enter nomreh");
Readln(a[I,j]);
End;
For i:=1 to 4 do
Begin
Sum:=0 ;
For j:=1 to 20 do
Begin
Sum:=a[I,j]+sum;
End;
Writeln(sum/20,"average of this class");
End;
For i:=1 to 4 do
Begin
Max :=a[1,1];
Min:=a[1,1];
For j:=2 to 20 do
Begin
If a[I,j]>max then
Max :=a[I,j];
End;
Writeln(I,min,max);
End;
End.
- String :
String آرایه ای از کاراکترهاست .اغلب لازم است کاراکترهایی در رشته موجود درج شوندو یا کاراکترهایی به جای بخشی از رشته نوشته شوند , زیررشته ای در رشته جستجو گردد و یا دو رشته با هم الحاق شوند.
رشته تهی : طول رشته ثابت نیست و با داداه هایی که در آن ذخیره شده است مشخص می گردد.کاراکترهایی که در رشته قرار می گیرد از حداکثر طولی که برای آن تعیین میشود بیشتر نخواهد بود. اگر name رشته کاراکتری باشد دستور زیر name را به رشته تهی تبدیل میکند:
Name:="";
تبدیل رشته به اعداد :
در پاسکال زیر برنامه هایی وجود دارند که به آسانی میتوانند رشته ها را پردازش کنند. زیربرنامه val رشته عددی را گرفته به مقدار عددی تبدیل میکند.
رشته عددی رشته ای است که حاوی کاراترهای "0" تا "9" و نقطه ممیز باشد مثل "12.5" و"13.5" زیربرنامه val به صورت زیر به کار میرود.
Val (st,number,error)
St رشته ای است که باید به عدد تبدیل شود و number متغیری است که رشته تبدیل شده به عدد در آن قرار میگیرد. چنانچه در رشته st کاراکتر نا معتبری (کاراکترهای غیر از( "0" تا "9" و"." ) , محل وجود آن کاراکتر در پارامتر error قرار میگیرد. اگر error برابر با صفر باشد معنایش اینست که کاراکتر نا معتبری وجود ندارد. اگر number از نوع صحیح باشد st به مقدار صحیح و اگر number از نوع اعشاری باشد st به مقدار اعشاری تبدیل میشود .
مثال زیر را در نظر بگیرید:
Var st :string;
Num,e:integer;
St:="352";
Val (st,num,e);
مقدار 352 در متغیر num ومقدار صفر در متغیر e قرار میگیرد اکنون دستورات زیر را در نظر بگیرید :
St:="35#"2;
Val (st,num,e);
با اجرای دستور val به دلیل وجود کاراکتر" # " که کاراکتر نامعتبری در اعداد است عدد 2 در متغیر e قرار میگیرد و معنایش اینست که کاراکتر شماره 2 ( شماره گذاری از صفر شروع میشود) نامعتبر است و عمل تبدیل صورت نمیگیرد و مقدار num تعریف نشده است.
تبدیل عدد به رشته :
برای تبدیل مقدار عددی به رشته عددی از زیربرنامهstr استفادهمیشود و به صورت زیر به کار میرود:
Str (number : format,numstring)
با این دستور مقداری که در number قرار دارد به رشته ای به طول format تبدیل میشود و در رشته numstring قرار میگیرد . دستورات زیر را در نظر بگیرید:
Var x:integer;
St:string;
X=352;
Str(x:5,st);
با اجرای این دستور مقدار 352 به رشته "352" تبدیل شده در st قرار میگیرد

برنامه نویسی

میلاد تاریخ دوشنبه 85/9/13 ساعت 9:49 صبح

مثال : برنامه ای بنویسید که دو عدد را از ورودی دریافت و چنانچه عدد اول در بازه 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
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.

برنامه نویسی

میلاد تاریخ دوشنبه 85/9/6 ساعت 9:36 صبح

زبان پاسکال یکی از زبانهای برنامه سازی است که ویژگیهای آموزشی آن بسیار بالاست یعنی زبان خوبی برای آموزش برنامه نویسی منظم و دقیق است.قابلیت خوانایی و درک برنامه های این زبان بالاست ومیتوان برنامه هایی نوشت که احتمال خطاهای آنها بسیار اندک باشد علتش این است که یک زبان ساختار یافته (structed) است .

ساختار کلی برنامه چیست؟
1-تعریف
2-به وسیله procedure و functionقسمتهای تکراری را از بین ببریم
3-بدنه
فرم کلی پاسکال:

اسم Program
;
تعریف ثابت const
;
تعریف نوع type
;
تعریف متغیرها var
)
پارامترها ) نام procedure

begin
____
____
____
end ;

; ( پارامترها ) نام  نوع تابع  function
begin
____
____
____
end ;
begin
____
____
____
end .

متغیر : محلی است که دارای یک اسم می باشد و می توان مقداری را در آن ذخیره کرد

انواع متغیرها در پاسکال:
Integer :انواع عددی صحیح شامل اعداد بدون نقطه ممیز است
نوع مقادیری که می پذیرند طول(بایت)
byte 0 تا 255 1
Shortint 128- تا 127 1
integer 32768- تا 32767 2
Word 0 تا 65535 2
Longint 2147483648- تا 2147483647 4



اعداد اعشاری:
انواع عددی اعشاری شامل اعدادی با نقطه ممیز است

نوع مقادیری که میپذیرند ارقام با معنی طول(بایت)
single 1.5e-45 تا3.4e38 7 تا 8 4
real 2.9e-39 تا 1.7e38 11 تا 12 6
Double 5.0e-324تا 1.7e308 15 تا 16 8
extended 1.9e-4951تا 1.1e493 19 تا 20 10
انواع داده های اعشاری

-Char :
نوع داده کاراکتری که با کلمه char مشخص می شود میتواند یک کاراکتر را در خود نگهداری کند بنابراین کاراکترها در یک بایت از حافظه کامپیوتر ذخیره می شوند

String - :
این نوع داده ها برای ذخیره رشته ها مثل اسامی افراد به کار می رود و با کلمه کلیدی string مشخص ی گردد
برای هر رشته باید طول معلوم کنیم اگر طولی تعریف نشود به طور پیش فرض 80 در نظر گرفته میشود(مقدار طول حداکثر 255 است)
- Boolean :
نوع دیگری از داده ها در پاسکال وجود دارند که داده های بولی خوانده می شوند مقادیر بولی دارای دو ارزش درستی یا نادرستی اند که در پاسکال با صفر و یک نمایش داده می شوند صفر به معنی نادرستی و یک به معنی درستی به کار میرود این نوع داده ها با کلمه Boolean تعریف میشوند.
دستورات ورودی در پاسکال:
دستور Readlnبرای خواندن اطلاعات از ورودی به کار میرود.
فرمت آن به صورت مقابل است:
(اسامی متغیرها)read/ln
اسامی متغیرها باید با کاما از یکدیگر جدا شوند..
برای چاپ اطلاعات در خروجی از دستور write/ln استفاده میکنیم.
فرمت آن به صورت مقابل است:
" یک پیام "
( متغیر ) write/ln
عبارت محاسباتی
انتساب متغیرها:
مقدار ثابت
( متغیر )=: متغیر
عبارت محاسباتی

مثال : برنامه ای بنویسید که دو عدد را از ورودی دریافت و حاصلجمع آن دو را چاپ کند .
Program add;
Var
a,b:integer;
begin
writeln("enter 2 num");
readln(a,b);
c:=a+b;
writeln("result is =",c);
end.

تکلیف : چرا برنامه باید ادب داشته باشد ؟
مثال : برنامه ای بنویسید که حقوق پایه وتعداد فرزندان یک کارگر را از ورودی دریافت و مبلغ حقوق وی را بر اساس فرمول زیر حساب کنید.
10*تعداد فرزندان + حقوق پایه =حقوق کل
Program test;
Var
Salary:longint;
Child:byte;
kole:integer
Begin
Writeln("enter salary and number of child);
Readln(salary,child);
Kole := salary + child *10
Writeln("kole is ",kole);
END.
اولویت عملگرها:
/ *
- +
شرط:
then شرط if
Begin
____
____
____
end
else
begin
____
____
____
end;
نکته : دستورالعمل قبل از IF سمی کالن نمی گیرد
عناصر شرط:
< > <= >= = <>
اپراتورها :
AND OR NOT XOR
NOT A
1 0
0 1

XOR OR AND B A
0 1 1 1 1
1 1 0 0 1
1 1 0 1 0
0 0 0 0 0

مثال : برنامه ای بنویسید که با دریافت دو عدد بزرگترین آنها را چاپ کند.
Program test;
Var
a,b:integer;
if a>b then
begin
writeln(a);
end
else
writeln(b);
end.

مثال : برنامه ای بنویسید که با دریافت سه عدد به عنوان ضرایب y=ax2+bx+c معادله درجه دو را حل کند(این برنامه را با یک If بنویسید).
Var
A,b,c:integer;
D,x1,x2:real;
Begin
Writeln("enter a,b,c");
Readln(a,b,c);
D:=b*b-4*a*c;
If (d >=0 ) then
Begin
X1:=(-b+sqrt(d))/2*a);
X1:=(-b-sqrt(d))/2*a);

مثال : برنامه ای بنویسید که تعداد فرزندان وحقوق پایه و رتبه یک کارگر را از ورودی دریافت و حقوق کل وی را بر اساس فرمول زیر حساب کند.
کسریها - مزایا +بیمه = حقوق کل
5*رتبه +1000* تعداد فرزند = مزایا
مالیات + بیمه = کسریها

بیشتر کمتر یا مساوی 2 تعداد فرزند
تعداد فرزندان 1000 بیمه
هر چیزی دیگر 20 تا 0 رتبه
حقوق پایه حقوق پایه*100/10 مالیات

begin
writeln("enter salary and grade and number of child");
readln(salary ,num,grade);
if num<=2 then
bimeh:=100
else
bimeh :=num*500;
if (grade>=0) and (grade<=20)then
net := 10/100*salary
else
if grade >20 then
begin
net:=20/100*salary;
mazaya:=num*1000+grade*50;
kasry:=bimeh+net;
kol :=salary + mazaya-kasry;
end;
writeln(kol);
end.

تکلیف : در یک ترکیب شیمیایی 4 عنصر شرکت دارند مقدار مجاز برای تهیه ماده ای به نام asxd به این صورت است.
A 0 ~ 50
S 0.5 ~ 0.83
X 81 ~ 92 or 824 ~ 901
D -100 ~ 100
با دریافت مقادیر a,s,x,d از ورودی به ما بگوید که آیا می توان این ماده را تولید کرد یا نه ؟
Begin
Num:=0;
Writeln("please enter a s x d");
Readln(a,s,x,d);
If (a>0) and(a<50) then
Num:=num+1;
If (s>0.5)and (s<0.83) then
Num:=num+1;
If ((x>81)and(x<92))or ((x>824)and(x<901))then
Num:=num+1;
If (d>-100) and (d<100) then
Num:=num+1;
If num=4 then
Writeln("yes can")
Else
Writeln("you can not");
End.
تکلیف : برنامه ای بنویسید که با دریافت سه عدد و با فرض اینکه عدد دوم وتر میباشد به ما بگویید که آیا این سه عدد تشکیل یک مثلث قایم الزاویه می دهد یا خیر؟

 CASE:
CASE میتواند تعدادای شرط را بگیرد و انتخاب کند.
مقادیری که دستور CASE میپذیرد ORDINAL است مقادیری کهORDINAL هستند دارای ترکیب نیستند و همچنین قابل شمارش هم هستند مثل INTEGER,CHARACTER,BYTE,BOOLEAN,LONGINT,…
پسREAL,STRING ORDINAL<---- نیستند
CASE تنها دستوری است که BEGIN ندارد ولی END دارد
مقدارها میتوانند شامل یک مقدار یا چند مقدار که از یکدیگر با کاما جدا شده اند باشند و یا یگ سری شمارشی باشند مثل:
1:------
1,10,28:------
1..100,150..243:---------
"A".."Z":---------

Of متغیر Case
Begin : مقدار1
-------
-------
End;
Begin : مقدار2
-------
-------
End;
Begin :Else
-------
-------
End;
End.
مثال : برنامه ای بنویسید که یک عدد را از ورودی دریافت ( (0<=x<3وتلفظ آنها را چاپ کند.
BEGIN
READLN(X);
CASE X OF
0:WRITELN("ZERO");
1:WRITELN("ONE");
2:WRITELN("TWO")
ELSE
WRITELN("ERROR");
END;
END.

برنامه نویسی

 

[ خانه | مدیریت وبلاگ | شناسنامه | پست الکترونیک ]

©template designed by: www.parsitemplates.com

explorer blog

Click here to make Webloger your default homepage!
سفارش تبلیغ
صبا ویژن