Class13 CPP
Class13 CPP
ﺑﺮﻧﺎﻣﻪﻫﺎﯾﯽ ﮐﻪ داراي ﺷﻤﺎرﻧﺪه ﻣﯽﺑﺎﺷﻨﺪ ،ﺷﻤﺎرﻧﺪه ﺑﺎﯾﺪ ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺲ ﮐﻨﺘﺮل ﺷﻮد در ﻏﯿﺮ اﯾﻨﺼﻮرت ﺑﺮﻧﺎﻣﻪ در ﺣﻠﻘﻪ
ﺑﯿﻨﻬﺎﯾﺖ ﻗﺮار ﻣﯽﮔﯿﺮد.
3
ﺳﺎﺧﺘﺎر ﮐﻠﯽ دﺳﺘﻮر : while
)ﺷﺮط ﺣﻠﻘﻪ ( while
{
;دﺳﺘﻮرات
}
ﺣﻠﻘﻪ ﺑﯿﻨﻬﺎﯾﺖ:
)while (1 )while (true
{ {
;دﺳﺘﻮرات ;دﺳﺘﻮرات
} }
4
• ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ اﻋﺪاد ﮐﻮﭼﮑﺘﺮ ﻣﺴﺎوي 10را ﭼﺎپ ﻧﻤﺎﯾﺪ.
5
• ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﻋﺪد nرا از ورودي درﯾﺎﻓﺖ ﮐﻨﺪ ﺳﭙﺲ اﻋﺪاد nﺗﺎ 1را در ﺧﺮوﺟﯽ ﻧﻤﺎﯾﺶ دﻫﺪ) .ﺗﻌﺪاد ﺗﮑﺮار ﺣﻠﻘﻪ
ﻣﺘﻐﯿﺮ اﺳﺖ و ﺑﺴﺘﮕﯽ ﺑﻪ ﺗﻌﺪاد nدارد(
6
• ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ دو ﻋﺪد را از ورودي درﯾﺎﻓﺖ ﮐﻨﺪ و ﻋﺪد ﺑﺰرﮔﺘﺮ را ﺑﺮ ﻋﺪد ﮐﻮﭼﮑﺘﺮ ﺗﻘﺴﯿﻢ ﻧﻤﺎﯾﺪ) .ﺑﺪون اﺳﺘﻔﺎده از
ﻋﻤﻠﮕﺮ ﺗﻘﺴﯿﻢ ،از ﻋﻤﻠﮕﺮ ﺗﻔﺮﯾﻖ اﺳﺘﻔﺎده ﺷﻮد(
ﺧﺎرج ﻗﺴﻤﺖ را در kﻗﺮار ﻣﯽدﻫﯿﻢ ،ﭼﻮن در اﺑﺘﺪا ﻫﻨﻮز ﺗﻘﺴﯿﻤﯽ ﺻﻮرت ﻧﮕﺮﻓﺘﻪ ،ﻣﻘﺪار آن ﺻﻔﺮ اﺳﺖ.
ﺑﻪ ﺗﻌﺪاد دﻓﻌﺎﺗﯽ ﮐﻪ از y ،xﺗﺎ ﮐﻢ ﻣﯽ ﺷﻮد ﯾﮑﯽ ﺑﻪ ﺧﺎرج ﻗﺴﻤﺖ اﺿﺎﻓﻪ ﻣﯽﺷﻮد.
7
در دﺳﺘﻮر whileﯾﺎ forﺷﺮط در اﺑﺘﺪاي ﺣﻠﻘﻪ ﭼﮏ ﻣﯽﺷﻮد ،اﻣﺎ ﮔﺎﻫﯽ ﻻزم اﺳﺖ اﯾﻦ ﭼﮏ ﮐﺮدن در اﻧﺘﻬﺎي ﺣﻠﻘﻪ اﻧﺠﺎم
ﺷﻮد ،در اﯾﻨﺼﻮرت از ﺣﻠﻘﻪ do...whileاﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﻢ.
در ﺣﻠﻘﻪ do…whileدرﺻﻮرﺗﯿﮑﻪ ﺷﺮط ﺑﺮﻗﺮار ﻧﺒﺎﺷﺪ ،ﺣﺘﻤﺎً ﺣﻠﻘﻪ ﯾﮑﺒﺎر اﺟﺮا ﺧﻮاﻫﺪ ﺷﺪ.
do
{
;دﺳﺘﻮرات
;)ﺷﺮط ﺣﻠﻘﻪ ( } while
8
ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﺗﻌﺪاد ﻧﺎﻣﺸﺨﺼﯽ ﻋﺪد را از ورودي درﯾﺎﻓﺖ ﮐﻨﺪ ﺳﭙﺲ ﺗﻌﺪاد ﮐﻞ اﻋﺪاد زوج و ﻓﺮد را ﻣﺸﺨﺺ
ﮐﻨﺪ .اﯾﻦ ﺑﺮﻧﺎﻣﻪ ﺗﺎ زﻣﺎﻧﯿﮑﻪ ﮐﺎرﺑﺮ اﺟﺎزه ورود ﻋﺪد را دﻫﺪ ،اداﻣﻪ ﻣﯽﯾﺎﺑﺪ.
9
ﺑﺮﻧﺎﻣﻪ ﻗﺒﻞ را ﻣﯽﺗﻮان ﺑﺎ ﺣﻠﻘﻪ whileﺑﺼﻮرت زﯾﺮ ﻧﻮﺷﺖ:
10
ﺧﺮوﺟﯽ ﺑﺮﻧﺎﻣﻪ زﯾﺮ ﭼﯿﺴﺖ؟
اﯾﻦ ﺑﺮﻧﺎﻣﻪ ﻋﺪدي را از ورودي درﯾﺎﻓﺖ ﻣﯽﮐﻨﺪ ﺳﭙﺲ از آن ﻋﺪد ﺗﺎ 1را در ﺧﺮوﺟﯽ ﻧﻤﺎﯾﺶ ﻣﯽدﻫﺪ.
11
اﯾﻦ دﺳﺘﻮر ﺑﺮاي ﺧﺮوج از ﺑﺪﻧﻪ دﺳﺘﻮرات switch, for, while, do…whileاﺳﺘﻔﺎده ﻣﯽﺷﻮد.
اﺳﺘﻔﺎده از دﺳﺘﻮر breakدر داﺧﻞ ﯾﮏ ﺣﻠﻘﻪ ﺑﺎﻋﺚ ﻣﯽﺷﻮد زﻣﺎﻧﯽ ﮐﻪ ﺣﻠﻘﻪ ﺑﻪ اﯾﻦ دﺳﺘﻮر ﻣﯽرﺳﺪ ،اﺟﺮاي آن ﻣﺘﻮﻗﻒ ﺷﺪه و دﺳﺘﻮر ﺑﻌﺪ از
ﺣﻠﻘﻪ ،اﺟﺮا ﻣﯽﺷﻮد.
ﻫﻨﮕﺎم اﺳﺘﻔﺎده از دﺳﺘﻮر breakدرون ﺣﻠﻘﻪ ﻫﺎي ﺗﻮ در ﺗﻮ ،ﺑﻪ اﯾﻦ ﻧﮑﺘﻪ ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ دﺳﺘﻮر breakﻓﻘﻂ ﺣﻠﻘﻪاي ﮐﻪ در داﺧﻞ آن
ﻗﺮار دارد را ﻣﺘﻮﻗﻒ ﻣﯽﮐﻨﺪ.
13
• ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﺗﺎ ﺑﯿﻨﻬﺎﯾﺖ ﻋﺪد از ﮐﺎرﺑﺮ درﯾﺎﻓﺖ ﮐﻨﺪ و ﻧﺸﺎن دﻫﺪ ﻋﺪد اول اﺳﺖ ﯾﺎ اول ﻧﯿﺴﺖ) .ﻋﺪدي اول اﺳﺖ
ﮐﻪ ﻓﻘﻂ ﺑﺮ ﯾﮏ و ﺧﻮدش ﺑﺨﺶ ﭘﺬﯾﺮﺑﺎﺷﺪ .اﮔﺮ ﻋﺪد ﻣﻨﻔﯽ ﺑﺎﺷﺪ از ﺣﻠﻘﻪ ﺑﯿﻨﻬﺎﯾﺖ از ﺣﻠﻘﻪ ﺑﯿﻨﻬﺎﯾﺖ ﺧﺎرج ﺷﻮد(.
14