Примеры программ на Borland Pascal, ABC Pascal и др.
  256ПрограммированиеPascalПлощадь прямоугольного треугольника

Вычислить площадь и периметр прямоугольного треугольника по двум сторонам

📐 Площадь треугольника по формуле Герона. Три варианта. Во втором примере используется оператор перехода 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 { Цикл для проверки введённого значения Y, y, N, n }
write('Продолжить вычисления Y / N ');
readln(Answer);
if (Answer = 'N') or (Answer = 'n') then Calc := False; { Если введённое значение N или n, то завершить программу }
until (Answer = 'Y') or (Answer = 'y') or (Answer = 'N') or (Answer = 'n') { Проверка условия для завершения цикла }
end;
writeln('Программа завершила работу.');
end.

📐 Площадь треугольника по формуле Герона. Три варианта. Во втором примере используется оператор перехода GOTO. Третий пример написан, с учётом рекомендаций PascalABC.NET
🟩 Вычисление периметра и площади квадрата. Четыре варианта решения задачи. В том числе вариант решения на PascalABC.NET, без использования устаревших конструкций (с точки зрения этой версии).

Рекламный блок

Информационный блок