ﺳﺎﺧﺖ ﻣﺎﺷﲔ ﺣﺴﺎب آﺎﻣﭙﻴﻮﺗﺮي ﺑﺎ اﺳﺘﻔﺎدﻩ از VB 6
O M
ﻣﺴﻌﻮد آﺎﻳﺪﺧﻮردﻩ
[email protected]
.C
R D
ﻣﻘﺪﻣﻪ :
E V
اﳒﻤﻦ : www.irankorea.com/masoudarticle
هﻤ ﺎن ﻃ ﻮر آ ﻪ ﻣ ﻲ داﻧﻴ ﺪ ،وﻳ ﮋوال ﺑﻴ ﺴﻴﻚ ) (Visual Basicزﺑ ﺎن ﺑﺮﻧﺎﻣ ﻪ ﻧﻮﻳ ﺴﻲ ﻗﺪرﺗﻤﻨﺪي ﺗﺤﺖ وﻳﻨﺪوز ﻣﻲ ﺑﺎﺷﺪ آﻪ ﻣﺤﺼﻮﻟﻲ از ﺷ ﺮآﺖ ﻣﻌﺘﺒ ﺮ Microsoftاﺳ ﺖ و
.P
ﺑﺎ اﺳﺘﻔﺎدﻩ از ﺁن ﻣﻲ ﺗﻮان ﺑﺮﻧﺎﻣﻪ هﺎي ﺗﺤﺖ وﻳﻨﺪوز را ﺑﻪ ﺁﺳﺎﻧﻲ و ﺑﻪ ﺳﺮﻋﺖ ﺗﻬﻴﻪ ﻧﻤﻮد
W W
.در اﻳﻦ ﻣﻘﺎﻟﻪ ﻣﺎ ﻗﺼﺪ دارﻳﻢ ﻳﻚ ﻣﺎﺷﻴﻦ ﺣﺴﺎب آﺎر ﺁﻣﺪ را ﺑﺎ اﺳﺘﻔﺎدﻩ از وﻳ ﮋوال ﺑﻴ ﺴﻴﻚ در ﻗﺎﻟﺐ ﺁﻣﻮزﺷﻲ ،ﺑﻪ ﺻﻮرت راهﻨﻤﺎي ﮔﺎم ﺑﻪ ﮔﺎم ﺑﺴﺎزﻳﻢ و ﺷﻤﺎ ﻋﺰﻳ ﺰان را ﺗﻮاﻧ ﺎ در ﺳﺎﺧﺖ ﻣﺎﺷﻴﻦ ﺣﺴﺎب هﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﺨﺼﺼﺘﺎن آﻨﻴﻢ ) هﻤ ﺎﻧﻄﻮر آ ﻪ ﻣ ﻲ داﻧﻴ ﺪ ﻣﺎﺷ ﻴﻦ
W
ﺣﺴﺎب وﻳﻨﺪوز ﺑﺴﻴﺎري از اﻣﻜﺎﻧﺎت ﻣﻬﻢ را دارا ﻧﻴﺴﺖ (.اﻳﻦ ﻗﻄﻌﺎ ﺗﻤﺮﻳﻦ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ﻋﻼﻗﻪ ﻣﻨﺪان ﺑﻪ اﻳﻦ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ اﺳﺖ ،ﺿﻤﻦ اﻳﻨﻜﻪ ﻧﺘﻴﺠﻪ و ﻣﺤﺼﻮل آﺎر ه ﻢ ،
ﻧﺮم اﻓﺰاري ﻗﺎﺑﻞ اﺳﺘﻔﺎدﻩ و ﺟﺎﻟﺐ اﺳﺖ .اﻳﻦ را ﻧﻴﺰ ﺑﺎﻳﺪ ﻣﺘﺬآﺮ ﺷﻮﻳﻢ آﻪ هﺮﭼﻨ ﺪ در اﻳ ﻦ ﻣﻘﺎﻟﻪ ﺳﻌﻲ ﺷﺪﻩ ﺑﺎ زﺑﺎﻧﻲ ﺳ ﺎدﻩ ﺑ ﻪ ﺟﺰﺋﻴ ﺎت ﭘﺮداﺧﺘ ﻪ ﺷ ﻮد اﻣ ﺎ ﺑ ﺎ اﻳ ﻦ وﺟ ﻮد ه ﻢ ﻧﻴ ﺎز ﺑ ﻪ ﺁﺷﻨﺎﻳﻲ ﻣﺨﺘﺼﺮ ﺷﻤﺎ ﺑﺎ وﻳﮋوال ﺑﻴﺴﻴﻚ و اﺻﻮل ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ دارد . ﺳﺎﺧﺖ ﻣﺎﺷﻴﻦ ﺣﺴﺎب آﺎﻣﭙﻴﻮﺗﺮي 1
ﻣﺮﺣﻠﻪ اول : ﻃﺮاﺣﻲ ﻣﺎﺷﻴﻦ ﺣﺴﺎب ﻃﺮاﺣﻲ اوﻟﻴﻦ ﻗ ﺪم در ﺑﺮﻧﺎﻣ ﻪ ﻧﻮﻳ ﺴﻲ و ﺑﺨ ﺼﻮص ﺑﺮﻧﺎﻣ ﻪ ﻧﻮﻳ ﺴﻲ ﺗﺤ ﺖ وﻳﻨ ﺪوز اﺳ ﺖ و اهﻤﻴﺘ ﻲ وﻳ ﮋﻩ در ﺟ ﺬب آ ﺎرﺑﺮ دارد .ﻧ ﺮم اﻓ ﺰاري آ ﻪ از ﺳ ﻮي ﻳ ﻚ ﺑﺮﻧﺎﻣ ﻪ ﻧ ﻮﻳﺲ اراﺋ ﻪ ﻣ ﻲ ﺷ ﻮد ،اﮔ ﺮ ﻃﺮاﺣﻲ آﺎرﺑﺮ ﭘﺴﻨﺪي ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﻧﻤﻲ ﺗﻮاﻧﺪ ﺟﺎﻳﮕﺎﻩ ﻗﺎﺑﻞ ﻗﺒﻮﻟﻲ در ﺑﻴﻦ ﻣﺮدم داﺷ ﺘﻪ ﺑﺎﺷ ﺪ و ﺧﻴﻠ ﻲ
O M
زود از دور ﺧﺎرج ﻣﻲ ﺷﻮد ،هﺮ ﭼﻨﺪ ﻧﺮم اﻓﺰاري آﺎرا و ﻗﺪرﺗﻤﻨﺪ ﺑﺎﺷﺪ . اوﻟﻴﻦ ﻗﺪم ﺗﻨﻈﻴﻢ اﻧﺪازۀ ﺳﺎﻳﺰ ﻓﺮﻣﻲ اﺳﺖ آﻪ VBدر اﺧﺘﻴﺎر ﻣﺎ ﻗﺮار ﻣﻲ دهﺪ .آﻪ ﻣ ﺎ ﺑﺎﻳ ﺪ ﺑ ﻪ ﮔﻮﻧ ﻪ
.C
اي ﺁن را ﺗﻨﻈﻴﻢ آﻨﻴﻢ آﻪ ﻧﻪ ﺟﺎي ﺧﺎﻟﻲ ﺑﻴﺶ از ﺣﺪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ و ﻧﻪ ﻓﻀﺎي آﻢ ﺑﺎﺷﺪ . ﺑﺮاي اﻳﺠﺎد آﻠﻴﺪهﺎي ﻣﺎﺷ ﻴﻦ ﺣ ﺴﺎب از ﺷ ﻲ Command Buttonاﺳ ﺘﻔﺎدﻩ آﻨﻴ ﺪ و ﻣﻴ ﺰان اﺳ ﺘﻔﺎدﻩ
E V
هﻢ ﺑﻪ اﻧﺪازﻩ اي اﺳﺖ آ ﻪ ﻣ ﻲ ﺧﻮاهﻴ ﺪ ﻣﺎﺷ ﻴﻦ ﺣ ﺴﺎﺑﺘﺎن ﮔ ﺴﺘﺮدﻩ ﺑﺎﺷ ﺪ .ﺧﻴﻠ ﻲ ه ﺎ دوﺳ ﺖ دارﻧ ﺪ ﺑ ﺎ دادن ﻳﻚ ﻣﻌﺎدﻟﻪ و زدن ﻳﻚ آﻠﻴﺪ رﻳﺸﻪ ﻳﺎ رﻳﺸﻪ هﺎي ﻣﻌﺎدﻟﻪ ﺷ ﺎن ﺑﺪﺳ ﺖ ﺁﻳ ﺪ و ﺧﻴﻠ ﻲ ه ﺎ ه ﻢ دوﺳ ﺖ دارﻧﺪ ﺗﺎﺑﻊ ﺁرك ﺗﺎﻧﮋاﻧﺖ را ﺑﻪ ﺻﻮرت ﺁﻣﺎدﻩ روي ﻣﺎﺷﻴﻦ ﺣﺴﺎﺑﺸﺎن ﺑﺎﺷﺪ .ﺑﻪ اﻧﺪازﻩ ﺧﺪﻣﺎﺗﻲ آﻪ از
R D
ﻣﺎﺷﻴﻦ ﺣﺴﺎب ﻣﻲ ﺧﻮاهﻴﻢ ﺑﺎﻳﺪ ﺑﺮاي ﺁن آﻠﻴﺪ اﻳﺠﺎد آﻨﻴﻢ .
هﻤﭽﻨﻴﻦ ﻣﻴﺘﻮاﻧﻴﻢ از ﺷﻲ هﺎي Labelﻳﺎ TEXT BOXﺑﺮاي ﺳﺎﺧﺖ ﻣﺎﻧﻴﺘﻮر ﻣﺎﺷﻴﻦ ﺣﺴﺎب ﺑﻬ ﺮﻩ
.P
ﺑﺒﺮﻳﻢ .داﻧﺴﺘﻦ اﺻﻮل ﻃﺮاﺣﻲ ﺑﺮگ ﺑﺮﻧﺪﻩ اي ﺑﺮاي هﺮ ﺑﺮﻧﺎﻣ ﻪ ﻧ ﻮﻳﺲ اﺳ ﺖ .آﺘ ﺎب ه ﺎي ﺑ ﺴﻴﺎري در اﻳﻦ زﻣﻴﻨﻪ ﺑﻪ ﭼﺎپ رﺳﻴﺪﻩ اﻧﺪ و ﻣﺎ هﻢ ﻣﻄﺎﻟﺒﻲ را ﺑﻪ ﺷﻤﺎ ﻋﺮﺿﻪ ﻣﻲ دارﻳﻢ :
W W
.1اﻃﻼﻋﺎت روي ﺻﻔﺤﻪ ﻧﻤﺎﻳﺶ ﺑﻪ ﺻﻮرت ﻗﺮﻳﻨﻪ و ﺗﺮاز ﺷﺪﻩ ﺑﻪ ﻧﻈﺮ ﺁﻳﺪ
.2ﻃﺮاﺣﻲ ﺑﺎﻳﺪ اﻓﻘ ﻲ ﺑﺎﺷ ﺪ ،ﻧ ﻪ ﻋﻤ ﻮدي و اﻳ ﻦ ﺑ ﺪان ﻣﻌﻨﺎﺳ ﺖ ﭼﻨ ﺪ ﺳ ﺘﻮﻧﻲ ﺑﺎﺷ ﺪ و ﻧﺒﺎﻳ ﺪ هﻤ ﻪ ﻓﻀﺎ ،ﺑﻪ آﺎر ﮔﺮﻓﺘﻪ ﺷﻮد ﺑﻠﻜﻪ ﺑﺎﻳﺪ ﻗﺴﻤﺘﻲ از ﺁن ﺧﺎﻟﻲ ﺑﻤﺎﻧﺪ . ﻣﻘﺪاري ﻓﻀﺎي ﺧﺎﻟﻲ ﻣﻨﻈﻮر ﮔﺮدد .
W
.3آﻠﻴﺪ هﺎي ﻣﺎﺷﻴﻦ ﺣﺴﺎب ﻧﺒﺎﻳﺪ ﺑﻪ ﺻﻮرت ﻓﺸﺮدﻩ و ﭼﺴﺒﻴﺪﻩ ﺑﻪ هﻢ ﻗﺮار ﮔﻴﺮد ،ﺑﻠﻜﻪ ﺑﻴﻦ ﺁﻧﻬﺎ
.4آﻠﻴ ﺪ ه ﺎي ﺑ ﻪ ﺻ ﻮرت دﺳ ﺘﻪ ﺑﻨ ﺪي از ه ﻢ ﺟ ﺪا ﺑﺎﺷ ﻨﺪ ،ﻣ ﺜﻼ آﻠﻴ ﺪ ه ﺎي ﻋ ﺪدي و آﻠﻴ ﺪ ه ﺎي ﻋﻤﻠﮕﺮ از هﻢ ﺑﻪ ﺻﻮرت ﻣﺠﻤﻮﻋﻪ ﺟﺪا ﺑﺎﺷﻨﺪ . .5ﺑﻬﺘﺮاﺳﺖ ﻋﻨﻮان هﺮ آﻠﻴﺪ روي ﺧﻮد آﻠﻴﺪ ﻗﺮار ﮔﻴﺮد و آﻠﻴ ﺪ ه ﺎي ه ﻢ ﺧ ﺎﻧﻮادﻩ ﺑ ﻪ ﻳ ﻚ رﻧ ﮓ ﺑﺎﺷﻨﺪ . 2
.6ﺳﺎﻳﺰ آﻠﻴﺪ هﺎ و ﻣ ﺎﻧﻴﺘﻮر ﻣﺎﺷ ﻴﻦ ﺣ ﺴﺎب اﻧ ﺪازﻩ ﺑﺎﺷ ﺪ ،ﻳﻌﻨ ﻲ ﻧ ﻪ ﺁﻧﻘ ﺪر ﺑ ﺰرگ و زﻧﻨ ﺪﻩ و ﻧ ﻪ ﺁﻧﻘﺪر آﻮﭼﻚ و ﺁزار دهﻨﺪﻩ . .7ﻧﻮع ﻓﻮﻧﺖ و اﻧﺪازﻩ ﻋﻨﻮان آﻠﻴﺪ هﺎ ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﺳﺎﻳﺰ ﺁن درﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد . .8رﻧﮓ زﻣﻴﻨﻪ و ﻗﻠﻢ در ﻣﺎﻧﻴﺘﻮر ﻣﺎﺷﻴﻦ ﺣﺴﺎب ﻣﺘﻤﺎﻳﺰ ﺑﺎﺷﻨﺪ . .9ﺑﻬﺘﺮ اﺳﺖ رﻧﮓ آﻠﻴﺪ هﺎ هﻢ ﺗﺎﺣﺪي از رﻧﮓ زﻣﻴﻨﻪ ﻣﺎﺷﻴﻦ ﺣﺴﺎب ﻣﺘﻔﺎوت ﺑﺎﺷﻨﺪ .
O M
.10
ﺗﻮﺟﻪ ﺑﻪ رﻧﮓ ﺁﻣﻴﺰي ﺑﺴﻴﺎر ﻣﻬﻢ اﺳﺖ ،از ﻳﻚ ﻃﺮف اﻧﺘﺨ ﺎب رﻧ ﮓ درﺳ ﺖ ﺑﺎﻋ ﺚ
ﺟﻠﺐ ﺗﻮﺟﻪ آﺎرﺑﺮ ﻣﻲ ﺷﻮد و از ﻃﺮف دﻳﮕ ﺮ اﺳ ﺘﻔﺎدﻩ از رﻧ ﮓ ه ﺎي ﻧﺎﻣﻨﺎﺳ ﺐ از ﺧﻮاﻧ ﺎﻳﻲ ﻣﻲ آﺎهﺪ و ﺑﺎﻋﺚ ﺧﺴﺘﮕﻲ ﭼﺸﻢ ﻣﻲ ﺷﻮد .
.C
.11
از ﻣﺨﻠﻮط رﻧﮓ هﺎي ﺗﻴﺮﻩ ﺧﻮدداري ﺷﻮد و هﺮﮔ ﺰ رﻧ ﮓ ﺁﺑ ﻲ ﺗﻴ ﺮﻩ ﺑ ﺎ ﭘ ﻴﺶ زﻣﻴﻨ ﻪ
ﻗﺮﻣﺰ و ﻳﺎ ﺑﺮﻋﻜﺲ ﺗﺮآﻴﺐ ﻧﮕﺮدد .
E V
.12
اﺳﺘﻔﺎدﻩ از رﻧﮓ ﻗﺮﻣﺰ ﺑﻪ ﻋﻨﻮان رﻧﮓ ﻓﻮﻧﺖ )ﻗﻠﻢ ( آﻠﻴﺪ هﺎي ﻋﻤﻠﮕﺮ ﺑﺴﻴﺎر ﻣﻨﺎﺳ ﺐ
اﺳﺖ و در ﻣﻘﺎﺑﻞ اﺳﺘﻔﺎدﻩ از رﻧﮓ هﺎي ﺁﺑﻲ و ﺳﺒﺰ ﺑﺮاي ﻧﻤﺎﻳﺶ آﻠﻴﺪ هﺎي ﻋﺪدي ﻗﺎﺑﻞ ﻗﺒ ﻮل اﺳﺖ .
R D
.13
اﻟﮕﻮ ﺑﺮداري ﻧﺴﺒﻲ ﻧﻪ آﭙﻲ ﺑﺮداري ﻋﻴﻨﻲ از ﻣﺎﺷﻴﻦ ﺣﺴﺎب وﻳﻨ ﺪوز و ﺳ ﺎﻳﺮ ﻣﺎﺷ ﻴﻦ
ﺣﺴﺎب هﺎي ﻣﻌﺘﺒﺮ ﺑﺮاي ﭘﻴﺸﺮﻓﺖ ﻣﺎ ﺑﺴﻴﺎر ﻣﻔﻴﺪ اﺳﺖ .
ﻣﺮﺣﻠﻪ دوم : آﺪ ﻧﻮﻳﺴﻲ ﻣﺎﺷﻴﻦ ﺣﺴﺎب
W W
.P
ﭘﺲ از ﻃﺮاﺣﻲ ﻧﻮﺑﺖ ﺑﻪ آﺪ ﻧﻮﻳﺴﻲ آﻪ اﺻﻠﻲ ﺗﺰﻳﻦ ﺑﺨﺶ در ﺳﺎﺧﺖ ﻧﺮم اﻓﺰار اﺳﺖ ﻣﻲ رﺳﺪ .
W
ﻣﺎ در اﻳ ﻦ ﻗ ﺴﻤﺖ ﺷ ﺮوع ﺑ ﻪ ﺑﺮﻧﺎﻣ ﻪ ﻧﻮﻳ ﺴﻲ ﻣﺎﺷ ﻴﻦ ﺣ ﺴﺎب ﻣ ﻲ آﻨ ﻴﻢ ،ﺑ ﻪ ﺗﻌﺒﻴ ﺮي ﺑ ﻪ ﻋﻨﺎﺻ ﺮ روي ﻣﺎﺷﻴﻦ ﺣﺴﺎب ﺟﺎن ﻣﻲ ﺑﺨﺸﻴﻢ .ﺗﻤﺎم ﺳﻌﻲ ﻣﺎ در اﻳﻦ ﻣﺮﺣﻠ ﻪ ﻧﻮﺷ ﺘﻦ ﺑﺮﻧﺎﻣ ﻪ اي اﺳ ﺖ آ ﻪ ﺑﻪ ﺧﻮﺑﻲ آﺎر آﻨﺪ و آﺎرﺑﺮ را ﺑﺎ ﭘﻴﻐﺎم ERRORروﺑﺮو ﻧﻜﻨﺪ .
هﻤﺎﻧﻄﻮر آﻪ ﮔﻔﺘﻴﻢ ﻣﺎ ﻣﻲ ﺗﻮاﻧﻴﻢ ﺑﺮاي اﻳﺠ ﺎد ﻣ ﺎﻧﻴﺘﻮر از 2ﺷ ﻲ LABELﻳ ﺎ TEXT BOX ﺑ ﻪ دﻟﺨ ﻮاﻩ اﺳ ﺘﻔﺎدﻩ آﻨ ﻴﻢ ) اﮔ ﺮ از LABELاﺳ ﺘﻔﺎدﻩ آﻨ ﻴﻢ ،ﺑ ﺮاي ﻧﻤ ﺎﻳﺶ اﻋ ﺪاد ،ﺧﺎﺻ ﻴﺖ
3
Captionاﻳﻦ ﺷﻲ را ﺗﻐﻴﻴﺮ ﻣﻲ دهﻴﻢ و اﮔﺮ از TEXT BOXﺑﺎﻳﺪ ﺑﺎ ﺧﺎﺻﻴﺖ TEXTﺳ ﺮ وآﻠﻪ ﺑﺰﻧﻴﻢ ( . ﻣﺎ در اﻳﻨﺠﺎ از ﺷﻲ Labelاﺳﺘﻔﺎدﻩ ﻣﻲ آﻨﻴﻢ و ﻧﺎم ﺁن را Lb1ﻣﻲ ﮔﺬارﻳﻢ . ﻧﻘﺶ ﻣﺘﻐﻴﺮ هﺎﻳﻲ آﻪ ﺑﻪ ﺻﻮرت ﺳﺮاﺳ ﺮي ) (PUBLICﺗﻌﺮﻳ ﻒ ﻣ ﻲ آﻨ ﻴﻢ ﺑ ﺴﻴﺎر ﻣﻬ ﻢ اﺳ ﺖ ، ﭼﻮﻧﻜﻪ ﻧﮕﻬﺪارﻧﺪﻩ ﻣﻮﻗﺖ اﻋﺪاد ﻣﺎ هﺴﺘﻨﺪ .
O M
ﻣﺘﻐﻴﺮ هﺎ را در ﻗﺴﻤﺖ Generalﭘﻨﺠﺮﻩ آﺪ ﻧﻮﻳﺴﻲ ﺑﻪ ﺷﻜﻞ زﻳﺮ ﺗﻌﺮﻳﻒ ﻣﻲ آﻨﻴﻢ : Public a,b,Memory,Fact as Double Public S as string
.C
ﺗﻌﺪاد ﻣﺘﻐﻴﺮ هﺎ در اﻳﻦ ﺑﺮﻧﺎﻣﻪ ﺑﻪ 4ﻋﺪد ﻣﻲ رﺳﺪ و دﻟﻴﻞ ﺁﻧﻜﻪ ﺁﻧﻬﺎ را از ﻧﻮع اﻋﺸﺎري ﺑ ﺎ دﻗ ﺖ ﻻ ﻣﻤﻜﻦ اﺳﺖ ﺑﺎ اﻋﺪاد اﻋﺸﺎري را ﺟﻤﻊ و ﺗﻔﺮﻳﻖ آﻨ ﻴﻢ ﺛﺎﻧﻴ ًﺎ ﻣﻤﻜ ﻦ اﺳ ﺖ رﻗ ﻢ ﺑﺎﻻ اﻳﻦ ﺑﻮد آﻪ او ً
E V
اﻋﺪاد ﺑﺎﻻ ﺑﺎﺷﺪ .
اﺳﺘﻔﺎدﻩ از ﻣﺘﻐﻴﺮ Memoryﺟﻬ ﺖ اﺳ ﺘﻔﺎدﻩ در ﺣﺎﻓﻈ ﻪ ﻣﺎﺷ ﻴﻦ ﺣ ﺴﺎب ﺑ ﻮدﻩ ،و آ ﺎرﺑﺮد ﻣﺘﻐﻴ ﺮ Factدر ﻣﺤﺎﺳﺒﻪ ﻓﺎآﺘﻮرﻳﻞ اﺳﺖ ،آﺎرﺑﺮد ﺳﺎﻳﺮ ﻣﺘﻐﻴﺮ هﺎ را در اداﻣﻪ ﺑﺮرﺳﻲ ﻣﻲ آﻨﻴﻢ .
R D
آﺪ ﻧﻮﻳﺴﻲ آﻠﻴﺪ هﺎي ﻋﺪدي .:
ﺑ ﺮاي اﻧﺠ ﺎم اﻋﻤ ﺎﻟﻲ ﺑ ﻴﻦ دو ﻋ ﺪد ﻧﻴ ﺎز ﺑ ﻪ راﺑﻄ ﻪ ﺑ ﻴﻦ آﻠﻴ ﺪ ه ﺎي اﻋ ﺪاد ،ﻋﻤﻠﮕ ﺮ ،ﻣ ﺴﺎوي و
.P
ﻣﺎﻧﻴﺘﻮر ﻣﺎﺷﻴﻦ ﺣﺴﺎب دارﻳﻢ .
ﺑﺮاي ﻧﻤﺎﻳﺶ اﻋﺪاد روي ﻣﺎﻧﻴﺘﻮر ﻣﺜﻼ ﻋﺪد 1از دﺳﺘﻮر زﻳﺮ اﺳ ﺘﻔﺎدﻩ ﻣ ﻲ آﻨ ﻴﻢ)ﺑ ﺎ دوﺑ ﺎر آﻠﻴ ﻚ
W W
آﺮدن روي هﺮ ﺷﻲ ﻣﻲ ﺗﻮان ﺑﻪ ﻣﺤﻞ ﻣﺨﺼﻮص ﺑﻪ آﺪ ﻧﻮﻳﺴﻲ ﺁن دﺳﺘﺮﺳﻲ ﭘﻴﺪا آﺮد (.
"Lb1.Caption=Lb1.Caption+"1
ﻧﻜﺘﻪ :ﺑﺎﻳﺪ ﻗﺒﻞ از ﺷﺮوع ﺑﻪ آﺪ ﻧﻮﻳ ﺴﻲ و در ﻣﺮﺣﻠ ﻪ ﻃﺮاﺣ ﻲ از ﻃﺮﻳ ﻖ ﭘﻨﺠ ﺮﻩ ﺧ ﺼﻮﺻﻴﺎت ،
W
Captionاﻳﻦ ﺷﻲ را ﺗﻬﻲ آﻨﻴﻢ .
ﺑﺮاي ﻧﻮﺷﺘﻦ آﺪ هﺎي ﺳ ﺎﻳﺮآﻠﻴﺪ ه ﺎي ﻋ ﺪدي ﻓﻘ ﻂ رﺷ ﺘﻪ " "1را ﺗﻐﻴﻴ ﺮ ﻣ ﻲ ده ﻴﻢ .ﻣ ﺜﻼ ﺑ ﺮاي آﻠﻴﺪ 2آﺪ را ﺑﻪ اﻳﻦ ﺷﻜﻞ ﻣﻲ ﻧﻮﻳﺴﻴﻢ : "Lb1.Caption=Lb1.Caption+"2
4
هﻤﭽﻨﻴﻦ ﺑﺎ ﺗﻐﻴﻴﺮ " "2ﺑﻪ" ".ﺑﺮاي آﻠﻴﺪ ﻣﺮﺑﻮط اﻋﺸﺎر ،اﻋﺪاد اﻋﺸﺎري را ﻧﻴﺰ وارد ﻣﺤﺎﺳﺒﻪ آﻨﻴﻢ . "Lb1.Caption=Lb1.Caption+".
هﻤﺎﻧﻄﻮر آ ﻪ از اﻳ ﻦ دﺳ ﺘﻮر ﭘﻴ ﺪا ﺳ ﺖ آ ﻪ اﻋ ﺪاد ﺑ ﻪ ﺻ ﻮرت رﺷ ﺘﻪ در ﺷ ﻲ Labelﻗ ﺮار ﻣ ﻲ
O M
ﮔﻴﺮﻧﺪ و ﺑﻪ هﻤﻴﻦ دﻟﻴﻞ از ﻧﻤﺎد " اﺳﺘﻔﺎدﻩ آ ﺮدﻳﻢ .دﻟﻴ ﻞ ﻧﻮﺷ ﺘﻦ Lb1.Captionﺑﻌ ﺪ از ﻣ ﺴﺎوي اﻳﻦ ﺑﻮد آﻪ ﺑﺎ زدن هﺮ آﻠﻴﺪ ،اﻋﺪاد ﻗﺒﻠﻲ از ﺑﻴﻦ ﻧﺮوﻧﺪ و ﻋﺪد ﺟﺪﻳﺪ ﺑﻌﺪ از ﺁﻧﻬﺎ ﻗﺮار ﺑﮕﻴﺮد .
.C
آﺪ ﻧﻮﻳﺴﻲ آﻠﻴﺪهﺎي ﺟﻤﻊ،ﺿﺮب ،ﺗﻘﺴﻴﻢ ،ﺗﻔﺮﻳﻖ : ﺑﺎ دوﺑﺎر آﻠﻴﻚ آﺮدن روي ﺷﻲ و رﻓﺘﻦ ﺑﻪ ﺗﺎﺑﻊ ﻣﺨ ﺼﻮص اﻳ ﻦ آﻠﻴ ﺪ و ﻧﻮﺷ ﺘﻦ اﻳ ﻦ ﺳ ﻪ دﺳ ﺘﻮر
E V
ﻣﻲ ﺗﻮاﻧﻴﻢ اوﻟﻴﻦ ﻋﺪد را ذﺧﻴﺮﻩ آﺮد و ﻣﻨﺘﻈﺮ ﻋﺪد دوم ﻣﺎﻧﺪ . )a=Val(Lb1.Caption ""=Lb1.caption
R D
"S="+
.P
در ﺧﻂ اول اﻳﻦ دﺳﺘﻮر ﺑﺎ اﺳﺘﻔﺎدﻩ از ﺗﺎﺑﻊ VALارزش ﻋﺪدي رﺷﺘﻪ ﻣﻮﺟ ﻮد در ﺷ ﻲ Label را در ﻣﺘﻐﻴﺮ aذﺧﻴﺮﻩ آﺮدﻳﻢ و در ﺧﻂ دوم ﻣﻘﺪار ﻣﺎﻧﻴﺘﻮر را ﺧﺎﻟﻲ آﺮدﻳﻢ ﺗﺎ ﺁﻣﺎدﻩ ﺑﺮاي ﮔﺮﻓﺘﻦ آﻨﺪ .
W W
ﻋﺪد ﺟﺪﻳﺪ ﺑﺎﺷﺪ .ﺧﻂ ﺳﻮم هﻢ ﺑﺮاي اﻳﻦ اﺳﺖ آ ﻪ آﻠﻴ ﺪ ﻣ ﺴﺎوي ﺑﻔﻬﻤ ﺪ آ ﻪ ﺑﺎﻳ ﺪ دو ﻋ ﺪد را ﺟﻤ ﻊ ﻧﻜﺘﻪ :ﻣﺘﻨﺎﺳﺐ ﺑﺎ هﺮ ﻋﻤﻠﮕﺮ از ﻣﻴﺎن ﺟﻤﻊ و ﺗﻔﺮﻳﻖ و ﺿﺮب و ﺗﻘﺴﻴﻢ ﻣﻘﺪار اﻳ ﻦ ﻣﺘﻐﻴ ﺮ رﺷ ﺘﻪ ﻣﺜﻼ ﺑﺮاي ﺗﻔﺮﻳﻖ و در ﻗﺴﻤﺖ ﻣﺮﺑﻮط ﺑﻪ ﺁن اﻳﻦ دﺳﺘﻮرهﺎ را ﻣﻲ ﻧﻮﻳﺴﻴﻢ .
W
اي ﺗﻐﻴﻴﺮ ﻣﻲ آﻨﺪ .
)a=Val(Lb1.Caption ""=Lb1.caption "S="- آﺪ ﻧﻮﻳﺴﻲ آﻠﻴﺪ ﻣﺴﺎوي :
5
ﺑ ﺎ ﻧﻮﺷ ﺘﻦ دﺳ ﺘﻮرات زﻳ ﺮ در ﻣﻨﻄﻘ ﻪ ﻣﺨ ﺼﻮص ﺑ ﻪ آﻠﻴ ﺪ ﻣ ﺴﺎوي آ ﻪ ﺑ ﺎ Privateﺷ ﺮوع و ﺑ ﺎ End Subﺧﺎﺗﻤﻪ ﻣﻲ ﻳﺎﺑﺪ ﻣﻲ ﺗﻮاﻧﻴﻢ ﺣﺎﺻﻞ را ﻣﺸﺎهﺪﻩ آﺮد : )b=Val(Lb1.Caption select case S case "+" : lb1.caption=a+b
O M
case "*" : lb1.caption=a*b case "-" : lb1.caption=a-b End select
.C
if (S="*") And (b>0) then lb1.caption=a/b
E V
Else
" lb1.caption=" Cannot Division By Zero
R D
End if a=0 b=0
.P
""=s
ﺧﻂ اول اﻳﻦ دﺳﺘﻮرات ،هﺮ ﺁﻧﭽﻪ آﻪ در ﺷﻲ Labelاﺳ ﺖ ،ﺗﺒ ﺪﻳﻞ ﺑ ﻪ ﻋ ﺪد آ ﺮدﻩ ) ﺑ ﺎ اﺳ ﺘﻔﺎدﻩ
W W
از ﺗﺎﺑﻊ ( Valو در ﻣﺘﻐﻴﺮ bﻗﺮار ﻣﻲ دهﺪ .در اداﻣ ﻪ ﺑﻨ ﺎ ﺑ ﻪ ﻋﻤﻠﮕ ﺮي آ ﻪ از ﻗﺒ ﻞ ﺗﻌﻴ ﻴﻦ ﺷ ﺪﻩ ﺣﺎﺻﻞ دو ﻋﺪد aو bرا ﻣﺤﺎﺳﺒﻪ ﻣﻲ آﻨﺪ .دﺳﺘﻮر Select Caseﻳﻚ دﺳﺘﻮر ﺷﺮﻃﻲ اﺳﺖ آﻪ ﺑﻨ ﺎ ﺑ ﻪ ﻣﻮﺟﻮدﻳ ﺖ ﻣﺘﻐﻴ ﺮ Sﺣﺎﺻ ﻞ را در ﻣ ﺎﻧﻴﺘﻮر ﺑ ﻪ ﻧﻤ ﺎﻳﺶ در ﻣ ﻲ ﺁورد .دﺳ ﺘﻮر IFه ﻢ
W
ﺑﺮرﺳﻲ ﻣﻲ آﻨﺪ آﻪ اﮔﺮ ﻣﺤﺘ ﻮاي ﻣﺘﻐﻴ ﺮ Sﺑﺮاﺑ ﺮ ﺗﻘ ﺴﻴﻢ ﺑ ﻮدﻩ و ﻣﺘﻐﻴ ﺮ bﻋ ﺪدي ﻏﻴ ﺮ از ﺻ ﻔﺮ ﺑﺎﺷﺪ ) ﭼﻮﻧﻜﻪ ﺗﻘﺴﻴﻢ هﺮ ﻋﺪد ﺑﺮ ﺻﻔﺮ ﺗﻌﺮﻳﻒ ﻧﺸﺪﻩ اﺳﺖ و اﮔﺮ اﻳﻨﺠﺎ آﻨﺘﺮل ﻧﺸﻮد Errorﻣﻲ دهﺪ ( ﻋﻤﻞ ﺗﻘﺴﻴﻢ را اﻧﺠﺎم دهﺪ و اﻻ ﭘﻴﻐ ﺎم ﻣﺮﺑﻮﻃ ﻪ ﺑ ﻪ ﻣﻌﻨ ﺎي ﻧﻤ ﻲ ﺗ ﻮاﻧﻢ ﺗﻘ ﺴﻴﻢ ﺑ ﺮ ﺻ ﻔﺮ آ ﻨﻢ روي ﻣﺎﻧﻴﺘﻮر ﻣﺎﺷﻴﻦ ﺣﺴﺎب ﺑﻪ ﻧﻤﺎﻳﺶ در ﻣﻲ ﺁﻳﺪ .
آﺪ ﻧﻮﻳﺴﻲ آﻠﻴﺪ -
: +/
6
آﺪ ﻣﺮﺑﻮط ﺑﻪ اﻳ ﻦ ﻋﻤ ﻞ ﺑ ﺴﻴﺎر ﺳ ﺎدﻩ و ﻗﺎﺑ ﻞ ه ﻀﻢ اﺳ ﺖ .ﺑ ﺎ ﻗ ﺮار دادن ﺿ ﺮب ﻋﻤﻠﮕ ﺮ – در ﻋﺪد ﻣﻲ ﺗﻮان ﻣﺜﺒﺖ ﻳﺎ ﻣﻨﻔﻲ ﻳﻚ ﻋﺪد را ﺑﺪﺳﺖ ﺁورد ،ﭼﻮﻧﻜﻪ اﮔﺮ ﻋﺪد ﻣﺜﺒ ﺖ ﺑﺎﺷ ﺪ ﺁن را ﻗﺮﻳﻨ ﻪ و ﺑﻪ ﻣﻨﻔﻲ ﺗﺒﺪﻳﻞ ﻣﻲ آﻨﺪ و اﮔﺮ ﻣﻨﻔﻲ ﺑﻪ ﻣﺜﺒﺖ . آﺪ زﻳﺮ اﻳﻦ آﺎر را ﻣﻲ آﻨﺪ : ))Lb1.Caption=-(Val(Lb1.Caption
O M
آﺪ ﻧﻮﻳﺴﻲ آﻠﻴﺪ ﻓﺎآﺘﻮر ﻳﻞ : ﺑﻌﻀﻲ ﻣﻮاﻗﻊ ﻧﻴﺎز اﺳﺖ آﻪ ﻓﺎآﺘﻮرﻳﻞ ﻳﻚ ﻋﺪد را ﻣﺤﺎﺳﺒﻪ آﻨﻴﻢ ،اﻳﻦ آﺎر ﺑﺮاي اﻋﺪاد آﻮﭼﻚ ﺑ ﻪ
.C
ﺻﻮرت دﺳﺘﻲ ﻗﺎﺑﻞ اﺟﺮاﺳﺖ ،اﻣﺎ ﺑﺮاي اﻋﺪاد ﺑﺰرگ ﺧﻴﺮ . ﺟﻬﺖ اﻳﺠﺎد آﻠﻴﺪ ﻓﺎآﺘﻮرﻳﻞ ﺑﺎﻳﺪ ﻣﺮاﺣﻞ زﻳﺮ را ﻃﻲ آﻨﻴﻢ :
E V
.1ﺳﺎﺧﺖ ﻳﻚ Command Button .2آﺪ ﻧﻮﻳﺴﻲ ﺑﻪ ﺻﻮرت زﻳﺮ :
R D
; Fact=1
)For i=1 To Val(Lb1.Caption Fact=Fact* i
.P
Next i
Lb1.Caption=Fact
W W
آﺪ ﻧﻮﻳﺴﻲ آﻠﻴﺪ ﺟﺬر وﺑﻪ ﺗﻮان
:2
ﺑﺮاي ﮔﺮﻓﺘﻦ ﺟﺬر ﻳﻚ ﻋﺪد از ﺗ ﺎﺑﻊ SQRاﺳ ﺘﻔﺎدﻩ ﻣ ﻲ ﺷ ﻮد و ﻣ ﺎ ﻣ ﻲ ﺗ ﻮاﻧﻴﻢ ﺑ ﺎ ﻧﻮﺷ ﺘﻦ اﻳ ﻦ آ ﺪ ﺑﺮاي آﻠﻴﺪ ﻣﺮﺑﻮﻃﻪ اﻳﻦ ﻣﻬﻢ را ﻣﻴﺴﺮ آﻨﻴﻢ :
W
))Lb1.Caption= Sqr(Val(Lb1.Caption
اﻳﻦ دﺳﺘﻮر اﺑﺘﺪا رﺷﺘﻪ ه ﺎي ﻣﻮﺟ ﻮد در ﺷ ﻲ Labelرا ﺑ ﺎ اﺳ ﺘﻔﺎدﻩ از ﺗ ﺎﺑﻊ Valﺗﺒ ﺪﻳﻞ ﺑ ﻪ ﻋ ﺪد ﻣﻲ آﻨﺪ و ﺳﭙﺲ ﺑﺎ ﺑﻬﺮﻩ ﮔﻴﺮي از ﺗﺎﺑﻊ Sqrﺟﺬر اﻳﻦ ﻋﺪدرا ﮔﺮﻓﺘﻪ و درﻣ ﺎﻧﻴﺘﻮر ﺑ ﻪ ﻧﻤ ﺎﻳﺶ ﻣ ﻲ ﮔﺬارد . ﺑﺮاي ﻣﺤﺎﺳﺒﻪ ﺑﻪ ﺗﻮان 2هﻢ ﻣﻲ ﺗﻮان اﻳﻦ رﺷﺘﻪ آﺪ را ﺑﺮاي آﻠﺪ ﻣﺮﺑﻮﻃﻪ اش ﻧﻮﺷﺖ : Lb1.Caption= Val(Lb1.Caption)^2 7
ﻋﻼﻣﺖ ^ ﺑﻪ ﻣﻌﻨﺎي " ﺑﻪ ﺗﻮان " اﺳﺖ و ﻣﺎ ﻣﻲ ﺗ ﻮاﻧﻴﻢ ﺑ ﺎ اﺳ ﺘﻔﺎدﻩ از اﻳ ﻦ ﻋﻼﻣ ﺖ ﺗ ﻮان ﻋ ﺪد را ﺑﺪﺳﺖ ﺁورﻳﻢ . آﺪ ﻧﻮﻳﺴﻲ آﻠﻴﺪ هﺎي : Sin , Cos , Tan , Cot ﺑﺮاي اﻳﻦ آﺎر آﺎﻓﻲ اﺳﺖ آﻪ از ﺗﺎﺑﻊ هﺎي ﺁﻣﺎدﻩ در VBاﺳﺘﻔﺎدﻩ آﻨ ﻴﻢ و آ ﺪ ه ﺎي زﻳ ﺮ را ﺑ ﺮاي
O M
آﻠﻴﺪهﺎﻳﺸﺎن ﺑﻨﻮﻳﺴﻴﻢ : ﻣﺤﺎﺳﺒﻪ ﺳﻴﻨﻮس :
))Lb1.Caption=Sin(Val(Lb1.Caption
.C
ﻣﺤﺎﺳﺒﻪ آﺴﻴﻨﻮس :
E V
ﻣﺤﺎﺳﺒﻪ ﺗﺎﻧﮋاﻧﺖ :
))Lb1.Caption=Cos(Val(Lb1.Caption ))Lb1.Caption=Tan(Val(Lb1.Caption
ﻣﺤﺎﺳﺒﻪ آﺘﺎﻧﮋاﻧﺖ :
R D
)))Lb1.Caption=1/(Tan(Val(Lb1.Caption از ﺁﻧﺠﺎ آﻪ ﺗﺎﺑﻊ آﺘﺎﻧﮋاﻧﺖ در VBﻣﻮﺟ ﻮد ﻧﻴ ﺴﺖ از راﺑﻄ ﻪ ) 1/Tan(xآﺘﺎﻧﮋاﻧ ﺖ را ﺑ ﻪ دﺳ ﺖ
W
W W
.P
ﻣﻲ ﺁورﻳﻢ
8
ﻧﻤﻮﻧﻪ اي از ﻣﺎﺷﻴﻦ ﺣﺴﺎب ﻧﻮﺷﺘﻪ ﺷﺪﻩ ﺑﺎ وﻳﮋوال ﺑﻴﺴﻴﻚ ﺑﺎ اﻟﮕﻮ ﺑﺮداري از ﻣﺎﺷﻴﻦ ﺣﺴﺎب وﻳﻨﺪوز 98
O M .C E V R D
ﻣﺮﺣﻠﻪ ﺳﻮم :ﺁﺷﻨﺎﻳﻲ ﺑﺎ ﺗﻮاﺑﻊ ﻣﻬﻢ VBو ﺳ ﺎﺧﺖ ﺗﻮاﺑ ﻊ ﭘﻴﭽﻴ ﺪﻩ در VBوﺟﻮد ﻧﺪارﻧﺪ(
)ﺗ ﻮاﺑﻌﻲ آ ﻪ
.P
ﺑﺮاﯼ ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪه ﺎﯼ ﻣﻬﻨﺪﺳ ﯽ ،ﻣﺤﺎﺳ ﺒﺎﺗﯽ ،ﮔﺮاﻓﻴﮑ ﯽ و ﺁﻣ ﺎرﯼ ﻧﻴ ﺎز دارﻳ ﺪ ﺗ ﺎ از ﺑﺮﺧ ﯽ ﺗﻮاﺑ ﻊ
W W
رﻳﺎﺿ ﯽ اﺳ ﺘﻔﺎدﻩ ﻧﻤﺎﺋﻴ ﺪ .وﻳ ﮋوال ﺑﻴ ﺴﻴﮏ 6داراﯼ ﻣﺠﻤﻮﻋ ﻪاﯼ از ﺗﻮاﺑ ﻊ اﺳ ﺖ ﮐ ﻪ ﺑ ﺮاﯼ اﻧﺠ ﺎم ﻣﺤﺎﺳ ﺒﺎت ﻋ ﺪدﯼ ﭘ ﻴﺶ ﺑﻴﻨ ﯽ ﺷ ﺪﻩ اﻧ ﺪ .در اداﻣ ﻪ اﻳ ﻦ ﻣﻘﺎﻟ ﻪ اﺑﺘ ﺪا ﺑ ﺎ اﻳ ﻦ ﺗﻮاﺑ ﻊ ﺁﺷ ﻨﺎ ﺷ ﺪﻩ و ﺳ ﭙﺲ ﭼﮕﻮﻧﮕﯽ اﻳﺠﺎد ﺳﺎﻳﺮ ﺗﻮاﺑﻊ رﻳﺎﺿﯽ را ﮐﻪ در ﻣﻴﺎن اﻳﻦ ﻣﺠﻤﻮﻋﻪ وﺟﻮد ﻧﺪارﻧﺪ ﺧﻮاهﻴﺪ دﻳﺪ.
ﺗﺎﺑﻊ ﻗﺪرﻣﻄﻠﻖ(Abs) : ﻣﻘﺪار ﺑﺪون ﻣﺜﺒﺖ ﻳﮏ ﻋﺪد را ﺑﺮﻣﯽﮔﺮداﻧﺪ .
W
ﺑﺮرﺳﻲ ﺗﻮاﺑﻊ ﻣﻮﺟﻮد در وﻳﮋوال ﺑﻴﺴﻴﻚ :
ﺗﺎﺑﻊ ﺁرﮎ ﺗﺎﻧﮋاﻧﺖ( Atn) : ﺧﺮوﺟﯽ اﻳﻦ ﺗﺎﺑﻊ ﻋﺪدﯼ از ﻧﻮع doubleاﺳﺖ ﮐﻪ ﺑﺮاﺑﺮ زاوﻳﻪاﯼ اﺳﺖ ﮐﻪ ﺗﺎﻧﮋاﻧﺖ ﺁن ﻋﺪد ورودﯼ ﺗﺎﺑﻊ اﺳﺖ . 9
ﺗﺎﺑﻊ ﺗﻮان ﻧﻤﺎﻧﯽ( Exp): ﺧﺮوﺟﯽ اﻳﻦ ﺗﺎﺑﻊ ﻋﺪدﯼ از ﻧﻮع doubleاﺳﺖ ﮐﻪ ﺑﺮاﺑﺮ eﺑﻪ ﺗﻮان ورودﯼ ﺗﺎﺑﻊ اﺳﺖ . ﺗﺎﺑﻊ ﮐﻒ ﻳﺎ ﺗﺎﺑﻊ ﺟﺰء ﺻﺤﻴﺢ(Int): ﻧﺰدﻳﮑﺘﺮﻳﻦ ﻋﺪد ﺻﺤﻴﺢ ﻣﺴﺎوﯼ ﻳﺎ ﮐﻮﭼﮑﺘﺮ ﻧﺴﺒﺖ ﺑﻪ ﻋﺪد ورودﯼ را ﺑﺮﻣﯽﮔﺮداﻧﺪ .
O M
ﺗﺎﺑﻊ ﻟﮕﺎرﻳﺘﻢ ( Log ):
ﺧﺮوﺟﯽ اﻳﻦ ﺗﺎﺑﻊ ﻋﺪدﯼ از ﻧﻮع doubleاﺳﺖ ﮐﻪ ﺑﺮاﺑﺮ ﻟﮕﺎرﻳﻢ ﻃﺒﻴﻌﯽ ﻋﺪد ورودﯼ اﺳﺖ )ﻟﮕﺎرﻳﺘﻢ ﺑﺮ ﻣﺒﻨﺎﯼ ﻋﺪد eﻳﺎ هﻤﺎن Ln
.C
ﺗﺎﺑﻊ ﮔﺮد ﮐﺮدن) ( Round ورودﯼ اﺳﺖ .
E V
ﺧﺮوﺟﯽ اﻳﻦ ﺗﺎﺑﻊ ﻋﺪدﯼ از ﻧﻮع doubleاﺳﺖ ﮐﻪ ﺑﺮاﺑﺮ ﻧﺰدﻳﮑﺘﺮﻳﻦ ﻋﺪد ﺻﺤﻴﺢ ﺑﻪ ﻣﻘﺪار ﻋﺪد
R D
ﺗﺎﺑﻊ ﻋﻼﻣﺖ (Sgn):
ﺧﺮوﺟﯽ اﻳﻦ ﺗﺎﺑﻊ ﻋﺪدﯼ از ﻧﻮع ﺻﺤﻴﺢ اﺳﺖ ﮐﻪ ﻧﺸﺎن دهﻨﺪﻩ ﻋﻼﻣﺖ ﻋﺪد ورودﯼ اﺳﺖ .اﮔﺮ ﺻﻔﺮ ﺑﺎﺷﺪ ﻣﺤﺼﻮل ﺗﺎﺑﻊ ﻋﺪد -1اﺳﺖ .
W
W W
.P
ﺧﺮوﺟﻲ ﺑﺰرﮔﺘﺮ از ﺻﻔﺮ ﻋﺪد 1را ﺑﺮﻣﻲ ﮔﺮداﻧﺪ ،اﮔﺮ ﺑﺮاﺑﺮ ﺻﻔﺮ ﻋﺪد 0و اﮔﺮ آﻮﭼﻜﺘﺮ از
10
اﻳﺠﺎد ﺳﺎﻳﺮ ﺗﻮاﺑﻊ رﻳﺎﺿﯽ ﮐﻪ در وﻳﮋوال ﺑﻴﺴﻴﮏ 6وﺟﻮد ﻧﺪارﻧﺪ : ﺟﺪول زﻳﺮ ﭼﮕﻮﻧﮕﯽ ﻣﺤﺎﺳﺒﻪ ﺳﺎﻳﺮ ﺗﻮاﺑﻊ رﻳﺎﺿﯽ ﮐﻪ در وﻳﮋوال ﺑﻴﺴﻴﮏ 6وﺟﻮد ﻧﺪارﻧﺪ را ﻧﺸﺎن ﻣﯽدهﺪ : ﺗﺎﺑﻊ ﺳﮑﺎﻧﺖ
ﻓﺮﻣﻮل )Sec(X) = 1 / Cos(X
O M
)Cosec(X) = 1 / Sin(X
ﮐﺴﮑﺎﻧﺖ
)Cotan(X) = 1 / Tan(X
ﮐﺘﺎﻧﮋاﻧﺖ
.C
ﺁرﮎ ﺳﻴﻨﻮس
ﺁرﮎ ﺳﮑﺎﻧﺖ
ﺁرﮎ ﮐﺘﺎﻧﮋاﻧﺖ
ﺗﺎﻧﮋاﻧﺖ هﻴﭙﺮﺑﻮﻟﻴﮏ
ﺳﮑﺎﻧﺖ هﻴﭙﺮﺑﻮﻟﻴﮏ
ﮐﺘﺎﻧﮋاﻧﺖ هﻴﭙﺮﺑﻮﻟﻴﮏ
HSin(X) = (Exp(X) - Exp(-X)) / 2
HCos(X) = (Exp(X) + Exp(-X)) / 2
))HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X
))HSec(X) = 2 / (Exp(X) + Exp(-X
))HCosec(X) = 2 / (Exp(X) - Exp(-X
W
ﮐﺴﮑﺎﻧﺖ هﻴﭙﺮﺑﻮﻟﻴﮏ
)Arccotan(X) = Atn(X) + 2 * Atn(1
W W
ﮐﺴﻴﻨﻮس هﻴﭙﺮﺑﻮﻟﻴﮏ
))Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1
.P
ﺳﻴﻨﻮس هﻴﭙﺮﺑﻮﻟﻴﮏ
))Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) -1) * (2 * Atn(1
R D
ﺁرﮎ ﮐﺴﮑﺎﻧﺖ
)Arccos(X) = Atn(-X / Sqr(1-X * X)) + 2 * Atn(1
E V
ﺁرﮎ ﮐﺴﻴﻨﻮس
)) Arcsin(X) = Atn(X / Sqr(1-X * X
))HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X
ﺁرﮎ ﺳﻴﻨﻮس هﻴﭙﺮﺑﻮﻟﻴﮏ ))HArcsin(X) = Log(X + Sqr(X * X + 1
ﺁرﮎ ﮐﺴﻴﻨﻮس هﻴﭙﺮﺑﻮﻟﻴﮏ
ﺁرﮎ ﺗﺎﻧﮋاﻧﺖ هﻴﭙﺮﺑﻮﻟﻴﮏ
))HArccos(X) = Log(X + Sqr(X * X - 1
HArctan(X) = Log((1 + X) / (1 - X)) / 2
11
ﺁرﮎ ﺳﮑﺎﻧﺖ هﻴﭙﺮﺑﻮﻟﻴﮏ
ﺁرﮎ ﮐﺴﮑﺎﻧﺖ هﻴﭙﺮﺑﻮﻟﻴﮏ
ﺁرﮎ ﮐﺘﺎﻧﮋاﻧﺖ هﻴﭙﺮﺑﻮﻟﻴﮏ
ﻟﮕﺎرﻳﺘﻢ ﺑﺮ ﻣﺒﻨﺎﯼN
)HArcsec(X) = Log((Sqr(1-X * X) + 1) / X
)HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X
HArccotan(X) = Log((X + 1) / (X - 1)) / 2
)LogN(X) = Log(X) / Log(N
O M
اﻋﺪاد pو n
.C
ﺑﺮاﯼ اﺳﺘﻔﺎدﻩ از اﻋﺪاد ﭘﯽ و eدر ﺑﺮﻧﺎﻣﻪهﺎﯼ ﺧﻮد ،ﺛﻮاﺑﺖ زﻳﺮ را ﺗﻌﺮﻳﻒ ﻧﻤﺎﺋﻴﺪ :
E V
Const Pi = 3.14159265358979 Const e = 2.71828182845904
وﺑﺮاي ﻧﻤﺎﻳﺶ ﺁن ﻣﻲ ﺗﻮان اﻳﻦ آﺪ را ﺑﺮاي آﻠﻴﺪ ﻣﺮﺑﻮﻃﻪ ﻧﻮﺷﺖ :
R D
La1.Caption=Pi
هﻤﭽﻨﻴﻦ ﻋﺪد ﭘﯽ را ﻣﯽﺗﻮان ﺑﻪ ﺻﻮرت زﻳﺮ ﺗﻌﺮﻳﻒ ﮐﺮد
.P
W W
ﺗﺒﺪﻳﻞ رادﻳﺎن ﺑﻪ درﺟﻪ و ﺑﺮﻋﻜﺲ
)Pi = 4 * Atn(1
ﭼﻮن اﮐﺜﺮ ﺗﻮاﺑﻊ ﻣﺜﻠﺜﺎﺗﯽ ﺑﺮ ﺣﺴﺐ رادﻳﺎن ﮐﺎر ﻣﯽ ﮐﻨﻨﺪ ﮔﺎهﯽ اوﻗﺎت ﻧﻴﺎز دارﻳﻢ ﺗﺎ زواﻳﺎ را از در ﺟﻪ ﺑﻪ رادﻳﺎن و ﺑﺎﻟﻌﮑﺲ ﺗﺒﺪﻳﻞ ﮐﻨﻴﻢ .ﺑﺮاﯼ ﺗﺒﺪﻳﻞ ﻳﮏ زاوﻳﻪ ﺑﺮ ﺣﺴﺐ رادﻳﺎن ﺑﻪ درﺟﻪ ،ﺁﻧﺮا در 180ﺿﺮب ﮐﺮدﻩ و ﺳﭙﺲ ﺑﺮ ﻋﺪد ﭘﯽ ﺗﻘﺴﻴﻢ ﻣﯽﮐﻨﻴﻢ :
W
Darage = x * 180 / Pi ﺑﺮاﯼ ﺗﺒﺪﻳﻞ ﻳﮏ زاوﻳﻪ ﺑﺮ ﺣﺴﺐ درﺟﻪ ﺑﻪ رادﻳﺎن ،ﺁﻧﺮا در ﻋﺪد ﭘﯽ ﺿﺮب ﮐﺮدﻩ و ﺳﭙﺲ ﺑﺮ 180 ﺗﻘﺴﻴﻢ ﻣﯽﮐﻨﻴﻢ :
Radian= x * Pi / 180
12
در ﭘﺎﻳﺎن : اﻧﺸﺎاﷲ آﻪ از اﻳﻦ ﻣﻄﺎﻟﺐ اﺳﺘﻔﺎدﻩ آﺎﻣﻞ آﺮدﻩ ﺑﺎﺷﻴﺪ ،اﻣﺎ اﮔﺮ ﺑﺨﻮاهﻴﺪ در زﻣﻴﻨ ﻪ ﺑﺮﻧﺎﻣ ﻪ ﻧﻮﻳ ﺴﻲ ﭘﻴ ﺸﺮﻓﺖ آﻨﻴ ﺪ ،ﺑﺎﻳ ﺪ ازآﺘ ﺐ ﻣﺮﺟ ﻊ اﺳ ﺘﻔﺎدﻩ آﻨﻴ ﺪ و هﺮﮔ ﺰ در ﺑﺮﻧﺎﻣ ﻪ ﻧﻮﻳ ﺴﻲ ﻧﺎاﻣﻴ ﺪ و ﻣ ﺎﻳﻮس ﻧﺸﻮﻳﺪ .
O M
ﻣﻨﺎﺑﻊ :
ﺗﺠﺰﻳﻪ و ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻢ هﺎي آﺎﻣﭙﻴﻮﺗﺮي – دآﺘﺮ ﻣﻮﻧﺲ ﻋﻠﻲ ﻓﺮﻣﻨﺶ وﻳﮋوال ﺑﻴﺴﻴﻚ –ﻣﻴﺮ ﻣﺤﻤﺪ رﺿﺎ ﻋﻠﻮي ﻣﻴﻼﻧﻲ ﺗﺠﺮﺑﻴﺎت ﺧﻮدم
.C
هﻤﻜﺎري ﺳﺎﻳﺖ iDevCenter.comدر زﻣﻴﻨﻪ ﺗﻮاﺑﻊ رﻳﺎﺿﻲ
E V
ﻣﺴﻌﻮد آﺎﻳﺪﺧﻮردﻩ
[email protected]
www.masoudarticle.mihanblog.com
R D
www.irankorea.com/masoudarticle
.P W W W 13