چگونگي نامگذاري شناسه ها يا متغير ها

شناسه ها در پاسکال بايد با يک حرف يا يک خط زير ( _ ) شروع
بشن . و نبايد براي نامگذاري شناسه اون رو با عدد شروع کرد
همچنین نباید برای نامگذاری یک شناسه یا متغیر از کاراکتر
فاصله استفاده کرد

نکته : بعضي از کلمات براي پاسکال معني خاصي دارن
که نبايد از اونا براي نامگذاري متغير يا شناسه استفاده بشه
اين کلمات رو کلمات ذخيره شده در پاسکال مي نامند
تمامي دستورات پاسکال و توابع از اين قبيل هستند
(
Read - Begin - End - Write , ... )

مثال : چند شناسه قابل قبول در پاسکال

Test - Ali - Ab3f - ok_2005 - _raze

چند شناسه غير قابل قبول در پاسکال

45
do -d sods - read - write

2. تعريف يک شناسه

شکل کلي :

Vary
نوع داده : نام متغير يا متغيرها;

مثال :

Var
Test:integer;

3. انواع داده هاي موجود در پاسکال

الف : داده هاي عددي که خود دو نوع است

1. 
داده از نوع صحيح
2.داده از نوع اعشاري
 

انواع داده نوع صحيح :

1.
Short int ( 1 byte فضا اشغال ميکند )
2.
Byte ( 1 byte فضا اشغال مي کند )
3.
Integer ( 2 byte فضا اشغال مي کند )
4.
Word ( 2 byte فضا اشغال مي کند )
5.
Longint ( 4 byte فضا اشغال مي کند )

داده اعشاري :

1.
Real ( 6 byte فضا اشغال ميکند )

ب:
Boolean

اين نوع داده يکي از دو مقدار
True يا False
را در خود نگه ميدارد

ج :
String

اين نوع داده داده کاراکتري است و مي توان
تا 255 کاراکتر در ان قرار داد


مثال :
Var
a,b:integer;

str:string

c:Real;

f,k,h:word;

3.
Const ( ثابت ها )

ثابت ها مقاديري هستندکه در طول اجراي برنامه
به هيچ وجه تغيير نمي کنند و ثابت هستند

شکل کلي تعريف يک ثابت

Const
شناسه=مقدار;

مثال :

Const
Test=42.35;

نکته :
( ; ) پس از پايان هر دستور بايد علامت
سيمي کالن را قرار بدين . در غير اين صورت با پيغام خطاي
Error 85 : ";" expected
مواجه ميشيد

ثابت ها يکي از کم کاربرد ترين شناسه ها در
پاسکال هستند و معمولا در برنامه هايي که داده هاي
ان مشخصند و تغيير نمي کنند مي تونيم از ثابت ها
استفاده کنيم

4 . علايم () - { } - [ ]

اين علايم نيز معني خاصي براي پاسکال دارند
که به ترتيب در مورد هر يک توضيح مي دم

(
) : مي تونيد عبارتي رو توش قرار بديد

{ } : مي تونيد داخلش توضيحي بنويسيد . نوشتن
توضيح هيچ تا ثيري در برنامه شما نداره و صرفا
پاسکال اون رو يک توضيح فرض ميکنه

[ ] : مي تونيد شروع يا پايان انديس ارايه اي رو
درش قرار بدين در مورد ارايه بعدا صحبت ميکنيم

ساختار يک برنامه پاسکال
هر برنامه پاسکال از سه بخش تشکيل شده

1 .
Heading ( عنوان )

2 .
Declarations ( تعاريف )

3 .
Block ( بلاک يا تنه اصلي )

شروع شده و به
Begin نکته : تنه اصلي با
ختم مي شود
End.

حالا يک مثال ساده براي اين که خوب جا بيفته
( در مورد دستورات به کار رفته در برنامه
بعدا توضيح مي دم اين برنامه صرفا براي
اشنايي با ساختار يک برنامه پاسکاله )

مثال 1 . برنامه اي بنويسيد تا نام شما را از ورودي
گرفته سپس ان را نمايش دهد

Program Test; ( عنوان که ميتوانيد ان را ننويسيد )
uses crt;
Var ( بخش تعاريف )
Name:string;
a:integer;
Begin ( تنه اصلي )
clrscr;
write('Please Enter Your Name:');
read(name);
writeln('Salam',Name);
read(a)
end;


دستورات پاسکال

1.
Read :

شکل کلي:

read(متغير )

توضيح : اين دستور داده اي را از طرف کاربر

دريافت مي کند . اين داده ممکن است يک عدد يا يک

عبارت( رشته ) باشد.

2.
readln :

را انجام
Read اين دستور کاري مشابه دستور

ميدهد با اين تفاوت که بعد از دريافت داده مکان نما

به يک خط پايين تر منتقل مي شود

نکته :

اگر تعداد داده هاي داده شده توسط
read در دستور

کاربر بيشتر از متغير ها باشد داده هاي اضافي حذف نميشود

مثال :

مثلا اگر :

read(a,b,c);

