دستور ساختارهای کنترلی برنامهنویسی for ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل ﻣﺪرس :ﻧﻮري داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ آﺑﺎن 1 / 34 آبان 88 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for ساختارهای الزم ساختارهای الزم برای برنامهنویسی • • • 2 / 34 ﺑﺮاي ﻛﻨﺘﺮل اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺳﻪ ﺳﺎﺧﺘﺎر ﻛﻨﺘﺮل ﺗﺮﺗﻴﺐ ،اﻧﺘﺨﺎب و ﺗﻜﺮار ﻧﻴﺎزﻣﻨﺪﻳﻢ. ﺳﺎﺧﺘﺎرﻫﺎي ﻛﻨﺘﺮﻟﻲ ﺗﺮﺗﻴﺐ و اﻧﺘﺨﺎب را ﭘﻴﺶ از اﻳﻦ دﻳﺪﻳﻢ. ﺳﺎﺧﺘﺎر ﺗﻜﺮار را در اﻳﻦ ﺟﻠﺴﻪ ﻣﻲآﻣﻮزﻳﻢ. آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for ساختارهای الزم ساختار ترتیب • ﺳﺎﺧﺘﺎر ﻛﻨﺘﺮﻟﻲ ﺗﺮﺗﻴﺐ begin ;Statement1 ;Statement2 Statement3 end 3 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for ساختارهای الزم ساختار انتخاب • ﺳﺎﺧﺘﺎرﻫﺎي ﻛﻨﺘﺮﻟﻲ اﻧﺘﺨﺎب دﺳﺘﻮرات ifو caseﻫﺴﺘﻨﺪ. if Condition then StatementT else ; StatementF 4 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for ساختارهای الزم برنامه مرتب سازی چهار نام • 5 / 34 ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺳﻪ ﻧﺎم را درﻳﺎﻓﺖ ﻛﺮده و آنﻫﺎ را ﺑﻪ ﺻﻮرت ﻣﺮﺗﺐ ﺷﺪه ﺻﻌﻮدي ﭼﺎپ ﻛﻨﺪ. آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for ساختارهای الزم ساختار تکرار • ﺳﺎﺧﺘﺎرﻫﺎي ﻛﻨﺘﺮﻟﻲ ﺗﻜﺮار در ﭘﺎﺳﻜﺎل دﺳﺘﻮرات while ،forو repeatﻫﺴﺘﻨﺪ. • دﺳﺘﻮر forﺳﺎدهﺗﺮﻳﻦ دﺳﺘﻮر در ﺑﻴﻦ اﻳﻦ دﺳﺘﻮرات اﺳﺖ. • forﻗﺎﺑﻠﻴﺖ ﺷﻤﺎرش از ﻳﻚ ﻣﻘﺪار اوﻟﻴﻪ ﺗﺎ ﻳﻚ ﻣﻘﺪار ﻧﻬﺎﻳﻲ را دارد. 6 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری ساختارهای کنترلی برنامهنویسی for for دستور for دستور دستورSyntax for counter := initial to final do Statement; for counter := initial to final do begin Statement1 ; Statement2 ; Statement3 end نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 7 / 34 دستور ساختارهای کنترلی برنامهنویسی for مثالهای از دستور دستور for for for Line := 1 to 10 do ;WriteLn }{Print 10 blank lines for I := 1 to 4 do ;)WriteLn(’Line no. ’, I 8 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور for نکاتی در مورد دستور • • • 9 / 34 ساختارهای کنترلی برنامهنویسی دستور for for دﺳﺘﻮر داﺧﻞ ﺣﻠﻘﻪ ﺑﻪ ازاي ﻫﺮ ﻣﻘﺪار ﺷﻤﺎرﻧﺪه از ﻣﻘﺪار اوﻟﻴﻪ ﺗﺎ ﻧﻬﺎﻳﻲ ﻳﻚ ﺑﺎر اﺟﺮا ﻣﻲﺷﻮد. ﻧﻮع ﻣﺘﻐﻴﺮ ﺷﻤﺎرﻧﺪه ﻓﻘﻂ ﻣﻲﺗﻮاﻧﺪ از اﻧﻮاع ﺗﺮﺗﻴﺒﻲ ) (Ordinalﺑﺎﺷﺪ )ﺻﺤﻴﺢ ،ﻛﺎراﻛﺘﺮ و ﺑﻮﻟﻲ(. ﻣﻘﺎدﻳﺮ اوﻟﻴﻪ ﺑﺎﻳﺪ ﻫﻢ ﻧﻮع ﺷﻤﺎرﻧﺪه ﺑﻮده و ﻣﻲﺗﻮاﻧﻨﺪ ﻣﻘﺪار ﺛﺎﺑﺖ، ﻳﻚ ﻣﺘﻐﻴﺮ ﻳﺎ ﻳﻚ ﻋﺒﺎرت ﺑﺎﺷﻨﺪ. آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for نکاتی در مورد دستور دستور for • اﮔﺮ ﻣﻘﺪار ﻧﻬﺎﻳﻲ از اوﻟﻴﻪ ﻛﻤﺘﺮ ﺑﺎﺷﺪ ،ﺑﺪﻧﻪ ﺣﻠﻘﻪ اﺻﻼً اﺟﺮا ﻧﻤﻲﺷﻮد. • ﻣﻘﺪار ﺷﻤﺎرﻧﺪه ) (counterﻧﺒﺎﻳﺪ در ﺑﺪﻧﻪ ﺣﻠﻘﻪ ﺗﻐﻴﻴﺮ ﻛﻨﺪ. • • 10 / 34 for ﻣﻘﺪار ﻧﻬﺎﻳﻲ ﻓﻘﻂ ﻳﻜﺒﺎر در آﻏﺎز دﺳﺘﻮر ﺣﻠﻘﻪ ﻣﺤﺎﺳﺒﻪ ﻣﻲﺷﻮد و ﺗﻐﻴﻴﺮ آن ﺗﺄﺛﻴﺮي در ﺗﻌﺪاد دﻓﻌﺎت اﺟﺮاي ﺣﻠﻘﻪ ﻧﺪارد. ﺑﻌﺪ از اﺗﻤﺎم ﺣﻠﻘﻪ ،ﻣﻘﺪار ﺷﻤﺎرﻧﺪه ﺑﺮاﺑﺮ آﺧﺮﻳﻦ ﻣﻘﺪار آن در اﺟﺮاي ﺑﺪﻧﻪ ﺣﻠﻘﻪ ﺧﻮاﻫﺪ ﺑﻮد. آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for محاسبه مجذور اعداد 1تا دستور for n for I := 1 to N do ;))WriteLn(’Square of ’, I, ’is ’, Sqr(I 11 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for مثال دستور دستور for for ;)ReadLn(st ;)ReadLn(n For I := 1 to n do ;)WriteLn(st 12 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for حلقه forبا پرش بیشتر از • دستور for 1 اﮔﺮ ﺣﻠﻘﻪاي ﺑﺎ ﭘﺮش ﺑﻴﺸﺘﺮ از 1ﻧﻴﺎز داﺷﺘﻴﺪ ،آن را در ﺿﺮﻳﺐ ﻻزم ﺿﺮب ﻛﻨﻴﺪ. for I := 1 to 10 do ;)WriteLn(2 * I 13 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور حلقه forبا پرش اعشاری • for اﮔﺮ ﺣﻠﻘﻪاي ﺑﺎ ﭘﺮش اﻋﺸﺎري ﻻزم داﺷﺘﻴﺪ )ﻣﺜﻞ (0.5ﺿﺮﻳﺐ ﻣﻨﺎﺳﺐ ﺑﺮاي ﺗﺒﺪﻳﻞ آن ﺑﻪ ﺻﺤﻴﺢ را ﺑﻴﺎﺑﻴﺪ. for I := 0 to 10 do ;)WriteLn(I/2 14 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور حلقه forنزولی • ﺑﺮاي اﻳﺠﺎد دﺳﺘﻮر ﺣﻠﻘﻪ ﻧﺰوﻟﻲ ﻣﻲﺗﻮان از downtoﺑﻪ ﺟﺎي اﺳﺘﻔﺎده ﻛﺮد for to for I := 10 downto 0 do ;)WriteLn(I 15 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری ساختارهای کنترلی برنامهنویسی for for دستور دستور محاسبه میانگین سه عدد var A, B, C : Integer; Sum : Integer; Average : Real; begin ReadLn(A); ReadLn(B); ReadLn(C); Sum := A + B + C; Average := Sum / 3; WriteLn(’The average of the numbers = ’, Average) end. نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 16 / 34 ساختارهای کنترلی برنامهنویسی for دستور for for از دستور برنامه محاسبه میانگین با استفاده var A : Integer; Sum : Integer; Average : Real; I : Integer; begin Sum := 0; for I := 1 to 3 do begin ReadLn(A); Sum := Sum + A end; Average := Sum / 3; WriteLn(’The average of the numbers = ’, Average) end. نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 17 / 34 دستور ساختارهای کنترلی برنامهنویسی for مزایای نوشتن برنامه قبلی با استفاده از • ﺑﺮﻧﺎﻣﻪ ﺑﺮاي ﺗﻌﺪاد زﻳﺎد ورودي ﻛﻮﺗﺎهﺗﺮ اﺳﺖ • راﺣﺖﺗﺮ ﻣﻲﺗﻮان آن را ﮔﺴﺘﺮش داد. 18 / 34 آبان 88 برنامهنویسی پاسکال دستور for for )دانشگاه صنعتی شریف( مدرس :نوری ساختارهای کنترلی برنامهنویسی for دستور for for از دستور برنامه محاسبه میانگین با استفاده var A, Sum, I, MaxI : Integer; Average : Real; begin Sum := 0; ReadLn(MaxI); for I := 1 to MaxI do begin ReadLn(A); Sum := Sum + A end; Average := Sum / MaxI; WriteLn(’The average of the numbers = ’, Average) end. نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 19 / 34 دستور ساختارهای کنترلی برنامهنویسی for دستور برنامه محاسبه ماکزیمم 10عدد • 20 / 34 for ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ 10ﻋﺪد را درﻳﺎﻓﺖ ﻛﺮده و ﻣﺎﻛﺰﻳﻤﻢ اﻳﻦ 10ﻋﺪد را ﻣﺤﺎﺳﺒﻪ ﻛﻨﺪ. آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور حلقه تو در تو • ﻣﻲﺗﻮان در ﺑﺪﻧﻪ ﻳﻚ ﺣﻠﻘﻪ ،ﻳﻚ ﺣﻠﻘﻪ دﻳﮕﺮ را ﻗﺮار داد. • در اﻳﻦ ﺻﻮرت ﻳﻚ ﺣﻠﻘﻪ ﺗﻮ در ﺗﻮ ﺧﻮاﻫﻴﻢ داﺷﺖ. 21 / 34 آبان 88 برنامهنویسی پاسکال for )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور برنامه رسم جدول ضرب • 22 / 34 for ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺟﺪول ﺿﺮب 10*10را ﭼﺎپ ﻛﻨﺪ. آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور برنامه رسم جدول ضرب for var ;I, J : Integer begin for I := 1 to 10 do for J := 1 to 10 do )Write(I * J : 3 end. 23 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور برنامه رسم جدول ضرب for var ;I, J : Integer begin for I := 1 to 10 do begin for J := 1 to 10 do )Write(I * J : 3 ;WriteLn end end. 24 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور برنامه رسم جدول ضرب 25 / 34 آبان 88 برنامهنویسی پاسکال for )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور برنامه رسم جدول ضرب for var ;I, J : Integer begin for I := 1 to 10 do begin for J := 1 to 10 do )Write(I * J : 4 ;WriteLn end end. 26 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور برنامه رسم جدول ضرب 27 / 34 آبان 88 برنامهنویسی پاسکال for )دانشگاه صنعتی شریف( مدرس :نوری ساختارهای کنترلی برنامهنویسی for for دستور for Ch := ’A’ Write(Ch:4); WriteLn; for Ch := ’z’ Write(Ch:4); WriteLn; for Ch := ’z’ Write(Ch:4); WriteLn; for Ch := ’Z’ Write(Ch:4); نوری:)دانشگاه صنعتی شریف( مدرس دستور با شمارنده کاراکتریfor دستور to ’Z’do downto ’a’do to ’Z’do to ’z’do برنامهنویسی پاسکال 88 آبان 28 / 34 دستور ساختارهای کنترلی برنامهنویسی for دستور خروجی برنامه قبلی 29 / 34 آبان 88 برنامهنویسی پاسکال for )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور forبا شمارنده بولی دستور for for Flag := False to True do ;)WriteLn(Flag 30 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری ساختارهای کنترلی برنامهنویسی for for دستور 4 دستور تا1 برنامه چاپ مجذور و جذر اعداد program Squares; {Displays a table of integers and their squares and sqaure roots} const MAX_I = 4; {largest integer in table} var I, {counter variable} Square : Integer; {output - square of I} Root : Real; {output - square root of I} نوری:)دانشگاه صنعتی شریف( مدرس برنامهنویسی پاسکال 88 آبان 31 / 34 دستور ساختارهای کنترلی برنامهنویسی for برنامه چاپ مجذور و جذر اعداد 1تا دستور for 4 }begin; {Squares ;)WriteLn(’I’: 10, ’I * I’:10, ’Square root’:15 for I := 1 to MAX_I do begin ;)Square := Sqr(I ;)Root := Sqrt(I )WriteLn(I:10, Square:10, Root:15:1 end }end. {Squares 32 / 34 آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور خروجی برنامه قبلی 33 / 34 آبان 88 برنامهنویسی پاسکال for )دانشگاه صنعتی شریف( مدرس :نوری دستور ساختارهای کنترلی برنامهنویسی for دستور تمرین • • 34 / 34 for ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺟﻤﻠﻪ nام ﺳﺮي ﻓﻴﺒﻮﻧﺎﺗﭽﻲ را ﺣﺴﺎب ﻛﻨﺪ. ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺟﻤﻠﻪ nام ﺗﺼﺎﻋﺪ ﻫﻨﺪﺳﻲ و ﺣﺴﺎﺑﻲ و ﻣﺠﻤﻮع nﺟﻤﻠﻪ اول را ﺣﺴﺎب ﻛﻨﺪ. آبان 88 برنامهنویسی پاسکال )دانشگاه صنعتی شریف( مدرس :نوری
© Copyright 2025 Paperzz