III.2. Выражения отношения




III. Выражения

Выражения - это вычисляемые конструкции языка. По типам получаемых результатов и составным частям выражений выражения подразделяются на три вида:

1. Арифметические выражения;

2. Выражения отношения;

3. Логические выражения.

Состав выражения

В общем случае в выражение могут входить:

- константы (задаются своим изображением);

- переменные (задаются именами);

- вызовы функций (представляют собой следующую конструкцию
< имя функции >[ (список аргументов, перечисленных через запятую ) ];

- знаки операций;

- круглые скобки, изменяющие порядок выполнения действий.

Правила записи выражений в текстах:

- при записи выражение не выходит за верхнюю и нижнюю границы строки (нет "многоэтажных" формул, как в математике);

- переносить выражение со строки на строку можно только на месте знака операции или скобки;

- при переносе выражений знаки не повторяются;

- знаки математических операций не опускаются.

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

1. В оперативной памяти выделяется свободный участок памяти – стек для вычисления выражения (для простоты изложения механизм работы стека раскрывать не будем);

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

3. По правилам математики выполняются действия;

4. Получается единственное значение и стек освобождается.

Математические правила вычисления выражений:

- сначала выполняются действия в круглых скобках, не содержащих других;

- вычисление ведется слева направо;

- операции, имеющие более высокий приоритет (ранг), выполняются вперед (например, умножение выполняется вперед сложения, если та и другая операция присутствуют в формуле и отсутствуют скобки).

В языке Паскаль принята следующая система приоритетов (рангов) операций (самый высокий ранг 1, самый низкий - 4):

1 - унарные операции. Знаки операций +|-|NOT|@;

2 - бинарные мультипликативные операции (операции типа умножение). Знаки операций *|/|DIV|MOD|AND|SHL|SHR;

3 - бинарные аддитивные операции (операции типа сложения).
Знаки операций +|-|OR|XOR;

4 - операции сравнения (отношения). Знаки операций <|>|=|<>|<=|>=|IN.

III.1. Арифметические выражения

Арифметические выражения при вычислении дают результат численного типа (любого целого или вещественного).

В состав арифметического выражения могут входить:

- константы любого из численных типов;

- переменные, любого численного типа;

- функции, дающие результат любого численного типа;

- знаки арифметических операций (+|-|*|/|DIV|MOD);

- для целочисленных операндов: знаки поразрядных логических операций (NOT|AND|OR|XOR) и знаки операций сдвига (SHL|SHR);

- круглые скобки () для изменения порядка выполнения операций.

Таблица III.1. Примеры записи арифметических выражений

Математическая запись Запись на Паскале
sin 1,57 SIN(1.57)
    (5*a+b)/2

Пример

Задание. Записать и вычислить выражение при а=1, b=3,c=2.

На языке Паскаль выражение записывается так

(-b+sqrt(sqr(b)-4*a*c)/(2*a)

При вычислении

0) В оперативной памяти располагаются переменные, имеющие значения, которые определены в задании

a  
b  
c  

1) В свободной памяти выделяется участок под стек (выделяемые участки памяти будем изображать в виде прямоугольников);

2) В стек переносятся значения, знаки операций и круглые скобки, изменяющие порядок выполнения действий

 

( -   +   ) / (   *   )
( - b + sqrt(sqr(b)-4*a*c) ) / (   * a )

3) По правилам математики выполняются действия

1. – 3 = -3;

2. –3+1 = -2;

3. 2*1 = 2;

4. –2/2 = -1;

4) Результат вычисления: - 1

III.2. Выражения отношения

Выражение отношения представляет собой отдельную операцию сравнения (отношения). Результат такого выражения всегда логического типа BOOLEAN.

Таким образом, в состав выражения отношения могут входить

- один из знаков операций сравнения (отношения) (<|>|=|<>|<=|>=|IN);

- два операнда.

В качестве операндов могут выступать:

- два любых арифметических выражения;

- две величины (заданные переменными или константами) одного порядкового типа.

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-15 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: