While (вираз) оператор;
Дія циклу While:
1) Спочатку обчислюється значення логічного виразу
2) Якщо його значання істине, то виконується тіло циклу і повторно обчислюється значення логічного виразу. Якщо значення логічного виразу хибне, то здійснюється вихід з циклу.
3)Процес виконується доти, доки логічний вираз істиний.
Приклад. Скласти програму визначення порядкового номеру літери R у послідовності символів.
/* Демонстрація циклу while */
#include <iostream.h>
main()
{
int number=1;
while (getch()!='R') number++;
cout<<"символ R має порядковий номер"<<numbe);
}
Приклад .Знайти суму цифр числа 1234
void main()//варіант 1
{
int a =1234,s=0;
while (a>0)
{
s+=a%10;
a/=10;
}
}
Деяке ціле а = 1234.
Операція а%=10 дасть результат 4. Після виконання команди а/=10 змінна а отримає ціле значення 123. Повторне виконання операції а%=10 дасть результат 3, а команди
а/=10 – результат а = 12. Очевидно описаний процес слід повторювати до тих пір поки а>0.
void main() //варіант 2
{
int a =1234,s=0;
while (a>0,s+=a%10,a/=10);
}
Результати роботи програми в обох варіантах ідентичні:
s = 10, a = 0
В другому варіанті тіло циклу відсутнє. Зате в якості логічного виразу виступає три вирази розділені комою (кома як команда інтерпретує ці вирази як єдиний).
Приклад. Нехай х деяке число, яке необхідно ввести з клавіатури. З клавіатури вводиться також точність е (дуже мале число). Обчислити суму елементів: з точністю е.
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
float sum=0,e;
long int fact=1; int n = 1;
cout<<"Похибка е = "; cin>>e;
while (1.0/fact>=e)
{
sum+=1.0/fact;
fact*=++n;
}
cout<<"Summa = "<<sum<<endl;
cout<<"Просумовано елементiв - "<<n<<endl;
getch();
}
Дата добавления: 2015-08-26; просмотров: 908;