Читайте также
Цикл for
В общем случае оператор цикла for имеет три раздела (инициализация, условие и итерация) и записывается следующим образом:for ([инициализация;] [условие;] [итерация]){ тело цикла}В разделе инициализации обычно выполняется присваивание начальных значений переменным
Цикл for…in
Оператор цикла for…in предназначен для просмотра всех свойств объекта. Для каждого свойства указанный цикл выполняет операторы, содержащиеся в теле цикла:for (переменная in объект) { тело цикла}Цикл for…in можно использовать для вывода на экран всех свойств объекта в
Цикл while
Цикл while похож на цикл for. В нем также условие выхода из цикла проверяется перед выполнением итерации, однако в цикле while, в отличие от for, нет встроенного счетчика и выражения, его изменяющего.Оператор while записывается в следующем виде:while (условие) { тело
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 =
Пример 10-2. Цикл for с двумя параметрами в каждом из элементов списка
#!/bin/bash# Список планет.# Имя кажой планеты ассоциировано с расстоянием от планеты до Солнца (млн. миль).for planet in "Меркурий 36" "Венера 67" "Земля 93" "Марс 142" "Юпитер 483"do set -- $planet # Разбиение переменной "planet" на
Пример 10-14. Простой цикл while
#!/bin/bashvar0=0LIMIT=10while [ "$var0" -lt "$LIMIT" ]do echo -n "$var0 " # -n подавляет перевод строки. var0=`expr $var0 + 1` # допускается var0=$(($var0+1)).doneechoexit
Пример 10-16. Цикл while с несколькими условиями
#!/bin/bashvar1=unsetprevious=$var1while echo "предыдущее значение = $previous" echo previous=$var1 # запомнить предыдущее значение [ "$var1" != end ] # В операторе "while" присутствуют 4 условия, но только последнее управляет циклом. # *последнее* условие -
Пример 10-18. Цикл until
#!/bin/bashuntil [ "$var1" = end ] # Проверка условия производится в начале итерации.do echo "Введите значение переменной #1 " echo "(end - выход)" read var1 echo "значение переменной #1 = $var1"done exit
Пример 16-4. Перенаправление в цикл while
#!/bin/bashif [ -z "$1" ]then Filename=names.data # По-умолчанию, если имя файла не задано.else Filename=$1fi# Конструкцию проверки выше, можно заменить следующей строкой (подстановка параметров):#+ Filename=${1:-names.data}count=0echowhile [ "$name" != Smith ] # Почему переменная $name взята
Пример 16-6. Перенаправление в цикл until
#!/bin/bash# То же самое, что и в предыдущем примере, только для цикла "until".if [ -z "$1" ]then Filename=names.data # По-умолчанию, если файл не задан.else Filename=$1fi# while [ "$name" != Smith ]until [ "$name" = Smith ] # Проверка != изменена на =.do read name # Чтение из $Filename, не со
Невозможно сохранить вложенный файл
По умолчанию Почта Windows блокирует открытие или сохранение всех файлов, являющихся программами, поскольку в них может содержаться вирусный код. Вы можете сохранить эти файлы, временно отключив режим блокировки. Для этого выполните