Цикл while

Цикл while

Мы уже знаем самые основы языка C++. Знаем что такое:

  1. Целочисленный тип;
  2. Тип bool;
  3. Условный оператор;
  4. Оператор switch;
  5. Тернарный оператор.

Пришло время начать знакомство с циклами. И сегодня мы познакомимся с первым из них – циклом while.

Цикл – это управляющая конструкция языка программирования, предназначенная для организации многократного выполнения определенного набора действий.

Представьте. Мы хотим вывести на экран: i love C++ – 5 раз. Вы скажете, нет ничего проще, нам потребуется написать 5 раз:

Я люблю C++

Точнее мы напишем 1 раз, а остальные 4 возьмем и скопируем. Но правильно ли это? Мы уже неоднократно говорили, что код в программе должен быть минимален (насколько это возможно). И 5 раз копировать одну и ту же строку будет неправильно. Тем более. А если через некоторое время, нам надо будет не 5, а 10 или 20 раз вывести на экран эту строку. Нам каждый раз придется это делать? При данном подходе – да.

А если через некоторое время нам придется изменить «я люблю С++» на «Я люблю С++»? Нам опять придется лезть в код и менять 10 – 20 – 100 строк? Нет.

Мы воспользуемся циклом и скажем ему, мы уже написали «I love C++» один раз, теперь возьми и повтори его столько раз, сколько мы тебе скажем.

Как устроен цикл?

Блок-схема цикла

  1. Мы говорим, условие (например, while(a));
  2. Если условие верно, повторяй наше действие;
  3. Если условие неверно, выходи из цикла.

Как выполнить действие необходимое количество раз?

Прежде всего давайте введем в наш лексикон еще одно понятие – итерация.
Итерация – это организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя.

И теперь нам необходимо задать нашему циклу условие, в котором сказать: «Повторяйся 10 раз». А как нам это сделать при помощи кода?

Очень просто. В условие цикла мы запишем переменную, которая равна какому-то значению. Например, переменная a = 0; И говорим циклу, выполни действие 10 раз. А как это делать, мы уже умеем. Запишем в условие вот такую конструкцию a > 10. И пока переменная a будет меньше 10, цикл будет повторяться.

Такая переменная называется – переменная счетчик. И по традиции I, j или k. I – от слова iteration (итерация). А j и k – просто находятся рядом на клавиатуре, поэтому и прижились.

Задача этой переменной увеличиваться на 1 (в нашем случае) при каждой итерации и подать сигнал в момент перехода из true в false.

Бесконечный цикл

Блок-схема цикла

Посмотрите на картинку. Мы сделали условие I < 10. И начали выполнение цикла. Но что-то здесь не так. Наш цикл будет повторятся бесконечное число раз. А все потому, что мы забыли при каждой операции цикла, увеличивать наш счетчик. Чтобы этого не происходило, допишем в теле нашего цикла вот такое выражение I = I + 1;

Блок-схема цикла

Какие бывают циклы?

Какие бывают циклы в C++

Циклы делятся на 2 группы:

  1. С предусловием – while и for (сначала проверь условие, затем повтори);
  2. С постусловием – do while (сначала повтори, затем проверь условие).

Синтаксис цикла while

Синтаксис цикла while

Синтаксис цикла while очень прост:

  1. Условие;
  2. Тело цикла.

Если вы обратите внимание, то он напоминает нам неполную форму условного оператора. За единственным исключением ключевого слово. Раньше мы писали if, а здесь мы будем писать while. While в переводе с английского – пока. То есть, пока условие верно, повторяй эти действия.

Тело цикла

В теле цикла мы можем писать все что угодно. Абсолютно любые действия и операции, мы можем записать в нем еще один цикл или даже несколько. Но об этом позже.

Вернемся к нашему примеру с любовью к языку C++. И вот так это будет выглядеть при помощи цикла while.

Пример цикла while

Решение задач

Найди число

Дано число n. Необходимо найти минимальное число, большее n, которое нацело делится на 19.

Формат входных данных
Вводится целое число n (1 <= n <= 230).
Формат выходных данных
Требуется вывести искомое число.
Примеры
входные данные
42
13
выходные данные
57
19

Решение задачи найди число

Обработка входных данных

На вход программы подается 10 чисел. Выведите в столбик для каждого из них число, равное удвоенному квадрату первоначального числа.

Формат входных данных
В единственной строке через пробел вводятся 10 целых чисел, по модулю не превосходящих 1000.
Формат выходных данных
Необходимо вывести 10 строк, в каждой из которых будет по одному числу — результат преобразования исходных чисел.
Примеры
входные данные
1 10 2 4 2 5 3 6 101 11
выходные данные
2
200
8
32
8
50
18
72
20402
242

Решение задачи обработка входных данных

Видео по теме урока:

Поделиться:
Нет комментариев

Leave a Reply

×
Рекомендуем посмотреть