Вернуться на сайт гостевой книги Power Perl Educaton Help Download Links Off-line version

Урок 4. Составной и условный операторы

Блок операторов — это последовательность операторов, заключенная в парные фигурные скобки. Блок операторов выглядит следующим образом:

{
оператор 1;
оператор 2;
оператор 3;
.....
оператор n;
}

Perl выполняет операторы по очереди, начиная с первого и кончая последним. Синтаксически блок операторов принимается вместо любого одиночного оператора, но обратное не верно. Точка с запятой после последнего оператора ставить не обязательно.

Условный оператор IF

IF (EXPR){operator}
IF (EXPR){operator} else {operator1}
IF (EXPR){operator} elsif (EXPR2){operator2} ... else{operator3}
{operator} IF (EXPR)

Условный оператор позволяет проверять некоторое условие и в зависимости от результатов проверки выполнять то или иное действие. Таким образом, условный оператор - это средство позволяющее ветвись вычислительный процесс. Условный оператор работает по следующему алгоритму: Вначале вычисляется условное выражение EXPR. Если оно истинно, выполняется блок "operator" и программа выполняется дальше. Если EXPR ложное, проверяется условие EXPR2. Если оно истинное, выполняется блок "operator2" и программа выполняется дальше, иначе выполняется блок operator3. Примечание: проверяемых условий может быть сколько угодно. С помощью этого свойства оператора IF можно реализовывать многочисленное ветвление программы.

Оператор Unless

Unless имеет такой же синтаксис как и IF, но отличается от него тем, что блоки выполняются не при истинных значениях условий, а при ложных.

* * * *

Следующая программа демонстрирует работу оператора IF в сокращенной форме:

#!/usr/bin/perl
#programm 4
print "Content-Type: text/html\n\n";

$var = 23;
if ($var%2){$mess="не четное"}else{$mess="четное"}
print "$var -$mess число";

Как работает оператор IF в этой программе:
Как Вы помнете, выражение принимает значение True если оно не равно 0 или пустой строке. Наличие остатка от деления на 2 является признаком его нечетности. Значит если есть остаток, выражение истинно, и выполняется первый блок. Если остатка нет, значение ложно и выполняется второй блок.

* * * *

Напишите программу, которая сообщает о состоянии воды при различных температурах (счисление по Кельвину). Температуру задайте в переменной $temperature. Сделайте проверки на непригодные значения (температура по K никогда не бывает отрицательной.)

Ответьте на вопросы:

  • Посчитается ли ошибкой, если после последнего оператора программы не стоит точка с запятой? О чем это говорит?
  • Как продолжет свое выполнение программа, если ни одно из условий следующей конструкции не будет истинно:
    IF (EXPR){operator} elsif (EXPR2){operator2}
    ?

Перепишите программу 4, чтобы вместо оператора IF использовался оператор Unless.

Дополнительная информация: [Управляющие структуры ] [Управляющие структуры 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]  [приложение Б]  [приложение В]  [заключение]  [благодарности] 


107614

75
15

HOLMS.ru Counter -эфхъё ЎшЄшЁютрэш  Counter CO.KZ


Copyright © ClericICN, 2002 - 2003