Сохтори идоракунандаи do-while
- Подробности
- Обновлено 10.01.2011 17:57
- Просмотров: 1156
Чи хеле ки шумо пай бурдед, оператори while аввал шартро месанчад ва факат дар холати TRUE будани кимати он ба ичрои ягон оператор шуруъ мекунад. Агар хангоми ворид шудан ба сикли while кимати шарт FALSE бошад, while хеч корро ичро намекунад. Оператори do-while аввал ягон корро ичро мекунад, баъд ба санчидани шарт мегузарад. Сохтори ин оператор чунин аст:
do
оператор;
while(condition);
Дар рафти кори барнома, хангоми навбат ба do-while расидан:
1) барнома ба ичрои кисми оператор огоз мекунад. Кисми оператор - тани сикл низ номида мешавад (body);
2) баъд барнома ба санчидани кисми condition мегузарад. Дар кисми condition ягон ифодаи мантики меистад;
3) хангоми FALSE будани кимати кисми condition ичрои оператори do-while катъ мегардад ва барнома ба ичрои кисми баъди оператори do-while шуруъ мекунад. Хангоми TRUE будани кимати кисми condition барнома боз ба пункти 1) мегузарад.
Тасвири сохтори идоракунандаи do-while:

Дар хотир нигох доред, ки дар оператори do-while баъди калимаи махсуси while аломати нуктавергул (;) меистад.
Яъне дар оператори do-while тани сикл акалан як маротиба автомати ичро карда мешавад, ки ин хусусияти фарккунандаи ин оператор мебошад. Мисол:
//namuna12.cpp
using namespace std;
#include <iostream>
int main() {
char t;
float x,y;
do {
cout<<"Adadi yakum: ";
cin>>x;
cout<<"Adadi duyum: ";
cin>>y;
cout<<x<<"+"<<y<<"="<<x+y;
cout<<x<<"-"<<y<<"="<<x-y;
cout<<x<<"*"<<y<<"="<<x*y;
cout<<x<<"/"<<y<<"="<<x/y;
cout<<"Boz hisob kardan mekhohed?(y - ha, n - ne) ";
cin>>t;
} while(t=='y');
cout<<"Rahmat baroi istifodai hisobkunaki mo."<<endl;
return 0;
}
САВОЛХО БАРОИ МУСТАХКАМКУНИ
1. Оператори сиклии do-while аз while чи фарк дорад?
2. Оператори сиклии do-while аз for чи фарк дорад?
3. Мисолеро дар тартиб дихед, ки дар он сохтори идоракунандаи do-while бо амали мантикии NOT истифода шуда бошад.
4. Нуктавергул (;) барои чи лозим аст?