22
صی پاشکالى ةرىان( 40151 گره3 ) ندرس: راىیگ ضادق دری ىف ضيعتی شرىشگاتر دايدشی کانپ ناىشکد د شرطی دستور/ 1

یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

‌ىصی‌پاشکال‌ ‌(3گره‌ – 40151)ةرىان‌ضادق‌دری‌ىگراىی:‌ندرس

داىشکد‌نيدشی‌کانپتر‌داىشگا‌ضيعتی‌شرف

دستور شرطی

/ 1

Page 2: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

نزور گرشت

begin

ReadLn, Write, WriteLn

variable := expression;

end.

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

2

آغاز

پاان

Page 3: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

چيذ ىکت

حرهف‌کچک‌ه‌ةزرگ‌ةرای‌کانپالر‌فرقی‌ىدارىد.‌دشترات‌ةا‌ىقط‌هرگل‌(Semi Colon‌)جدا‌نی‌شىد:‌

عيان ةرىان تعرف نتغر دشتر اىتصاب دشترات هرهدی ه خرهجی فاضل‌ةرای‌خاىاتر‌شدن‌هصتيد.‌

ترفتگی اةتدای شطرا ىطتو ر دشتر در ک شطر گذاطتو فاغل كتل ا ةعد از عالئم

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

3

Page 4: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

کيتزل جزیان

ه‌دشترات‌‌(فلچارت)،‌ةلک‌ها‌(الگرتم)ترتب‌اجرای‌گام‌ها‌‌،‌(پاشکال)رهال نعهل اجرا:‌اجرای‌ترتتی ترتب اجرا را تغر نی ديد :دشترات‌کيترل‌جران. اىاع‌دشترات‌کيترل‌جران‌

پرش ةدهن طرط اجرای نظرهط ک دشتر ای از دشترات ة تعداد نظخع ا ةر اشاس طرط تکرار نجهعای از دشترات در فاغل دهر ه ةازگظت پس از آن اجرای نجهع

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

4

Page 5: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

(ادان)کيتزل جزیان

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

5

خر

ةل

...

پرش‌ةدهن‌شرط دشتر‌شرطی (حلق)تکرار‌نشرهط‌

خر

ةل

Page 6: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

ىویسی ساختاریافت (Structured)بزىان

‌ىصی‌شاختارافت ‌ةرىان رهکردی ةرای خاىاتر طدن، افزاض کفت، ه کاض زنان ةرىان

ىصیاشتفاد از شاختارای کيترلی نظخع ة جای اشتفاد از پرش پرش ای ةدهن كاعد، ةاعث پچد تر طدن ه ىاخاىای :‌کد‌اشپاگتی

.نی طداىاع‌شاختارهای‌کيترلی‌

اجرای ترتتی از اةتدا ة اىتا: كطع ا ةلک کد اجرای نظرهط: اىتخاب ا طرط (ة تعداد ا ةيا ة طرط)تکرار اجرا : تکرار ا خلل

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

6

Page 7: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

بلوک بيذی کذ

ةلک‌ ای از دشترات ک ةو اىد endه beginنجهع .كرار گرفتک دشتر نرکب ک ة جای تک دشتر كاةل اشتفاد اشت. ىلط هرگل ةو دشترات اجتاری اشت هلی كتلend اختاری اشت.

.ةدى ةرىان ىز ک ةلک اشت:‌تج

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

7

begin statement1; statement2; ... statementN end

Page 8: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

8 دستور شرطی

Page 9: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

دستور شزطی یک حالت

if <شرط> then

;<دشتر>

ىکات:‌ ةرای ةض از ک دشتر، ةاد

دشترات در ک ةلک كرار .گرىد

if هthen کله کلدی صتيد. ت رفتگی ا ه طکصتو در چيد

.شطر اختاری اشتنجهعا ک دشتر نرکب اشت.

9

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

شرط؟ خر

ةل

1دشتر

Page 10: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

عبارات شزطی

شرط‌های‌شاد‌ای < ,=< ,<> ,= ,=> ,>: عهلگرای نلاص نتغرایBoolean

شرط‌های‌نرکب‌p1 and p2

P1 or p2

not p

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

10

Page 11: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

بزىان نحاسب تدفیف: نثال

‌ای‌ةيصد‌ک‌ةر‌اشاس‌نجهع‌خرد‌نشتری،‌تخفف‌را‌‌ ةرىان‌.نحاشت‌کيد

درغد تخفف تعلق نی گرد 10زار تنان، 50ة خردای ةض از.

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

11

Page 12: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

