Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Операторы языка программирования паскальСодержание книги Поиск на нашем сайте
Основная часть программы на Турбо Паскаль представляет собой последовательность операторов, каждый из которых производит некоторое действие над данными. Разделителем операторов служит точка с запятой. Все операторы языка Турбо Паскаль подразделяются на две группы: простые и структурные. Простые операторы Операторы, не содержащие никаких других операторов, называются простыми. К ним относятся операторы присваивания, безусловного перехода, вызова процедуры и пустой оператор. Оператор присваивания Самым простым, но наиболее часто встречающимся оператором является оператор присваивания. Он определяет, что вновь вычисленное значение должно быть присвоено некоторой переменной. Формат оператора: <имя переменной>:= <выражение> Новое значение получается в результате вычисления значения выражения, состоящего из констант, переменных, указателей функций и знаков операций. Если выражение не содержит скобок, то операции выполняются в следующем порядке: 1) NOT 2) *, /, DIV, MOD, AND 3) +, -, OR,XOR 4) =, <>, <=, <, >, >=, IN. Операции одинакового старшинства выполняются слева направо. С помощью скобок можно задать любой желаемый порядок вычислений. Переменная и выражение должны иметь одинаковый тип. Исключение составляет случай, когда тип переменной REAL. Тогда тип выражения может быть INTEGER. Пусть, например, заданы следующие описания переменных: VAR I,J,K:INTEGER; A,B,C:REAL; BOOL:BOOLEAN; CH1,CH2:CHAR; Тогда возможны следующие операторы присваивания: I:= I DIV J + K A:= B/C BOOL:=A=B CH1:=CH2 Оператор безусловного перехода Оператор безусловного перехода предоставляет возможность изменять порядок выполнения операторов. С его помощью естественный порядок выполнения программы (т.е. оператор за оператором) прерывается и указывается, что дальнейшее выполнение программы должно продолжаться с оператора, помеченного меткой, которая использована в данном операторе перехода. Формат оператора: 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; Отметим, что если после константы варианта нужно выполнить не один, а несколько операторов, то необходимо использовать составной оператор.
Примеры программ Приведем примеры программ с использованием рассмотренных выше операторов. Пример 3.1. Написать программу вычисления десяти значений функции y = Значения х вводятся оператором READ. Программа 3.1. PROGRAM PR31; LABEL 1,2; VAR I:INTEGER; X,Y:REAL; BEGIN I:=1; 1:IF I>10 THEN GOTO 2; WRITE('X='); READ(X); IF X<0 THEN Y:=ABS(X) ELSE IF X<=1 THEN Y:=EXP(X) ELSE Y:=1/(2*X+1); WRITELN(' Y=',Y); I:=I+1; GOTO 1; 2:END. Пример 3.2. Вводится непустая последовательность положительных чисел, за которой следует нуль - это признак конца последовательности. Вычислить среднее арифметическое этих чисел. Программа 3.2. PROGRAM PR32; LABEL 1,2,3; VAR I:INTEGER; X,S:REAL; BEGIN S:=0; I:=0; 1:READLN(X); IF X<0 THEN GOTO 2; IF X=0 THEN GOTO 3; S:=S+X; I:=I+1; GOTO 1; 2:WRITELN ('Недопустимое значение Х'); GOTO 1; 3:IF I>0 THEN WRITELN ('Среднее арифметическое равно',S/I) ELSE WRITELN ('Пустая последовательность') END.
|
||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 147; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.208.243 (0.008 с.) |