Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции информатика.doc
Скачиваний:
59
Добавлен:
11.04.2015
Размер:
2.47 Mб
Скачать

2.9 Порядок вычисления выражений

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

Приоритет операций:

  1. вычисления в круглых скобках ( )

  2. вычисления значений функций

  3. унарные операции not

  4. операции типа умножение *, /, div, mod, and

  5. операции типа сложение +, -, or, xor

  6. операции сравнения >, <, <=, >=, =, <>

Следует учесть, что в отличие от многих других языков программирования в Турбо Паскале логические операции имеют более высокий приоритет, чем операции отношения. В связи с этим, в сложных логических выражениях обычно необходимо расставлять скобки. Если, например, b и с имеют тип INTEGER , то выражение

а = b and с < d

вызовет сообщение о синтаксической ошибке, так как сначала выполнится операция b and с. Правильным будет выражение:

(а = b) and (с < d)

Задачи для самоконтроля

2.1 Вычислить значения выражений

а) 20 div 6; б) 20 mod 6;

в) 2 div 5; г) 2 mod 5;

д) 4 div 0; е) 2.0 mod 2.

2.2. а) Преобразовать арифметическое выражение в линейную форму записи, пригодную для ввода в компьютер. Использовать следующие обозначения операций: умножение *, деление /, возведение в степень ^, т.е. x3 = x^3.

б) Преобразовать линейную форму записи арифметического выражения в «многоэтажное» представление, обычно используемое в математике:

B:=(x/(y+3*(x–y))^2–(y+9)^3/4)/(x^2*y)+9.5*y^2+y*(8+x/(2*y)).

2.3 Какие операторы являются ошибочными?

var x:integer;

y:real;

Begin

x:=3.4; y:=5;

x:=6; y:=2.5;

x:=y;

y:=x;

x:= 6/3;

x:= 6 div 3; y:= 6 div 2;

2.4 Вычислить значения выражений

а) not (6>=4) and (2<8)

б) ((5>=9) or (4>2)) and (6<12)

3. Операторы языка Паскаль

Описывают некоторые действия, которые необходимо выполнить для решения задачи. Тело программы представляет собой последовательность операторов (команд), которые разделяются «;».

Напомним порядок выполнения операторов программы: слева направо сверху вниз.

3.1 Оператор присваивания

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

Фрагмент программы:

y:=7;

x:=y;

a:=3; b:=25

z:=a+b;

i:=4; j:=8;

res:=(i>0) and (i<100);

k:=sqr(a)+i*j;

Содержимое ячеек памяти (имя указано слева)

после выполнения соответствующей команды присвоения:

7

y

7

x

a

3

25

b

z

28

4

8

i j

r

True

es

41

k

3.2 Составной оператор

Представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin … end. Структура оператора следующая:

begin

<оператор 1>;

<оператор 2>;

<оператор 3>;

end;

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