proj1.pdf

‫‪ah‬‬
‫ﺑﺴﻤﻪ ﺗﻌﺎﻟﻲ‬
‫ﻣﺒﺎﻧﻲ ﺑﺮﻧﺎﻣﻪ ﺳﺎﺯﻱ ‪C/C++‬‬
‫ﺩﺍﻧﺸﻜﺪﻩ ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬ﺩﺍﻧﺸﮕﺎﻩ ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﭘﺮﻭژﻩ ﺍﻭﻝ ﺩﺭﺱ ﻣﺒﺎﻧﻲ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ‬
‫ﻧﻜﺎﺕ ‪:‬‬
‫‪ ‬ﭘﺮﻭژﻩ ﻫﺎﻱ ﺧﻮﺩ ﺭﺍ ﺗﺎ ﻗﺒﻞ ﺍﺯ ﻧﻴﻤﻪ ﺷﺐ ‪ --------‬ﺑﻪ ﺁﺩﺭﺱ ‪ ce153.fall.89@gmail.com‬ﺍﺭﺳﺎﻝ ﻛﻨﻴﺪ ‪.‬‬
‫‪U‬‬
‫‪U‬‬
‫‪ ‬ﭘﺮﻭژﻩ ﻫﺎ ﻋﻼﻭﻩ ﺑﺮ ﺍﺭﺳﺎﻝ‪ ،‬ﺑﻪ ﺻﻮﺭﺕ ﺣﻀﻮﺭﻱ ﻫﻢ ﺗﺤﻮﻳﻞ ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮﻧﺪ ﺑﻨﺎﺑﺮﺍﻳﻦ ﺑﺎﻳﺪ ﺗﺴﻠﻂ ﻛﺎﻣﻞ ﺑﺮ ﺭﻭﻱ ﭘﺮﻭژﻩ‬
‫ﻫﺎﻱ ﺧﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﻴﺪ‪.‬‬
‫ﻣﺎﺷﻴﻦ ﺣﺴﺎﺏ‬
‫ﺩﺭ ﺍﻳﻦ ﭘﺮﻭژﻩ ﻣﻲ ﺑﺎﻳﺴﺖ ﺷﻤﺎ ﻳﻚ ﻣﺎﺷﻴﻦ ﺣﺎﺳﺐ ﻣﻬﻨﺪﺳﻲ )!( ﺑﻨﻮﻳﺴﻴﺪ‪ .‬ﺑﻪ ﺍﻳﻦ ﺻﻮﺭﺕ ﻛﻪ ﺍﻳﻦ ﻣﺎﺷﻴﻦ ﺣﺴﺎﺏ‬
‫ﺗﻤﺎﻡ ﻋﻤﻠﻴﺎﺕ ﺭﺍ ﺩﺭ ﺍﺑﺘﺪﺍ ﺑﮕﻴﺮﺩ ﻭ ﭘﺎﺳﺦ ﺭﺍ ﺑﻪ ﺻﻮﺭﺕ ﻳﻚ ﻋﺪﺩ ﺩﺭ ﺧﺮﻭﺟﻲ ﭼﺎپ ﻛﻨﺪ‪ .‬ﻫﺪﻑ ﺍﺯﻳﻦ ﭘﺮﻭژﻩ ﺁﺷﻨﺎﻳﻲ ﺑﺎ‬
‫ﺁﺭﺍﻳﻪ ﻫﺎ‪ ،‬ﺗﻮﺍﺑﻊ ﻭ ﻛﻤﻲ ﻣﺪﻳﺮﻳﺖ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﭘﻴﭽﻴﺪﻩ ﺗﺮ ﺍﺳﺖ‪.‬‬
‫ﻭﺭﻭﺩﻱ ﻭ ﺧﺮﻭﺟﻲ‬
‫ﻭﺭﻭﺩﻱ ﺑﺮﻧﺎﻣﻪ ﻳﻚ ﺳﺮﻱ ﻋﺪﺩ ﺑﻪ ﻫﻤﺮﺍﻩ ﻋﻤﻠﻮﻧﺪ ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻭ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻣﻲ ﺑﺎﻳﺴﺖ ﺑﺮ ﺍﺳﺎﺱ ﺍﻭﻟﻴﺖ ﻋﻤﻞ ﻭﻧﺪ ﻫﺎ‬
‫ﻣﻘﺪﺍﺭ ﻭﺭﻭﺩﻱ ﺭﺍ ﺣﺴﺎﺏ ﻛﺮﺩﻩ ﻭ ﺣﺎﺻﻞ ﺭﺍ ﺑﺎﺯﮔﺮﺩﺍﻧﺪ‪.‬ﻋﻤﻠﻴﺎﺕ ﻫﺎﻱ ﻣﻮﺭﺩ ﻗﺒﻮﻝ ﻋﺒﺎﺭﺗﻨﺪ ﺍﺯ‪:‬‬
‫• ﺟﻤﻊ‪ ،‬ﺗﻔﺮﻳﻖ‪ ،‬ﺿﺮﺏ ﻭ ﺗﻘﺴﻴﻢ )ﺑﻪ ﺗﺮﺗﻴﺐ ‪ * ، - ، +‬ﻭ ‪(/‬‬
‫• ﭘﺮﺍﻧﺘﺰ‬
‫• ﺗﻮﺍﻥ ) ^ (‬
‫• ﺗﻚ ﻋﻤﻠﻮﻧﺪ ﻣﻨﻔﻲ )‪(-‬‬
‫ﻣﺜﺎﻝ‪:‬‬
‫‪Output‬‬
‫‪Input‬‬
‫‪4‬‬
‫‪2*2‬‬
‫‪-2284‬‬
‫‪3*2-54*43+32‬‬
‫‪-16‬‬
‫‪-8*2‬‬
‫‪19.5‬‬
‫‪8+(4*(3^2-4)+3)/2‬‬
‫‪14.9841‬‬
‫‪2.75*5.25+5.645/3.65-1‬‬
‫ﻭﺭﻭﺩﻱ ﺑﺮﻧﺎﻣﻪ ﻣﻲ ﺑﺎﻳﺴﺖ ﺁﺭﺍﻳﻪ ﺍﻱ ﺑﺎ ﻃﻮﻝ ﺛﺎﺑﺖ ﻣﺜﻼ ‪ 100‬ﺍﺯ ﻧﻮﻉ ﻛﺎﺭﺍﻛﺘﺮ ﺑﺎﺷﺪ‪ .‬ﺩﺭ ﻧﻮﺷﺘﻦ ﺍﻳﻦ ﺑﺮﻧﺎﻣﻪ ﻣﻲ ﺗﻮﺍﻧﻴﺪ ﺍﺯ‬
‫ﺗﻮﺍﺑﻊ ﻣﻮﺟﻮﺩ ﺩﺭ ‪ cmath‬ﺑﺮﺍﻱ ﺍﻧﺠﺎﻡ ﻋﻤﻠﻴﺎﺕ ﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ ﻭ ﻫﻤﭽﻨﻴﻦ ﻣﻲ ﺗﻮﺍﻧﻴﺪ ﺍﺯ ﺗﺎﺑﻊ ‪ atof‬ﺑﺮﺍﻱ ﺗﺒﺪﻳﻞ‬
‫ﻛﺎﺭﺍﻛﺘﺮ ﺑﻪ ﻋﺪﺩ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ‪.‬‬
‫ﻧﻜﺎﺕ‬
‫• ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻣﻲ ﺑﺎﻳﺴﺖ ﺧﻄﺎﻱ ﻣﻮﺟﻮﺩ ﺩﺭ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻋﻤﻠﻴﺎﺕ ﺭﺍ ﺑﺎﺯﮔﺮﺩﺍﻧﺪ ﻣﺜﻼ‬
‫‪Output‬‬
‫‪Input‬‬
‫‪Wrong Operator‬‬
‫‪2*/4‬‬
‫• ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻣﻲ ﺑﺎﻳﺴﺖ ﭘﺮﺍﻧﺘﺰ ﮔﺬﺍﺭﻱ ﻫﺎ ﺭﺍ ﺩﺭ ﺍﺑﺘﺪﺍ ﺑﺮﺭﺳﻲ ﻛﻨﺪ‬
‫‪Output‬‬
‫‪Input‬‬
‫‪Unbalanced Parenthesis‬‬
‫‪2*(5*8-3*(4-5)-2‬‬
‫ﻧﻤﺮﻩ ﺍﺿﺎﻓﻲ‬
‫• ﭘﺸﺘﻴﺒﺎﻧﻲ ﻛﺮﺩﻥ ﺍﺯ ﺍﻋﺪﺍﺩ ﺑﻪ ﺗﻌﺪﺍﺩ ﺭﻗﻢ ﺑﺎﻻ ﻣﺜﻼ ‪ 50‬ﺭﻗﻢ‪.‬‬
‫• ﭘﺸﺘﻴﺒﺎﻧﻲ ﺍﺯ )(‪ sin‬ﻭ )(‪cos‬‬
‫ﺷﺎﺩ ﺑﺎﺷﻴﺪ‪.‬‬