📐 Площадь треугольника по формуле Герона. Три варианта. Во втором примере используется оператор перехода GOTO. Третий пример написан, с учётом рекомендаций PascalABC.NET
🟩 Вычисление периметра и площади квадрата. Четыре варианта решения задачи. В том числе вариант решения на PascalABC.NET, без использования устаревших конструкций (с точки зрения этой версии).
Четыре варианта решения задач: 1) по двум катетам - только вычисление, 2) по катету и гипотенузе, 3) проверка условия, 4) использование циклов while и repeat
Задача №1. По двум катетам
Задание:
Вычислить площадь и периметр прямоугольного треугольника по двум катетам
Program Triangle1;
Var K1, K2, G, Perimeter, Square : Real;
begin
writeln('Площадь и периметр прямоугольного треугольника ');
write('Введите катеты треугольника ');
readln(K1, K2);
G := Sqrt(Sqr(K1) + Sqr(K2));
Perimeter := K1 + K2 + G;
Square := (K1 * K2) / 2;
writeln('Периметр треугольника ', Perimeter);
writeln('Площадь треугольника ', Square);
end.
Задача №2. По катету и гипотенузе
Задание:
Вычислить площадь и периметр прямоугольного треугольника по катету и гипотенузе
Program Triangle1;
Var K1, K2, G, Perimeter, Square : Real;
begin
writeln('Площадь и периметр прямоугольного треугольника ');
write('Введите катет треугольника ');
readln(K1);
write('Введите гипотенузу треугольника ');
readln(G);
K2 := Sqrt(Sqr(G) + Sqr(K1));
Perimeter := K1 + K2 + G;
Square := (K1 * K2) / 2;
writeln('Периметр треугольника ', Perimeter:8:5);
writeln('Площадь треугольника ', Square:8:5);
end.
Задача №3. По гипотенузе и одному из катетов. Использование оператора if
Задание:
Вычислить площадь и периметр прямоугольного треугольника по гипотенузе и одному из катетов
Проверить, существует ли треугольник, с введёнными значениями сторон
Program Triangle3;
Var
K1, K2, G, Perimeter, Square : Real;
begin
writeln('Площадь и периметр прямоугольного треугольника ');
write('Введите катет треугольника ');
readln(K1);
write('Введите гипотенузу треугольника ');
readln(G);
if (K1 < G) then begin
K2 := Sqrt(Sqr(G) + Sqr(K1));
Perimeter := K1 + K2 + G;
Square := (K1 * K2) / 2;
writeln('Периметр треугольника ', Perimeter:12:6);
writeln('Площадь треугольника ', Square:12:6);
end
else writeln('Гипотенуза должна быть больше катета');
end.
Замечание:
В процедуре вывода writeln используется форматированный вывод переменной. Perimeter:12:6 обозначает, что для вывода значения переменной Perimeter будет использоваться 12 позиций, в том числе 6 после запятой.
Задача №4. Использование циклов while и repeat
Задание:
1. Вычислить площадь и периметр прямоугольного треугольника по гипотенузе и одному из катетов
2. Если введённое значение катета больше гипотенузы, то сообщить об ошибке.
3. Спросить у пользователя "Продолжить вычисления?".
Program Triangle4;
Var
K1, K2, G, Perimeter, Square : Real;
Calc : Boolean;
Answer : Char;
begin
Calc := True;
while Calc do begin
writeln('Площадь и периметр прямоугольного треугольника ');
write('Введите катет треугольника ');
readln(K1);
write('Введите гипотенузу треугольника ');
readln(G);
if (K1 < G) then begin
K2 := Sqrt(Sqr(G) + Sqr(K1));
Perimeter := K1 + K2 + G;
Square := (K1 * K2) / 2;
writeln('Периметр треугольника ', Perimeter:8:5);
writeln('Площадь треугольника ', Square:8:5);
end
else writeln('Катет не может быть больше или равен гипотенузе');
repeat
write('Продолжить вычисления Y / N ');
readln(Answer);
if (Answer = 'N') or (Answer = 'n') then Calc := False;
until (Answer = 'Y') or (Answer = 'y') or (Answer = 'N') or (Answer = 'n')
end;
writeln('Программа завершила работу.');
end.
📐 Площадь треугольника по формуле Герона. Три варианта. Во втором примере используется оператор перехода GOTO. Третий пример написан, с учётом рекомендаций PascalABC.NET
🟩 Вычисление периметра и площади квадрата. Четыре варианта решения задачи. В том числе вариант решения на PascalABC.NET, без использования устаревших конструкций (с точки зрения этой версии).