1 / 89

مفاهيم اوليه

مفاهيم اوليه. الفبای پاسکال. + - * / := = . : ; , ' ^ , <= > >= <> .. ( ) [ ] { } (* *) @ $ # . کلمات کليدی كلمات كليدي يا کلمات رزرو شده كلماتي هستند كه براي مترجم پاسكال به منظورهاي خاصي تعريف شده اند و به هيچ منظور ديگر نمی توان از آنها استفاده كرد.

landis
Download Presentation

مفاهيم اوليه

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. مفاهيم اوليه

  2. الفبای پاسکال + - * / := = . : ; , ' ^ , <= > >= <> .. ( ) [ ] { } (* *) @ $ #

  3. کلمات کليدی كلمات كليدي يا کلمات رزرو شده كلماتي هستند كه براي مترجمپاسكال به منظورهاي خاصي تعريف شده اند و به هيچ منظور ديگر نمی توان از آنها استفاده كرد.

  4. مترجم پاسكال با حروف بزرگ مثل حروف كوچك رفتار می كند. GOTO، goto وGoTo براي مترجم پاسكال فرقي ندارند.

  5. شناسهاسمي است كه براي نامگذاري برنامه ها، زير برنامه ها، ثابتها، متغيرها و برخي موارد ديگر مورد استفاده قرار می گيرد.

  6. قانون نامگذاري شناسه ها: براي انتخاب يك شناسه تركيبي از حروف (كوچك يا بزرگ) انگليسي و ارقام استفاده می كنيم به شرطي كه كاراكتر اول رقم نباشد. مثلاً اسامی زير می توانند به عنوان شناسه انتخاب شوند:counter pi epsilon a x2 t6

  7. ‼هيچيك از كلمات رزرو شده نمی توانند بهعنوان اسم يك شناسه انتخاب شوند. ‼ استفاده از هر كاراكتر ديگر به جز حرف و رقم غيرمجاز می باشد. اين ممنوعيت شامل كاراكتر فاصله نيز می شود. اسامي زير براي يك شناسه غير مجازند:Pack’dis Pack dis Pack-dis Pack,dis f(x)x+y a.b u’6ab-y s&r a/b t(3)sin(x)α

  8. ‼ در بيشتر نسخه هاي پاسكال از كاراكتر خط زير نيز در لابلاي كاراكترهاي حرف و رقم (نه به عنوان اولين و آخرين كاراكتر) می توان استفاده كرد. مثلاً test_2Pack_dismain_prog

  9. الف) شناسه هاي استاندارد. اين شناسه ها همانند كلمات رزرو شده داراي مفاهيم ويژه ای در پاسكال هستند ولي برخلاف آنها می توان به منظورهاي ديگر نيز آنها را بکار برد. انواع شناسه

  10. برخی شناسههاي استاندارد عبارتند از:1) ثابتهاي از پيش تعريف شده:false true 2) انواع دادهها: boolean char integer realstring3) پارامترهاي برنامه: input text4) توابع از پيش تعريف شده:eofcoschrarctanabslengthintfracexpeolnpredpiordoddlnsuccsqrtsqrsinroundtrunc5) رويهها : exitdeletecloseassignappendrewriteresetreadlnreadhaltwritelnwrite

  11. ب) شناسه هاي عادي. از اين شناسه ها معمولاً براي اسامي متغيرها، ثابتها، زير برنامه ها، و برنامه ها استفاده می شود. انتخاب اين شناسه ها به سليقه برنامه نويس صورت می گيرد.

  12. ‼ اسم شناسه هاي معمولي را می توان از بين اسامي شناسه هاي استاندارد انتخاب كرد ولی توصيه می شود كه اين كار را نكنيدزيرا در اينصورت مفهوم آن شناسه استاندارد در طول برنامه از دست رفته و به يك شناسه عادي تبديل می گردد.

  13. به طور كلي، هر شناسه كه كميتي را با خود همراه داشته باشد يك داده(data) ناميده می شود. براي اينكه يك داده، در برنامه نويسی پاسكال، اطلاع درست و كاملي را به دست دهد بايد دارای ”نوع“ باشد.

  14. الف) داده هاي عددي. دو نوع صحيح(integer) و اعشاري(real) براي داده هاي عددي مورد استفاده قرار می گيرند. انواع داده

  15. دو علت براي متمايز ساختن اين دو نوع عددي وجود دارد. يكي طول كلمه ای است كه داده با آن طول در سلول مربوط به حافظه ذخيره می شود. داده هاي صحيح در سلول هايي با طول كلمه ای كمتر از داده هاي اعشاري ذخيره می گردند. دومين علت اين است كه اين دو نوع در محاسبه رفتاری کاملاً متفاوت از خود نشان می دهند. بويژه اينکه، محاسبه با اعداد صحيح خيلي سريع تر انجام می گيرد.

  16. انواع داده هاي صحيح

  17. انواع داده هاي اعشاري

  18. ب) داده هاي منطقي. اين داده ها كه معمولا در شرط ها و يا عبارت هاي منطقي ظاهر می شوند با نوع boolean(بولي) مشخص شده و يكي از دو ارزش درست (true) يا نادرست (false) را به خود می گيرند.

  19. ج) داده هاي كاراكتري. اين داده ها با نوع char (مخفف character) مشخص شده و يك كاراكتر را در خود نگهداري می كنند. هر يك از اين داده ها در يك بايت از حافظه ذخيره می گردد. كاراكتر مربوطه در برنامه بايد بين دو علامت نقل قرار داشته باشد.

  20. د) داده هاي رشته اي. اين داده ها براي ذخيره مجموعه ای از كاراكترها به نام رشته، مثل اسامي، به كار می روند و با string مشخص می گردند. رشته ها نيز بين يك جفت علامت نقل محصور می گردند مثل 'Up Grade'.

  21. ‼ رشته ای مثل don’t walkرا که خود يک علامت نقل نيز دارد, به صورت ’don’’t walk’ می نويسيم.

  22. طول يک رشته عبارتست از تعداد کاراکترهايي که در آن رشته قرار دارند (فاصله نيز يک کاراکتر محسوب می شود). اين طول حداقل صفر و حداکثر 255می باشد. طول يک رشته در داخل يک جفت کروشه ذکر می شود. مثلا اگر رشته ای بصورت string[10]معرفي شده باشد آنگاه طول آن برابر است با 10.اگر طول يک رشته ذکر نشود آنگاه حداکثر طول 255 براي آن منظور می گردد.

  23. تعداد خانه ها (بايت ها)ي لازم در حافظه براي ذخيره يک رشته برابر است با يکي بيشتر از طول رشته. مثلا رشته ای که با طول 7 معرفي شده در 8 خانه از حافظه ذخيره می گردد. در اولين خانه طول رشته و در 7 خانه بعدي خود رشته ذخيره می گردد.حال اگر اين رشته ’Hello’ معرفي شده باشد آنگاه بصورت زير در حافظه ذخيره خواهد شد:

  24. دو خانه آخر خالي هستند. اين بدان معني نيست که در دو خانه آخر فاصله ذخيره شده. خانه ای که در آن کاراکتر فاصله ذخيره شده دارای کد ASCIIبرابر با00000000 است.

  25. ‼ هر کاراکتر از يک رشته را می توان با ذکر موقعيت آن در داخل يک جفت کروشه استفاده نمود. مثلا اگر sرشته ای به طول سه باشد، آنگاه s[3] اشاره به آخرين کاراکتر آن می کند.

  26. متغيرهايك متغير كميتي است كه در طول برنامه مقدارش می تواند تغيير كند. اسم يك متغير يك شناسه معمولي است و بايد در نامگذاري متغيرها از قانون نامگذاري شناسه ها پيروي كرد. متغيرهايي كه در برنامه استفاده می شوند بايد حتماً نوع داشته باشند.

  27. Var Var t:boolean; u,v:real;

  28. يكي از ويژگي هاي اساسي يك برنامه بلوكي بودن آن است. در اين مورد بعدها به تفصيل سخن خواهيم گفت. در قالب كلي تعريف متغيرها و نوع آنها در نمودار بلوک Var از يك كادر براي محصور نمودن متغيرها و نوع آنها استفاده نموديم.

  29. Even : نام نوع : صحيح يك متغير را می توان يك جعبه تصور كرد كه نام آن نام متغير بوده و محتواي آن مقداري(عددي يا غير عددي) است كه همنوع با نوع مشخص شده(تعريف شده) براي آن است. به عبارت ديگر، آن مقداري می تواند در درون جعبه قرار داده شود كه نوع آن با نوع مشخص شده براي جعبه يكي باشد.

  30. بيشتر سروکار ما در اين کتاب با متغيرهاي صحيح و اعشاري خواهد بود.

  31. ثابتهايك ثابت كميتي است كه مقدارش در طول برنامه ثابت بوده و اصلا نمی تواند تغيير كند. تاكيد می شود كه در انتخاب اسم ثابتها قانون نامگذاري شناسه ها بايد رعايت گردد.

  32. Const Const e=2.7178;star='*';OK=true;

  33. نوع هر ثابت با مقدار تعريف شده براي آن مشخص می گردد.با وجود اين، می توان ثابتها را با تعيين نوع آنها نيز تعريف کرد. مثلا Const u:byte =250;star:char ='*';s:string ='Ali';

  34. ‼ مقدار هر ثابت فقط به يك طريق، آن هم در بلوك Const تعريف می شود.

  35. عملگرها عملگرها نمادهايي هستند كه برداده هاي طرفين خود، كه عملوند ناميده می شوند، اثر كرده و نتيجه ای (عددي يا غير عددي) به دست می دهند. عملگرها به سه دستهحسابي، مقايسه ای و منطقي تقسيم می شوند.

  36. عملگرهای حسابی نتيجه اثر عملگر / همواره مقداري اعشاري استحتياگر هر دو عملوند صحيح باشند.

  37. عملگرهای مقايسه ای

  38. عملگرهای منطقی

  39. توابع کتابخانه ای (از پيش تعريف شده)

  40. اسامي اين توابع، شناسه هاي استاندارد بوده و قويا توصيه می شود كه اين اسامي را براي نامگذاري متغيرها هرگز به كار نبريد، چون در غير اينصورت، اثر آن تابع از بين رفته و اشكالاتي در نتيجه حاصل از اجراي برنامه ايجاد می شود.

  41. در رياضيات به عبارتهايي مثلكه از اعداد، متغيرها، توابع معين، چهار عمل اصلي و توان، و جفت پرانتزها تشكيل شده اند عبارتهاي جبري می گوييم.

  42. يك عبارت حسابيدر پاسكال تركيبي است از يك يا چند ثابت، متغير، تابع استاندارد، عملگر حسابي و جفت پرانتزها، كه حداقل يك عملگر حسابي را شامل باشد. نتيجه اين عبارت يك مقدار عددي (صحيح يا اعشاري) خواهد بود. مثلا هر يك از عبارتهاي زير يك عبارت حسابي در پاسكال به شمار می آيد:sin(2+x)2.0*t -2*exp(2.0)+k/4abs(u-v)/4

  43. ‼ در رياضيات xy به معني xضرب در y است ولي در پاسكال xy به معناي يك متغير به همين نام است. هميشه به خاطر داشته باشيد كه:ضرب x در y را به صورت x*y بنويسيد نه xy ; ضرب 2 در tرا به صورت 2*tبنويسيد نه 2t;ضرب 12- در 5/4 را به صورت -12*4.5 بنويسيد نه-12(4.5)؛عبارت رابه فرم (x-y)/t نوشت نهx-y/t؛عبارت رابه فرم 1/(a*b) نوشت نه1/a*b.عدم رعايت هر يك از اين موارد باعث اعلام خطا و يا نتيجه ای نادرست به دست خواهد داد.

  44. ‼ از نوشتن عبارتهايي كه منجر به صورتهاي مبهم عدد بر صفر و صفر بر صفر شود بپرهيزيد.‼ در پاسكال، بر خلاف برخي زبانهاي ديگر مثل فرترن يا بيسيك، عملگر توان تعريف نشده است و فقط x2 را می توان با استفاده از تابع sqr به صورت sqr(x) نوشت. بنابراين به جز مرتبه هاي پايينx*x : x2x*x*x : x3x*x*x*x : x4براي مراتب بالاتر صرف نمی كند كه از استفاده مكرر عملگر * بهره جوييم. بعدها خواهيم ديد كهرا می توان با استفاده از يك برنامه فرعي ساده تعريف كرده و در هر برنامه ديگر بكار برد.

  45. ‼ براي اينكه دقت مطلوب مسئله حاصل آيد و اشتباهي احتمالي پيش نيايد، بايد در انتخاب ثابتها و متغيرها به نوع آنها دقت كنيد.‼ با در نظر گرفتن اولويت عملگرها، از نوشتن پرانتزهاي اضافي خودداري كنيد مگر اينكه ترديدي در استفاده از پرانتز داشته باشيد، كه در اين صورت جانب احتياط را گرفته و پرانتز را به كار ببريد.‼ در انتخاب نوع تابع استاندارد و همچنين نوع آرگومانهاي آن بايد دقت كنيد. بويژه بايد توجه داشته باشيد كه آرگومانهاي توابع مثلثاتي را بر حسب راديان بنويسيد.

  46. ‼ براي استفاده از برخي مقادير متعالي، بهتر است مقدار دقيق آن را به كار ببريد. مثلا براي عدد π ، 4*arctan(1) و براي e، عبارت exp(1) از حداكثر دقت برخوردار هستند. در نسخه های پيشرفته برای عدد πرويهpiنيز قابل استفاده است (کافيست فقط بنويسيم pi.)

  47. ‼ بايد توجه داشت كه دو عملگر مقايسه ای پشت سر هم نمی توانند بيايند مثلا عبارت -2 < x < 2در پاسكال كاملا غير مجاز است و بجاي آن بايد نوشت:(-2 < x) and (x < 2)

  48. (5*sqr(x+y)+2*x)/(x-y)

  49. pi*(R*R)+(k+m)/R

  50. 4*cos(x+2*y)-2*sqr(sin(sqr(x)/2))

More Related