Пример 4. Создать функцию нахождения максимального из двух чисел

Создать функцию нахождения максимального из двух чисел

Решение:

Program Pr4;

Var

a,b,m:real;

Function Max(a,b:real):real;

begin

if a>b {если a больше b}

then Max:=a {то функция принимает значение a}

else Max:=b; {иначе функция принимает значение b}

end;

BEGIN

write('a,b='); readln(a,b); {ввод исходных данных}

m:=Max(a,b); {вызов функции}

write('Max=',m:5:1); {вывод результата}

readln;

END.

Результат:

a,b=14 9

Max= 14.0

Пример 5.

Создать функцию нахождения наибольшего общего делителя двух натуральных чисел.

Решение:

Program Pr5;

Var

a,b:integer;

Function NOD(a,b:integer):integer;

begin

while a<>b do {пока числа не равны}

if a>b then a:=a-b {заменяем большее из них разностью большего и меньшего}

else b:=b-a;

NOD:=a;

end;

BEGIN

write('a,b='); readln(a,b); {ввод исходных данных}

write('NOD=', NOD(a,b)); {вызов функции и вывод ее значения}

readln;

END.

Результат:

a,b=24 16

NOD=8

Пример 6.

Составить функцию для вычисления xn, где x,n – целые числа

Степень принимает отрицательное значение, если основание степени Х<0 и показатель степени –нечетное число.

Решение:

Program Pr6;

Var

x,n:integer;

Function stepen(x,n:integer):real;

begin

if (n mod 2 <> 0) and (x<0) then stepen:=-exp(n*ln(abs(x)))

else stepen:=exp(n*ln(abs(x)));

end;

BEGIN

write('x,n='); readln(x,n); {ввод исходных данных}

write('stepen=',stepen(x,n):6:2); {вызов функции и вывод ее значения}

readln;

END.

Результат:

1 случай

x,n=2 3

stepen= 8.00

2 случай

x,n=-2 3

stepen= -8.00

3 случай

x,n=2 -2

stepen= 0.25

4 случай

x,n=-2 -2

stepen= 0.25


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: