زبان پاسکال یکی از زبانهای برنامه سازی است که ویژگیهای آموزشی آن بسیار بالاست یعنی زبان خوبی برای آموزش برنامه نویسی منظم و دقیق است.قابلیت خوانایی و درک برنامه های این زبان بالاست ومیتوان برنامه هایی نوشت که احتمال خطاهای آنها بسیار اندک باشد علتش این است که یک زبان ساختار یافته (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.
-----------
ما را از نظرات گرانبها خود بهره مند سازید
مرسی از وب لاگ قشنگت واقعا دستت درد نکنه به وبلاگ ما هم یه سری بزن من برای تبادل لینک یا اوگو آماده ام اگه با تبادل لینک موافق بودی تو قسمت نظرات بگو هر چی باشه همشهریم
در ضمن اگه خواستی یه لطفی هم بکنی تو قسمت نظر سنجی یه نظری هم به وبلاگم بده یا حق
----------.----.
------ _.'__ ---`.
--.--(#)(#)----/##
.' @------------/###
:------------,--#####
--`-..__.-'_.--###/
--------`;_:-- ---`"'
-------.'"""""`.
-----/, ------- ,
----//---------
----`-.______.-'
--- ___`. | .´'___
-(______|______)