Арифметические операции. В Паскале определены следующие операции этой группы:
В Паскале определены следующие операции этой группы: + - сложение - - вычитание * - умножение / - деление вещественных чисел div – деление целых чисел mod - остаток от деления целых чисел and – арифметическое И shl – сдвиг влево целого числа на заданное число двоичных разрядов shr - сдвиг вправо целого числа на заданное число двоичных разрядов or – логическое сложение операндов xor – исключающее ИЛИ not – арифметическое отрицание
Операции сложения (+), вычитания (-), умножения (*) и деления (/) выполняются так же, как и в обычных арифметических выражениях. Например, 123 + 456 = 579 456 – 123.0 = 333.0 12 * 34 = 408 123 / 4 = 30.75
Задание 4.1 1. Запишите на Паскале следующие формулы: а) a + bx + cyz; б) [(ax – b) x + c] x – d; в) + ; г) × ; д) 104 a - 3 b; е) (1 + + ) / (1+ ). 2. Запишите в общепринятой форме: а) (p + q) / (r + s) – p * q / (r * s); б) 1E3 + beta / (x2 – gamma * delta.
Целочисленное деление (div)отличается от обычной операции деления тем, что возвращает целую часть частного, дробная часть отбрасывается. Результат целочисленного деления всегда равен нулю, если делимое меньше делителя. Например, 11 div 5 = 2 10 div 3 = 3 2 div 13 = 0 Деление по модулю (mod) восстанавливает остаток, полученный при выполнении целочисленного деления. Например, 11 mod 5 = 1 10 mod 3 = 1 14 mod 5 = 4 Пример 4.1Программа читает значение времени t, заданное в часах и минутах, а печатает t в часах и минутах. program time; var t, tm, th : integer; Begin write(‘Введите время в минутах’); read(t); th := t div 60; tm := t mod 60; writeln(th:2, ‘час.’:5, tm:3, ‘мин.’:5) End.
Задание 4.2 1. Вычислите значения выражений: а) 20 div 6; б) 20 mod 6; в) 20 div 4; г) 20 mod 4; д) 2 div 5; е) 2 mod 5; ж) 27 div 0; г) 7.0 mod 7. 2. Укажите порядок выполнения операций в выражении, расставив скобки: - а mod b + a div b*c.
Если типы переменных, участвующих в выражении, совпадают, то никаких преобразований не делается, и все вычисления происходят в том же типе. Вычисленный результат преобразуется (если это требуется) к типу переменной, стоящей в левой части оператора присваивания (преобразование возможно только из типа integer к типу real). Смешение типов integer и real допустимо только для операций + и -. Операции сдвига shl и shr выполняются быстрее, чем соответствующие операции деления и умножения на степень двойки. Например, 2 shl 7 = 256 256 shr 6 = 4
Логические операции
Результатом выполнения логического (булевского) выражения является логическое значение true или false. Операндами служат только данные булевского типа. not – логическое отрицание and – И (логическое умножение) or – ИЛИ (логическое сложение) xor – исключающее ИЛИ
Таблица – Логические операции
Задание 4.3 1. Запишите на Паскале отношение, истинное при выполнении указанного условия и ложное в противном случае: а) целое k делится на 7; б) уравнение ax2 + bx + c = 0 (a ¹ 0) не имеет вещественных корней; в) точка (x, y) лежит вне круга радиуса r с центром в точке (1, 0); г) натуральное n является полным квадратом. 2. Вычислить значение выражений: а) t and (p mod 3 = 0) при t = true, p = 101010; б) (x*y <> 0) and (y > x) при x = 2, y = 1; в) (x*y <> 0) or (y > x) при x = 2, y = 1; г) a or (not b) при a = false, b = true. 3. Записать на Паскале выражение, истинное при выполнении указанного условия и ложное в противном случае: а) 0 < x< 1; б) x = max (x, y, z); в) x ¹ max (x, y, z) (операцию not не использовать); г) хотя бы одна из логических переменных а и b имеет значение true; д) обе логические переменные а и b имеет значение true. 4. Доказать тождество: a and (not a) = false. 5. Вычислить: а) true or (1/0 > 0); б) (1/0 > 0) or true. 6. Указать порядок выполнения операций при вычислении выражения: a and b or not c and d. 7. Вычислить следующие выражения при a = true и b = false: а) a or b and not a; б) (a or b) and not a; в) not a and b; г) not (a and b). 8. Записать на Паскале выражение, истинное при выполнении указанного условия и ложное в противном случае: а) х принадлежит отрезку [2, 5] или [-1, 1]; б) х лежит вне отрезков [2, 5] или [-1, 1]. 9. Нарисовать на плоскости (x, y) область, в которой и только в которой и только в которой истинно указанное выражение: (y > = x) and (y + x > = 0) and (y < = 1). 10. Записать на Паскале выражение, истинное, если n и k имеют одинаковую четность, и ложное иначе. Операция со строками Операция со строками + (конкатенция) – сцепление строк. Если длина результирующей строки превышает 255 символов, то она усекается до 255 символов. Операции отношения
Операции отношения =, <>, < , > , <= , > = , in применимы для всех стандартных типов string, real, integer, boolean, char, byte. При сравнении допустимо использовать операнды разных типов в одной операции, только если это целые и вещественные переменные. Например, var ch: char; b : boolean; x, y : real; z : integer; ….. if (x>z) and (ch in [‘Y’,’N’] or not b then writeln(‘Условие выполнено’); 4.1.5 Операция @
С помощью операции @ можно создать указатель на переменную. Операция @ является унарной операцией, в качестве операнда которой используется ссылка на переменную, процедура или идентификатор функции, и операнду возвращается указатель. Тип этого значения является таким же, как и тип указателя nil, и, таким образом, его можно присвоить любому указателю переменной.
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (874)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |