Основы программирования в среде Турбо Паскаль 7.0. Величины в Турбо Паскале. Линейные вычислительные процессы, страница 7

При вычислении выражений, прежде всего, вычисляются значения функций, входящих в выражение. Затем выполняются операции в соответствии с приоритетами. Операции с равными приоритетами выполняются слева направо.

10

В Турбо Паскале установлены следующие приоритеты операций:

1)  унарные (с одним операндом) операции: «–», not, @ – арифметический минус, логическое отрицание, получение адреса;

2)  мультипликативные (аналогичные умножению) операции: *, /, div, mod, and, shl, shr – умножение, вещественное деление, деление нацело, остаток от деления, логическое умножение (операция И), сдвиг влево и сдвиг вправо соответственно;

3)  аддитивные (аналогичные сложению) операции: +, –, or, xor – сложение, вычитание, логическое сложение (операция ИЛИ), операция Исключающее ИЛИ соответственно;

4)  операции отношения: =, <, <=, >, >=, <>, in – равно, меньше, меньше или равно, больше, больше или равно, не равно, «принадлежит множеству» соответственно.

Средством изменения указанного порядка вычисления выражения являются круглые скобки – все действия в скобах выполняются в первую очередь, начиная с самых внутренних скобок. В следующем примере над каждым действием выражения проставлен порядок его выполнения:

                                              7                 5 2 1              6 4 3

1.33E5 / (285 + ln(x–3) – 9cos(x))

5. Процедура ввода с клавиатуры

Назначение: присваивание переменным значений, набираемых на клавиатуре.

Синтаксическая форма обращения к процедуре ввода:

Readln(v1, v2, , vk)

где v1, v2, ,vk – имена переменных, которым необходимо присвоить значения; указанная совокупность имён называется списком ввода. Переменные списка ввода могут иметь следующие типы: числовые, символьный, строковый. Заметим, что тип Boolean не допустим. Изображение обращения к процедуре в схеме алгоритма:

Этот блок в ГОСТ 19.701-90 называется «Данные».

Действие процедуры:

1) пользователь набирает на клавиатуре константы, типы которых совместимы по присваиванию с типами соответствующих переменных v1, v2, ,vk; набираемые константы отображаются на дисплее; 2) значения набранных констант присваиваются соответствующим (по порядку следования) переменным v1, v2, ,vk.

11

Замечания.

a.  Значения, присваиваемые переменным  v1, v2, ,vk, поступают в исполняемую программу извне (с клавиатуры), поэтому рассматриваемый процесс называется вводом значений переменных.

b.  Константы, соответствующие переменным числовых типов, отделяются друг от друга символом пробел или нажатием на клавишу Enter, вызывающими переход на новую строку. За последней константой обязательно нажимается клавиша Enter.

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

6. Процедуры вывода на экран дисплея

Назначение: отображение значений величин на экран дисплея. Синтаксические формы обращений к процедурам вывода:

Write(e1, e2, , e k)

Writeln(e1, e2, , ek)

где e1, e2, , e k – выражения, значения которых необходимо отобразить на экран дисплея; указанная совокупность выражений называется списком вывода. Выражения списка вывода могут иметь следующие типы: числовые, символьный, логический, строковый. Заметим, что в отличие от процедуры ввода логический тип (Boolean) допустим. Изображение обращения к процедуре в схеме алгоритма:

Действие процедуры:

1)  вычисляются значения выражений e1, e2, , e k;

2)  полученные значения отображаются на дисплее в порядке следования выражений e1, e2, , e k. Замечания.

a.  Поскольку значения выражений e1, e2, , e k пересылаются из исполняемой программы вовне – на экран дисплея, то действие, выполняемое рассматриваемой процедурой, называется выводом значений.

b.  В простейшем случае выражение может состоять из одной величины, например, константы или переменной, поэтому допустимо следующее обращения к процедуре вывода: Writeln(3, c, a, b, 2*2);