program Discounting; var Total, Discount, Payment: Real; begin WriteLn('Enter total:'); ReadLn(Total); Discount := 0; if Total >= 50000 then Discount := Total * 0.1; Payment := Total - Discount; WriteLn('Total amount =', Total, 'Rls'); WriteLn('Discount =', Discount, 'Rls'); WriteLn('Final Payment=', Payment, 'Rls'); ReadLn end.

http://ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/Samples/04/Discounting.pas

Page 13: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

دستور شزطی دو حالت

if <شرط> then

< 1دشتر > else

< 2دشتر > ;

ىکات:‌ ةرای ةض از ک دشتر، ةاد

دشترات در ک ةلک كرار .گرىد

ت رفتگی ا ه طکصتو در چيد .شطر اختاری اشت

نجهعا ک دشتر نرکب اشت.

13

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

شرط؟ خر

ةل

1دشتر

2دشتر

Page 14: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

ای: نثال تابع دو ضابط

‌ای‌ةيصد‌ک‌نقدار‌تاةع‌زر‌را‌نحاشت‌کيد :ةرىان

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

14

otherwise1

252)(

2

x

xxxf

Page 16: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

2×2نعکوس ناتزیس : نثال‌ای‌ةيصد‌ک‌نعکس‌ک‌ناترس‌ .را‌حصاب‌کيد‌2×2ةرىان

فرنل نعکس ناترس:

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

16

bcadDET

ac

bd

DETdc

ba

11

Page 17: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

program MatrixInverse; var a,b,c,d: Real; a2,b2,c2,d2: Real; det: Real; begin WriteLn('Enter matrix entries (a11,a12,a21,a22):'); ReadLn(a); ReadLn(b); ReadLn(c); ReadLn(d); det := (a*d) - (b*c); if det <> 0 then begin a2 := (1/det) * d; b2 := (1/det) * (-b); c2 := (1/det) * (-c); d2 := (1/det) * a; Write('Entries of the inverse matrix: '); WriteLn('b11=',a2,', b12=‘,b2,', b21=‘,c2,', b22=‘,d2); end else WriteLn('Det = 0, No anwser.'); ReadLn end. http://ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/Samples/04/MatrixInverse.pas

Page 18: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

if تو در تو

‌‌‌‌‌ت‌رفتگی‌ها‌ةرای‌کانپالر‌نم‌ىصتيد!‌

رelse ةا ىزدکتروif پض از خد ک ةاelse دگری ىظر ىظد اشت، جفت .نی طد

در غرت لزهم از ةلک ةيدی ةرای هضح ةظتر ا تػدح کانپالر اشتفاد کيد. ةازىصی‌ةا‌ةلک‌ةيدی:‌تهرو‌

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

18

if X > 0 then S := 1 else if X < 0 then S := -1 else S := 0

if X > 0 then if Y > X then WriteLn('Y > X > 0') else WriteLn('(X>0) and (Y<=X)')

Page 19: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

تصهیم گیزی چيذ اىتدابی

‌‌‌‌عهلکرد‌

اىتخاب ا از ةاال ة پاو ةررشی نی طىد. اهلو طرطی ک غادق ةاطد، اىتخاب نی طد. اجرا ة دشتر ةعد از طرط ا نيتلل نی طد. else در غرتی اجرا نی طد ک چ طرطی غادق ىتاطد( اختاری)پااىی.

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

19

if condition1 then statement1 else if condition2 then statement2 else if condition3 then statement3 ... else if conditionN then statementN else statementO

Page 20: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

تعییو گزو سيی: نثال

‌ای‌ةيصد‌ک‌گره‌شيی‌را‌ةر‌اشاس‌جدهل‌زر‌نشخص‌ ةرىان‌.کيد

‌ىصی‌پاشکال‌ ضادق‌دری‌ىگراىی‌-دشتر‌شرطی‌‌-نتاىی‌ةرىان

20

Age Age Group

1-12 Child

13-19 Teenager

20-30 Young

31-50 Aged

> 50 Old

Page 21: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

program AgeGroup; var age: Integer; begin WriteLn('Enter your age:'); ReadLn(age); Write('You are '); if age > 50 then WriteLn('an old person.') else if age > 30 then WriteLn('an aged person.') else if age >= 20 then WriteLn('a young person.') else if age >= 13 then WriteLn('a teenager.') else if age > 0 then WriteLn('a child.') else WriteLn('not born?!'); ReadLn; end.

http://ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/Samples/04/AgeGroup.pas

Page 22: یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب کة .ىا تفگ راك end ه begin و ة ک تار تد زا یا ع هجن .تا

‌عتارات‌نحاشتاتی‌ه‌شرطی:‌جلص‌ةعد

22 .موفق باشید