Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
Циклы типа For | Учебники

Главная > Mathematica 8 > Циклы типа For


Циклы типа For

Циклы типа For
Другой вид цикла — цикл For — реализуется одноименной функцией:
For[start, test, incr, body]
В ней сначала один раз вычисляется выражение start, а затем поочередно вычисляются выражения body и incr до тех пор, пока условие test не перестанет давать логическое значение True. Когда это случится, то есть когда test даст False, цикл заканчивается.
Следующий пример показывает создание простой программы с циклом For и результат ее выполнения:
Print["i x"]
For [x=0; i=0, i < 4, i++
[x += 5*i, Print[i, " ", x]]]
i x
15 ,
2 15
3 30
4 50
Return[x]
Return[50]
Программа, приведенная выше, позволяет наблюдать за изменением значений управляющей переменной цикла i и переменной х, получающей за каждый цикл приращение, равное 5*i. В конце документа показан пример на использование функции возврата значений Return [x]. В цикле For не предусмотрено задание локальных переменных, так что надо следить за назначением переменных — при использовании глобальных переменных неизбежны побочные эффекты.
Циклы типа While
Итак, функция For позволяет создавать циклы, которые завершаются при выполнении (эволюции) какого-либо условия. Такие циклы можно организовать и с помощью функции While [test, expr], которая выполняет expr до тех пор, пока test не перестанет давать логическое значение True.
Ниже дан практический пример организации и использования цикла While:
i := 1; х := 1; Print["i x"] ;
While[i < 5, i += 1; x += 2*i; Print[i, " ", N[x]]]
i x
2 5.
3 11.
4 19.
5 29.
Return[x]
Return[29]
Циклы типа While, в принципе, могут заменить другие, рассмотренные выше, типы циклов. Однако это усложняет запись и понимание программ. Аппарат локальных переменных в этом типе циклов не используется.
Директивы-функции прерывания и продолжения циклов
В указанных типах циклов и в иных управляющих структурах можно использовать следующие директивы-функции:

  • Abort [ ] — вызывает прекращение вычислений с сообщением $ Aborted;
  • Break [ ] — выполняет выход из тела цикла или уровня вложенности программы, содержащего данный оператор (циклы типа Do, For и While или тело оператора-переключателя Switch). Оператор возвращает Null-значение (без генерации секции выхода);
  • Continue [ ] — задает переход на следующий шаг текущего цикла Do, For или While;
  • Interrupt [ ] — прерывает вычисления с возможностью их возобновления;
  • Return [ ] — прерывает выполнение с возвратом значения Null;
  • Return [expr] — прерывает выполнение с выводом значения выражения ехрr;
  • Throw [value] — задает прекращение выполнения цикла Catch, если в ходе эволюции ехрг встречается значение value (см. примеры выше).

На рис. 10.4 представлено применение директив Abort [ ] и Interrupt [ ] в середине набора команд. Нетрудно заметить, что директива Abort [ ] просто прерывает выполнение цепочки команд и выводит сообщение $ Aborted. А вот директива Interrupt [ ] выводит диалоговое окно, с помощью которого можно либо прервать вычисления, либо продолжить их.
Если продолжить вычисления (нажав кнопку Continue Evaluation), то вывод выражений командами Print будет продолжен, что видно из рис. 10.5.

Статьи по теме

Комментарии запрещены.