یطرش روتسد 1ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/...ذک یذيب کولب...
TRANSCRIPT
ىصیپاشکال (3گره – 40151)ةرىانضادقدریىگراىی:ندرس
داىشکدنيدشیکانپترداىشگاضيعتیشرف
دستور شرطی
/ 1
نزور گرشت
begin
ReadLn, Write, WriteLn
variable := expression;
end.
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
2
آغاز
پاان
چيذ ىکت
حرهفکچکهةزرگةرایکانپالرفرقیىدارىد.دشتراتةاىقطهرگل(Semi Colon)جدانیشىد:
عيان ةرىان تعرف نتغر دشتر اىتصاب دشترات هرهدی ه خرهجی فاضلةرایخاىاترشدنهصتيد.
ترفتگی اةتدای شطرا ىطتو ر دشتر در ک شطر گذاطتو فاغل كتل ا ةعد از عالئم
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
3
کيتزل جزیان
هدشترات(فلچارت)،ةلکها(الگرتم)ترتباجرایگامها،(پاشکال)رهال نعهل اجرا:اجرایترتتی ترتب اجرا را تغر نی ديد :دشتراتکيترلجران. اىاعدشتراتکيترلجران
پرش ةدهن طرط اجرای نظرهط ک دشتر ای از دشترات ة تعداد نظخع ا ةر اشاس طرط تکرار نجهعای از دشترات در فاغل دهر ه ةازگظت پس از آن اجرای نجهع
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
4
(ادان)کيتزل جزیان
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
5
خر
ةل
...
پرشةدهنشرط دشترشرطی (حلق)تکرارنشرهط
خر
ةل
ىویسی ساختاریافت (Structured)بزىان
ىصیشاختارافت ةرىان رهکردی ةرای خاىاتر طدن، افزاض کفت، ه کاض زنان ةرىان
ىصیاشتفاد از شاختارای کيترلی نظخع ة جای اشتفاد از پرش پرش ای ةدهن كاعد، ةاعث پچد تر طدن ه ىاخاىای :کداشپاگتی
.نی طداىاعشاختارهایکيترلی
اجرای ترتتی از اةتدا ة اىتا: كطع ا ةلک کد اجرای نظرهط: اىتخاب ا طرط (ة تعداد ا ةيا ة طرط)تکرار اجرا : تکرار ا خلل
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
6
بلوک بيذی کذ
ةلک ای از دشترات ک ةو اىد endه beginنجهع .كرار گرفتک دشتر نرکب ک ة جای تک دشتر كاةل اشتفاد اشت. ىلط هرگل ةو دشترات اجتاری اشت هلی كتلend اختاری اشت.
.ةدى ةرىان ىز ک ةلک اشت:تج
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
7
begin statement1; statement2; ... statementN end
8 دستور شرطی
دستور شزطی یک حالت
if <شرط> then
;<دشتر>
ىکات: ةرای ةض از ک دشتر، ةاد
دشترات در ک ةلک كرار .گرىد
if هthen کله کلدی صتيد. ت رفتگی ا ه طکصتو در چيد
.شطر اختاری اشتنجهعا ک دشتر نرکب اشت.
9
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
شرط؟ خر
ةل
1دشتر
عبارات شزطی
شرطهایشادای < ,=< ,<> ,= ,=> ,>: عهلگرای نلاص نتغرایBoolean
شرطهاینرکبp1 and p2
P1 or p2
not p
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
10
بزىان نحاسب تدفیف: نثال
ایةيصدکةراشاسنجهعخردنشتری،تخففرا ةرىان.نحاشتکيد
درغد تخفف تعلق نی گرد 10زار تنان، 50ة خردای ةض از.
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
11
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
دستور شزطی دو حالت
if <شرط> then
< 1دشتر > else
< 2دشتر > ;
ىکات: ةرای ةض از ک دشتر، ةاد
دشترات در ک ةلک كرار .گرىد
ت رفتگی ا ه طکصتو در چيد .شطر اختاری اشت
نجهعا ک دشتر نرکب اشت.
13
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
شرط؟ خر
ةل
1دشتر
2دشتر
ای: نثال تابع دو ضابط
ایةيصدکنقدارتاةعزررانحاشتکيد :ةرىان
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
14
otherwise1
252)(
2
x
xxxf
program TwoCaseFunc; var x, y : Real; begin WriteLn('Enter x:'); ReadLn(x); if x >= 2 then y := (2*x*x) - 5 else y := x+1; WriteLn('f(', x, ')=', y); ReadLn end.
http://ce.sharif.edu/courses/90-91/2/ce151-3/resources/root/Samples/04/TwoCaseFunc.pas
2×2نعکوس ناتزیس : نثالایةيصدکنعکسکناترس .راحصابکيد2×2ةرىان
فرنل نعکس ناترس:
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
16
bcadDET
ac
bd
DETdc
ba
11
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
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)')
تصهیم گیزی چيذ اىتدابی
عهلکرد
اىتخاب ا از ةاال ة پاو ةررشی نی طىد. اهلو طرطی ک غادق ةاطد، اىتخاب نی طد. اجرا ة دشتر ةعد از طرط ا نيتلل نی طد. else در غرتی اجرا نی طد ک چ طرطی غادق ىتاطد( اختاری)پااىی.
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
19
if condition1 then statement1 else if condition2 then statement2 else if condition3 then statement3 ... else if conditionN then statementN else statementO
تعییو گزو سيی: نثال
ایةيصدکگرهشيیراةراشاسجدهلزرنشخص ةرىان.کيد
ىصیپاشکال ضادقدریىگراىی-دشترشرطی-نتاىیةرىان
20
Age Age Group
1-12 Child
13-19 Teenager
20-30 Young
31-50 Aged
> 50 Old
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
عتاراتنحاشتاتیهشرطی:جلصةعد
22 .موفق باشید