Примеры программ на Borland Pascal, ABC Pascal и др.
Компьютерные Технологии в Обучении
  256ПрограммированиеPascalПлощадь треугольника по формуле Герона
Информационный блок
Рекламный блок

Площадь треугольника по формуле Герона

Задачи по информатике, программирование на Паскале. Во втором примере используется оператор перехода GOTO.

Задача №1

Задание:
Вычислить площадь треугольника по формуле Герона S = √(p·(p - a)·(p - b)·(p - c))
Program Heron;
Var p, St, A, B, C : Real;
begin
writeln('Площадь треугольника по формуле Герона ');
write('Введите стороны треугольника ');
readln(A, B, C);
if (A+B>C) AND (A+C>B) AND (B+C>A) then begin { Проверить существует ли треугольник с такими сторонами }
p := (A + B + C) / 2; { Найти полупериметр треугольника }
St := Sqrt(p * (p - a) * (p - b) * (p - c)); { Вычислить площадь }
writeln('Площадь треугольника ', St:8:5)
end
else writeln('Треугольник с такими сторонами не существует')
end.
Замечание:
В процедуре вывода writeln используется форматированный вывод переменной. St:8:5 обозначает, что для вывода значения переменной S будет использоваться 8 позиций, в том числе 5 после запятой. При этом если целая часть числа будет трёхзначной, то после запятой всё равно будет 5 знаков, а всё число будет занимать 9 позиций.

Задача №2

Задание:
1. Вычислить площадь треугольника по формуле Герона S = √(p·(p - a)·(p - b)·(p - c))
2. Спросить у пользователя "Заверить программу или продолжить выполнение".
Program Heron;
Label 1;
Var
p, St, A, B, C : Real;
YN : Char;
begin
writeln('Площадь треугольника по формуле Герона ');
1:
write('Введите стороны треугольника ');
readln(A, B, C);
if (A+B>C) AND (A+C>B) AND (B+C>A) then begin { Проверить существует ли треугольник с такими сторонами }
p := (A + B + C) / 2; { Найти полупериметр треугольника }
St := Sqrt(p * (p - a) * (p - b) * (p - c)); { Вычислить площадь }
writeln('Площадь треугольника ', St:8:5)
end
else writeln('Треугольник с такими сторонами не существует');
write('Продолжить выполнение программы? Y / N ');
readln(YN);
if (YN = 'Y') OR (YN = 'y') then GOTO 1 { Если ввели Y или y, то перейти к метке 1, во всех остальных случаях - завершение программы }
else writeln ('Вы закончили работу с программой');
end.
Рекламный блок