while (քանի դեռ) ցիկլը
Երբեմն կարիք է լինում անել որոշ գործողություններ քանի դեռ տեղի է ունենում ինչ-որ պայման։ Օրինակ՝ քանի դեռ a փոփոխականը մեծ է 10-ից, բաժանել a-ն 3-ի։
C++ում այդպիսի բան կարելի է ստանալ while-ի միջոցով։ Եթե մեր օրինակը գրենք C++ով, ապա այն կունենա հետևյալ տեսքը՝
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
while (a > 10) {
a /= 3;
}
cout << a;
return 0;
}while-ը իր տեսքով շատ նման է if-ին։ Կլոր փակագծերի մեջ գրվում է պայմանը, որը կատարվելու դեպքւմ կատարվում է ձևավոր փակագծերի մեջ գրվածը։
Կարելի է ասել որ if-ը նույն while-ն է, բայց կատարվում է միայն մեկ անգամ, իսկ while-ը՝ քանի դեռ փակագծերի մեջ գրված պայմանը ճիշտ է։
Այս ծրագրում մենք ներմուծում ենք a փոփոխականը և հետո անում հետևյալը (ենթադրենք որ ներմուծել ենք 100 թիվը)՝
Ստուգում արդյոք
a-ն մեծ է 10-ից (❓ 100 > 10 ⇒ ✔️)Եթե այո, ապա
a-ին վերագրում ենքa / 3(/=-ը նշանակում էa = a / 3) (a = 33)Ստուգում արդյոք
a-ի նոր արժեքը մեծ է 10-ից (❓ 33 > 10 ⇒ ✔️)Եթե այո, ապա
a-ին վերագրում ենքa / 3(a = 11)Ստուգում արդյոք
a-ի նոր արժեքը մեծ է 10-ից (❓ 11 > 10 ⇒ ✔️)Եթե այո, ապա
a-ին վերագրում ենքa / 3(a = 3)Ստուգում արդյոք
a-ի նոր արժեքը մեծ է 10-ից (❓ 3 > 10 ⇒ ❌)Ծրագիրը դուրս է գալիս ցիկլից
Ծրագիրը տպում է
a-ի արժեքը (3)
C++ում կարճ վերագրման գործողությունները հետևյալն են՝
x /= 3→x = x / 3x *= 3→x = x * 3x += 3→x = x + 3x -= 3→x = x - 3x %= 3→x = x % 3
Վարժություն՝
Մուտքում տրված է x ամբողջ թիվը։
Քանի դեռ x-ը մեծ է 0-ից, տպել x-ի արժեքը և բաժանել այն 2-ի։
Մուտք | Ելք |
|---|---|
100 | 100 50 25 12 6 3 1 |
Constraints
Time limit: 0.2 seconds
Memory limit: 512 MB
Output limit: 1 MB