1. procedure RectSP(a, b: real; var S, P: real);
begin
S := a * b;
P := a + b; // Внимание: в оригинале ошибка, периметр прямоугольника равен 2*(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.
2. 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.
3. 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.
4. 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.
5. 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.
6. function Even(x: integer): boolean;
begin
Result := x mod 2 = 0
end;
begin
writeln(Even(3));
writeln(Even(4));
writeln(Even(7));
end.
7. 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.
8. 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.
9. 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.