Рекурсионный способ нахождения факториала в паскале
Стандартные математические функции Паскаля.
Для возведения произвольного положительного числа x в произвольную степень y можно использовать следующее тождество: xy = Exp(y * Ln(x)) Для вычисления логарифма произвольного основания n используется равенство: logn(x) = Ln(x)/Ln(n) Так как в Паскале определены только три тригонометрические функции, для вычисления других можно использовать следующие тригонометрические преобразования: tg(x) = sin(x)/cos(x) ctg(x) = cos(x)/sin(x) sec(x) = 1/cos(x) cosec(x) = 1/sin(x) arcsin(x) = arctg( ) arccos(x) = p/2 - arcsin(x) arcctg(x) = p/2 - arctg(x) Факториал - произведение натуральных чисел от единицы до заданного числа. Имеет условное обозначение в виде восклицательного знака. n!=1*2*3*...*n (Например: 3!=1*2*3=6). В Turbo Pascal факториал находится, как правило, двумя способами: с помощью цикла или с помощью рекурсии.
Вычисление факториала в pascal с помощью цикла
Данный способ нахождения факториала исключительно прост. В цикле от 1 до n умножается число само на себя. При этом необходимо учитывать условие, что 0!=1. Ниже представлена реализация программы с помощью цикла for. Аналогично используются repeat и while.
readln(n); if (n=0) then writeln('0!=1') else if (n<0) then writeln('Определяется только для положительных чисел') else begin s:=1; for i:=1 to n do s:=s*i; writeln(n,'!='s:0:0); end;
Рекурсионный способ нахождения факториала в паскале
Найти факториал в pascal можно также посредством вызова функции (с помощью рекурсии).
function fact(x:byte):real; begin if x=0 then fact:=1 else fact:=fact(x-1)*x; end;
· в Паскале нет стандартной операции или стандартной функции возведения в степень, поэтому используется следующее математическое тождество: xy= eylnx
· в Паскале существует только стандартная функция вычисления натурального логарифма, поэтому используется следующее математическое тождество: logab= ln b/ln a · Математическое выражение: x3/2 - 7x + tg (x+2) · Выражение на Паскале: exp(3*ln(x)/2)-7*x+sin(x+2)/cos(x+2)
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|