œkj¢sl -šakfaÓ¨s§wž¢›ažr -...
TRANSCRIPT
داده انواع گذشته مطالب تکمیل Case دستور
ششم جلسه - پاسكال برنامهنويسي
نوري مدرس:
شريف صنعتي دانشگاه
88 آبان
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 1 / 26
داده انواع گذشته مطالب تکمیل Case دستورداده انواع
داده مختلف انواع• Integer
• Real
• Boolean
• Char
• String
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 2 / 26
داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع
Char داده نوعبايت). (يك است داده نوع كوچكترين •
خاص) عاليم و رقم حرف، (مثل نمايشي كاراكترهاي ذخيره براي •
ميشود. استفاده
ميگيرد. قرار (’ ) Signle Quote يك داخل در كاراكتر هر •
’$’ ’+’ ،’ * ’ ،’0’ ،’a’ ،’A’ به ميتوان كاراكتر نمونههاي از •كرد. اشاره ’&’ و
ميشود. داده نشان ’ ’ با و است كاراكتر يك خالي فاصله •
(ASCII) اسكي مجموعه كاراكترها، مجموعه پركاربردترين از يكي •
است.نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 3 / 26
داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع
ASCII کاراکترهای جدول
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 4 / 26
داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع
ASCII کاراکترهای مجموعهنشاندهنده ASCII كاراكترهاي مجموعه مقدار 128 از يك هر •
كاراكترهاست. از يكي
است. ’+’ نماينده 43 مقدار و ’A’ نماينده 65 مقدار مثالً •
اين در كاراكترها بين ترتيب در مشخصي محل كاراكتر، هر •
دارد. مجموعه
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 5 / 26
داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع
ASCII کاراکترهای مجموعهكرد. مقايسه هم با را كاراكترها ميتوان مقدار اين از استفاده با •
است. بزرگتر ’A’ از ميشود مشخص 66 مقدار با كه ’B’ مثالً •
است. كوچكتر 65 از 43 زيرا است كوچكتر ’A’ از ’+’ •
نيستند. چاپ قابل ASCII كاراكترهاي جدول اول كاراكتر 32 •
است. جديد خط كاراكتر (13 (كاراكتر كاراكتر 14امين •
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 6 / 26
داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع
ASCII کاراکترهای مجموعهASCII مجموعه در را كاراكتر يك ترتيب شماره Ord تابع •
برميگرداند.
برميگرداند. را 66 مقدار Ord(’B’) مثالً •
برميگرداند. را شده داده ترتيب شماره با كاراكتر Chr تابع •
برميگرداند. را ’B’ كاراكتر Chr(66) مثالً •
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 7 / 26
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل Case دستورChar داده نوع
رشته داده نوعكاراكترهاست. از بيشتر يا صفر طول به دنبالهاي رشته يك •
ميگيرد. قرار ’ عالمت دو بين در پاسكال در رشتهها •
صورت به و ميشود ناميده (null) تهي رشته صفر، طول به رشته •
ميشود. داده نمايش ”
دارد. مشخصي محل رشته، يك در كاراكتر هر •
و 2 محل در كاراكتر دومين ،1 محل در رشته در كاراكتر اولين •دارند. قرار ...
است. آن دهنده تشكيل كاراكترهاي تعداد رشته، يك طول •
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 9 / 26
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل Case دستورشرط دستور
مثالاز شما نمره و داشتيد درآمد 2000$ از بيشتر تابستان در اگر •
برويد. خود عالقه مورد دانشگاه به ميتوانيد شد، بيشتر 1300
از بيشتر شما حقوق ولي شد كمتر 1300 از شما نمره اگر •
ميكنند. پيشنهاد شما به را خود دانشگاه باشد، 2000$
ميتوانيد فقط نبود، بيشتر 2000$ از تابستان در شما حقوق اگر •
برويد. سكونتتان محل دانشگاه به
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 12 / 26
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل Case دستورریاضی عبارات نتیجه
بولی عبارات در کوتاه مدارنتيجه كه زماني اولين در پيشفرض صورت به پاسكال، توربو در •
مييابد. خاتمه آن محاسبه كار باشد، مشخص بولي عبارت يك
داد. تغيير را تنظيم اين ميتوان نياز صورت در •
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 16 / 26
داده انواع گذشته مطالب تکمیل Case دستورریاضی عبارات نتیجه
بولی عبارات در کوتاه مدارif (X <> 0) and (Y / X > 50) then
. . .
بررسي عادي حالت در (كه شود بررسي دوم شرط و X = 0 اگر •
ميدهد. رخ صفر بر تقسيم خطاي نميشود)،
كوتاه، مدار بدون كامپايلرهاي با مشكلي چنين بروز عدم براي •
داد. تغيير زير صورت به را شرط ميتوان
if (X <> 0) thenif (Y / X > 50) then
. . .
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 17 / 26
داده انواع گذشته مطالب تکمیل Case دستورCase دستور
Case دستورحالت چند از يكي انتخاب براي ميتواند if مانند دستور، اين •
شود. استفاده
عبارت يا متغير يك اساس بر انتخاب كه ميشود استفاده زماني •
ليست را آن مقادير همه ميتوان يعني است. ترتيبي نوع از سادهكرد.
.Char و Boolean ،Integer يعني •
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 18 / 26
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل Case دستورCase دستور
Case دستور Syntax
case selector oflabel1 : Statement1;label2 : Statement2;
.
.
.
labeln : Statementn ;
elseStatemente
end {case}
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 22 / 26
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل Case دستورCase دستور
Case مورد در نکاتیاز بعد دستور نبودند، برقرار else از قبل شرايط از هيچيك اگر •
.(else وجود صورت (در ميشود اجرا else
شرايط از هيچيك اگر و ندارد، وجود else استاندارد پاسكال در •
ميدهد. رخ اجرا زمان خطاي يك نباشد، برقرار case
بيشتر (اگر بگيرد. قرار label يك در ميتواند حداكثر مقدار هر •
ميافتد؟) اتفاقي چه شود
دارد. بيشتري قدرت if ولي است، كاراتر و خواناتر case •
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 24 / 26
داده انواع گذشته مطالب تکمیل 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
داده انواع گذشته مطالب تکمیل Case دستورCase دستور
case به if دستور تبدیلcase X = Y ofTrue : WriteLn(’Equal’);False : WriteLn(’Unequal’)
end {case}
نوری مدرس: شریف) صنعتی (دانشگاه پاسکال برنامهنویسی 88 آبان 26 / 26