Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП. ЛЕКЦИИ! Готовимся к экзамену))).docx
Скачиваний:
12
Добавлен:
10.12.2018
Размер:
175.63 Кб
Скачать

Операторы цикла

1.4.3. Оператор while

Вставить из книги

Оператор while реализует цикл с предусловием.

Формат:

while (условие) оператор;

где условие – это логическое выражение, принимающее значение True или False

оператор – это простой или составной оператор (т.е. блок) ЯП С++

Выполнение оператора while:

Если условие истинно (не принимает значение False, т.е. не равно нулю), то выполняется оператор (тело цикла) и происходит возврат на проверку условия. Если условие ложно (принимает значение True, т.е. равно нулю), происходит выход из цикла. Таким образом, в цикле while задается условие для продолжения цикла.

Цикл while – это цикл с неизвестным числом повторений. Тело цикла может не выполниться ни разу (если при первой же проверке условие примет значение «ложно»).

Условие может быть составлено из нескольких выражений, с использованием логических операций:

  • || (логическое сложение "или")

  • && (логическое умножение "и").

Пример

char ans ='Y';

longint a==l;

while ( (ans ='Y') || (ans='y') )

{a*=a+l;

cout <<"\n"<< a;

cout <<"\n\t" <<" Для продолжения введите Y, для окончания N ";

cin >> ans;

}

Переменная ans описывается как символ, переменная а – как целое длинное. Если пользователь вводит 'Y' или 'у', то выполняются блок операторов в фигурных скобках.

Оператор while удобно использовать для проверки данных, введенных пользователем.

1.4.4. Оператор do...While

Вставить из книги

Оператор do...while реализует цикл с постусловием.

Формат:

do оператор while (условие);

где условие – это логическое выражение, принимающее значение True или False

оператор – это простой или составной оператор (т.е. блок) ЯП С++

Выполнение оператора do…while:

Выполняется оператор (тело цикла), затем проверяется условие. Если условие истинно (не принимает значение False, т.е. не равно нулю), то происходит возврат на выполнение оператора (тела цикла). Если условие ложно (принимает значение True, т.е. равно нулю), происходит выход из цикла. Таким образом, в цикле do...while задается условие для продолжения цикла.

Цикл do...while – это цикл с неизвестным числом повторений. В отличие от цикла while условие проверяется в конце цикла. Поэтому тело цикла выполняется хотя бы один раз.

Пример

char ans 'Y';

longint a=l;

do

{a*=a+l;

cout <<"\n" << a;

cout << "\n\t" <<" Для продолжения введите Y, для окончания N " ;

cin>> ans;

}

while ((ans ='Y') || (ans='y') );

1.4.5. Оператор for

Вставить из книги

Оператор for реализует цикл с известным числом повторений.

Формат:

for (начальное выражение; контрольное выражение; счетчик) оператор;

Выполнение оператора for:

  1. Перед выполнением цикла вычисляется начальное выражение

  2. Проверяется контрольное выражение

  3. Если контрольное выражение истинное, то

  • выполняется оператор (тело цикла),

  • рассчитывается выражение счетчик,

  • возврат к пункту 2.

А если контрольное выражение ложно, то оператор for заканчивает свою работу.

Пример 1

// Программа выдает на экран числа от 1 до 10

#include <iostream.h>

main()

{

int i;

for (i=l; i<=10, i++)

{ cout << i <<"\n"; }

}

Пример 2

// Сложение чисел от а до b

#include <iostream.h>

main()

{ int a,b,i;

long int s=0;

cout <<Введите a \n";

cin>> a;

cout <<"Введите b \n";

cin>> b;

if(a>b)

{ cout <<"a>b"; }

else

{

for (i=a; i<=b; i++)

s+=i;

cout <<"\nСумма=" << s;

}

return 0;

}

Вопросы:

  • Что произойдет, если b окажется больше чем а?

  • Какое выражение вычисляется в качестве счетчика, начального выражения, контрольного выражения?

В качестве начального выражения можно использовать несколько операторов, их нужно разделять запятыми. В примере занесем s=0 в начальное выражение:

for (i=a, s=0; i>=b; i++)

s+=i;