رفتن به مطلب
afa

آموزش مقدماتی پاسکال

پست های پیشنهاد شده

زبان برنامه نويسي پاسکال

 

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

يعني نوشتن برنامه ها به صورت بلاک هاي مجزا و

پي در پي صورت مي گيرد که فايده اين کار در اين

است که اشکال زدايي از برنامه ها راحت ترصورت ميگيرد

 

اشنايي با قواعد - فرمانها - ثابت ها

 

1. شناسه

 

شناسه ها به صورت کلي به نامي گفته ميشود که

برنامه نويس از ان براي رجوع به متغير ها يا اجزاي

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

دو دسته تقسيم مي شوند . يک : شناسه هاي استاندارد

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

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

(Read - Write - Ord - Succ , ... )

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

توسط خود برنامه نويس تعريف ميشود مانند : نام متغير

نام برچسب و غيره

 

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

 

شناسه ها در پاسکال بايد با يک حرف يا يک خط زير ( _ ) شروع

بشن . و نبايد براي نامگذاري شناسه اون رو با عدد شروع کرد

همچنین نباید برای نامگذاری یک شناسه یا متغیر از کاراکتر

فاصله استفاده کرد

 

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

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

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

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

(Read - Begin - End - Write , ... )

 

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

 

Test - Ali - Ab3f - ok_2005 - _reza

 

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

 

45df -d sds - read - write

 

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

 

شکل کلي :

 

Var

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

 

مثال :

 

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

به اشتراک گذاری این ارسال


لینک به ارسال

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...