Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор безусловного перехода Goto




Case выражение of

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

Ранее Вы познакомились с условным оператором If, который позволяет программе выполнять переходы на ту или иную ветвь по значению булева условия. Используя несколько операторов If, можно производить ветвление по последовательности условий. В приведенном фрагменте показано, как при помощи ряда операторов If можно преобразовать целое число (в диапазоне 0-9) к его словесному представлению:

if Ziphra = 0 then write (‘Нуль‘);

if Ziphra = 1 then write (‘Единица‘);

if Ziphra = 2 then write (‘Два‘);

и т.д.

Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит так называемый ключ выбора (или селектор) – выражение любого типа (кроме типов REAL и STRING).

Общая форма записи следующая:

значение1: оператор (группа операторов);

значение2: оператор (группа операторов);

......................

значениеN: оператор (группа операторов)

else оператор (группа операторов);

end;

Оператор выбора работает следующим образом. Сначала вычисляется значение выражения, стоящее после зарезервированного слова case, а затем выполняется оператор (или составной оператор), соответствующий результату вычисления выражения.Может случиться, что в списке выбора не окажется константы равной вычисленному значению ключа. В этом случае управление передается оператору, стоящему за словом ELSE.

Например,

case NUMBER mod 2 of

0: writeln (NUMBER, ‘- число четное‘)

else: writeln (NUMBER, ‘- число нечетное‘);

end;

Если один оператор выполняется при нескольких значениях, то их можно перечислить через запятую.

case MONTH of

1, 2, 3: writeln (‘Первый квартал‘);

4, 5, 6: writeln (‘Второй квартал‘);

7, 8, 9: writeln (‘Третий квартал‘);

10, 11, 12: writeln (‘Четвёртый квартал‘);

end;

Оператором может являться не только простой оператор, но также составной и пустой операторы.

case CODE of

1: writeln (‘*******‘);

2: begin {составной оператор}

x:=sqr(y-1);

writeln (x);

end;

3: {пустой оператор}

end;

Если оператор должен выполняться при нескольких значениях селектора следующих друг за другом, образуя некоторый промежуток, то это можно записать в более сжатой форме. Например,

case Chislo of

0..9: write (‘Это число является цифрой‘);

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

Метка представляет собою число без знака в диапазоне 1-9999 либо последовательность латинских букв и цифр.

Перед использованием метка должна быть объявлена в разделе описания меток, который сразу следует за разделом описания используемых модулей:

Uses Crt, Graph;

Label

Metka1, Metka2;

Const P=3.14;

Var x: integer;

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

Program Number2;

Label Metka;

Var a, b, c: integer;

Begin

Metka: writeln(‘Введите цифру ‘);

readln(a);

case a of

0: writeln (‘ноль‘); 1: writeln (‘один‘); 2: writeln (‘два‘); 3: writeln (‘три‘);

4: writeln (‘четыре‘); 5: writeln (‘пять‘); 6: writeln (‘шесть‘); 7: writeln (‘семь‘);

8: writeln (‘восемь‘); 9: writeln (‘девять‘)

else

begin

writeln (‘Это число не является цифрой‘);

goto Metka;

end;

end; readln;End.

Теперь в этой программе мы заставляем пользователя правильно ввести цифру. Сколько бы раз пользователь ни вводил числа не из промежутка 0..9, программа будет выдавать сообщение об ошибочном вводе и снова просить ввести цифру.

 

 




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 340; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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