Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
informatika_Lektsii_1_2_3.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
1.82 Mб
Скачать

3.4. Выражения, математические, логические операции, отношения, математические функции в языке Паскаль

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

Рассмотрим выполнение математических действий. В таблице 3.2 приведены основные математические операции языка Паскаль.

Таблица 3.2. Основные математические операции языка Паскаль.

Символ операции

Название операции

Пример

*

умножение

2*3 (результат: 6)

/

деление

30/2 (результат: 1.5E+01)

+

сложение

2+3 (результат: 5)

-

вычитание

5-3 (результат: 2)

div

целочисленное деление

5 div 2 (результат: 2)

mod

остаток от деления

5 mod 2 (результат: 1)

В языке Паскаль определены следующие логические операции:

- NOT - логическое отрицание ("НЕ")

- AND - логическое умножение ("И")

- OR - логическое сложение ("ИЛИ")

- XOR - логическое "Исключающее ИЛИ" (сложение по модулю 2).

Таблице истинности логических операций приведены в таблице 3.3. Результаты выполнения этих операций над переменными А и В логического типа.

Таблица 3.3. Таблица истинности логических операций

A

B

 not A 

 A and B 

 A or B 

 A xor B 

true

true

false

true

true

false

true

false

 

false

true

true

false

true

true

false

true

true

 false 

 false 

 

false

false

false

В языке Паскаль приняты следующие отношения между величинами:

> - больше;

< - меньше;

= - равно;

<> - не равно;

>= - больше или равно;

<= - меньше или равно.

В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели.

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

- унарная операция not, унарный минус -, взятие адреса @;

- операции типа умножения:  *  /  div  mod  and;

- операции типа сложения:  +  -  or  xor ;

- операции отношения:  =  <>  <  >  <=  >=  in.

Равные по силе (имеющие одинаковый приоритет) операции, как и в математике, выполняются в порядке слева направо.

Для изменения порядка выполнения операций, задаваемого их приоритетом, используют скобки. Например, результат выполнения выражения 2*5+10 равен 20, а у выражения 2*(5+10) результат равен 30.

Рассмотрим основные математические функции языка Паскаль, встроенные в его системную библиотеку (Таблица 3.4).

Таблица 3.4. Встроенные математические функции языка Pascal

 Математическая запись

Запись на Pascal

Назначение

cos x

cos(x)

Косинус x радиан

sin x

sin(x)

Синус x радиан

ex

exp(x)

Значение e в степени x

[x]

trunc(x)

Целая часть числа x.

Результат имеет тип longint

|x|

abs(x)

Модуль числа x

x2

sqr(x)

Квадрат числа x

Рисунок 5

sqrt(x)

Квадратный корень из x

{x}

frac(x)

Дробная часть x

arctg x

arctan(x)

Арктангенс числа x

ln x

ln(x)

Натуральный логарифм x

Pi

Число 

[x]

int(x)

Целая часть числа x.

Результат имеет тип real

round(x)

Функция округляет число x.

Результат имеет тип longint

random(x)

Функция возвращает случайное целое число в диапазоне [0;X]. Если аргумент опущен, то возвра­щается случайное вещественное число от 0 до 1.

x+y

inc(x,y)

Функция увеличивает значение числа x на y. Если число y не указано, то увеличение происходит на 1

x-y

dec(x,y)

Функция уменьшает значение числа x на y. Если число y не указано, то уменьшение происходит на 1

Среди встроенных функций отсутствуют тригонометрические тангенс и котангенс нет. Для их вычисления необходимо использовать определения через синус и косинус: tg(x) = sin(x)/cos(x); ctg(x) = cos(x)/sin(x).

Из обратных тригонометрических функций в Паскале есть только arctg(x). В случае необходимости все остальные обратные функции необходимо выражать через него, используя общепринятые зависимости:

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

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

Пример. Вывод на экран 5 случайных чисел в диапазоне -10..10.

var i: integer;

begin

randomize;

for i:=1 to 5 do writeln(random(21)-10);

end.

Вопросы для проверки знаний.

1. Найти с учетом приоритетов операций значения арифметических выражений:

а) 30/6 div 2; б) 28 mod 12-24/3; в) 65 div 12/3.

2. Какие логические операции есть в языке Паскаль?

3. Найти значения логических условий:

а)NOT (5 <=3) AND (2 <= 2); б)V1 OR V2 AND NOT (V1) при V1=false; V2= true.

4. Как найти в языке Паскаль значение обратной тригонометрической функции:

а) arcsin(x), если известно, что yгол x лежит на сегменте [;1,5]?

б) arccos(x), если известно, что yгол x лежит на сегменте [0,5;]?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]