Читайте также:
|
|
Оператор выбора Case.
В системе программирования Turbo Pascal 7.0 для организации алгоритмов с ветвлениями, наряду с условным оператором применяют оператор выбора.
Его часто используют для замены конструкций из вложенных условных операторов. Управляющая конструкция "выбор" является идеальным средством для обработки ситуаций с многими (более чем двумя) исходами, т.е. в случае, когда условие может принимать более двух значений. Оператор "выбор" имеет следующую структуру:
CASE <порядковая переменная> OF
<значение 1>: <оператор 1>;
<значение 2>: <оператор 2>;
<значение N>: <оператор N>;
[ELSE <оператор N+l>];
END; {CASE}
В этой структуре: <порядковая переменная> - порядковая переменная, значение которой проверяется; <значение *> - константы, с которыми сравнивается значение порядковой переменной; <оператор *> - операторы, из которых выполняется тот, с константой которого совпадает значение порядковой переменной;
Ветвь оператора else является необязательной. Если она отсутствует и значение порядковой переменной не совпадает ни с одной из перечисленных констант, весь оператор рассматривается как пустой. В отличие от оператора IF перед словом else точку с запятой можно ставить.
Если для нескольких констант нужно выполнять один и тот же оператор, их можно перечислить через запятую, сопроводив их одним оператором. Существует возможность указать диапазон возможных значений. Например, диапазон от 1 до 100 включительно указывается так:
1.. 100
Пример
CASE i OF
0,2, 4, 6, 8: Writeln('Чётная цифра1);
1,3, 5, 7, 9: Writeln('Нечётная цифра');
10.. 100: Writeln('Число от 10 до 100');
ELSE
Writeln('Отрицательное число или больше 100');
END; {CASE}
В операторе выбор после двоеточия может указываться только один оператор. Для того, чтобы выполнить несколько операторов, так же как и в условном операторе, применяют составной оператор.
CASE <порядковая переменная> OF
<Значение 1>: begin
<оператор 1 1>;
<оператор 1 n>
end;
<значение 2>: begin
<оператор 2 1>;
<оператор 2 n>
end;
<значение N>: begin
<оператор N 1>;
<оператор N n>
end;
ELSE begin
<оператор Е 1>;
<оператор Е n>
end;
END; {CASE}
Необходимо заметить, что из всех возможных ветвей операторов управляющей конструкции выбор, выполняется только одна ветвь, даже если значение порядковой переменной совпадает с несколькими возможными значениями, отвечающими за разные ветви операторов. Выполняется та ветвь, которая расположена раньше. Значение порядковой переменной сравнивается последовательно со всеми возможными значениями, и как только найдётся значение, которому равна порядковая переменная, выполняется ветвь операторов, сравнения прекращаются и управляющая конструкция прекращает свою работу. Поэтому при составлении программ с использованием управляющей конструкции выбор, раньше необходимо располагать более "строгие" последовательности операторов.
Дата добавления: 2015-11-16; просмотров: 57 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
SEMINAR ON POSTMODERNISM IN ENGLISH LITERATURE | | | Общие сведения |