يعني ما سه متغير داشته باشيم و کاربر هم اعداد :

8و 7 و 3 و 12 و 4

را وارد کند انگاه اعداد 7 و 8 اعداد اضافي هستند

که حذف نميشن و ميشه در ادامه برنامه از اونا استفاده

کرد

3 .
write

از اين دستور براي نمايش اطلاعات استفاده مي شود
و شکل کلي ان به صورت زير است :

write(' عبارت ' );

يا

write(متغير );

يا ترکيبي از هردو .

تذکر : هر چيزي را که بين دو علامت ' ' بنويسيم به عنوان

يک رشته يا يک عبارت محسوب مي شود حتي اگر چيزي که

مي نويسيم يک دستور پاسکال باشد

نکته : براي انجام عمليات رياضي در پاسکال از

( + , - , * , / ,
mod , div ,abs , sqr , ... )

استفاده مي کنيم و اما کاربردشون :

از بالا به پايين اولويت ها کم ميشود

منظور از اولويت اينه که در انجام محاسبات کدام

علامت مقدم تره مثلا قرينه سازي بالاترين اولويت

و جمع و تفريق کمترين اولويت رو دارن

1. + , - :( قرينه سازي ( يا همون مثبت و منفي

2. * , /: ضرب و تقسيم اعشاري

3.
div , mod :

div : تقسيم صحيح

mod : باقيمانده صحيح

4. + , - : جمع وتفريق

نکته : عملگرهايي که داراي اولويت يکساني هستند

اگر در عبارتي به کار برن ابتدا عملگري که در سمت

چپ قرار ميگيره داراي بالاترين اولويته

همچنين براي عوض کردن اولويتها از علامت ( ) استفاده

ميکنيم به طوري که هر عملگري که بين دو علامت ( ) قرار

بگيرد داراي بالاترين اولويت است

لازم به ذکره که توابع در پاسکال همواره اولويت

بالاتري نسبت به عملگرها دارن در مورد توابع بعد

بحث مي کنيم
يک مثال :

برنامه اي بنويسيد تا از کاربر 2 عدد دريافت

کند سپس حاصلجمع و حاصلضرب و حاصل تقسيم

و حاصل تفريق اين دو عدد را در خروجي نمايش دهد


جواب :

program math;

var

a,b:integer;

begin

write('Please Enter 2 Number :');

Read(a,b);

write('a + b =' , a+b);

write('a - b =' , a*b);

write ('a * b =' a*b);

write('a / b =' a/b);

readln(a)

end;

در مثال بالا تعريف
a,b چند سوال : اگر متغيرهاي

نميشد اون وقت برنامه چه پيغامي رو صادر ميکرد ؟

; علامت
end; چرا در دستور قبل از

سيمي کالن نگرفت ؟

اگه متغیرها تعریف نشده باشند پیغام خطای

Error 3: Unknown identifier

نمایش داده میشود یعنی " متغیر ناشناخته " اما سوال بعدی

اگر در دستور یکی مانده به اخر علامت سیمی کالن قرار نگیرد

پاسکال خطایی نخواهد گرفت

يونيت ها :
unit :

يونيتها همان کتابخانه ها در پاسکال هستند

در پاسکال يونيت هاي زيادي وجود دارد از جمله :

unit graph , unit crt , strings , win dos

,
win crt , ...

در ادمه با بعضي يونيت ها اشنا ميشيم

unit crt : اين يونيت شامل دستوراتي نظير

gotoxy , textcolor , textbackground , ...

مي باشد . براي استفاده از يونيتها در برنامه از کلمه

استفاده مي کنيم مثلا براي استفاده
uses ذخيره شده

معمولا در ابتداي برنامه
crt از يونيت

را مينويسند
uses crt; عبارت

 1.gotoxy: از اين دستور براي انتقال مکان نما در

سطر يا سطون دلخواه در صفحه نمايش استفاده ميشود

لازم به ذکره که صفحه نمايش يا همون مانيتور

داراي 80 ستون و 25 سطر است که در دستور بالا

x=ستون

y=سطر

مي باشد

2.textcolor:

از اين دستور براي تايين رنگ قلم استفاده مي شود

شکل کلي :

text color ( نام رنگ يا شماره ان )

شماره رنگ
           نام ثابت             نام رنگ

سياه
              Black                  0

ابي
                 Blue                 1

سبز
               Green                 2

فيروزه اي
          Cyan                 3

قرمز
                red                    4

بنفش
                  magenta          5

قهوه اي
              Brown              6

خاکستري روشن    lightgray             7

خاکستري تيره
     Darkgray          8

ابي روشن
     lightblue               9

سبز روشن
      lightgreen         10

فيروزه اي روشن
     lightcyan      11

  قرمز روشن            lightred        12

بنفش روشن
   lightmagenta    13

زرد
                   Yellow           14

سفيد
                        white        15


حالايک سوال براي شما :
1.

برنامه اي بنويسيد تا کاراکتر ستاره را در چهار گوشه

مانيتور با رنگهاي متفاوت نمايش دهد