КАТЕГОРИИ: Архитектура-(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) |
Оператор перехода
Оператор выбора Понятие составного оператора Составные операторы задают порядок выполнения операторов, являющихся их элементами. Составные операторы представляют собой набор обычных операторов, разделенных между собой символами «;», заключенных в ограничители begin и end. Составные операторы обрабатываются, как один оператор, поэтому их можно применять там, где синтаксис Паскаля допускает использование только одного оператора (например, после ключевых слов then и else). Пример: отсортировать числа x1 и x2 по возрастанию. if x1>x2 then begin temp:=x1; x1:=x2; x2:=temp; end; Оператор выбора case позволяет заменить большую вложенность условных операторов. Записывается оператор следующим образом: CASE <выражение> OF <значение_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);). Следует отметить, что в настоящее время использование меток считается «плохим тоном» и не желательно, т.к. это приводит к усложнению понимания текста программы. Кроме того, все метки можно избежать, используя ветвления и циклы.
Дата добавления: 2014-01-05; Просмотров: 262; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |