Цикл for

Мы уже знаем с вами циклы while и do-while, а сегодня пришло время познакомиться с циклом for. Цикл for, в том виде в котором мы будем изучать его сегодня довольно-таки популярен, а кроме того он со временем претерпел серьезные изменения. В C++ 11, а потом и в 17 версии с его помощью можно пробежаться по множествам и прочему, но об этом позже.
Давайте вначале разберемся, что такое цикл for? Зачем он нам нужен? И как с ним можно работать?
Схема цикла for
Цикл for позволяет нам не только прописывать условие, как это делается в цикле while, в нем происходит целая описательная процедура:
- где можно создать новую переменную;
- где можно сказать, как будет изменяться эта переменная;
- можно создать не одну, а множество переменных;
- можно сказать, что одна переменная будет увеличиваться, вторая уменьшаться, а третья будет с шагом на 10 в нужную сторону.
Цикл for гораздо более гибкий, чем любой другой.
Синтаксис цикла for
Обратите внимание, у нас появилось 3 поля, а что с ними делать?
- Поле 1: в нем можно объявить переменную;
- Поле 2: в нем пишется условие выполнения итерации цикла;
- Поле 3: в нем пишется как будет изменяться переменная цикла.
После всего этого идет стандартное тело цикла, с которым мы уже умеем работать. Уже по обычаю, если тело цикла состоит из одного действия, то в фигурные скобки его брать не обязательно.
На самом деле, использование полей в цикле for, так же не обязательно. Даже если оставить их пустыми, он все равно будет работать.
Вернемся к нашим полям.
Как вы уже могли понять, в первом поле мы можем написать несколько переменных. Можем ничего не записать, а можем уже существующей переменной присвоить новое значение.
Определение переменной цикла
Что мы можем сделать?
- Ничего – если оставить поле пустым;
- Инициализировать переменную i = 0 (если нам надо взять переменную из нашей программы и поработать с ней в цикле);
- Объявить переменную и тут же ее инициализировать int i = 0;
- Последовательность операторов, объединенная запятыми – int i = 1, int j = 2.
Второе поле мы используем точно так же как и в циклах while и do-while. С третьим полем все должно быть понятно без слов.
Изменение переменной цикла
- Ничего – если оставить поле пустым;
- Инкремент / Декремент i++ или i–;
- Оператор изменения значения (каким мы желаем его получить) j = j + 10;
- Последовательность операторов, объединенная запятыми i++, k -= 2.
В этом примере, цикл выведет все числа от 0 до 9 включительно.
Важно: Поля цикла мы отделяем точкой с запятой. Мы можем не писать никаких условий в полях, но точка с запятой должны присутствовать.
Решение задач
Сумма квадратов от A до B
Необходимо найти сумму квадратов всех целых чисел от a до b.
Формат входных данных
Вводятся два целых числа a до b (−1000≤a≤b≤1000).
Формат выходных данных
Требуется вывести одно число — искомую сумму.
Примеры
входные данные
1 5
5 10
выходные данные
55
355
Среднее арифметическое
Необходимо найти среднее арифметическое всех целых чисел от a до b.
Формат входных данных
Вводятся два целых числа a и b (−215 <= a <= b <= 215−1).
Формат выходных данных
Требуется вывести одно число — искомое среднее, с точностью не менее шести знаков после запятой.
Примеры
входные данные
13 42
1 10
выходные данные
27.500000
5.500000