26
انواع داده مطالب گذشته تکمیلCase دستور ﺟﻠﺴﻪ ﺷﺸﻢ- ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل ﻣﺪرس: ﻧﻮري داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ88 آﺑﺎن مدرس: نوری( شریفشگاه صنعتیدان) ی پاسکال برنامهنویس88 آبان1 / 26

œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستور

ششم جلسه - پاسكال برنامهنويسي

نوري مدرس:

شريف صنعتي دانشگاه

88 آبان

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 1 / 26

Page 2: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورداده انواع

داده مختلف انواع• Integer

• Real

• Boolean

• Char

• String

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 2 / 26

Page 3: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع

Char داده نوعبايت). (يك است داده نوع كوچكترين •

خاص) عاليم و رقم حرف، (مثل نمايشي كاراكترهاي ذخيره براي •

ميشود. استفاده

ميگيرد. قرار (’ ) Signle Quote يك داخل در كاراكتر هر •

’$’ ’+’ ،’ * ’ ،’0’ ،’a’ ،’A’ به ميتوان كاراكتر نمونههاي از •كرد. اشاره ’&’ و

ميشود. داده نشان ’ ’ با و است كاراكتر يك خالي فاصله •

(ASCII) اسكي مجموعه كاراكترها، مجموعه پركاربردترين از يكي •

است.نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 3 / 26

Page 4: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع

ASCII کاراکترهای جدول

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 4 / 26

Page 5: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع

ASCII کاراکترهای مجموعهنشاندهنده ASCII كاراكترهاي مجموعه مقدار 128 از يك هر •

كاراكترهاست. از يكي

است. ’+’ نماينده 43 مقدار و ’A’ نماينده 65 مقدار مثالً •

اين در كاراكترها بين ترتيب در مشخصي محل كاراكتر، هر •

دارد. مجموعه

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 5 / 26

Page 6: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع

ASCII کاراکترهای مجموعهكرد. مقايسه هم با را كاراكترها ميتوان مقدار اين از استفاده با •

است. بزرگتر ’A’ از ميشود مشخص 66 مقدار با كه ’B’ مثالً •

است. كوچكتر 65 از 43 زيرا است كوچكتر ’A’ از ’+’ •

نيستند. چاپ قابل ASCII كاراكترهاي جدول اول كاراكتر 32 •

است. جديد خط كاراكتر (13 (كاراكتر كاراكتر 14امين •

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 6 / 26

Page 7: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع

ASCII کاراکترهای مجموعهASCII مجموعه در را كاراكتر يك ترتيب شماره Ord تابع •

برميگرداند.

برميگرداند. را 66 مقدار Ord(’B’) مثالً •

برميگرداند. را شده داده ترتيب شماره با كاراكتر Chr تابع •

برميگرداند. را ’B’ كاراكتر Chr(66) مثالً •

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 7 / 26

Page 8: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع

کاراکتری متغیرهای از استفادهvar

A, B : Char;Ch : Char;

beginA := ’A’;A := ’B’;A := ’ * ’;WriteLn(Ord(A));B := A;Ch := Chr(32); {’ ’}ReadLn(Ch);Read(Ch)

end.

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 8 / 26

Page 9: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع

رشته داده نوعكاراكترهاست. از بيشتر يا صفر طول به دنبالهاي رشته يك •

ميگيرد. قرار ’ عالمت دو بين در پاسكال در رشتهها •

صورت به و ميشود ناميده (null) تهي رشته صفر، طول به رشته •

ميشود. داده نمايش ”

دارد. مشخصي محل رشته، يك در كاراكتر هر •

و 2 محل در كاراكتر دومين ،1 محل در رشته در كاراكتر اولين •دارند. قرار ...

است. آن دهنده تشكيل كاراكترهاي تعداد رشته، يك طول •

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 9 / 26

Page 10: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع

کاراکتری متغیرهای از استفادهvar

A, B : String;St : String;

beginA := ’ABCDEF’;A := ’B’;A := ’ * (ABC)’;WriteLn(A);B := A;ReadLn(A);Read(A, B)

end.

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 10 / 26

Page 11: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورشرط دستور

انتخابی چند if به تو در تو if تبدیلif Single thenif Gender = ’M’ thenif (Age >= 18) and Age <= 26) thenWriteLn(’Current person satisfies the critieria

if Single and (Gender = ’M’) and(Age >= 18) and Age <= 26) thenWriteLn(’Current person satisfies the critieria.’)

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 11 / 26

Page 12: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورشرط دستور

مثالاز شما نمره و داشتيد درآمد 2000$ از بيشتر تابستان در اگر •

برويد. خود عالقه مورد دانشگاه به ميتوانيد شد، بيشتر 1300

از بيشتر شما حقوق ولي شد كمتر 1300 از شما نمره اگر •

ميكنند. پيشنهاد شما به را خود دانشگاه باشد، 2000$

ميتوانيد فقط نبود، بيشتر 2000$ از تابستان در شما حقوق اگر •

برويد. سكونتتان محل دانشگاه به

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 12 / 26

Page 13: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورشرط دستور

تو) در تو if ) مثالif Earning > 2000 thenif SAT > 1300 thenWriteLn(’Apply to first-choice college.’)

elseWriteLn(’Apply to parents alma mater.’)

elseWriteLn(’Apply to local college.’)

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 13 / 26

Page 14: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورشرط دستور

