К оглавлению

Урок №17

Тема: Стандартные функции.

Вопросы темы:

1.     Стандартные функции.

2.     Запись математических выражений на языке Паскаль.

3.     Выполнение упражнений с использованием стандартных функций.

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

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

               В начало                     Таблица стандартных функций школьного алгоритмического языка

Название и математическое обозначение функции

Указатель функции

 

Абсолютная величина (модуль) 

| х | 

abs(x) 

 

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

sqrt(x)

 

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

ln x

ln(x)

 

Десятичный логарифм 

lg x

lg(x)

 

Экспонента (степень числа е " 2.72)

ex

exp(x)

 

Знак числа x (-1,если х<0; 0,если x=0; 1,если x>0) 

sign x

sign(x)

 

Целая часть х (т.е. максимальное целое число, не превосходящее х)

 

int(x)

 

Минимум из чисел х и y

 

min(x,y)

 

Максимум из чисел х и y

 

max(x,y)

 

Частное от деления целого х на целое y

 

div(x,y)

 

Остаток от деления целого х на целое y

 

mod(x,y)

 

Случайное число в диапазоне от 0 до х-1

 

rnd(x)

 

Синус (угол в радианах) 

sin x

sin(x)

 

Косинус (угол в радианах)

cos x

cos(x)

 

Тангенс (угол в радианах)

tg x

tg(x)

 

Котангенс (угол в радианах)

ctg x

ctg(x)

 

Арксинус (главное значение в радианах)

arcsin x 

arcsin(x)

 

Арккосинус (главное значение в радианах)

arccos x

arccos(x)

 

Арктангенс (главное значение в радианах)

arctg x

arctg(x)

 

Арккотангенс (главное значение в радианах) 

arcctg x

arcctg(x)

 
 

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

sin(3.05)

min(a, 5)

 sin(x)

min(a, b)

sin(2*y+t/2)

in(a+b, a*b)

sin((exp(x)+1)**2)

min(min(a,b),min(c,d))

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

Возведение в степень (кроме возведения в квадрат и возведения в степень числа e) отсутствует. Для возведения в произвольную степень можно воспользоваться очевидным равенством: xy=ey ln x. Для возведения числа в натуральную степень можно написать собственную функцию. Например,

                        {Функция возведения числа X в натуральную степень N}

                        Function Stepen(X : Real; N : Integer) : Real;

                        Var I : Integer; St : Real;

                        Begin

                                     St := 1;

                                     For I := 1 To N Do St := St * X;

                                     Stepen := St;

                        End;

Другой способ получить натуральное значение z=xy, где x, y — натуральные, это сделать так: Z := Round(Exp(Y * Ln(X))).

Примечание. Интересной является задача получения степени любого целого числа (за исключением нуля), если основание степени — неотрицательное целое, без использования развилки. Одно из возможных решений : (–1)*Ord(Odd(Y)) * Exp(Y * Ln(X)) + Ord(Odd(Y+1)) * Exp(Y * Ln(X)). Здесь Ord(K) — функция, возвращающая порядковый номер величины K в том или ином порядковом типе (в примере использовано свойство, что порядковый номер False равен 0, а порядковый номер True — 1).

 

В начало

Примеры записи математических выражений:

 

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

Запись на Pascal

1. x2 – 7x + 6

Sqr(x) - 7 * x + 6

2.

(Abs(x) - Abs(y)) / (1 + Abs(x * y))

3.

Ln(Abs((y - Sqrt(Abs(x))) * (x - y / (z + Sqr(x) / 4))))

 В начало

Задания для решения:

Запишите арифметические выражения, значениями которых являются:

а) площадь треугольника со сторонами a, b, c (a, b, c>0) и полупериметром p;

 Ответ:

б) среднее арифметическое и среднее геометрическое чисел a, b, c, d;

в) расстояние от точки с координатами (x,y) до точки (0,0);

г) синус от x градусов;

д) площадь поверхности куба (длина ребра равна а);

е) радиус описанной сферы куба (длина ребра равна а);

ж) координаты точки пересечения двух прямых, заданных уравнениями  a1x+b1y+c1=0 и a2x+b2y+c2=0 (прямые не параллельны).

з)Запишите алгебраические выражения, соответствующие следующим записям на языке Pascal:

Abs (a + b) / Abs (c);                                   a + b / sin (c);

sqrt (a) / b / Sqr c;                                       a / ctg (b * c);

sin (a + b) / (d + c);                                               a + b / Sqr (d + c);

Abs (а + b / d + c) * (a + b) / d + ctg (c).

 

В начало

 

К оглавлению

Сайт управляется системой uCoz