Assignment2.pdf

Introduction to Programming
Assignment 2
Distributed on: Sunday, March 27, 2011 (7/1/1390).
Due: 11:59 pm, Sunday, April 10, 2011 (21/1/1390).
By: Leila Talebpour
BoshraTaheri
1
Spring 2011
Sharif University of Technology
‫ﺗﻮﺿﻴﺤﺎت‬
‫ﻗﺒﻞ از ﺷﺮوع ﻣﻮارد زﻳﺮ را ﺑﻪ دﻗﺖ ﺑﺨﻮاﻧﻴﺪ‪:‬‬
‫ ﻧﺤﻮهي ورودي ﮔﺮﻓﺘﻦ و ﺧﺮوﺟﻲ دادن ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ ﺑﺎﻳﺪ دﻗﻴﻘﺎ ﺑﻪ‬
‫ﺻﻮرت ﮔﻔﺘﻪ ﺷﺪه در ﻣﺴﺄﻟﻪ ﺑﺎﺷﺪ‪) .‬ﻣﺜﻼ ﺑﻪ ﻓﺎﺻﻠﻪﻫﺎ و ﺑﺰرگ و ﻛﻮﭼﻚ‬
‫ﺑﻮدن ﺣﺮوف دﻗﺖ ﻛﻨﻴﺪ‪(.‬‬
‫ ﺑﻪ ﻫﺮ ﻳﻚ از ﺑﺮﻧﺎﻣﻪﻫﺎي ﺷﻤﺎ ﺗﻌﺪادي ﺗﺴﺖ داده ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﺗﻮﺻﻴﻪ‬
‫ﻣﻲﺷﻮد ﻛﻪ ﺣﺘﻤﺎ ﻳﻚ ﺑﺎر ﺗﺴﺖﻫﺎي ﻧﻤﻮﻧﻪ را ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎﻳﺘﺎن ﺑﺪﻫﻴﺪ‪.‬‬
‫ از ﭼﺎپ ﻋﺒﺎرات اﺿﺎﻓﻪ ﻣﺎﻧﻨﺪ ”‪ “Please enter an integer‬در‬
‫ﺧﺮوﺟﻲ ﺧﻮدداري ﻛﻨﻴﺪ‪.‬‬
‫ ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻣﺸﺎﺑﻪ ﺑﻪ ﻣﻴﺰان ﻧﻤﺮهي ﺳﺆال‪ ،‬ﻧﻤﺮهي ﻣﻨﻔﻲ ﺗﻌﻠﻖ‬
‫ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪.‬‬
‫‪Sharif University of Technology‬‬
‫‪Spring 2011‬‬
‫‪2‬‬
‫ﺗﻮﺿﻴﺤﺎت)اداﻣﻪ(‬
‫ آﺧﺮﻳﻦ ﻣﻬﻠﺖ ارﺳﺎل ﺗﻤﺮﻳﻦﻫﺎ ﺳﺎﻋﺖ ‪ 11:59‬ﻳﻜﺸﻨﺒﻪ ‪ 21‬ﻓﺮوردﻳﻦ‬
‫ﻣﻲﺑﺎﺷﺪ‪ .‬ﺑﺮاي ارﺳﺎل ﺗﻤﺮﻳﻦﻫﺎي ﺧﻮد ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ‪:‬‬
‫‬
‫‬
‫‬
‫‬
‫‬
‫در ﻛﺪﻫﺎﻳﺘﺎن ﺑﻪ ﻫﻴﭻ ﻋﻨﻮان )(‪ getch‬و )”‪ system(“pause‬ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﺪ‪.‬‬
‫در ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪﻫﺎﻳﺘﺎن ‪ space‬و ‪ enter‬اﺿﺎﻓﻪ ﻧﺰﻧﻴﺪ!‬
‫اﺳﻢ ﻓﺎﻳﻞﻫﺎﻳﺘﺎن را ﺣﺘﻤﺎ دﻗﻴﻘﺎ ﻫﻤﺎن اﺳﻤﻲ ﺑﮕﺬارﻳﺪ ﻛﻪ در ﺻﻮرت ﺗﻤﺮﻳﻦ ذﻛﺮ ﺷﺪه و‬
‫ﻣﻮاﻇﺐ ﺑﺎﺷﻴﺪ ﻛﻪ ﭘﺴﻮﻧﺪ ﻓﺎﻳﻞ در اﺳﻤﺶ ﺗﻜﺮار ﻧﺸﻮد! ﻳﻌﻨﻲ ﻣﺜﻼ ﻓﺎﻳﻠﻲ ﺑﻪ‬
‫ﻧﺎم ‪ x.cpp.cpp‬ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﺪ‪.‬‬
‫ﻓﺎﻳﻞﻫﺎي ‪ .cpp‬را در ﻳﻚ ﭘﻮﺷﻪ ﺑﻪ اﺳﻢ ‪ ،assignment#2_STDID‬ﻛﻪ در آن‬
‫‪ STDID‬ﺷﻤﺎرهي داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎﺳﺖ‪ ،‬ﻗﺮار دﻫﻴﺪ‪ .‬ﭘﻮﺷﻪ را ﻓﺸﺮده ﻛﻨﻴﺪ‪.‬‬
‫ﻓﺎﻳﻞ ﻓﺸﺮدهي ﺗﻤﺮﻳﻨﺘﺎن رو ﺑﺎ ﻋﻨﻮاﻧﻲ ﻣﺜﻞ اﺳﻤﻲ ﻛﻪ در ﻣﻮرد ﻗﺒﻞ ﮔﻔﺘﻪ ﺷﺪ ﺑﻪ آدرس‬
‫زﻳﺮ ﺑﻔﺮﺳﺘﻴﺪ‪:‬‬
‫‪[email protected]‬‬
‫ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ‬
‫‪Sharif University of Technology‬‬
‫‪Spring 2011‬‬
‫‪3‬‬
‫ﺷﻤﺎرهي ﻣﺴﺄﻟﻪ‬
‫ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‬
‫‪1‬‬
‫‪Conversion.cpp‬‬
‫‪2‬‬
‫‪Sort3.cpp‬‬
‫‪3‬‬
‫‪GCD.cpp‬‬
‫‪4‬‬
‫‪Coins.cpp‬‬
‫‪) 5‬اﻣﺘﻴﺎزي(‬
‫‪Sine.cpp‬‬
‫ﺗﻮﺟﻪ‪ :‬در ﺳﻮالﻫﺎي ‪ 1‬و ‪ 2‬و ‪ 3‬ﺗﻮاﺑﻌﻲ ﺑﺎ ﻧﺎم ﺳﻮال ﺑﻨﻮﻳﺴﻴﺪ و در ﺗﺎﺑﻊ ‪ main‬آنﻫﺎ را ﻓﺮاﺧﻮاﻧﻲ ﻛﻨﻴﺪ‪.‬‬
‫)ﻳﻌﻨﻲ ﺗﺎﺑﻊ ‪ main‬ﻧﺒﺎﻳﺪ ﺑﻴﺶﺗﺮ از ‪ 4-5‬ﺧﻂ ﺑﺸﻪ! ﻛﺪ اﺻﻠﻲ رو ﺑﺎﻳﺪ در ﺗﺎﺑﻊ ﺑﻨﻮﻳﺴﻴﺪ‪( .‬‬
‫‪Fall 2010 Sharif University of Technology‬‬
‫‪4‬‬
‫ﻣﺴﺄﻟﻪي اول‬
‫ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪Conversion.cpp :‬‬
‫ﺗﺎﺑﻌﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻋﺪد را ﺑﻪ ﻋﻨﻮان دﻣﺎي ﻫﻮا ﺑﺮ ﺣﺴﺐ ﺳﻠﺴﻴﻮس ﺑﮕﻴﺮد و‬
‫دﻣﺎ را ﺑﺮ ﺣﺴﺐ ﻓﺎرﻳﻨﻬﺎﻳﺖ ﺑﺮﮔﺮداﻧﺪ‪.‬‬
‫ﺧﺮوﺟﻲ‬
‫‪Sharif University of Technology‬‬
‫ورودي‬
‫‪73.4‬‬
‫‪23‬‬
‫‪122‬‬
‫‪32‬‬
‫‪212‬‬
‫‪50‬‬
‫‪0‬‬
‫‪100‬‬
‫‪Spring 2011‬‬
‫‪5‬‬
‫ﻣﺴﺄﻟﻪي دوم‬
‫ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪Sort3.cpp :‬‬
‫ﺗﺎﺑﻌﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺳﻪ ﻋﺪد ‪ float‬را ﺑﮕﻴﺮد ‪ ،‬آﻧﻬﺎ را ﺑﻪ ﻧﺎم ﻫﺎي ‪ x‬و ‪ y‬و ‪z‬‬
‫ﻧﺎمﮔﺬاري ﻛﻨﺪ و ﻣﻘﺎدﻳﺮ آﻧﻬﺎ را ﻋﻮض ﻛﻨﺪ ﺑﻪ ﻃﻮري ﻛﻪ ﻧﺎﻣﺴﺎوي ‪x < y < z‬‬
‫ﺑﺮﻗﺮار ﺑﺎﺷﺪ‪.‬‬
‫ﺗﺎﺑﻊ ﻣﻘﺪاري را ﺑﺮ ﻧﻤﻲ ﮔﺮداﻧﺪ‪.‬‬
‫ﺑﺮاي ﻧﻤﻮﻧﻪ اﮔﺮ ﻗﻄﻌﻪ ﻛﺪ زﻳﺮ اﺟﺮا ﺷﻮد‬
‫ﺧﺮوﺟﻲ ﺑﻪ اﻳﻦ ﺻﻮرت ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬
‫‪Sharif University of Technology‬‬
‫‪Spring 2011‬‬
‫‪6‬‬
‫ﻣﺴﺄﻟﻪي دوم )اداﻣﻪ(‬
‫ﻧﻤﻮﻧﻪي ورودي و ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪ را در زﻳﺮ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ‪:‬‬
‫ورودي‬
‫ﺧﺮوﺟﻲ‬
‫‪0.9 3.2 5.8‬‬
‫‪Sharif University of Technology‬‬
‫‪3.2 5.8 0.9‬‬
‫‪Spring 2011‬‬
‫‪7‬‬
‫ﻣﺴﺄﻟﻪي ﺳﻮم‬
‫ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪GCD.cpp :‬‬
‫ﺗﺎﺑﻌﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ دو ﻋﺪد ‪ a‬و ‪ b‬را ﺑﻪ ﻋﻨﻮان ورودي ﺑﮕﻴﺮد و ﺑﺰرﮔﺘﺮﻳﻦ‬
‫ﻣﻘﺴﻮمﻋﻠﻴﻪ ﻣﺸﺘﺮك )ب م م ( آنﻫﺎ را ﺑﻪ ﺻﻮرت ﺑﺎزﮔﺸﺘﻲ ﻣﺤﺎﺳﺒﻪ ﻛﻨﺪ و‬
‫ﺑﺮﮔﺮداﻧﺪ‪.‬‬
‫ﺗﻮﺟﻪ‪ :‬در ﺗﻤﺮﻳﻦ ﺳﺮي اول ب‪.‬م‪.‬م را ﺑﻪ ﺻﻮرت ﻏﻴﺮﺑﺎزﮔﺸﺘﻲ و ﺑﺪون اﺳﺘﻔﺎده از‬
‫ﺗﺎﺑﻊ ﻣﺤﺎﺳﺒﻪ ﻛﺮدﻳﺪ‪ .‬در اﻳﻦ ﺗﻤﺮﻳﻦ ﻫﺪف اﺳﺘﻔﺎده از روش ﺑﺎزﮔﺸﺘﻲ ﺑﺮاي ﺣﻞ‬
‫ﻣﺴﺎﻟﻪ اﺳﺖ‪.‬‬
‫ورودي‬
‫ﺧﺮوﺟﻲ‬
‫‪2‬‬
‫‪Sharif University of Technology‬‬
‫‪34‬‬
‫‪14‬‬
‫‪Spring 2011‬‬
‫‪8‬‬
‫ﻣﺴﺄﻟﻪي ﭼﻬﺎرم‬
‫ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪Coins.cpp :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﭘﺮﺗﺎب ﺳﻜﻪ را ﺷﺒﻴﻪﺳﺎزي ﻛﻨﺪ‪ .‬ﺑﺮاي ﭘﺮﺗﺎب ﺳﻜﻪ از ﺗﺎﺑﻊ‬
‫‪ flip‬اﺳﺘﻔﺎده ﻛﻨﻴﺪ ﻛﻪ ﻫﻴﭻ ورودياي ﻧﺪارد و ﺑﺮاي ‪ 1 ، (Head) H‬و ﺑﺮاي ‪T‬‬
‫)‪ 0 ، (Tail‬ﺑﺮﻣﻲﮔﺮداﻧﺪ‪ .‬ﻋﺪد ‪ n‬را در ورودي درﻳﺎﻓﺖ ﻛﻨﻴﺪ و ﺳﻜﻪﻫﺎ را ‪ n‬ﺑﺎر‬
‫ﭘﺮﺗﺎب ﻛﻨﻴﺪ‪ .‬در ﺧﺮوﺟﻲ ﺗﻌﺪاد ‪H‬ﻫﺎ را ﭼﺎپ ﻛﻨﻴﺪ‪.‬‬
‫‪Sharif University of Technology‬‬
‫‪Spring 2011‬‬
‫‪9‬‬
‫ﻣﺴﺄﻟﻪي ﭘﻨﺠﻢ )اﻣﺘﻴﺎزي(‬
‫ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ‪Sine.cpp :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺷﻜﻞ زﻳﺮ را ﭼﺎپ ﻛﻨﺪ‪ .‬ﺑﺮاي ﭘﻴﺎدهﺳﺎزي اﻳﻦ ﺑﺮﻧﺎﻣﻪ از‬
‫ﺣﻠﻘﻪي ‪ for‬ﺗﻮ در ﺗﻮ اﺳﺘﻔﺎده ﻛﻨﻴﺪ‪ .‬در ﻏﻴﺮ اﻳﻦﺻﻮرت ﻧﻤﺮهي ﺳﻮال ﺑﻪ ﺷﻤﺎ‬
‫ﺗﻌﻠﻖ ﻧﺨﻮاﻫﺪ ﮔﺮﻓﺖ‪) .‬راﻫﻨﻤﺎﻳﻲ‪ :‬از ﺗﺎﺑﻊ ‪ sin‬در ﻛﺘﺎﺑﺨﺎﻧﻪي ‪ cmath‬اﺳﺘﻔﺎده‬
‫ﻛﻨﻴﺪ‪(.‬‬
‫ﺷﻜﻞ در ﺻﻔﺤﻪي ﺑﻌﺪ!‬
‫ﺗﻮﺟﻪ‪ (1 :‬ﺑﻴﻦ ﻛﺎراﻛﺘﺮﻫﺎي ﻫﺮ ﺧﻂ ﻫﻴﭻ ﻓﺎﺻﻠﻪاي وﺟﻮد ﻧﺪارد‪.‬‬
‫‪ (2‬ﺷﻜﻞ ‪ 21‬ردﻳﻒ دارد و در ﻫﺮ ردﻳﻒ ‪ 81‬ﻛﺎراﻛﺘﺮ ﻗﺮار دارد‪.‬‬
‫‪Sharif University of Technology‬‬
‫‪Spring 2011‬‬
‫‪10‬‬
(‫ﻣﺴﺄﻟﻪي ﭘﻨﺠﻢ )اﻣﺘﻴﺎزي‬
‫ﺧﺮوﺟﻲ‬
....................*.......................................*....................
. . . . . . . . . . . . . . . *********** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . *********** . . . . . . . . . . . . . . .
. . . . . . . . . . . . ***************** . . . . . . . . . . . . . . . . . . . . . . . ***************** . . . . . . . . . . . .
. . . . . . . . . . ********************* . . . . . . . . . . . . . . . . . . . ********************* . . . . . . . . . .
. . . . . . . . . *********************** . . . . . . . . . . . . . . . . . *********************** . . . . . . . . .
. . . . . . . *************************** . . . . . . . . . . . . . *************************** . . . . . . .
. . . . . . ***************************** . . . . . . . . . . . ***************************** . . . . . .
. . . . ********************************* . . . . . . . ********************************* . . . .
. . . *********************************** . . . . . *********************************** . . .
. . ************************************* . . . ************************************* . .
*********************************************************************************
. . ************************************* . . . ************************************* . .
. . . *********************************** . . . . . *********************************** . . .
. . . . ********************************* . . . . . . . ********************************* . . . .
. . . . . . ***************************** . . . . . . . . . . . ***************************** . . . . . .
. . . . . . . *************************** . . . . . . . . . . . . . *************************** . . . . . . .
. . . . . . . . . *********************** . . . . . . . . . . . . . . . . . *********************** . . . . . . . . .
. . . . . . . . . . ********************* . . . . . . . . . . . . . . . . . . . ********************* . . . . . . . . . .
. . . . . . . . . . . . ***************** . . . . . . . . . . . . . . . . . . . . . . . ***************** . . . . . . . . . . . .
. . . . . . . . . . . . . . . *********** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . *********** . . . . . . . . . . . . . . .
....................*.......................................*....................
11
Spring 2011
Sharif University of Technology