русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оператор перехода


Дата добавления: 2013-12-23; просмотров: 882; Нарушение авторских прав


CASE <выражение> OF

Оператор выбора

Понятие составного оператора

Составные операторы задают порядок выполнения операторов, являющихся их элементами.

Составные операторы представляют собой набор обычных операторов, разделенных между собой символами «;», заключенных в ограничители begin и end.

Составные операторы обрабатываются, как один оператор, поэтому их можно применять там, где синтаксис Паскаля допускает использование только одного оператора (например, после ключевых слов then и else).

Пример: отсортировать числа x1 и x2 по возрастанию.

if x1>x2 then

begin

temp:=x1;

x1:=x2;

x2:=temp;

end;

Оператор выбора case позволяет заменить большую вложенность условных операторов. Записывается оператор следующим образом:

<значение_1>: <оператор_1>;

<значение_2>: <оператор_2>;

<значение_n>: <оператор_n>;

[ ELSE

<оператор_если_1>;

<оператор_если_m>; ]

END;

В качестве Выражения может использоваться любое выражение порядкового типа (в отличие от условного оператора, где используются выражения логического типа): целое, логическое, символьное и т.п.

После вычисления Выражения его результат ищется в списке Значение_1, Значение_2, …, Значение_N. Если результат найден в списке Значений, то выполняется соответствующий Оператор. Если имеется несколько подходящих значений, то выполняется Оператор, найденный первым. Если искомое значение не найдено, то выполняются операторы, записанные в ветви else.

Все Значения должны быть совместимы по типу с результатом Выражения. В одной строке значения могут быть также перечислены через запятую либо быть указаны в виде интервала с помощью символа «..».

Ветвь else может отсутствовать.

Пример: вывести на экран день недели



case day of

1: writeln(‘понедельник’);

2: writeln(‘вторник’);

3: writeln(‘среда’);

4: writeln(‘четверг’);

5: writeln(‘пятница’);

6: writeln(‘суббота’);

7: writeln(‘воскресенье’);

else

writeln(‘некорректная дата’);

end;

Пример: вывести на экран, будний это день недели или выходной

case day of

1..5: writeln(‘будний’);

6, 7: writeln(‘выходной’);

else

writeln(‘некорректная дата’);

end;

Обычно операторы в программе выполняются в том порядке, в каком они записаны. Оператор перехода goto прерывает естественный порядок выполнения программы и указывает, что дальнейшее выполнение должно продолжаться, начиная с оператора, помеченного меткой, указанной в операторе перехода.

Пример: goto 218; {переход к оператору, помеченному меткой 218}

Все используемые в программе метки предварительно должны быть перечислены в разделе label в блоке описаний:

LABEL <МЕТКА_1>, <МЕТКА_2>, …, <МЕТКА_N>;

В качестве метки может выступать идентификатор или целое число в диапазоне от 0 до 9999.

В программе описанная метка ставится перед каким-либо оператором. Между меткой и оператором ставится двоеточие.

Для перехода к оператору, помеченному меткой, пишут goto и далее указывают имя метки, установленной перед оператором.

Пример: что будет напечатано на экране в результате выполнения программы:

label 1, 2, e;

begin

writeln(1);

goto 1;

2: writeln(2);

writeln(3);

goto e;

writeln(4);

1: writeln (5);

writeln(6);

goto 2;

e: end.

Операторы в данной программе не будут выполняться по порядку один за другим, т.к. здесь имеется множество меток и операторов перехода. В результате на экране будет напечатано:

1

5

6

2

3

Метки и оператор перехода следует использовать аккуратно. Они могут привести к тому, что программа «зависнет» или не будут выполнены некоторые операторы (в предыдущем примере не выполнился оператор writeln(4);).

Следует отметить, что в настоящее время использование меток считается «плохим тоном» и не желательно, т.к. это приводит к усложнению понимания текста программы. Кроме того, все метки можно избежать, используя ветвления и циклы.



<== предыдущая лекция | следующая лекция ==>
Условный оператор IF | Циклы с заданным числом итераций


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.