دستور شرط ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل -ﺟﻠﺴﻪ ﭘﻨﺠﻢ ﻣﺪرس :ﻧﻮري داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ آﺑﺎن 1 / 24 آبان 88 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط گرامر دستور ifبا دستورات ساده دستور شرط ساده if Condition then ; if Condition then StatementT StatementT else StatementF 2 / 24 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط دستور شرط ترکیبی با دستورات ترکیبیif گرامر دستور if Condition then begin StatementT ; StatementT ; StatementT if Condition then begin StatementT ; StatementT ; StatementT end نوری:)دانشگاه صنعتی شریف( مدرس end ; else begin StatementF ; StatementF ; StatementF end برنامهنویسی پاسکال 88 آبان 3 / 24 دستور شرط مرتب کردن دو عدد به صورت غیر نزولی دستور شرط ترکیبی if X > Y then }begin {switch X and Y ;Temp := X ;X := Y Y := Temp }end {if 4 / 24 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط دستور شرط ترکیبی شکلدهی اعداد حقیقی • • 5 / 24 ﻗﺒﻞ و ﺑﻌﺪ از ﻛﻠﻤﺎت ﻛﻠﻴﺪي else ،thenو ; ،beginﻗﺮار ﻧﻤﻲﮔﻴﺮد ﻣﻤﻜﻦ اﺳﺖ ﺑﻌﺪ از endي ﻛﻪ ifرا ﺧﺘﻢ ﻣﻲﻛﻨﺪ ; ﻗﺮار ﺑﮕﻴﺮد. آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط دستور شرط ترکیبی برنامه شمارش روزهای گذشته از سال program DayCounter; var Day, Month, D : Integer; begin Write(’Please enter day [1-31]:’); ReadLn(Day); Write(’Please enter month [1-12]:’); ReadLn(Month); D := Day; if Month <= 7 then D := D + (Month - 1)*31 else if Month <= 12 then D := D + 6*31 + (Month - 7)*30 else {Month > 12} WriteLn(’You must enter a month not greater than 12’); if Month <= 12 then WriteLn(’This is the ’, D, ’th day of the year’) end. نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 6 / 24 دستور شرط دستور شرط ترکیبی برنامه تبدیل واحدهای اینچ و سانتیمتر program LengthConvertor; const I2C = 2.54; var Length : Real; Scale, Space : Char; begin WriteLn(’Please enter length in Cm or Inch.’); Write(’(eg. 32 cm or 24.5 in)’); ReadLn(Length, Space, Scale); if (Scale <> ’c’) and (Scale <> ’C’) and (Scale <> ’i’) and (Scale <> ’I’) then WriteLn(’Sorry, invalid scale’) else begin Write(’This corresponds to: ’); if (Scale = ’i’) or (Scale = ’I’) then WriteLn(Scale * I2C :3:1, ’cm’) else WriteLn(Scale / I2C:3:1, ’in’) end نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال end. 88 آبان 7 / 24 دستور شرط دستور شرط ترکیبی برنامه محاسبه حقوق • • • 8 / 24 ﺷﺮﻛﺘﻲ ﺣﻘﻮق ﻛﺎرﻣﻨﺪاﻧﺶ را ﺑﺮاﺳﺎس ﺳﺎﻋﺖ ﻛﺎر آﻧﻬﺎ ﺑﻪ اﺿﺎﻓﻪ ﻧﺼﻒ ﺳﺎﻋﺖﻫﺎي اﺿﺎﻓﻪ ﺑﺮ 40ﺳﺎﻋﺖ در ﻫﻔﺘﻪ ﭘﺮداﺧﺖ ﻣﻲﻛﻨﺪ. ﻛﺎرﻣﻨﺪاﻧﻲ ﻛﻪ ﺣﻘﻮق آﻧﻬﺎ ﺑﻴﺸﺘﺮ از 100ﻫﺰار ﺗﻮﻣﺎن ﺑﺎﺷﺪ ،ﺑﺎﻳﺪ 20ﻫﺰار ﺗﻮﻣﺎن ﺑﻪ اﺗﺤﺎدﻳﻪ ﭘﺮداﺧﺖ ﻛﻨﻨﺪ. ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺣﻘﻮق ﺑﺪون ﭘﺮداﺧﺘﻲ ﺑﻪ ﺻﻨﺪوق و ﺑﺎ ﭘﺮداﺧﺖ ﺑﻪ ﺻﻨﺪوق را ﺣﺴﺎب ﻛﻨﺪ. آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط دستور شرط ترکیبی رابطههای محاسبه حقوق • gross pay = hours worked × hourly rate • gross pay = 40 × hourly rate + 1.5 × overtime hours × hourly rate • net pay = gross pay − union dues نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 9 / 24 دستور شرط دستور شرط ترکیبی شرط الزم برای محاسبه حقوق if Hours <= MAX_NO_OVERTIME then Gross := Hours * Rate {no overtime pay} else Gross := MAX_NO_OVERTIME * Rate + {overtime} BONUS_RATE * (Hours - MAX_NO_OVERTIME) * Rate نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 10 / 24 دستور شرط دستور شرط ترکیبی برنامه محاسبه حقوق program Payroll; const MAX_NO_OVERTIME = 40; BONUS_RATE = 1.5; MAX_NO_DUES = 100.0; DUES = 20.0; var Hours, Rate, Gross, Net : Real; begin Write(’Hours worked> ’); ReadLn(Hours); Write(’Hourly rate> ’); ReadLn(Rate); نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 11 / 24 دستور شرط دستور شرط ترکیبی ادامه if Hours <= MAX_NO_OVERTIME then Gross := Hours * Rate else Gross := MAX_NO_OVERTIME * Rate + BONUS_RATE * (Hours - MAX_NO_OVERTIME) * Rate; if Gross < MAX_NO_DUES then Net := Gross else Net := Gross - DUES; WriteLn(’Gross pay is $’, Gross:4:2); WriteLn(’Net pay is $’, Net:4:2) end. نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 12 / 24 دستور شرط دستور شرط ترکیبی خروجی برنامه Hourly worked> 40 Hrouly rate> 5.0 Gross pay is $200.00 Net pay is $180.00 13 / 24 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط دستور شرط ترکیبی مزایای استفاده از ثابت • ﺗﻐﻴﻴﺮ ﺳﺎدهﺗﺮ اﻧﺠﺎم ﻣﻲﺷﻮد(MAX_NO_OVERTIME) . • دﺳﺘﻮر ifﻧﻮﺷﺘﻪ ﺷﺪه ﺧﻮاﻧﺎﺗﺮ اﺳﺖ. 14 / 24 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط شرط تو در تو ifهای تو در تو • ﺑﺮاي اﻳﺠﺎد ﺗﺼﻤﻴﻢ ﺑﺎ ﭼﻨﺪﻳﻦ ﺣﺎﻟﺖ اﻧﺘﺨﺎب if X > 0 then NumPos := NumPos + 1 else if X < 0 then NumNeg := NumNeg + 1 else }{X = 0 NumZero := NumZero + 1 15 / 24 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط شرط تو در تو ifهای تو در تو • اﻳﻦ ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮر ﺑﻪ ﺻﻮرت ﻋﺎدي ﺑﻪ ﺷﻜﻞ زﻳﺮ ﻧﻮﺷﺘﻪ ﻣﻲﺷﻮد. if X > 0 then ;NumPos := NumPos + 1 if X < 0 then ;NumNeg := NumNeg + 1 if X = 0 then NumZero := NumZero + 1 16 / 24 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط شرط تو در تو مزایای استفاده از ifتو در تو • • 17 / 24 ifﺗﻮ در ﺗﻮ ﺧﻮاﻧﺎ ﺗﺮ اﺳﺖ و راﺣﺖﺗﺮ ﻣﻲﺗﻮان ﻓﻬﻤﻴﺪ ﻛﻪ ﺑﺎ ﻳﻚ دﻟﺨﻮاه ﻓﻘﻂ ﻳﻜﻲ از ﺧﻄﻮط اﺟﺮا ﻣﻲﺷﻮد. X از ﻟﺤﺎظ ﻛﺎراﻳﻲ ﺑﺮﻧﺎﻣﻪ if ،ﺗﻮ در ﺗﻮ ﺳﺮﻳﻌﺘﺮ اﺳﺖ ،ﭼﻮن وﻗﺘﻲ ﻣﺜﺒﺖ ﺑﺎﺷﺪ ،ﻓﻘﻂ ﺷﺮط اول ﺑﺮرﺳﻲ ﻣﻲﺷﻮد و اﮔﺮ Xﻣﻨﻔﻲ ﺑﺎﺷﺪ، ﻓﻘﻂ دو ﺷﺮط اول. X آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط شرط تو در تو تو در توif ابهام در if X > 0 then if Y > X then WriteLn(’Y > X > 0’) else WriteLn(’(X > 0) and (Y <= X)’) if X > 0 then begin if Y > X then WriteLn(’Y > X > 0’) end else WriteLn(’X <= 0’) نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 18 / 24 دستور شرط شرط چند انتخابی شکل چند انتخابی ifتو در تو ﻫﻴﭻ ﻛﺪام از ﺷﺮاﻳﻂ ﺑﺮﻗﺮار ﻧﺒﻮد ،ﺟﻤﻠﻪ 19 / 24 آبان 88 if Condition1 then Statement1 else if Condition2 then Statement2 else if Condition3 then Statement3 . . . else if Conditionn then Statementn else ﻏﻴﺮ ﺿﺮوري ﺑﻌﺪ از elseاﺟﺮا ; Statemente ﻣﻲﺷﻮد. برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط شرط چند انتخابی شکل چند انتخابی ifتو در تو if X > 0 then NumPos := NumPos + 1 else if X < 0 then NumNeg := NumNeg + 1 else NumZero := NumZero + 1 20 / 24 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط شرط چند انتخابی برنامه نمره دادن حرفی بر اساس نمره امتحان A B • 80 - 89 C • 70 - 79 D • 60 - 69 F 21 / 24 آبان 88 برنامهنویسی پاسکال ﺑﻴﺸﺘﺮ • 90 - زﻳﺮ • 60 )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط شرط چند انتخابی برنامه نمره دادن حرفی بر اساس نمره امتحان if Score >= 90 then Write(’A’) else if Score >= 80 then Write(’B’) else if Score >= 70 then Write(’C’) else if Score >= 60 then Write(’D’) else Write(’F’); WriteLn(’is the exam grade - score is ’, Score) نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 22 / 24 دستور شرط شرط چند انتخابی برنامه محاسبه مالیات درﺻﺪ اﺿﺎﻓﻪ ﻣﺎﻟﻴﺎت ﭘﺎﻳﻪ ﻣﺎﻟﻴﺎت 15% 16% 18% 20% 25% 23 / 24 آبان 88 0 255 465 825 1425 برنامهنویسی پاسکال ﻣﺤﺪوده ﺣﻘﻮق 0 - 1499.99 1500 - 2999.99 3000 - 4999.99 5000 - 7999.99 8000 - 15000 )دانشگاه صنعتی شریف( مدرس :نوری دستور شرط شرط چند انتخابی برنامه محاسبه مالیات if Salary < 0.0 then WriteLn(’Error. Negative salary $’, Salary:10:2) else if Salary < 1500.0 then Tax := 0.15 * Salary else if Salary < 3000.0 then Tax := (Salary - 1500.0) * 0.16 + 225 else if Salary < 5000.0 then Tax := (Salary - 3000.0) * 0.18 + 465 else if Salary < 8000.0 then Tax := (Salary - 5000.0) * 0.20 + 825 else if Salary < 15000.0 then Tax := (Salary - 8000.0) * 0.25 + 1425 else WriteLn(’Error. too large salary $’, Salary:10:2) نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 24 / 24
© Copyright 2025 Paperzz