КАТЕГОРИИ: Архитектура-(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 <метка> В качестве меток используются целые числа без знака из отрезка от 0 до 9999. В Турбо Паскале в качестве метки может быть использован любой идентификатор. Примеры операторов перехода и помеченных операторов: GOTO 25 GOTO M1 25: IF X>0 THEN X:=X*X M1:I:=0 Каждая метка, прежде чем она используется, должна быть описана в разделе описания меток. При использовании оператора GOTO необходимо помнить, что областью действия метки является только тот блок, в котором она описана. Передача управления в другой блок запрещена. Оператор вызова процедуры служит для активизации предварительно определенной пользователем или стандартной процедуры. Например: ClrScr; InitWork(True); Writeln('Hello'); 1.4. Пустой оператор. Пустой оператор никак не обозначается и не вызывает никаких действий. Пустой оператор - это просто лишняя точка с запятой в программе. Чаще всего пустой оператор встречается с меткой и ставится в конце составного оператора или в конце программы. BEGIN ... GOTO Metka; {переход в конец блока} ... Metka: {пустой оператор помечен меткой} END; Структурные операторы представляют собой конструкции, построенные из других операторов по строго определенным правилам. Все структурные операторы подразделяются на группы: составные, условные, повтора и присоединения. Составной оператор объединяет некоторую последовательность операторов в единый оператор путем заключения этой последовательности в операторные скобки - служебные слова BEGIN и END. Формат оператора: BEGIN <оператор 1>;<оператор 2>;..(оператор N> END Операторы, входящие в составной оператор, выполнятся в том порядке, в котором они записаны. Примеры составных операторов: BEGIN I:=0 END BEGIN Y:=X/2; Х:=Х+H END В Турбо Паскале имеются два условных оператора IF и CASE. Рассмотрим оператор IF. С помощью оператора IF выбирается и выполняется один из операторов, входящих в его состав. Формат оператора: IF <логическое выражение> THEN <оператор1> ELSE <оператор2> Выполнение такого условного оператора происходит так: если логическое выражение истинно, то выполняется первый оператор, если ложно, то второй. Условный оператор используется также в сокращенной форме: IF <логическое выражение> THEN <оператор> В этом случае, если логическое выражение ложно, то не происходит никаких действий. По синтаксису после THEN и ELSE может стоять только один оператор, поэтому если необходимо выполнить несколько операторов, то их объединяют в составной оператор. Примеры условных операторов: IF X<0 THEN I:=I+1 ELSE K:=K+1 IF (X<Y) AND D THEN BEGIN X:=SIN(X); Y:=Y+1 END Во втором примере D - логическая переменная. Рассмотрим оператор CASE. Часто в программе бывает необходимо проверять достаточно много условий и в зависимости от них выполнять те или иные действия. Для этого можно использовать многократно вложенные друг в друга условные операторы. Однако в этом случае программа становится громоздкой и ее трудно понимать. Считается, что число уровней вложения не должно превышать двух-трех. Если же необходимо выбирать из большего числа условий, то целесообразным становится применение оператора варианта. Формат оператора: CASE <селектор варианта> OF <константа варианта 1>:<оператор 1>; <константа варианта 2>:<оператор 2>; '... <константа варианта n>:<оператор n> END Селектор варианта может быть любого простого типа, за исключением типа REAL. Константы варианта должны быть того же типа, что и селектор варианта. При выполнении оператора варианта сначала вычисляется значение селектора варианта, а затем выполняется тот оператор, который отмечен константой варианта, имеющей данное значение. Если подходящей константы нет, то возникает ошибка. Чтобы избежать этого в Турбо Паскале предусмотрена следующая конструкция: CASE <селектор варианта> OF <константа варианта 1>:<оператор 1>; ... <константа варианта n>:<оператор n>; ELSE <оператор> END Теперь, если значение селектора варианта не совпало ни с одной константой, то будет выполняться оператор, записанный после служебного слова ELSE. Для того чтобы пометить оператор в списке выбора, можно использовать несколько констант варианта, а также диапазоны. Например: CASE CH OF 'A','B','E','I':CH1:=SUCC(CH1); 'K'..'R':CH1:=PRED(CH1) END; Отметим, что если после константы варианта нужно выполнить не один, а несколько операторов, то необходимо использовать составной оператор.
Дата добавления: 2014-01-06; Просмотров: 404; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |