В языке C++ существует три вида циклов: цикл while c предусловием, цикл while с постусловием, цикл for.
while ("пока") с предусловиемЦикл while с предусловием позволяет выполнить одну
и ту же последовательность действий пока проверяемое условие истинно.
При этом условие записывается до тела цикла и проверяется до выполнения
тела цикла.
При выполнении цикла while сначала проверяется условие.
Если оно ложно, то цикл не выполняется и управление передается
на следующую инструкцию после тела цикла while.
Если условие истинно, то выполняется инструкция, после чего
условие проверяется снова и снова выполняется инструкция.
Так продолжается до тех пор, пока условие будет истинно.
Как только условие станет ложно, работа цикла завершится и управление передастся следующей инструкции
после цикла.
Синтаксис цикла while ("пока") c предусловием такой:
while (условие)
{
блок инструкций
}
Следующий фрагмент программы напечатает на экран квадраты всех целых чисел от 1 до 10:
int i=1;
while (i<=10)
{
cout<<i*i<<endl;
++i;
}
В этом примере переменная i внутри цикла изменяется от 1 до 10. Такая переменная,
значение которой меняется с каждым новым проходом цикла, называется счетчиком.
Заметим, что после выполнения этого фрагмента значение переменной i будет равно 11,
поскольку именно при i==11 условие i<=10 впервые перестанет выполняться.
В следующем примере цикл используется для того, чтобы найти
количество знаков в десятичной записи целочисленной
переменной i.
int Ndigits=0;
while(n!=0)
{
Ndigits=Ndigits+1;
n=n/10;
}
Внутри цикла значение переменной n уменьшается в 10 раз до тех пор, пока она не станет равна 0.
Уменьшение целочисленной переменной в 10 раз (с использованием целочисленного деления) эквивалентно отбрасыванию
последней цифры этой переменной.
while ("пока") с постусловиемЦикл "пока" с постусловием отличается от цикла с предусловием тем, что сначала выполняется блок цикла, а потом проверяется условие. Если условие истинно, то цикл будет выполнен еще раз, и так до тех пор, пока условие будет истинно. Синтаксис цикла с постусловием такой (обратите внимание на обязательную точку с запятой после условия):
do
{
Блок инструкций
}
while (условие);
Поскольку условие проверяется после выполнения тела цикла, то блок цикла с постусловием всегда будет
выполнен хотя бы один раз, независимо от истинности условия. Это может привести к ошибкам, поэтому
использовать цикл while с постусловием следует только тогда, когда это действительно упрощает
алгоритм.
Во всех задачах этого листочка основная (содержательная) часть программы должна быть
оформлена в виде функции. Функция main должна считывать значения входных
данных, вызывать основную функцию, решающую задачу, выводить результат на экран.
1 4 9 16 25 36 49).
YES, если является и слово NO, если не является.
7 программа должна вывести 3.
10 20 программа должна вывести 9. x и y – действительные числа,
ответ – целое число.
10 100 программа должна вывести 8.
int SumOfDigits (int n),
вычисляющую сумму цифр числа n. Выведите сумму цифр числа n.
int NumberOfZeroes (int n),
определяющую количество нулей среди всех цифр числа n. Выведите результат.
int MinDigit (int n) и
int MaxDigit (int n), определяющую наименьшую и наибольшую цифры данного числа.
Выведите наименьшую и наибольшую цифры данного числа (например, при вводе 179 программа
выводит 1 9).
int reverse(int n), которая переставляет цифры числа в обратном порядке
(например, reverse(179)==971). Напишите программу, которая по данному натуральному n
печатает его цифры в обратном порядке.
bool IsPalindrome (int n), проверяющую по данному числу n, является ли оно палиндромом.
Напишите программу, которая по заданному числу K выводит количество натуральных палиндромов,
не превосходящих K. Например, при вводе 1 программа выводит 1, а при вводе
100 программа выводит 18.