Процедуры и функции. Тексты программ
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Вычисление площади и периметра прямоугольника
procedure RectSP(a,b: real; var S,P:real);
begin
S := a * b;
P := a + b;
end;
var
x,y: real; // Стороны прямоугольника
S: real; // Площадь прямоугольника
P: real; // Периметр прямоугольника
begin
write('Введите стороны прямоугольника: ');
readln(x,y);
RectSP(x,y,S,P);
writeln('Площадь равна ',S);
writeln('Периметр равен ',P);
end.
Табулирование функции
function f(x: real): real;
begin
Result := x*x - 2*x + 3;
end;
var
a,b: real; // [a,b] - отрезок, на котором табулируется функция f(x)
N: integer; // Количество частей, на которые разбивается [a,b]
begin
write('Введите a,b: ');
readln(a,b);
write('Введите N: ');
readln(N);
var h := (b-a)/N;
var x := a;
writeln('x f(x)');
for var i:=0 to N do
begin
writelnFormat('{0,3:f1} {1,6:f2} ',x,f(x));
x += h;
end;
end.
Функция вычисления an
function Power(a: real; n: integer): real;
begin
Result := 1;
for var i:=1 to n do
Result *= a;
end;
var
a: real;
n: integer;
begin
write('Введите a: ');
readln(a);
write('Введите n: ');
readln(n);
writelnFormat('{0} в степени {1} = {2}',a,n,Power(a,n));
end.
Функция вычисления n!
function Factorial(n: integer): integer;
begin
Result := 1;
for var i:=2 to n do
Result *= i;
end;
var n: integer;
begin
write('Введите n: ');
readln(n);
writelnFormat('{0}! = {1}',n,Factorial(n));
end.
Функция, преобразующая цифру к ее словесному наименованию
function DigitName(n: integer): string;
begin
case n of
0: Result := 'ноль';
1: Result := 'один';
2: Result := 'два';
3: Result := 'три';
4: Result := 'четыре';
5: Result := 'пять';
6: Result := 'шесть';
7: Result := 'семь';
8: Result := 'восемь';
9: Result := 'девять';
end;
end;
begin
writeln(DigitName(3));
writeln(DigitName(5));
writeln(DigitName(7));
end.
Функция проверки числа на четность
function Even(x: integer): boolean;
begin
Result := x mod 2 = 0
end;
begin
writeln(Even(3));
writeln(Even(4));
writeln(Even(7));
end.
Функция определения простоты числа
function IsSimple(N: integer): boolean;
begin
Result := True;
for var i:=2 to round(sqrt(N)) do
if N mod i = 0 then
begin
Result := False;
exit;
end;
end;
begin
writeln(IsSimple(13));
writeln(IsSimple(4));
writeln(IsSimple(7));
end.
Функция вычисления n-того числа Фибоначчи
function Fib(N: integer): integer;
begin
if (N=1) or (n=2) then
Result := 1
else
begin
var a := 1;
var b := 1;
for var i:=3 to N do
begin
Result := a + b;
a := b;
b := Result;
end;
end;
end;
begin
writeln(Fib(5));
writeln(Fib(6));
writeln(Fib(7));
end.
Функция определения НОД числа
function NOD(a,b: integer): integer;
begin
while b<>0 do
begin
var c := a mod b;
a := b;
b := c;
end;
Result := a;
end;
var x,y: integer;
begin
x := 15; y := 12;
writelnFormat('НОД чисел {0} и {1} равен {2}',x,y,NOD(x,y));
x := 144; y := 64;
writelnFormat('НОД чисел {0} и {1} равен {2}',x,y,NOD(x,y));
x := 99; y := 54;
writelnFormat('НОД чисел {0} и {1} равен {2}',x,y,NOD(x,y));
end.
Процедура вывода таблицы умножения
procedure Pifagor(n: integer);
begin
for var i:=1 to n do
begin
for var j:=1 to n do
write(i*j:4);
writeln;
end;
end;
begin
Pifagor(15);
end.