- •А.Д. Кононов, а.А. Кононов Информатика
- •Введение
- •1. История развития языков программирования. Парадигмы программирования
- •Контрольные вопросы и упражнения
- •2. Языки программирования высокого уровня. Метаязыки для описания синтаксических конструкций
- •3. Паскаль – язык структурно-ориентированного программирования
- •3.1. Лексика и конструкции языка
- •3.2. Типы данных. Структуры данных
- •3.3. Выражения и операции
- •Контрольные вопросы и упражнения
- •3.4. Алгебра логики
- •Контрольные вопросы и упражнения
- •3.5. Построение программы
- •3.6. Операторы языка
- •3.7. Организация ввода – вывода
- •Контрольные вопросы и упражнения
- •3.8. Вызов процедур и функций
- •Заключение
- •Библиографический список
- •Послесловие
- •Глоссарий
- •Список сокращений (аббревиатур)
- •Краткий русско – английский словарь терминов
- •Диагностика ошибок трансляции
- •Оглавление
- •Кононов Александр Давыдович Кононов Андрей Александрович
- •394006, Воронеж, ул. 20-летия Октября, 84
3.3. Выражения и операции
Выражение – это последовательность операндов, связанных знаками операций.
Операция присваивания. Операция служит для замены значения переменной, стоящей слева от знака присваивания ( значением выражения, стоящего справа от него. Например, A:=B;
Обе части (левая и правая) должны быть одного типа. Исключения составляют следующие случаи:
1. Тип переменной – real, тип выражения – integer. Здесь целое значение выражения преобразуется к вещественному типу.
2. Одна из частей представляет подмножество другой.
Операция отрицания NOT. Она служит для отрицания булевского операнда, что равносильно использованию символа ┐.
Например, A not B.
Мультипликативные операции:
1. Умножение, пересечение множеств (*). Например,
a:=b*c;
Mas1:=Mas2 * Mas3;
где Mas1, Mas2, Mas3 – множества переменных.
2. Деление нацело (DIV):
a := b div c;
3. Деление ( / ) :
a := b/ c;
4. Вычисление модуля (остатка от деления) целых чисел (MOD);
a := 10 mod 3;
Остатком от деления числа 10 на 3 будет 1.
5. Конъюнкция (логическое И (AND))
a := b and c;
Все переменные булевского типа.
Для мультипликативных операций характерно следующее: если хотя бы один из операндов имеет тип real, то результат операции будет тоже типа real.
Аддитивные операции:
1. Сложение, объединение множеств (+):
a := b+c;
Mas1:=Mas2+Mas3;
2. Вычитание, разность множеств (-);
a := b - c;
Mas1 := Mas2 - Mas3;
3. Дизъюнкция (логическое ИЛИ (OR));
a := b or c;
Если хотя бы один из операндов аддитивной операции имеет тип real, то и результат операции будет типа real.
Операции отношения:
1. Равенство (=):
b = c;
2. Неравенство (<>):
b <> c;
3. Упорядоченность включения множеств (<= или >=);
set1 <= set2;
4. Упорядоченность (< или >);
b < c;
5. Принадлежность (IN);
b in set1; c in set2;
Результат операции всегда имеет тип boolean.
Выражения могут быть простыми и составными. Составное выражение включает в себя несколько простых.
Константное выражение – это выражение, состоящее из одних констант. Например,
(1000 + 3.28 * 2 – PI),
где PI – тоже константа.
Контрольные вопросы и упражнения
1. Почему при записи формул на Паскале их «вытягивают» в линию? Почему знак умножения всегда выписывают явно? Почему аргумент функции всегда записывают в скобках?
2. Как на Паскале записать синус от х градусов?
3. Как записать на Паскале величину основания натуральных логарифмов (число е), если Вы забыли цифры этого числа? А как записать число π в подобной ситуации?
4. Чему равны значения переменных x и y после выполнения операторов
x:=2; y:=5; x:=y; y:=x?
5. а) Поменять местами значения переменных x и y.
б) Поменять местами значения переменных x, y и z так, чтобы в x оказалось значение y, в y – значение переменной z, а в z – значение переменной x.
в) Поменять местами значения целых переменных x и y, не используя дополнительные переменные.
6. Записать на Паскале следующие формулы:
а) 2 б) | a + bx | в) sin 8
г) cos2 x3 д) tg x е) log2
ж) ch x з) arctg 103 и) arcsin x
к) x-1 л) x8 м) x-5
н) x100 о) 21+x п)x
р) с) a + bx+ т) [( ax – b) x+c] x-d
у) + ф) · х)104·α - 3· ·β
ц) (1+ + )/(1 + ) ч) (x2 -3x-y) ш)
7. Записать в обычной математической форме:
а) (p + q) / (r +s ) – p*q /(r * s)
б) 1Е3 + beta / (x2 – gamma * delta)
в) (-b + sqrt (sqr (b) – 4*a*c) )/ (2*a)
г) a/b + (c + d) – (a – b)/b/c + 1E -8
д) x1 = arctan( y2 – alpha )/2 * abs(x4 – ln(5) + y5 )/exp(-1)
8. Определить тип результата следующих выражений:
а) I*I + J*J + K*K б) X<Y
в) SIN(X) + 2*COS(Y) + Z г) I + SQRT(J),
если известно, что I, J, K : integer; X,Y,Z : real.