lecture 10.pdf

‫ﻣﺪرس ‪ :‬ﻧﻮري‬
‫آﺑﺎن ‪88‬‬
‫اﻧﻮاع زﻳﺮﺑﺎزه‬
‫‪ y‬ﮔﺎﻫﻲ اوﻗﺎت اﺳﺘﻔﺎده از زﻳﺮﺑﺎزهﻫﺎ ﺑﺮاي اﻓﺰاﻳﺶ دﻗﺖ ﺑﺮﻧﺎﻣﻪ ﻣﻨﺎﺳﺐ‬
‫ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ y‬اﺳﺘﻔﺎده از زﻳﺮﺑﺎزهﻫﺎ ﺑﺎﻋﺚ ﺟﻠﻮﮔﻴﺮي از ﺑﺮوز ﺑﺮﺧﻲ ﺧﻄﺎﻫﺎ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫‪ y‬ﺑﺮﻧﺎﻣﻪ زﻳﺮ در ﻫﺮ دو ﺧﻂ اﻧﺘﺴﺎب ﺧﻄﺎي ﻛﺎﻣﭙﺎﻳﻞ ﺧﻮاﻫﺪ داﺷﺖ‪.‬‬
‫‪type‬‬
‫‪var‬‬
‫;’‪Letter = ‘A’ .. ‘Z‬‬
‫;’‪NextChar :‘A’ .. ‘Z‬‬
‫;‪DaysInMonth = 1..31‬‬
‫;‪InDay : 1..31‬‬
‫‪var‬‬
‫‪begin‬‬
‫;‪NextChar : Letter‬‬
‫;’‪NextChar := ‘a‬‬
‫;‪InDay : DaysInMonth‬‬
‫‪InDay := 50‬‬
‫‪begin‬‬
‫‪end.‬‬
‫;’‪NextChar := ‘a‬‬
‫‪InDay := 50‬‬
‫‪end.‬‬
‫‪2‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫‪ Syntax‬ﺗﻌﺮﻳﻒ زﻳﺮﺑﺎزه‬
‫‪type‬‬
‫‪Maxvalue‬‬
‫‪..‬‬
‫‪subrange-type = minvalue‬‬
‫‪type‬‬
‫’‪LowCase = ‘a’..‘z‬‬
‫‪3‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫اﻧﻮاع زﻳﺮﺑﺎزه‬
‫‪ y‬زﻳﺮﺑﺎزهﻫﺎ ﺑﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ اﻣﻜﺎن ﺑﺮرﺳﻲ ﻣﻌﺘﺒﺮ ﺑﻮدن ﻣﻘﺎدﻳﺮ ﻣﺘﻐﻴﺮﻫﺎ را‬
‫ﻣﻲدﻫﻨﺪ‪.‬‬
‫‪ y‬ﺑﻪﻃﻮر ﻋﺎدي‪ ،‬ﺑﺮرﺳﻲ ﻗﺮار ﮔﺮﻓﺘﻦ ﻣﻘﺎدﻳﺮ در ﺑﺎزه ﻣﻮرد ﻧﻈﺮ در زﻣﺎن‬
‫ﻛﺎﻣﭙﺎﻳﻞ اﺗﻔﺎق ﻣﻲاﻓﺘﺪ‪.‬‬
‫‪ y‬ﻳﻌﻨﻲ اﮔﺮ ﻛﺎﻣﭙﺎﻳﻠﺮ ﻋﻤﻠﻴﺎت اﻧﺘﺴﺎب ﻏﻴﺮ ﻣﻌﺘﺒﺮي را ﺷﻨﺎﺳﺎﻳﻲ ﻛﻨﺪ از ﻛﺎﻣﭙﺎﻳﻞ‬
‫ﺑﺮﻧﺎﻣﻪ ﺟﻠﻮﮔﻴﺮي ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ y‬وﻟﻲ اﮔﺮ در زﻣﺎن اﺟﺮا ﭼﻨﻴﻦ اﺗﻔﺎﻗﻲ ﺑﻴﻔﺘﺪ‪ ،‬ﺑﺮﻧﺎﻣﻪ ﺑﺪون ﻣﺸﻜﻞ اداﻣﻪ ﻣﻲﻳﺎﺑﺪ‪.‬‬
‫‪ y‬ﻣﺜﻼً اﮔﺮ در دﺳﺘﻮر )‪ ،ReadLn(InDay‬ﻛﺎرﺑﺮ ﻣﻘﺪار ‪ 50‬را وارد ﻛﻨﺪ‪،‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻛﺎر ﺧﻮد را اداﻣﻪ ﻣﻲدﻫﺪ‪.‬‬
‫‪4‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫‪ Range Check‬در زﻣﺎن اﺟﺮا‬
‫‪ y‬اﮔﺮ ﺑﺨﻮاﻫﻴﻢ در زﻣﺎن اﺟﺮا ﻧﻴﺰ ﻋﻤﻠﻴﺎت ﺑﺮرﺳﻲ اﻋﺘﺒﺎر ﻣﻘﺎدﻳﺮ اﻧﺠﺎم ﺷﻮد‬
‫از دﺳﺘﻮراﻟﻌﻤﻞ }‪ {$R+‬اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ‪.‬‬
‫}‪{$R+‬‬
‫‪type‬‬
‫;’‪Letter = ‘A’ .. ‘Z‬‬
‫;‪DaysInMonth = 1..31‬‬
‫‪var‬‬
‫;‪NextChar : Letter‬‬
‫;‪InDay : DaysInMonth‬‬
‫‪begin‬‬
‫;)‪ReadLn(NextChar‬‬
‫)‪ReadLn(InDay‬‬
‫‪end.‬‬
‫‪5‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫دﺳﺘﻮراﻟﻌﻤﻞ }‪{$R+‬‬
‫‪ {$R+} y‬ﻳﻚ ‪ Directive‬ﻧﺎﻣﻴﺪه ﻣﻲﺷﻮد‪.‬‬
‫‪Directive y‬ﻫﺎ ﻛﻠﻤﺎﺗﻲ ﺑﻪ ﺻﻮرت ‪ $R ،$N ،$E‬و ‪ ...‬ﻫﺴﺘﻨﺪ ﻛﻪ ﺗﻨﻈﻴﻤﺎت‬
‫ﻛﺎﻣﭙﺎﻳﻠﺮ را ﺗﻐﻴﻴﺮ ﻣﻲدﻫﻨﺪ‪.‬‬
‫‪ y‬ﻫﺮﭼﻨﺪ اﻳﻦ دﺳﺘﻮراﻟﻌﻤﻞﻫﺎ ﺑﻪ ﺻﻮرت ﺗﻮﺿﻴﺢ )‪ (comment‬ﻣﻲآﻳﻨﺪ‪ ،‬وﻟﻲ‬
‫ﺗﻮﺳﻂ ﻛﺎﻣﭙﺎﻳﻠﺮ ﺧﻮاﻧﺪه و اﺟﺮا ﻣﻲﺷﻮﻧﺪ‪.‬‬
‫‪ {$R+} y‬ﻋﻤﻠﻴﺎت ‪ Range Check‬را ﻓﻌﺎل ﻣﻲﺳﺎزد‪.‬‬
‫‪ {$R-} y‬ﻋﻤﻠﻴﺎت ‪ Range Check‬را ﻏﻴﺮ ﻓﻌﺎل ﻣﻲﺳﺎزد‪.‬‬
‫‪ y‬ﺑﻪ ﺻﻮرت ﭘﻴﺶﻓﺮض ﻋﻤﻠﻴﺎت ‪ Range Check‬ﻏﻴﺮﻓﻌﺎل اﺳﺖ‬
‫‪{$R-} y‬‬
‫‪6‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫اﻧﻮاع داده ﭘﻴﺸﺮﻓﺘﻪ )ﺻﺤﻴﺢ(‬
‫‪7‬‬
‫ﺑﺎزه‬
‫ﻧﻮع‬
‫‪0..255‬‬
‫‪Byte‬‬
‫‪-128..127‬‬
‫‪ShortInt‬‬
‫‪-32768..32767‬‬
‫‪Integer‬‬
‫‪0..65535‬‬
‫‪Word‬‬
‫‪-2147483648...2147483647‬‬
‫‪LongInt‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫اﻧﻮاع داده ﭘﻴﺸﺮﻓﺘﻪ )اﻋﺸﺎري(‬
‫‪8‬‬
‫ﺑﺎزه‬
‫ﻧﻮع‬
‫‪1.5E-45..3.4E38‬‬
‫‪Single‬‬
‫‪2.9E-39..1.7E38‬‬
‫‪Real‬‬
‫‪5.0E-324..1.7E308‬‬
‫‪Double‬‬
‫‪1.9E-4951..1.1E4932‬‬
‫‪Extended‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫اﻧﻮاع داده ﭘﻴﺸﺮﻓﺘﻪ )اﻋﺸﺎري(‬
‫‪ y‬ﺑﺮاي اﺳﺘﻔﺎده از اﻧﻮاع داده اﻋﺸﺎري ﺑﺠﺰ ‪ ،Real‬ﺑﺎﻳﺪ از دﺳﺘﻮراﻟﻌﻤﻞ زﻳﺮ‬
‫اﺳﺘﻔﺎده ﻛﻨﻴﺪ‪.‬‬
‫}‪{$N+,E-‬‬
‫‪9‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫اﻧﺘﺴﺎب ﻣﻘﺎدﻳﺮ دادهﻫﺎ‬
‫‪ y‬در ﻋﺒﺎرتﻫﺎي رﻳﺎﺿﻲ‬
‫‪ y‬اﻧﻮاع ﺻﺤﻴﺢ ﻗﺎﺑﻞ اﻧﺘﺴﺎب ﺑﻪ ﻫﻢ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪ y‬اﻧﻮاع اﻋﺸﺎري ﻗﺎﺑﻞ اﻧﺘﺴﺎب ﺑﻪ ﻫﻢ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪ y‬ﺑﺮاي اﻧﺘﺴﺎب ﺑﺎﻳﺪ‬
‫‪ y‬اﻧﻮاع ﺑﺎ ﻫﻢ ﻗﺎﺑﻞ اﻧﻄﺒﺎق ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ y‬ﻣﻘﺪار ﻣﺤﺎﺳﺒﻪ ﺷﺪه در ﻧﻮع داده ﻗﺮار ﺑﮕﻴﺮد‪.‬‬
‫‪ y‬ﻋﺪد ﺻﺤﻴﺢ در ﻣﺘﻐﻴﺮ ﺣﻘﻴﻘﻲ ﻗﺎﺑﻞ اﻧﺘﺴﺎب اﺳﺖ‪.‬‬
‫‪10‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﺗﺮﺗﻴﺐ ﺗﻌﺎرﻳﻒ در ﭘﺎﺳﻜﺎل‬
‫‪ y‬در ﭘﺎﺳﻜﺎل اﺳﺘﺎﻧﺪارد ﺗﻌﺎرﻳﻒ ﺑﺎﻳﺪ ﺑﻪ ﺗﺮﺗﻴﺐ زﻳﺮ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ y‬وﻟﻲ در ﺗﻮرﺑﻮ ﭘﺎﺳﻜﺎل‪ ،‬ﻻزم ﻧﻴﺴﺖ اﻳﻦ ﺗﺮﺗﻴﺐ رﻋﺎﻳﺖ ﺷﻮد‪ ،‬ﻓﻘﻂ ﻛﺎﻓﻲ‬
‫اﺳﺖ ﻫﺮ ﭼﻴﺰ ﻗﺒﻞ از اﺳﺘﻔﺎده ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﺪ‪.‬‬
‫‪Constant declarations‬‬
‫‪Type declarations‬‬
‫‪Variable declarations‬‬
‫‪Procedure and Function declarations‬‬
‫‪11‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﮔﻮﻧﻪﻫﺎي ﺷﻤﺎرﺷﻲ ‪Enumerated Types‬‬
‫‪ y‬ﺑﺮاي اﻓﺰاﻳﺶ ﻗﺪرت ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ‪ ،‬ﭘﺎﺳﻜﺎل ﺑﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ اﺟﺎزه ﺗﻌﺮﻳﻒ‬
‫اﻧﻮاع داده ﺟﺪﻳﺪ را ﻣﻲدﻫﺪ‪.‬‬
‫‪ y‬در اﻳﻦ ﻧﻮع دادهﻫﺎ‪ ،‬ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ ﻣﻘﺎدﻳﺮ ﻣﻤﻜﻦ ﻗﺎﺑﻞ اﻧﺘﺴﺎب ﺑﻪ ﻣﺘﻐﻴﺮﻫﺎ را‬
‫ﻣﺸﺨﺺ ﻛﺮده و ﻣﺘﻐﻴﺮﻫﺎي ﺗﻌﺮﻳﻒ ﺷﺪه از آن ﻧﻮع‪ ،‬ﻓﻘﻂ ﻣﻲﺗﻮاﻧﺪ اﻳﻦ‬
‫ﻣﻘﺎدﻳﺮ را ﺑﮕﻴﺮد‪.‬‬
‫‪12‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﮔﻮﻧﻪﻫﺎي ﺷﻤﺎرﺷﻲ‬
type
Days = (Saturday, Sunday, Monday,
Tuesday, Wednesday, Thursday, Friday);
var
Day : Days;
begin
if day = Saturday then WriteLn(‘Sat’);
WriteLn(Ord(day));
if Sunday < Monday then …
if Wednesday = Wednesday then …
if day < Sunday then …
end.
‫ﻧﻮري‬: ‫ﻣﺪرس‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
13
‫‪ Syntax‬ﺗﻌﺮﻳﻒ ﮔﻮﻧﻪ ﺷﻤﺎرﺷﻲ‬
‫‪type‬‬
‫;)‪enumerated-type = (identifier-list‬‬
‫‪type‬‬
‫;)‪class = (Freshman, Sophomore, Junior, Senior‬‬
‫;)‪TDay = (Tuesday, Thursday‬‬
‫اﮔﺮ ﺗﻌﺮﻳﻒ ‪ TDay‬ﺑﻪ ﻫﻤﺮاه ﺗﻌﺮﻳﻒ ‪ Days‬درﺻﻔﺤﻪ ﻗﺒﻞ در ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑﺎﺷﻨﺪ‪،‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻛﺎﻣﭙﺎﻳﻞ ﻧﺨﻮاﻫﺪ ﺷﺪ‪ ،‬زﻳﺮا ﻫﺮ ﻧﺎم )ﻣﺜﻞ ‪ (Tuesday‬ﻓﻘﻂ ﻳﻚ ﺑﺎر ﻗﺎﺑﻞ اﺳﺘﻔﺎده‬
‫اﺳﺖ‪.‬‬
‫‪14‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫ﻛﺎر ﺑﺎ ﮔﻮﻧﻪﻫﺎي ﺷﻤﺎرﺷﻲ‬
type
0
1
2
Days = (Saturday, Sunday, Monday,
Tuesday, Wednesday, Thursday, Friday);
3
4
5
6
var
Today, Tomorrow : Days;
begin
Today := Friday;
Tomorrow := Saturday;
WriteLn(Today = Friday);
WriteLn(Tomorrow = Saturday);
WriteLn(Today > Tomorrow);
WriteLn(Today <> Wednesday);
WriteLn(Today >= Sunday)
end.
‫ﻧﻮري‬: ‫ﻣﺪرس‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
15
‫ﻛﺎر ﺑﺎ ﮔﻮﻧﻪﻫﺎي ﺷﻤﺎرﺷﻲ‬
type
0
1
2
Days = (Saturday, Sunday, Monday,
Tuesday, Wednesday, Thursday, Friday);
3
4
5
6
var
Today, Tomorrow : Days;
begin
Today := Friday;
Tomorrow := Saturday;
WriteLn(Ord(today));
WriteLn(Ord(tomorrow));
WriteLn(Ord(Succ(Today)));
WriteLn(Ord(Pred(Today)))
end.
‫ﻧﻮري‬: ‫ﻣﺪرس‬
‫ﺗﻌﺮﻳﻒ ﻧﺸﺪه‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
16
‫ﻣﺘﻐﻴﺮﻫﺎي ﺷﻤﺎرﺷﻲ در دﺳﺘﻮرات‬
‫ورودي‪/‬ﺧﺮوﺟﻲ‬
‫‪ y‬ﻣﺘﻐﻴﺮﻫﺎي از ﻧﻮع ﺷﻤﺎرﺷﻲ را ﻧﻤﻲﺗﻮان در دﺳﺘﻮرات ورودي و ﺧﺮوﺟﻲ اﺳﺘﻔﺎده‬
‫ﻛﺮد )دﺳﺘﻮرات ‪ Write‬و ‪.(Read‬‬
‫‪ y‬ﺑﺮاي ﻧﻤﺎﻳﺶ ﻣﻘﺪار ﻣﺘﻐﻴﺮﻫﺎي ﺷﻤﺎرﺷﻲ ﻣﻲﺗﻮان‬
‫‪case day of‬‬
‫از ‪ case‬اﺳﺘﻔﺎده ﻛﺮد‪.‬‬
‫;)’‪Saturday: Write(‘Sat‬‬
‫‪.‬‬
‫‪.‬‬
‫‪.‬‬
‫‪ y‬ﺑﺮاي درﻳﺎﻓﺖ ﻣﻘﺪار ﻳﻚ ﻣﺘﻐﻴﺮ ﺷﻤﺎرﺷﻲ از‬
‫ﻛﺎرﺑﺮ ﻣﻲﺗﻮان ﺑﻪ ﺻﻮرت زﻳﺮ ﻋﻤﻞ ﻛﺮد‪.‬‬
‫‪17‬‬
‫‪end‬‬
‫;)‪Read(D‬‬
‫‪if D = ‘Sat’ then‬‬
‫‪Day := Saturday‬‬
‫‪else if D = ‘Sun’ then‬‬
‫‪Day := Sunday‬‬
‫…‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬
‫زﻳﺮﺑﺎزهاي از ﮔﻮﻧﻪﻫﺎي ﺷﻤﺎرﺷﻲ‬
‫ ﻣﻲﺗﻮان زﻳﺮﺑﺎزهاي از ﻳﻚ ﮔﻮﻧﻪ ﺷﻤﺎرﺷﻲ را‬،‫ ﻫﻤﺎﻧﻨﺪ ﺳﺎﻳﺮ اﻧﻮاع ﺗﺮﺗﻴﺒﻲ‬y
.‫ﺗﻌﺮﻳﻒ ﻛﺮد‬
type
Days = (Saturday, Sunday, Monday,
Tuesday, Wednesday, Thursday, Friday);
WeekDays = Saturday..Wednesday;
var
SchoolDay : WeekDays;
Begin
SchoolDay := Monday;
SchoolDay := Friday;
end.
‫ﻧﻮري‬: ‫ﻣﺪرس‬
Constant out of range
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
18
‫ﺗﻤﺮﻳﻦ‬
‫‪ y‬ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از ﺳﺮي زﻳﺮ ﺗﺎ ﺟﻤﻠﻪ ‪ Sin(x) ،100‬را‬
‫ﻣﺤﺎﺳﺒﻪ ﻛﺮده و ﺳﭙﺲ ﺑﺎ ﻣﻘﺪار واﻗﻌﻲ )‪ Sin(x‬ﻣﻘﺎﻳﺴﻪ و ﺗﻔﺎوت را ﭼﺎپ‬
‫ﻛﻨﺪ‪.‬‬
‫‪x3 x5 x7‬‬
‫‪sin(x) = x − + − + ...‬‬
‫!‪3! 5! 7‬‬
‫‪19‬‬
‫ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ ﭘﺎﺳﻜﺎل – داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﺪرس‪: ‬ﻧﻮري‬