Здавалка
Главная | Обратная связь

Рекурсионный способ нахождения факториала в паскале

Стандартные математические функции Паскаля.

Выражение на языке Паскаль Математическое выражение
Abs(X) Arctan(X) Cos(x) Sin(x) Exp(x) Ln(x) Odd(x) Trunc(x) Round(x) Sqr(x) Sqrt(x) |x| arctg(x) cos(x) sin(x) ex ln(x) проверка на нечетность вычисление целой части числа округление числа до ближайшего целого x2

 

Для возведения произвольного положительного числа 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 Все права принадлежат авторам размещенных материалов.