Три примера функции в Паскаль

1. Описать функцию Sign(X) целого числа, возвращающую для вещественного числа X значения -1, если X < 0; 0, если X = 0; 1, если X > 0.

C помощью этой функции в Паскаль найти значение выражения Sign(A)+Sign(B) для данных вещественных чисел A и B.
Решение:

[code]
Program prog_1;

function Sign(X:Real):Integer;
begin
if (X<0) then result:=-1;
if (X=0) then result:=0;
if (X>0) then result:=1;
end;

Var A,B : Real;
Begin
Write(‘Input A: ‘);
Read(A);
Write(‘Input B: ‘);
Read(B);
WriteLn(‘Sign(A)+Sign(B)=’,Sign(A)+Sign(B));
End.
[/code]

2. Описать функцию CirclrS(R) вещественного типа, находящую площадь круга радиуса R — вещественное число. С помощью этой функции найти площадь трех кругов с данными радиусами. Pi=3.14
Решение:

[code]
Program prog_2;

function CirclrS(R:Real):Real;
const Pi=3.14;
begin
result:=Pi*R*R;
end;

Var R1,R2,R3 : Real;
Begin
Write(‘Input Radius 1: ‘);
Read(R1);
Write(‘Input Radius 2: ‘);
Read(R2);
Write(‘Input Radius 3: ‘);
Read(R3);

WriteLn(‘S1 = ‘,CirclrS(R1),’. S2 = ‘,CirclrS(R2),’. S3 = ‘,CirclrS(R3),’.’);
End.
[/code]

3. Описать функцию на языке Паскаль SumRange(A,B) целого типа, находящую сумму всех целых чисел от A до B включительно (A и B — целые). Если A>B, то функция возвращает 0. С помощью этой функции найти суммы чисел от A до B, и от B до C, если даны три числа A,B,C.
Решение:

[code]
Program prog_3;
function SumRange(A, B:Integer):Integer;
var sum:Integer;
begin
sum:=0;
if (A>B) then result:=0
else
while (A<=B) do
begin
sum:=sum+A;
A:=A+1;
end;
result:=sum;
end;

Var
A,B,C:Integer;
Begin
Write(‘Input A: ‘);
Read(A);
Write(‘Input B: ‘);
Read(B);
Write(‘Input B: ‘);
Read(C);

WriteLn(‘Summa (A,B) = ‘,SumRange(A,B));
WriteLn(‘Summa (B,C) = ‘,SumRange(B,C));
End.
[/code]

1 Star2 Stars3 Stars4 Stars5 Stars (3 голосов, средний:4,67 из 5)
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.
Оставить комментарий