КАТЕГОРИИ: Архитектура-(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; Просмотров: 382; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |