Урок 7. Метки, оператор перехода,
Урок 7. Метки, оператор перехода, операторы управления циклами Оператор GOTO goto метка; Можно теоретически показать, что рассмотренных операторов вполне достаточно для написания программ любой сложности. В этом отношении наличие в языке оператора перехода кажется излишнем. Более того технология структурного программирования основана на принципе "программирование без GOTO": считается, что использование оператора перехода затрудняет понимание программы, делает её запутанней и сложной в отладке. Тем не менее, в некоторых случаях использование оператора перехода может упростить программу. В Perl метки обозначаются ЗАГЛАВНЫМИ латинскими буквами и отделяются от следующего за ним оператора двоеточием (:). Оператор Next next - подобен continue в С. Переходит к началу текущего цикла (блок continue вычисляется) т.е. повторяет итерацию. Оператор Last last - подобен оператору break в языке С. Немедленно прерывает цикл. Блок continue пропускается Оператор Redo redo - начать новый цикл не вычисляя EXPR и не выполняя continue блок. * * * * Пример применения оператора next: #!/usr/bin/perl print "Content-Type: text/html\n\n"; M1: while ($i < 6) { ++$i; # Увеличиваем счетчик на 1 next M1 if $i < 3; # Переходим в начало если $i < 3 ++$i; # иначе увеличиваем счетчик еще раз на 1 } continue { print "$i "; # Печатаем $i } # получаем 1 2 4 6 Пример применения оператора last: #!/usr/bin/perl print "Content-Type: text/html\n\n"; M1: while ($i < 6) { ++$i; # Увеличиваем счетчик на 1 last M1 if $i > 3; # Выход из цикла если $i > 3 ++$i; # иначе увеличиваем счетчик еще раз на 1 } continue { print "$i "; # Печатаем $i } # результат: 2 4 Пример применения оператора redo: #!/usr/bin/perl print "Content-Type: text/html\n\n"; M1: while ($i < 6) { ++$i; # Увеличиваем счетчик на 1 redo M1 if $i == 3; # Далее пропустить для $i = 3 ++$i; # иначе увеличиваем счетчик еще раз на 1 } continue { print "$i "; # Печатаем $i } # получим 2 5 7 * * * * Напишите программу, выводящую все простые числа из диапазона (-28..53) включительно. Есть ли вообще простые числа в этом диапазоне? Для справки: простое число, это такое число, которое дилится без остатка только на себя и еденицу. Напишите программу, вычисляющую произведение двух соседних числа ряда из диапазона (-28..53), и если это число делется без остатка на 7, выводит результат на экран и увеличивает переменную цикла на 2. [Содержание] [Вступление] [необходимое для начала изучения] [урок 1] [урок 2] [урок 3] [урок 4] [урок 5] [урок 6] [урок 7] [урок 8] [урок 9] [урок 10] [урок 11] [урок 12] [урок 13] [урок 14] [урок 15] [урок 16] [урок 17] [урок 18] [урок 19] [урок 20] [урок 21] [урок 22] [урок 23] [урок 24] [урок 25] [урок 26] [урок 27] [урок 28] [правила хорошего тона] [приложение A] [приложение Б] [приложение В] [заключение] [благодарности] |
Copyright (c) ClericICN, 2002 |
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий