- •Оглавление
- •Учебное пособие
- •1. Структура программы
- •2. Константы и переменные
- •3. Основные типы данных
- •4. Выражения, операнды, операции
- •5. Совместимость и преобразование типов
- •6. Основные операторы языка
- •7.Массивы
- •8. Процедуры и функции
- •9. Интегрированная среда Turbo Pascal 7.0
- •Практикум
- •1. Основные конструкции языка Паскаль. Составление простейших программ
- •2. Условный оператор
- •3. Цикл с параметром
- •4. Циклы с условиями
- •5. Процедуры и функции
- •7. Одномерные массивы
- •8. Двумерные массивы
- •Вопросы для самопроверки
4. Выражения, операнды, операции
Конструкция языка, задающая порядок выполнения действий над данными, называется выражением.
Выражение состоит из операндов (константы, переменные и функции, над которыми выполняются операции), круглых скобок и знаков операций. Операции определяют действия, которые надо выполнить над операндами. Например, в выражении (x+y)*2 x, y и 2 – операнды, а «+», «*» - знаки операций.
Операции делятся на арифметические, отношения, логические и другие. Выражения соответственно называются арифметическими, отношения, логическими и другими.
Тип результата выражения определяется типом операндов и операциями, выполняемыми над ними.
Арифметические выражения и операции
Арифметическим называется выражение, составленное из операндов арифметического типа и использующее только знаки арифметических операций и круглые скобки.
Порядок вычисления определяется скобками и старшинством операций:
*, /, div, mod
+, -
Арифметические операции:
Операция |
Замечания
|
-a |
Обращение знака |
a+b |
Сложение операндов |
a-b |
Вычитание операндов |
a*b |
Умножение операндов |
a/b |
Деление операндов. b<>0. Результат всегда вещественное число. |
a div b |
Целочисленное деление. b<>0. a и b должны быть целыми числами. Пример: 7 div 2 = 3 |
a mod b |
Остаток от целочисленного деления. b<>0. a и b должны быть целыми числами. Пример: 7 mod 2 = 1 |
Тип константы определяется её значением, например, -152 – целая константа, 3.2Е-2 – вещественная константа.
Тип переменной задается в разделе Var.
Как правило, если оба операнда имеют целый тип, то и результат выражения имеет целый тип; если хотя бы один из операндов имеет вещественный тип, то и результат выражения имеет вещественный тип. Исключение составляет операция деления ( / ) – результат всегда вещественного типа независимо от типов операндов.
Пример. Записать арифметическое выражение и определить его тип.
Выражение будет записано: z:=(x+y)/(1-(x-y)/2)
Тип результата – вещественный, так как есть операция деления.
Логические выражения, выражения отношения
В Паскале есть шесть операций отношения (=, <>, <, >, <=, >=), позволяющих сравнивать между собой результаты арифметических выражений. По обе стороны операции отношения должны быть совместимые по типу выражения.
Логическим называется выражение, составленное из операндов логического типа, скобок и логических операций (Not – отрицание, And – логическое «И», Or – логическое «Или»). В качестве операндов могут быть переменные логического типа или выражения отношения, например, (x>0)And(x<10).
Рассмотрим таблицу истинности логических операций:
Пусть даны две логические переменные x и y, тогда
X |
Y |
Not X |
X And Y |
X Or Y |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 – обозначено False
Приоритет логических операций и операций отношения:
Not
And
Or
=, <>, <, >, <=, >=
Общая таблица приоритета операций:
Not (высший приоритет)
*, /, Div, Mod, And
+, -, Or
=, <>, <, >, <=, >=
Операции с одинаковым приоритетом выполняются поочередно слева направо.