Математические функции Турбо Паскаль
Все математические операции Турбо Паскаль можно разделить на арифметические, отношения и логические.
Арифметические операции выполняют арифметические действия в выражениях над значениями переменных целочисленных или вещественных типов. Основные арифметические операции языка Турбо Паскаль представлены в следующей таблице.
Таблица 2. Арифметические операции
Операции | Действия | Типы операндов | Тип результатов |
+ - * / div mod | Сложение Вычитание Умножение Деление Целочисленное деление Остаток | Целый Вещественный Целый Вещественный Целый Вещественный Целый Вещественный Целый Целый | Целый Вещественный Целый Вещественный Целый Вещественный Вещественный Вещественный Целый Целый |
Особое внимание следует обратить на то, что тип результата деления – всегда вещественное число.
Операции сложения (+), вычитания (-), умножения (*) и деления (/). Приоритет тот же, что и в обычных арифметических выражениях.
Целочисленное деление (div) отличается от обычного тем, что возвращает целую часть частного, дробная часть отбрасывается. Перед выполнением операции оба операнда округляются до целых значений. Результат целочисленного деления всегда равен нулю, если делимое меньше делителя.
Выражение Результат
11 div 5 2
10 div 3 3
2 div 3 0
Деление по модулю (mod) восстанавливает остаток, полученный при выполнении целочисленного деления.
Выражение 11 mod 5 10 mod 3 14 mod 5 | Результат |
Операции отношения выполняют сравнение двух операндов и определяют истинность или ложность выражения. В качестве результата всегда используется тип Boolean, который может принимать лишь два значения True (истина) или False (ложь).
Таблица 3. Операции отношения
Операция | Название | Выражение | Результат |
= <> > < >= <= | Равно Не равно Больше Меньше Больше или равно Меньше или равно | A=B A<>B A>B A<B A>=B A<=B | True, если A равно В True, если A не равно В True, если A больше В True, если A меньше В True, если A больше или равно В True, если A меньше или равно В |
Логические операции являются веским дополнением операций отношения. Они, как правило, используются для создания составных операций отношения и часто используются, например, в условном операторе If ... then … else.
Таблица 4. Логические операции
Операция | Действие | Пример выражения |
Not And Or Xor | Логическое отрицание Логическое и Логическое или Исключающее или | Not A A and B A or B A xor B |
Более подробно логические операции будут рассмотрены на примере условных операторов.
В Турбо Паскаль имеются встроенные математические функции и процедуры.
Таблица 5. Встроенные математические функции
Abs(x) | Возвращает абсолютное значение числа X. |
Cos(x) | Возвращает косинус числа x, где x – угол в радианах. |
Sin(x) | Возвращает синус числа x, где x – угол в радианах. |
Arctan(x) | Возвращает арктангенс числа x, где x – угол в радианах. |
Exp(x) | Возвращает число, равное e в степени x. |
Ln(x) | Возвращает число, равное натуральному логарифму от числа x. |
Pi | Число Пи. |
Sqr(x) | Возвращает число, равное квадрату числа X. |
Sqrt(x) | Возвращает число, равное корню квадратному из X. |
Trunc(x) | Возвращает число, равное целой части числа X (округление происходит путем отбрасывания дробной части числа X); усеченное число имеет тип LongInt. |
Frac(x) | Возвращает число, равное дробной части числа X. Например, Frac(2.4) возвращает 0.4, Frac(3.99) возвращает 0.99. |
Int(x) | Возвращает число, равное целой части числа X. Например, Int(2.4) возвращает 2.0, Int(0.99) возвращает 0.0. |
Round(x) | Возвращает число, равное целой части числа X (округление происходит по всем правилам математики, т.е. к ближайшему целому). Процедура является универсальной, поскольку результат может быть как целым, так и вещественным числом. |
Random(x) | Возвращает случайное число от 0 до X. Функция может использоваться без параметров. В этом случае будут генерироваться случайные числа от 0 до 1. |
Ord(x) | Определяет четность числа. Возвращает значение True, если число X нечетно. |
Таблица 6. Встроенные математические процедуры
Inc(x,y) | Увеличивает значение числа X на Y. Процедура может быть задана без аргумента Y. В этом случае значение числа X будет увеличено на 1. |
Dec(x,y) | Уменьшает значение числа X на Y. Процедура может быть задана без аргумента Y. В этом случае значение числа X будет уменьшено на 1. |
Randomize | Обеспечивает несовпадение последовательностей случайных чисел, генерируемых функцией Random. Делает выбор случайных чисел еще более случайными. |
Пример:
Программа нахождения среднего арифметического двух введенных целых чисел.
Program SrednArifm;
Var
X, Y: integer;
Sred: real;
Begin
Writeln('Введите числа X и Y');
Readln(x,y);
Sred:=(X+Y)/2;
Writeln('Среднее арифметическое чисел ', X, ' и ',Y,' равно ', Summa);
End.
В данном примере переменная Sred вещественного типа, поскольку в правой части присутствует операция деления.
Задачи
1. Ввести число купленных тетрадей и карандашей. Вычислить стоимость покупки, если цена одной теради 5 рублей, а карандаша 2 рубля.
2. Ввести расстояния до дачи, количество бензина, которое автомашина потребляет в среднем на 100 км и стоимость бензина. Вычислить стоимость поездки (туда и обратно).
3. Ввести длину дистанции, на которую бежал бегун и его время. Вычислить среднюю скорость бегуна.
4. Ввести расстояние в километрах. Перевести расстояние в версты (1 верста – это 1066,8 м).
5. Ввести вес в килограммах. Перевести вес в фунты (1 фунт – это 405,9 граммов).
6. Ввести время, затраченное на выполнение ломашнего задания в часах и минутах. Перевести это время в минуты.
7. Ввести три целых числа. Найти их среднее геометрическое.
8. Ввести радиус окружности, подсчитать длину окружности.
9. Ввести радиус окружности, подсчитать площадь круга.
10. Ввести катеты a и b прямоугольного треугольника. Найти гипотенузу c. (Указание: использовать встроенную функцию вычисления квадратного корня из числа x - Sqrt(x)).
11. Ввести длины сторон произвольного треугольника и угол a между ними в градусах. Найти третью сторону с.
12. Ввести длины сторон произвольного треугольника a, b и c. Найти площадь треугольника.
13. Вычислить объем шара радиуса R. Длина R вводится с клавиатуры.
14. Ввести координаты двух точек на плоскости. Вычислить расстояние между ними.
15. Ввести длину грани куба. Вычислить его площадь боковой поверхности и объем.
16. Ввести коэффициенты и значения правых частей системы уравнений. Найти ее решение. Вывести на экран вид системы уравнений и ответ.
17. Ввести число a. Для данного числа напечатать таблицу вида:
a2
a3 a6
a6 a3 a.
12. Ввести целые числа x и y. Вычислить .
13. Ввести длины катетов прямоугольного треугольника. Найти его гипотенузу и площадь.
14. Смешано V1 литров воды температуры t1 и V2 литров воды температуры t2. Найти объем и температуру образовавшейся смеси.
15. Найти площадь равнобедренной трапеции с основаниями a и b и углом при большем основании a. Значения a, b и a вводятся с клавиатуры.
16. Ввести длины сторон треугольника. Вычислить:
а) длины высот;
б) длины биссектрис;
в) длины медиан.
17. Ввести вещественные числа x и y. Вычислить расстояние от точки плоскости с координатами (x, y) до ближайшей границы квадрата с вершинами:
а) (-0,5; -0,5), (-0,5; 0,5), (0,5; 0,5), (0,5; -0,5);
б) (0;0), (0;1), (1;1), (1;0).
18. Ввести целые (либо вещественные) числа x1, y1, x2, y2, …, xn, yn. Выяснить, найдутся ли среди точек с координатами (x1; y1), (x2; y2), …, (xn; yn) четыре таких, которые являются вершинами квадрата.