Assignment2.pdf

Introduction to Programming
Assignment 2
Due: 11:59 pm, Sunday, October 31, 2010 (9/8/1389).
By: Sahar Harati
BoshraTaheri
1
Fall 2010
Sharif University of Technology
‫ﺗﻮﺿﻴﺤﺎت‬
‫ﻗﺒﻞ از ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎ و ارﺳﺎل آﻧﻬﺎ ﺑﻪ ﻣﻮارد زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﺋﻴﺪ‪ .‬ﻋﺪم رﻋﺎﻳﺖ ﻫﺮ ﻳﻚ از ﻣﻮارد زﻳﺮ ﻣﻨﺠﺮ‬
‫ﺑﻪ از دﺳﺖ دادن ﻛﻞ ﻧﻤﺮهي اﻳﻦ ﺗﻤﺮﻳﻦ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫ در داﺧﻞ ﻫﺮ ﻛﺪام از ﺑﺮﻧﺎﻣﻪﻫﺎ‪ ،‬ﺷﻤﺎرهي داﻧﺸﺠﻮﻳﻲ ﺧﻮد را ﺑﻪ ﺻﻮرت زﻳﺮ )‪ (comment‬ﺑﻨﻮﻳﺴﻴﺪ‪:‬‬
‫‪//ID: your student ID‬‬
‫ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل‪:‬‬
‫‪//ID:89654321‬‬
‫ ﺑﻌﺪ از ﻧﻮﺷﺘﻦ ﻫﻤﻪي ﺑﺮﻧﺎﻣﻪﻫﺎ‪ ،‬ﻓﺎﻳﻞ ‪ .cpp‬ﻣﺮﺑﻮط ﺑﻪ ﻫﻤﻪي آنﻫﺎ را در ﻳﻚ ﭘﻮﺷﻪ ﺑﻪ ﻧﺎم‬
‫‪ assignment#2_stdID‬ﻗﺮار دﻫﻴﺪ )ﻛﻪ در آن ‪ stdID‬ﺷﻤﺎرهي داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎﺳﺖ(؛ ﻣﺜﻼً‬
‫‪ .assignment#2_89654321‬ﺳﭙﺲ اﻳﻦ ﭘﻮﺷﻪ را ﻓﺸﺮده ﻛﻨﻴﺪ‪ .‬ﻓﺎﻳﻞ ﻓﺸﺮده ﺷﺪه را ﺑﻪ آدرس‬
‫‪ [email protected]‬ارﺳﺎل ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫‪Sharif University of Technology‬‬
‫‪Fall 2010‬‬
‫‪2‬‬
‫ﺗﻮﺿﻴﺤﺎت‬
‫)اداﻣﻪ(‬
‫ ﻋﻨﻮان اﻳﻤﻴﻞ ﺑﺎﻳﺪ ﺑﻪ ﺻﻮرت ‪ assignment#2_stdID‬ﺑﺎﺷﺪ‪ ،‬ﻛﻪ در آن ‪ stdID‬ﺷﻤﺎرهي‬
‫داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎﺳﺖ‪.‬‬
‫ ﻧﺤﻮهي ورودي ﮔﺮﻓﺘﻦ و ﺧﺮوﺟﻲ دادن ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ ﺑﺎﻳﺪ دﻗﻴﻘﺎً ﺑﻪ ﺻﻮرت ﮔﻔﺘﻪ ﺷﺪه در ﻣﺴﺄﻟﻪ‬
‫ﺑﺎﺷﺪ‪) .‬ﻣﺜﻼً ﺑﻪ ﻓﺎﺻﻠﻪﻫﺎ و ﺑﺰرگ و ﻛﻮﭼﻚ ﺑﻮدن ﺣﺮوف دﻗﺖ ﻛﻨﻴﺪ‪(.‬‬
‫ ﺑﻪ ﻫﺮ ﻳﻚ از ﺑﺮﻧﺎﻣﻪﻫﺎي ﺷﻤﺎ‪ ،‬ﺗﻌﺪادي دادهي ﻧﻤﻮﻧﻪ ﺟﻬﺖ آزﻣﺎﻳﺶ ﺑﺮﻧﺎﻣﻪ‪ ،‬داده ﺧﻮاﻫﺪ ﺷﺪ‪،‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ ﺗﻮﺻﻴﻪ ﻣﻲﺷﻮد ﻛﻪ ﺣﺘﻤﺎً ﻳﻚ ﺑﺎر ﺗﺴﺖﻫﺎي ﻧﻤﻮﻧﻪ را ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎﻳﺘﺎن ﺑﺪﻫﻴﺪ‪.‬‬
‫ ﺗﺬﻛﺮ ‪ :1‬ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻣﺸﺎﺑﻪ ﻧﻤﺮهي ﻣﻨﻔﻲ ﺗﻌﻠﻖ ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪ .‬ﺑﻨﺎﺑﺮاﻳﻦ اﻛﻴﺪاً ﺗﻮﺻﻴﻪ ﻣﻲﺷﻮد ﻛﻪ‬
‫ﻫﺮ داﻧﺸﺠﻮ ﺑﺮﻧﺎﻣﻪي ﺧﻮد را ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻧﻮﺷﺘﻪ و ﺣﺘﻲاﻻﻣﻜﺎن داراي اﻟﮕﻮرﻳﺘﻢ‪ ،‬ﻛﺪ و ﻧﺤﻮهي‬
‫ﭘﻴﺎدهﺳﺎزي ﻣﺘﻔﺎوﺗﻲ ﺑﺎﺷﺪ‪.‬‬
‫ ﺗﺬﻛﺮ ‪ :2‬ﻫﻤﺎﻧﮕﻮﻧﻪ ﻛﻪ در ﺻﻔﺤﻪ اول ذﻛﺮ ﺷﺪه اﺳﺖ‪ ،‬ﻣﻬﻠﺖ ارﺳﺎل ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ اﻳﻤﻴﻞ ﻣﺸﺨﺺ‬
‫ﺷﺪه‪ ،‬ﺳﺎﻋﺖ ‪ 23:59‬ﻳﻜﺸﻨﺒﻪ )‪ (89/8/9‬ﻣﻲﺑﺎﺷﺪ‪ .‬ﺑﻪ ﺗﻤﺮﻳﻦﻫﺎﻳﻲ ﻛﻪ ﭘﺲ از اﻳﻦ ﺳﺎﻋﺖ ﺑﻪ آدرسِ‬
‫ﻣﺸﺨﺺ ﺷﺪه ارﺳﺎل ﮔﺮدﻧﺪ‪ ،‬ﻧﻤﺮه ﺻﻔﺮ ﺗﻌﻠﻖ ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪.‬‬
‫ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ‪.‬‬
‫‪Sharif University of Technology‬‬
‫‪Fall 2010‬‬
‫‪3‬‬
‫ﻣﺴﺄﻟﻪي اول )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪(stdID.cpp :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻋﺪد ‪ 5‬رﻗﻤﻲ از ورودي ﺑﺨﻮاﻧﺪ و اﮔﺮ ﺑﺎ ‪ 5‬رﻗﻢ ﺳﻤﺖ‬
‫راﺳﺖ ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎ ﺑﺮاﺑﺮ ﺑﻮد‪ ،‬ﻧﺎم ﺷﻤﺎ را در ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ! در‬
‫ﻏﻴﺮ اﻳﻦ ﺻﻮرت ? ﭼﺎپ ﻛﻨﺪ!‬
‫‪Sharif University of Technology‬‬
‫‪Fall 2010‬‬
‫‪4‬‬
‫ﻣﺴﺄﻟﻪي دوم )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪(Perfect.cpp :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ‪ n‬را ﺑﮕﻴﺮد و ﻣﺸﺨﺺ ﻛﻨﺪ ﻛﺎﻣﻞ اﺳﺖ ﻳﺎ ﻧﻪ‪) .‬ﻋﺪد‬
‫ﻛﺎﻣﻞ‪ ،‬ﻋﺪدي اﺳﺖ ﻛﻪ ﻣﺠﻤﻮع ﻣﻘﺴﻮمﻋﻠﻴﻪﻫﺎي ﺳﺮه آن)ﻫﻤﻪ ﻣﻘﺴﻮمﻋﻠﻴﻪﻫﺎ ﺑﻪ‬
‫ﺟﺰ ﺧﻮد ﻋﺪد( ﺑﺮاﺑﺮ آن ﻋﺪد ﺑﺎﺷﺪ‪.‬‬
‫ورودي‬
‫ﺧﺮوﺟﻲ‬
‫‪Yes‬‬
‫‪No‬‬
‫‪Sharif University of Technology‬‬
‫‪6‬‬
‫‪24‬‬
‫‪Fall 2010‬‬
‫‪5‬‬
‫ﻣﺴﺄﻟﻪي ﺳﻮم )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪(Figure.cpp :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺷﻜﻞ زﻳﺮ را در ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ‪.‬‬
‫ﺧﺮوﺟﻲ‬
‫**********‬
‫‪#********#‬‬
‫‪##******##‬‬
‫‪###****###‬‬
‫‪####**####‬‬
‫‪###****###‬‬
‫‪####**####‬‬
‫‪###****###‬‬
‫‪##******##‬‬
‫‪#********#‬‬
‫**********‬
‫‪Sharif University of Technology‬‬
‫‪Fall 2010‬‬
‫‪6‬‬
‫ﻣﺴﺄﻟﻪي ﭼﻬﺎرم )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪(Prime.cpp :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ‪1000‬اﻣﻴﻦ ﻋﺪد اول را ﻣﺤﺎﺳﺒﻪ ﻛﻨﺪ و در ﺧﺮوﺟﻲ ﭼﺎپ‬
‫ﻛﻨﺪ‪.‬‬
‫‪Sharif University of Technology‬‬
‫‪Fall 2010‬‬
‫‪7‬‬
‫ﻣﺴﺄﻟﻪي ﭘﻨﺠﻢ )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪(MeanMax.cpp :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺗﻌﺪادي ﻋﺪد ﺑﺰرﮔﺘﺮ از ﺻﻔﺮ را از ورودي درﻳﺎﻓﺖ ﻣﻲﻛﻨﺪ‬
‫و در ﺧﻂ اول ﺧﺮوﺟﻲ ﻣﻴﺎﻧﮕﻴﻦ و در ﺧﻂ ﺑﻌﺪي ﺑﺰرﮔﺘﺮﻳﻦ ﻋﺪد را ﭼﺎپ ﻛﻨﺪ‪.‬‬
‫دﻗﺖ ﻛﻨﻴﺪ ﻛﻪ از ﻗﺒﻞ ﺗﻌﺪاد وروديﻫﺎ را ﻧﻤﻲداﻧﻴﻢ و ﻛﺎرﺑﺮ ﺑﺎ وارد ﻛﺮدن ﻋﺪد‬
‫‪ ،0‬ورود اﻋﺪاد را ﭘﺎﻳﺎن ﻣﻲدﻫﺪ‪.‬‬
‫ورودي‬
‫ﺧﺮوﺟﻲ‬
‫‪21.835‬‬
‫‪52‬‬
‫‪Sharif University of Technology‬‬
‫‪21‬‬
‫‪11.34‬‬
‫‪52‬‬
‫‪3‬‬
‫‪0‬‬
‫‪Fall 2010‬‬
‫‪8‬‬
‫ﻣﺴﺄﻟﻪي ﺷﺸﻢ )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪(MultipleChoice.cpp :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ دو ﻋﺪد ﺻﺤﻴﺢ از ورودي درﻳﺎﻓﺖ ﻛﻨﺪ و ﺳﭙﺲ ﻟﻴﺴﺖ‬
‫زﻳﺮ را ﺑﺮاي ﻛﺎرﺑﺮ ﻧﻤﺎﻳﺶ دﻫﺪ و در ﻧﻬﺎﻳﺖ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﮔﺰﻳﻨﻪي اﻧﺘﺨﺎب ﺷﺪه‬
‫ﺗﻮﺳﻂ ﻛﺎرﺑﺮ‪ ،‬ﺧﺮوﺟﻲ ﻣﻮردﻧﻈﺮ او را در ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ‪.‬‬
‫‪ .1‬ﺗﻔﺎﺿﻞ‬
‫‪ .2‬ﺧﺎرجﻗﺴﻤﺖ‬
‫‪ .3‬ﺑﺎﻗﻴﻤﺎﻧﺪه‬
‫ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل اﮔﺮ ﻛﺎرﺑﺮ ﭘﺲ از ورود دو ﻋﺪد‪ ،‬ﻋﺪد ‪ 2‬را وارد ﻛﺮد‪ ،‬ﺑﺎﻳﺪ‬
‫ﺧﺎرجﻗﺴﻤﺖ ﻋﺪد اول ﺑﻪ ﻋﺪد دوم در ﺧﺮوﺟﻲ ﭼﺎپ ﺷﻮد‪.‬‬
‫‪Sharif University of Technology‬‬
‫‪Fall 2010‬‬
‫‪9‬‬
(‫)اداﻣﻪ‬
‫ورودي‬
‫ﻣﺴﺄﻟﻪي ﺷﺸﻢ‬
‫ﺧﺮوﺟﻲ‬
30
11
1.Difference
2.Quotient
3.Remainder
2
2
10
Fall 2010
Sharif University of Technology
‫ﻣﺴﺄﻟﻪي ﻫﻔﺘﻢ )ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪(GCD.cpp :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ دو ﻋﺪد ‪ a‬و ‪ b‬را ﮔﺮﻓﺘﻪ و ﺑﺰرﮔﺘﺮﻳﻦ ﻣﻘﺴﻮمﻋﻠﻴﻪ ﻣﺸﺘﺮك‬
‫)ب م م ( آنﻫﺎ را ﭼﺎپ ﻛﻨﺪ‪.‬‬
‫راﻫﻨﻤﺎﻳﻲ‪ :‬ﺑﺮاي اﻳﻦ ﻛﺎر از روش ﻧﺮدﺑﺎﻧﻲ )ﺗﻘﺴﻴﻤﺎت ﻣﺘﻮاﻟﻲ( اﺳﺘﻔﺎده ﻛﻨﻴﺪ‪.‬‬
‫ورودي‬
‫ﺧﺮوﺟﻲ‬
‫‪2‬‬
‫‪Sharif University of Technology‬‬
‫‪34‬‬
‫‪14‬‬
‫‪Fall 2010‬‬
‫‪11‬‬