[Определение] Циклические преобразования целых чисел — это применение циклических алгоритмов для преобразования целых чисел. [/Определение]
Введение
Циклом является повторное исполнение одних и тех же процедур требуемое число раз. Совокупность операций, которые повторяются в циклическом алгоритме, называется телом цикла. Существуют разные алгоритмы, которые организуют циклы. Самыми известными считаются циклы, где осуществляется предварительная проверка условия (циклы, имеющие предусловие), и циклы, в которых условие проверяется после завершения исполнения тела цикла (циклы, имеющие постусловие). Такие циклы называются условными циклическими алгоритмами. На рисунке ниже показана структура алгоритма цикла с предусловием.
Рисунок 1. Структура алгоритма цикла с предусловием. Автор24 — интернет-биржа студенческих работ
На следующем рисунке изображена структура алгоритма с постусловием.
Рисунок 2. Структура алгоритма с постусловием. Автор24 — интернет-биржа студенческих работ
Данные циклы по существу могут заменять друг друга, но они также обладают следующими отличиями:
- Цикл, в котором выполняется предварительная проверка условия, подразумевает выполнение проверки условия до исполнения команд тела цикла, а цикл, обладающий постусловием, выполняет данную проверку по завершении исполнения тела цикла.
- Цикл с постусловием подразумевает безусловное исполнение команд тела цикла хотя бы однократно, цикл с постусловием способен вообще не исполнять команды тела цикла.
- В цикле с предусловием осуществляется проверка условия, позволяющего продолжить исполнение цикла, а в цикле с постусловием реализуется проверка условия, которая предполагает выход из цикла.
Когда в программах на языке С++ применяются циклические преобразования, то следует помнить о следующих обстоятельствах:
- Для исключения вероятности бесконечного исполнения цикла, команды, расположенные в теле цикла, должны предполагать условия окончания цикла.
- Условия выхода из цикла обязаны быть оформлены в виде корректного выражения и иметь в своём составе значения, заданные ещё до старта выполнения команд тела цикла.
Кроме названых уже видов циклов, существует ещё один тип цикла, который не имеет никаких условий и называется безусловным циклом. Он используется тогда, когда заранее известно число требуемых повторений исполнения тела цикла. Структура алгоритма безусловного цикла представлена на рисунке ниже.
Рисунок 3. Структура алгоритма безусловного цикла. Автор24 — интернет-биржа студенческих работ
При старте выполнения безусловного цикла сначала переменной i назначается исходное значение in. Затем осуществляется сравнение переменной i с конечным значением iK. Когда значение переменной i становится больше iK, то исполнение цикла прекращается и управление передаётся очередной, следующей за телом цикла, команде. В противном случае исполняются команды тела цикла, значение переменой i увеличивается на шаг di, и выполняется повторение алгоритма.
Циклические преобразования целых чисел в языке С++
Если точно определено требуемое количество циклических повторений (итераций), то в языке программирования С++ следует использовать цикл типа for. Синтаксический формат данного цикла имеет следующий вид:
for (операция перед началом цикла;
условие продолжения цикла;
действия в конце каждой итерации цикла) {
инструкция цикла;
инструкция цикла 2;
инструкция цикла N;
}
Итерацией является однократное исполнение этого цикла. Одним их частных случаев считается следующая версия этого цикла:
for (счетчик = значение; счетчик
В качестве счётчика цикла выступает переменная, сохраняющая количество повторений данного цикла. Синтаксический формат для этого варианта цикла может быть описан таким образом:
- Осуществляется задание начального значения счётчику цикла, затем необходимо установить точку с запятой.
- Затем задаётся конечное значение счётчику цикла. Когда счётчик достигает установленного предела, исполнение цикла прекращается. Согласно синтаксиса цикла здесь также следует ставить точку с запятой.
- Задаётся шаг цикла. Шагом цикла считается значение, на которое увеличивается или уменьшается значение счётчика цикла по завершении исполнения очередного прохода.
Приведём конкретный пример циклического преобразования целых чисел. Требуется сформировать программу на языке С++, выполняющую определение суммы всего числового набора начиная с единицы и до тысячи. Ниже приведена программа, реализующая это требование:
Рисунок 4. Программа. Автор24 — интернет-биржа студенческих работ
Если компилировать этот программный текст и выполнить сформированные коды, то в результате будет определено число 500500, являющееся суммарным значением всех целых чисел от единицы до тысячи. Следует заметить, что вычисление данной суммы вручную, потребовало бы немалых усилий и времени, а использование циклов в программных операциях сводит всё это к минимуму.
Необходимо заметить, что назначение конечного значения счётчика осуществляется с помощью нестрогого неравенства, а именно, меньше или равно, поскольку, если применять просто символ меньше, то исполнение цикла было бы осуществлено лишь 999 раз, а это на единицу меньше требуемого. Данное замечание особенно важно для начинающих программистов, которые часто совершают ошибки как раз в аналогичных мелочах. Значение шага цикла назначается равным единице с помощью оператора i++, который аналогичен выражению i = i + 1. В теле цикла при исполнении всех проходов операнды программы выполняют увеличение значения переменной sum на значение i.
Если неизвестно количество итераций в цикле, то нужно использовать цикл while или do...while. Синтаксис цикла while в языке программирования С++ определяется такими правилами:
while (Условие) {
Тело цикла;
}
Циклы этого типа выполняются до тех пор, пока условие, которое указано внутри круглых скобок, будет истинным.