HW4.pdf

‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۱۸:۰۰‬روز ‪۱۳۹۰/۳/۸‬‬
‫ﺮﻳﻦ ﺎره ‪۴‬‬
‫!ﻮه ارﺳﺎل‬
‫ﻛﺪ ﻣﺮﺑﻮط ﺑﻪ ﻫﺮ ﺗﻤﺮﻳﻦ را در ﻳﻚ ﻓﺎﻳﻞ ﺑﻪ ﺻﻮرت ‪ HWxx.cpp‬ﻗﺮار دﻫﻴﺪ ﻛﻪ ‪ xx‬ﺷﻤﺎره آن ﺗﻤﺮﻳﻦ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻣﺜﻼ ﻛﺪ ﺗﻤﺮﻳﻦ اول‬
‫در ﻓﺎﻳﻠﻲ ﺑﻪ ﻧﺎم ‪ HW01.cpp‬ﻗﺮار ﻣﻲ ﮔﻴﺮد ‪،‬ﺳﭙﺲ ﺗﻤﺎﻣﻲ ﻛﺪ ﻫﺎي ﺧﻮد را ﻛﻨﺎر ﻫﻢ ﻗﺮار داده و آن ﻫﺎ را ‪ zip‬ﻧﻤﺎﻳﻴﺪ و اﺳﻢ ﻓﺎﻳﻞ‬
‫زﻳﭗ را ﺑﻪ ﺻﻮرت ‪ HW4_STDID.zip‬ﻗﺮار دﻫﻴﺪ‪ ،‬ﻛﻪ ‪ STDID‬ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎﺳﺖ ﻣﺜﻞ ‪ HW4_8912345.zip‬و آنرا‬
‫در ﻣﻮﻋﺪ ﻣﻘﺮر ﺑﻪ آدرس اﻳﻤﻴﻞ ‪ [email protected]‬ارﺳﺎل ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫ﺗﻮﺟﻪ ‪ :1‬ﺑﻪ ﺗﻤﺮﻳﻨﺎﺗﻲ ﻛﻪ ﺑﻪ ﺻﻮرت ﻛﺎﻏﺬي ﺗﺤﻮﻳﻞ ﺷﻮﻧﺪ‪ ،‬ﻳﺎ اﺳﻜﻦ ﺷﻮﻧﺪ‪ ،‬ﻧﻤﺮهاي ﺗﻌﻠﻖ ﻧﺨﻮاﻫﺪ ﮔﺮﻓﺖ‪ .‬ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﺎﻳﺪ در ﻓﺮﻣﺖ ﻓﺎﻳﻞ‬
‫‪ cpp‬ﻧﻮﺷﺘﻪ ﺷﺪه و ﺑﺎ ﻳﻚ ﻛﺎﻣﭙﺎﻳﻠﺮ ‪ C/C++‬ﺗﺴﺖ و اﺟﺮا ﺷﺪه ﺑﺎﺷﻨﺪ‪.‬‬
‫ﺗﻮﺟﻪ ‪ :2‬از ارﺳﺎل ﻓﺎﻳﻞ اﺟﺮاﻳﻲ ﺑﻪ ﻫﻤﺮاه ﺳﻮرس‪ ،‬ﺧﻮدداري ﻛﻨﻴﺪ‪ .‬ﺳﻴﺴﺘﻢ ‪ gmail‬و اﻛﺜﺮ ﺳﺮوﻳﺲﻫﺎي اﻳﻤﻴﻞ از درﻳﺎﻓﺖ ﻓﺎﻳﻞ اﺟﺮاﻳﻲ‬
‫)ﺣﺘﻲ اﮔﺮ در داﺧﻞ ﻓﺎﻳﻞ ‪ zip‬ﺑﺎﺷﻨﺪ( ﺧﻮدداري ﻣﻲﻛﻨﺪ‪ .‬ﺑﻨﺎﺑﺮاﻳﻦ ﻣﺴﺌﻮﻟﻴﺖ ﻧﺮﺳﻴﺪن ﭼﻨﻴﻦ اﻳﻤﻴﻞﻫﺎﻳﻲ ﺑﻌﻬﺪه داﻧﺸﺠﻮ اﺳﺖ‪.‬‬
‫ﺗﻮﺟﻪ ‪ :3‬از ارﺳﺎل ﺗﻤﺮﻳﻦﻫﺎ ﺑﻪ ﮔﺮوه درس ﺧﻮدداري ﻛﻨﻴﺪ! و ﺣﺘﻤﺎ ﺑﻪ ﻫﻨﮕﺎم وارد ﻧﻤﻮدن آدرس اﻳﻤﻴﻞ ﮔﻴﺮﻧﺪه )ﺑﺨﺼﻮص در ‪(gmail‬‬
‫دﻗﺖ ﻛﻨﻴﺪ‪ ،‬ﺗﺎ اﺷﺘﺒﺎﻫﺎ آدرس ﮔﺮوه ﺑﻪ ﺟﺎي آدرس اﻳﻤﻴﻞ ﺗﻤﺮﻳﻦﻫﺎ وارد ﻧﺸﺪه ﺑﺎﺷﺪ‪.‬‬
‫ﺗﻮﺟﻪ ‪ :4‬از ﻛﺘﺎﺑﺨﺎﻧﻪﻫﺎﻳﻲ ﻛﻪ ﻣﻄﺎﺑﻖ ﺑﺎ اﺳﺘﺎﻧﺪارد ‪ ANSI‬ﻧﺒﺎﺷﻨﺪ)ﻣﺎﻧﻨﺪ ‪ (conio‬اﺳﺘﻔﺎده ﻧﻜﻨﻴﺪ‪ .‬ﻣﺴﺌﻮﻟﻴﺖ ﻋﺪم ﻛﺎﻣﭙﺎﻳﻞ ﭼﻨﻴﻦ ﻛﺪﻫﺎﻳﻲ‬
‫ﺑﺮﻋﻬﺪه داﻧﺸﺠﻮ ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫روش ارزﻳﺎ‪"#‬‬
‫ارزﻳﺎﺑﻲ‬
‫ﻋﻨﻮان‬
‫در زﻣﺎن ﻣﻘﺮر‬
‫*‪%100‬‬
‫ﺗﺎ ‪ 1‬روز ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‪%60‬‬
‫ﺑﻴﺶ از ﻳﻚ روز و ﺗﺎ ‪ 3‬روز ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‬
‫‪%30‬‬
‫ﺑﻴﺶ از ﺳﻪ روز و ﺗﺎ ﻳﻚ ﻫﻔﺘﻪ ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‬
‫‪%20‬‬
‫*‪%0‬‬
‫ﺑﻴﺶ از ﻳﻚ ﻫﻔﺘﻪ ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫)ﻧﻤﺮه ﻛﺎﻣﻞ ﺗﻤﺮﻳﻦ( * ‪-1‬‬
‫ﺗﻘﻠﺐ‪ ،‬ﻛﭙﻲ ﺑﺮداري و ﻣﻮاردي از اﻳﻦ ﻗﺒﻴﻞ‬
‫*درﺻﺪﻫﺎي ﻓﻮق ﻧﺴﺒﺖ ﺑﻪ ﻧﻤﺮه ﻛﺴﺐ ﺷﺪهي ﺗﻤﺮﻳﻦ ﺗﻮﺳﻂ داﻧﺶﺟﻮ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫ﺗﻮﺟﻪ‪ :‬ﺗﻔﺎوتﻫﺎي اﻳﻦ ﺳﺮي ﺗﻤﺮﻳﻦﻫﺎ ﺑﺎ ﺳﺮيﻫﺎي ﮔﺬﺷﺘﻪ‪:‬‬
‫• اﻳﻦ ﺳﺮي از ﺗﻤﺮﻳﻦﻫﺎ ﺗﻨﻬﺎ ﺷﺎﻣﻞ ﻳﻚ ﺳﺆال اﺳﺖ‪ .‬در اﻳﻦ ﺳﺆال ﺗﻮاﻧﺎﻳﻲ ﺷﻤﺎ در ﻛﺎر ﺑﺎ اﺷﺎرهﮔﺮﻫﺎ و‬
‫)‪(١‬‬
‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۱۸:۰۰‬روز ‪۱۳۹۰/۳/۸‬‬
‫ﺮﻳﻦ ﺎره ‪۴‬‬
‫اﺷﺎرهﮔﺮ ﺑﻪ ﺗﺎﺑﻊ ارزﻳﺎﺑﻲ ﻣﻲﺷﻮد‪.‬‬
‫• در اﻳﻦ ﺳﺮي از ﺗﻤﺮﻳﻦﻫﺎ‪ ،‬ﻣﺘﻦ ﻛﺪ ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ ﺑﺎز ﺷﺪه و ﺧﻮاﻧﺪه ﻣﻲﺷﻮد‪ .‬از اﻳﻦ رو ﻛﺎﻣﭙﺎﻳﻞ ﺷﺪن و‬
‫اﺟﺮاي ﻣﻄﺎﺑﻖ اﻧﺘﻈﺎر‪ ،‬ﺗﻨﻬﺎ ﻣﻮارد ﺑﺮاي ارزشﻳﺎﺑﻲ ﻧﻴﺴﺘﻨﺪ‪.‬‬
‫• ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ در اﻳﻦ ﺗﻤﺮﻳﻦ ﺑﻪﺻﻮرت ﻣﺤﺎورهاي )‪ (interactive‬ﺑﺎ ﻛﺎرﺑﺮ ﺗﻌﺎﻣﻞ ﺧﻮاﻫﺪ داﺷﺖ‪ .‬ﺑﻪ اﻳﻦ‬
‫ﻣﻌﻨﻲ ﻛﻪ ﺑﺮﺧﻼف ﺑﺮﻧﺎﻣﻪﻫﺎي ﻗﺒﻞ‪ ،‬ﺗﻨﻬﺎ ﻳﻚ ﺑﺎر ورودي و ﻳﻚ ﺑﺎر ﺧﺮوﺟﻲ ﻧﺪارﻳﻢ؛ ﺑﻠﻜﻪ ﻛﺎرﺑﺮي ﻛﻪ‬
‫ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ را اﺟﺮا ﻣﻲﻛﻨﺪ ﻣﻲﺗﻮاﻧﺪ دﺳﺘﻮرات ﻣﺘﻨﻮع و ﻣﺘﻔﺎوﺗﻲ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺑﺪﻫﺪ‪.‬‬
‫• ﺗﻮﺻﻴﻪ ﻣﻲﺷﻮد ﻗﺒﻞ از ﺷﺮوع ﻛﺎر ﻳﻚ ﻃﺮاﺣﻲ اوﻟﻴﻪ )روي ﻛﺎﻏﺬ( از ﻛﻠّﻴﺖ‪ ‬ﺳﻴﺴﺘﻢﺗﺎن داﺷﺘﻪ ﺑﺎﺷﻴﺪ و‬
‫ﺣﺘﻤﺎً ﻳﻚﺑﺎر دﻳﮕﺮ اﺳﻼﻳﺪﻫﺎي درس در اﻳﻦ ﺧﺼﻮص را ﻣﻄﺎﻟﻌﻪ ﻛﻨﻴﺪ‪.‬‬
‫ﺮﯾﻦ ﺳﺮی ﭼﻬﺎرم‪ :‬ﺑﺮﻧﺎﻣﻪای ﺑﺮای ﻣﺪﯾﺮﯾﺖ ‪3‬ﺮات داﻧﺸﺠﻮﯾﺎن ‪3 ۱۰۰)……………………….‬ﺮه(‬
‫ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺮﻧﺎﻣﻪ اي ﺑﺮاي ﻣﺪﻳﺮﻳﺖ ﻧﻤﺮات ﺗﻌﺪادي داﻧﺸﺠﻮ ﺗﻮﺳﻂ اﺳﺘﺎد درس ﺑﻨﻮﻳﺴﻴﻢ‪ .‬اﻳﻦ ﺑﺮﻧﺎﻣﻪ در اﺑﺘﺪا ﺑﺎﻳﺪ ﺗﻌﺪاد داﻧﺸﺠﻮﻳﺎن‬
‫)࢔( را از ورودي ﺑﺨﻮاﻧﺪ‪ .‬ﺳﭙﺲ در ࢔ ﺳﻄﺮ ﺑﻌﺪي در ﻫﺮ ﺧﻂ اﺑﺘﺪا ﺷﻤﺎرهداﻧﺸﺠﻮﻳﻲ‪ ،‬ﺳﭙﺲ ﻧﺎم و ﺑﻌﺪ از آن ﻧﺎم ﺧﺎﻧﻮادﮔﻲ و ﻧﻬﺎﻳﺘﺎً‬
‫ﻧﻤﺮه داﻧﺸﺠﻮ را ﻣﻲﮔﻴﺮد‪.‬‬
‫ﻓﺮض ﻛﻨﻴﺪ ‪ 1 ≤ ࢔ ≤ 1000‬اﺳﺖ‪ .‬ﻧﺎم و ﻧﺎمﺧﺎﻧﻮادﮔﻲ ﻫﻢ ﻫﺮ ﻛﺪام ﻳﻚ ﻛﻠﻤﻪ ﻫﺴﺘﻨﺪ و در ﻣﻴﺎنﺷﺎن ﻓﺎﺻﻠﻪ ﻇﺎﻫﺮ ﻧﻤﻲﺷﻮد )ﻣﺜﻼً‬
‫‪ Ferdowsi Pour‬ﺑﻪ ﻋﻨﻮان ﻧﺎمﺧﺎﻧﻮادﮔﻲ ﻧﺪارﻳﻢ و ﻫﻤﭽﻴﻦ ﻧﺎمﺧﺎﻧﻮادﮔﻲاي را ﺑﻪﺻﻮرت ‪ FerdowsiPour‬ﻣﻲﻧﻮﻳﺴﻴﻢ(‪ .‬ﺷﻤﺎره‬
‫داﻧﺸﺠﻮﻳﻲ ﻫﻢ ﻣﺜﻞ ﺷﻤﺎرهﻫﺎي داﻧﺸﮕﺎه ﺧﻮدﻣﺎن ‪ 8‬رﻗﻤﻲ اﺳﺖ‪ .‬ﻧﻤﺮه ﻫﻢ ﺑﺎ دو رﻗﻢ اﻋﺸﺎر داده ﻣﻲ ﺷﻮد‪.‬‬
‫ﭘﺲ از ﺧﻮاﻧﺪن ورودي و ذﺧﻴﺮه اﻳﻦ دادهﻫﺎ در ﺣﺎﻓﻈﻪ ﺑﺮﻧﺎﻣﻪ‪ ،‬ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺑﺎﻳﺪ در ﻳﻚ ﺧﻂ ﻋﺒﺎرت زﻳﺮ را ﺑﺪون ‪ endl‬در اﻧﺘﻬﺎي ﺧﻂ‬
‫ﭼﺎپ ﻛﺮده و ﻣﻨﺘﻈﺮ ﺧﻮاﻧﺪن ﻳﻚ ﻋﺪد ﺑﻪﻋﻨﻮان ﺷﻤﺎره دﺳﺘﻮر از ﻛﺎرﺑﺮ ﺑﺎﺷﺪ‪:‬‬
‫‪Please Enter Command Number:‬‬
‫ﭘﺲ از آن‪ ،‬ﺑﺎ درﻳﺎﻓﺖ ﻳﻚ ﻋﺪد ﻳﻚ رﻗﻤﻲ ﻛﻪ اﻟﺰاﻣﺎً از اﻋﺪاد زﻳﺮ اﺳﺖ‪ ،‬ﻋﻤﻠﻴﺎت ‪ 1‬ﻳﺎ ﻋﻤﻠﻴﺎت ‪ 2‬ﻳﺎ ‪ ...‬ﻳﺎ ﻋﻤﻠﻴﺎت ‪ 9‬را ﺑﺮ ﺣﺴﺐ ﺷﻤﺎره‬
‫دﺳﺘﻮر ﺑﻪﺷﺮح زﻳﺮ اﻧﺠﺎم دﻫﺪ‪.‬‬
‫ﺷﻤﺎره‬
‫ﺷﺮح ﻋﻤﻠﻴﺎت‬
‫ﻧﺎم ﻋﻤﻠﻴﺎت‬
‫ﻋﻤﻠﻴﺎت‬
‫ﻋﻤﻠﻴﺎت ‪1‬‬
‫ﻣﺮﺗﺐ ش‪.‬د‪ .‬ﺻﻌﻮدي‬
‫اﻃﻼﻋﺎت ﺑﺮﺣﺴﺐ ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ و ﺑﻪﺻﻮرت ﺻﻌﻮدي ﻣﺮﺗﺐ و در ﺧﺮوﺟﻲ ﭼﺎپ ﺷﻮﻧﺪ‪.‬‬
‫)‪(٢‬‬
‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۱۸:۰۰‬روز ‪۱۳۹۰/۳/۸‬‬
‫ﺮﻳﻦ ﺎره ‪۴‬‬
‫ﻋﻤﻠﻴﺎت ‪2‬‬
‫ﻣﺮﺗﺐ ش‪.‬د‪ .‬ﻧﺰوﻟﻲ‬
‫اﻃﻼﻋﺎت ﺑﺮﺣﺴﺐ ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ و ﺑﻪﺻﻮرت ﻧﺰوﻟﻲ ﻣﺮﺗﺐ و در ﺧﺮوﺟﻲ ﭼﺎپ ﺷﻮﻧﺪ‪.‬‬
‫ﻋﻤﻠﻴﺎت ‪3‬‬
‫ﻣﺮﺗﺐ ن‪.‬خ‪ .‬اﻟﻔﺒﺎﻳﻲ‬
‫اﻃﻼﻋﺎت ﺑﺮﺣﺴﺐ ﻧﺎمﺧﺎﻧﻮادﮔﻲ )و در ﺻﻮرت ﺗﺴﺎوي ﻧﺎم( ﺑﻪﺻﻮرت ﺗﺮﺗﻴﺐ اﻟﻔﺒﺎﻳﻲ )‪ a‬ﺗﺎ ‪(z‬‬
‫ﻣﺮﺗﺐ و در ﺧﺮوﺟﻲ ﭼﺎپ ﺷﻮﻧﺪ‪.‬‬
‫ﻋﻤﻠﻴﺎت ‪4‬‬
‫ﻣﺮﺗﺐ ن‪.‬خ‪ .‬ﻣﻌﻜﻮس‬
‫اﻃﻼﻋﺎت ﺑﺮﺣﺴﺐ ﻧﺎمﺧﺎﻧﻮادﮔﻲ )و در ﺻﻮرت ﺗﺴﺎوي ﻧﺎم( ﺑﻪﺻﻮرت ﻣﻌﻜﻮس اﻟﻔﺒﺎﻳﻲ )‪ z‬ﺗﺎ ‪(a‬‬
‫ﻣﺮﺗﺐ و در ﺧﺮوﺟﻲ ﭼﺎپ ﺷﻮﻧﺪ‪.‬‬
‫ﻋﻤﻠﻴﺎت ‪5‬‬
‫ﻣﺮﺗﺐ ﻧﻤﺮه ﺻﻌﻮدي‬
‫اﻃﻼﻋﺎت ﺑﺮﺣﺴﺐ ﻧﻤﺮه و ﺑﻪﺻﻮرت ﺻﻌﻮدي )از ﺻﻔﺮ ﺗﺎ ‪ (20‬ﻣﺮﺗﺐ و در ﺧﺮوﺟﻲ ﭼﺎپ ﺷﻮﻧﺪ‪.‬‬
‫ﻋﻤﻠﻴﺎت ‪6‬‬
‫ﻣﺮﺗﺐ ﻧﻤﺮه ﻧﺰوﻟﻲ‬
‫اﻃﻼﻋﺎت ﺑﺮﺣﺴﺐ ﻧﻤﺮه و ﺑﻪﺻﻮرت ﻧﺰوﻟﻲ )از ‪ 20‬ﺗﺎ ﺻﻔﺮ( ﻣﺮﺗﺐ و در ﺧﺮوﺟﻲ ﭼﺎپ ﺷﻮﻧﺪ‪.‬‬
‫ﻋﻤﻠﻴﺎت ‪7‬‬
‫آﻣﺎر‬
‫در ‪ 3‬ﺳﻄﺮ زﻳﺮﻫﻢ ﺑﻪﺗﺮﺗﻴﺐ ﻣﻴﺎﻧﻪ‪ ،‬ﻣﻴﺎﻧﮕﻴﻦ و وارﻳﺎﻧﺲ را زﻳﺮ ﻫﻢ ﺑﺎ دو رﻗﻢ اﻋﺸﺎر ﺑﻨﻮﻳﺴﺪ‪.‬‬
‫ﻋﻤﻠﻴﺎت ‪8‬‬
‫ﻟﺐﻣﺮزيﻫﺎ‬
‫اﺳﺎﻣﻲ داﻧﺸﺠﻮﻳﺎن ﺿﻌﻴﻒ )داﻧﺸﺠﻮﻳﺎﻧﻲ ﻛﻪ ﻧﻤﺮه آﻧﻬﺎ زﻳﺮ ﻣﻴﺎﻧﮕﻴﻦ اﺳﺖ( را ﺑﻪﺗﺮﺗﻴﺐ ﻧﺰوﻟﻲ‬
‫ﻧﻤﺮه )‪ 20‬ﺗﺎ ﺻﻔﺮ( در ﺧﺮوﺟﻲ ﭼﺎپ ﻧﻤﺎﻳﺪ‪.‬‬
‫ﻋﻤﻠﻴﺎت ‪9‬‬
‫اﺑﺘﻜﺎري!‬
‫)ﺗﻮﺿﻴﺢ در ﺗﻮﺟﻬﺎت ﭘﺎﻳﻴﻦ(‬
‫ﻋﻤﻠﻴﺎت ‪0‬‬
‫ﺧﺮوج‬
‫ﭘﻴﺎم ‪ Bye‬را ﭼﺎپ ﻛﺮده و از ﺑﺮﻧﺎﻣﻪ ﺧﺎرج ﺷﻮد )ﻣﻨﺘﻈﺮ ﭼﻴﺰي ﻣﺜﻞ )(‪ getch‬ﻧﻤﺎﻧﺪ(‪.‬‬
‫•‬
‫ﺗﻮﺟﻪ ‪ :1‬در ﻓﺮاﺧﻮاﻧﻲ ﻋﻤﻠﻴﺎت از آراﻳﻪاي از "اﺷﺎرهﮔﺮ ﺑﻪ ﺗﺎﺑﻊ" اﺳﺘﻔﺎده ﻛﻨﻴﺪ‪ .‬ﺑﻬﻴﭻ ﻋﻨﻮان از ‪ switch‬ﻳﺎ ﭼﻨﺪ ‪ If‬ﺑﺮاي‬
‫ﺗﺸﺨﻴﺺ ﺗﺎﺑﻊ ﻣﺮﺑﻮﻃﻪ اﺳﺘﻔﺎده ﻧﺸﻮد‪.‬‬
‫•‬
‫ﺗﻮﺟﻪ ‪ :2‬ﺗﺎﺑﻊ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻨﺪه اﻃﻼﻋﺎت ﺑﻌﻨﻮان ﻳﻚ ﭘﺎراﻣﺘﺮ ورودي و ﺑﺼﻮرت ﻳﻚ "اﺷﺎرهﮔﺮ ﺑﻪ ﺗﺎﺑﻊ" ﺑﻪ ﺗﺎﺑﻊ ﻣﺮﺗﺐﺳﺎز ارﺳﺎل‬
‫ﺷﻮد‪ .‬ﺗﻨﻬﺎ ﻳﻚ ﺗﺎﺑﻊ ﻣﺮﺗﺐﺳﺎز در ﺑﺮﻧﺎﻣﻪ ﺗﻌﺮﻳﻒ ﺷﻮد‪.‬‬
‫•‬
‫ﺗﻮﺟﻪ ‪ :3‬ﻣﻨﻈﻮر از اﻃﻼﻋﺎت‪ ،‬ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ‪ ،‬ﻧﺎم‪ ،‬ﻧﺎم ﺧﺎﻧﻮادﮔﻲ و ﻧﻤﺮه داﻧﺸﺠﻮ اﺳﺖ‪ .‬اﻳﻦ اﻃﻼﻋﺎت ﻣﻲ ﺗﻮاﻧﺪ در ﻳﻚ آراﻳﻪ‬
‫ﭼﻨﺪﺑﻌﺪي ﻳﺎ آراﻳﻪاي ﻛﻪ ﻫﺮ ﻋﻨﺼﺮ آن ﻳﻚ داده از ﺳﺎﺧﺘﺎر ‪ struct‬ﺣﺎوي ﻧﺎم‪ ،‬ﻧﺎم ﺧﺎﻧﻮادﮔﻲ و ‪ ...‬اﺳﺖ ﻧﮕﻬﺪاري‬
‫ﺷﻮد‪ .‬اﻳﻦ آراﻳﻪ در ‪ main‬ﺑﺮﻧﺎﻣﻪ ﺗﻌﺮﻳﻒ ﺷﻮد و ﺑﺼﻮرت ﺳﺮاﺳﺮي ﺗﻌﺮﻳﻒ ﻧﺸﻮد‪.‬‬
‫•‬
‫ﺗﻮﺟﻪ ‪ :4‬ﺣﺮوف ﻧﺎم و ﻧﺎمﺧﺎﻧﻮادﮔﻲ ﻣﻤﻜﻦﺳﺖ ﺑﺎ ﺣﺮف ﻛﻮﭼﻚ ﻳﺎ ﺑﺰرگ اﻧﮕﻠﻴﺴﻲ در ﻫﺮ ﻣﻜﺎﻧﻲ از ﻛﻠﻤﻪ ﺑﺎﺷﻨﺪ‪ .‬ﻣﺜﻞ‬
‫‪ fAtemi‬ﻳﺎ ‪ Fatemi‬ﻳﺎ ‪ fatemi‬ﻳﺎ ‪ . FATEMi‬در زﻣﺎن ﻣﺮﺗﺐﺳﺎزي اﻳﻦ ﺑﺰرﮔﻲ و ﻛﻮﭼﻜﻲ ﻧﺎدﻳﺪه ﮔﺮﻓﺘﻪ ﺷﻮد )ﻳﻌﻨﻲ‬
‫‪ Dehdari‬و ‪ birJandi‬ﻗﺒﻞ از ﻫﺮ ‪ 4‬اﺳﻢ ﻓﻮق ﻇﺎﻫﺮ ﺷﻮﻧﺪ(‪ ،‬اﻣﺎ در زﻣﺎن ﭼﺎپ ﻋﻴﻨﺎً ﻫﻤﺎن ﻧﮕﺎرش ورودي ﭼﺎپ ﺷﻮد‪.‬‬
‫•‬
‫ﺗﻮﺟﻪ ‪ :5‬ﻧﻤﺮات ﺑﺎ دو رﻗﻢ اﻋﺸﺎر در ورودي داده ﻣﻲﺷﻮد ﻣﺜﻞ ‪ 14.00‬ﻳﺎ ‪ 8.75‬ﻳﺎ ‪ 19.83‬و در ﺧﺮوﺟﻲ ﻫﻢ ﻋﻴﻨﺎً ﺑﺎﻳﺪ ﺑﺎ‬
‫ﻫﻤﻴﻦ دو رﻗﻢ اﻋﺸﺎر ﻧﻮﺷﺘﻪ ﺷﻮﻧﺪ‪.‬‬
‫•‬
‫ﺗﻮﺟﻪ ‪) 6‬ﻋﻤﻠﻴﺎت ﻧﻬﻢ(‪ :‬ﺗﻮﺻﻴﻒ و اﻧﺘﺨﺎب اﻳﻦ ﻋﻤﻠﻴﺎت ﺑﻪ ﻋﻬﺪه ﺷﻤﺎ ﮔﺬاﺷﺘﻪ ﺷﺪه اﺳﺖ! ﺑﺮ ﺣﺴﺐ اﺑﺘﻜﺎري ﺑﻮدن و ﻣﻨﺎﺳﺐ‬
‫و ﻛﺎرآﻣﺪ ﺑﻮدن اﻳﻦ ﻋﻤﻠﻴﺎت ﺑﺮاي ﺳﻴﺴﺘﻢ ﻣﻮرد ﺑﺤﺚ‪ ،‬ﺷﻤﺎ ﻣﻤﻜﻦﺳﺖ از اﻳﻦ ﻋﻤﻠﻴﺎت ﻧﻤﺮه اﺿﺎﻓﻪ ﺑﮕﻴﺮﻳﺪ‪ .‬در ﺧﻂ اول‬
‫ﺧﺮوﺟﻲ اﻳﻦ ﻋﻤﻠﻴﺎت ﻛﺎري ﻛﻪ اﻧﺠﺎم ﻣﻲدﻫﺪ را در ﺧﺮوﺟﻲ ﺑﻨﻮﻳﺴﻴﺪ‪ .‬اﻳﻦ ﻋﻤﻠﻴﺎت ﻧﺒﺎﻳﺪ ورودي از ﻛﺎرﺑﺮ ﺑﮕﻴﺮد‪.‬‬
‫»ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ!«‬
‫)‪(٣‬‬