انتخابی) چند if ) مثالif (Earning > 2000) and (SAT > 1300) thenWriteLn(’Apply to first-choice college.’)

else if (Earning > 2000) thenWriteLn(’Apply to parents alma mater.’)

elseWriteLn(’Apply to local college.’)

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 14 / 26

Page 15: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورریاضی عبارات نتیجه

عبارات محاسبه102 div 100102 mod 100Z - (A + B div 2) + W * Y

+

-

Z +

A div

B 2

*

W Y7 div 2 / 3

7 / 2 div 37 / 2 div 3

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 15 / 26

Page 16: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورریاضی عبارات نتیجه

بولی عبارات در کوتاه مدارنتيجه كه زماني اولين در پيشفرض صورت به پاسكال، توربو در •

مييابد. خاتمه آن محاسبه كار باشد، مشخص بولي عبارت يك

داد. تغيير را تنظيم اين ميتوان نياز صورت در •

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 16 / 26

Page 17: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورریاضی عبارات نتیجه

بولی عبارات در کوتاه مدارif (X <> 0) and (Y / X > 50) then

. . .

بررسي عادي حالت در (كه شود بررسي دوم شرط و X = 0 اگر •

ميدهد. رخ صفر بر تقسيم خطاي نميشود)،

كوتاه، مدار بدون كامپايلرهاي با مشكلي چنين بروز عدم براي •

داد. تغيير زير صورت به را شرط ميتوان

if (X <> 0) thenif (Y / X > 50) then

. . .

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 17 / 26

Page 18: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورCase دستور

Case دستورحالت چند از يكي انتخاب براي ميتواند if مانند دستور، اين •

شود. استفاده

عبارت يا متغير يك اساس بر انتخاب كه ميشود استفاده زماني •

ليست را آن مقادير همه ميتوان يعني است. ترتيبي نوع از سادهكرد.

.Char و Boolean ،Integer يعني •

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 18 / 26

Page 19: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورCase دستور

(عددی) هفته روزهایcase DayNumber of

1, 7 : Gross := Hours * 1.5 * DailyRate;2, 3, 4, 5, 6 : Gross := Hours * DailyRate

end; {case}

if (DayNumber = 1) or (DayNumber = 7) thenGross := Hours * 1.5 * DailyRate

else if (DayNumber = 2) or(DayNumber = 3) or(DayNumber = 4) or(DayNumber = 5) then

Gross := Hours * DailyRate

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 19 / 26

Page 20: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورCase دستور

(عددی) هفته روزهایcase DayNumber of

1, 7 : Gross := Hours * 1.5 * DailyRate;2, 3, 4, 5, 6 : Gross := Hours * DailyRate

2..6 : Gross ...

end; {case}

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 20 / 26

Page 21: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورCase دستور

کاراکتر نوع با case دستورcase MomOrDad of

’M’, ’m’: WriteLn(’Hello Mom’);’D’, ’d’: WriteLn(’Hello Dad’)

end; {case}

if (MomOrDad = ’M’) or (MomOrDad = ’m’) thenWriteLn(’Hello Mom’)

else if (MomOrDad = ’D’) or (MomOrDad = ’d’)WriteLn(’Hello Dad’)

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 21 / 26

Page 22: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورCase دستور

Case دستور Syntax

case selector oflabel1 : Statement1;label2 : Statement2;

.

.

.

labeln : Statementn ;

elseStatemente

end {case}

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 22 / 26

Page 23: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورCase دستور

Case در ترکیبی دستوراتcase N of

1, 2 : beginWrite(’1, 2, ’);WriteLn(’Buckle my shoe’)

end; {1, 2}3, 4 : WriteLn(’3, 4, Shut the door’);5, 6 : WriteLn(’5, 6, Pick up sticks’)

elseWriteLn(N, ’is out of range’)

end; {case}

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 23 / 26

Page 24: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورCase دستور

Case مورد در نکاتیاز بعد دستور نبودند، برقرار else از قبل شرايط از هيچيك اگر •

.(else وجود صورت (در ميشود اجرا else

شرايط از هيچيك اگر و ندارد، وجود else استاندارد پاسكال در •

ميدهد. رخ اجرا زمان خطاي يك نباشد، برقرار case

بيشتر (اگر بگيرد. قرار label يك در ميتواند حداكثر مقدار هر •

ميافتد؟) اتفاقي چه شود

دارد. بيشتري قدرت if ولي است، كاراتر و خواناتر case •

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 24 / 26

Page 25: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورCase دستور

case دستور از محافظتوروديهاي مقابل در case دستور از محافظت اوقات گاهي •

ميباشد. ضروري غيرمعتبر

if (DayNumber >= 1) and (DayNumber <= 7) thencase DayNumber of1, 7 : Gross := Hours * 1.5 * DailyRate;2..6 : Gross := Hours * DailyRate

endelseWriteLn(’invalid day number.’)

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 25 / 26

Page 26: œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr - ce.sharif.educe.sharif.edu/courses/88-89/1/ce151-1/resources... · £ Šw ž ¢tJ@Ö ˜AW›™ymk CaseCwtF œKJ¢sl -šAkFAÓ¨s§wž¢›Ažr

داده انواع گذشته مطالب تکمیل Case دستورCase دستور

case به if دستور تبدیلcase X = Y ofTrue : WriteLn(’Equal’);False : WriteLn(’Unequal’)

end {case}

نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 26 / 26