Читайте также
Цикл do…while
Этот цикл является примером цикла с пост-условием и записывается в следующем виде:do { тело цикла} while (условие);В этом случае цикл выполняется до тех пор, пока проверяемое после ключевого слова while условие не станет ложным (false). Так как условие проверяется уже
Цикл со счетчиком
Цикл со счетчиком удобен, если какой-то код нужно выполнить строго определенное число раз. Вероятно, это наиболее распространенный вид цикла.Цикл со счетчиком записывается так:for (<выражение инициализации>; <условие>; <приращение>)<тело
Цикл со счетчиком
Цикл со счетчиком удобен, если какой-то код нужно выполнить строго определенное число раз. Вероятно, это наиболее распространенный вид цикла.Цикл со счетчиком записывается так:for (<выражение инициализации>; <условие>; <приращение>)<тело
2.2.1. Цикл типа “пока” (цикл с предусловием)
Пример 1.4: Нахождение наибольшего общего делителя двух целых положительных чисел с помощью известного алгоритма Евклида.Пока X ? Y делать
если X> Y
то X:=X-Y
иначе Y:=Y-X;
Писать (‘НОД=’, X);WHILE X <> Y DO
IF X> Y
THEN X:=X-Y
ELSE Y:=Y-X;
WRITE
2.2.2. Цикл типа “до” (цикл с постусловием)
Этот цикл выполняется не менее одного разаПример 1.5: Решение предыдущей задачи.
Цикл с постусловиемПовторять
если X> Y
то X:=X-Y
иначе Y:=Y-X
до X=Y;Писать (‘НОД=’, X);REPEAT
IF X> Y
THEN X:=X-Y
ELSE Y:=Y-X
UNTIL X=Y;WRITE (‘НОД=’, X);REPEAT –
2.2.1. Цикл типа “пока” (цикл с предусловием)
Пример 2.4: Программа находит наибольший общий делитель двух целых чисел.#include <assert. h>#include <stdio. h>int main (){int x, y;printf (“Введите два целых числа через пробел
”);int r = scanf (”%d%d”, &x, &y);assert (r == 2);while (x!= y)
if (x> y)
x = x – y;
else
y =
2.2.3. Цикл с параметром (со счётчиком)
Пример 2.6: Вычислить факториал числа (n!=1?2?3?…?n).#include <stdio. h>int main (){int f=1, k, n;printf (“Введите целое положительное число
”);scanf (”%d”, &n);for (k=1; k <=n; k++)
f=f*k;
printf (“n!=%d
”, f);getchar ();return 0;}Для этого цикла в Си Рис. 6 из части о Паскале даже более
ЦИКЛ for
В цикле for все три вышеуказанных действия собраны вместе. Используя цикл for, фрагмент, приведенный выше, можно записать в виде одного оператора: for(count = 1; count <= NUMBER; count++) printf(" Будь моим Валентином!
"); В круглых скобках содержатся три выражения,
18.5. Цикл for
Общий формат цикла:for имя_перемениой in list doкоманда1 команда… doneЦикл for однократно обрабатывает всю информацию для каждого значения, включенного в список list. Чтобы получить доступ к каждому значению в списке, достаточно задать параметр имя_переменной. Командой
18.6. Цикл until
Цикл until позволяет выполнять ряд команд, пока условие остается истинным. Практически цикл until противоположен по смыслу циклу while. Цикл while является более предпочтительным, но в определенных случаях цикл until лучше справляется с работой. Формат цикла until:until
18.7. Цикл while
Цикл while выполняет ряд команд до тех пор, пока истинно условие. Этот цикл используется также для просмотра данных из файла ввода. Формат цикла while:while команда doкоманды1команды2doneМежду конструкциями while и do находится несколько команд, хотя в общем случае