Вычисление площадей геометрических фигур

Задача

Пример программы, позволяющей вычислять площади трех геометрических фигур: прямоугольника, треугольника и круга.

Решение

Площадь прямоугольника: area = a * b
Площадь треугольника: area = sqrt(s * (s – a) * (s – b) * (s – c)), где s = (a + b + c) / 2
Площадь круга: area = pi * sqr(d) / 4

Пользователь осуществляет выбор фигуры, площадь которой он хочет получить, путем ввода цифр 1, 2 или 3.
Для выбора ветви вычисления используется конструкция if-else, которая включает вторую конструкцию if-else, а та, в свою очередь, - третью:

if 1 then
    вычисление площади прямоугольника
else 
    if 2 then
        вычисление площади треугольника
    else
        if 3 then
            вычисление площади круга
        else
            ошибка

Программа на языке Паскаль: 

const
    pi = 3.14;
 
var
    figure: byte;
    area, s, a, b, c, d: real;
    ok: boolean;
 
begin
   ok := true;
   write('Фигура  (1 - прямоугольник, 2 - треугольник',
   ', 3 - круг): ');
   readln(figure);
 
   if figure = 1 then begin
      write('Длины сторон: ');
      readln(a, b);
      area := a * b
   end
   else
      if figure = 2 then begin
         write('Длины сторон: ');
         readln(a, b, c);
         s := 0.5 * (a + b + c);
         area := sqrt(s * (s - a) * (s - b) * (s - c))
      end
      else
         if figure = 3 then begin
            write('Диаметр: ');
            readln(d);
            area := pi * sqr(d) / 4
         end
         else
            ok := false;
 
   if ok then
      writeln('Площадь: ', area:8:2)
   else
      writeln('Ошибка ввода');
 
readln
end.

Примечания: 

При вводе сторон треугольника должно быть соблюдено правило: сумма любых двух сторон должна быть больше третьей. Иначе возникает ошибка.

Тема

Условные операторы

Уровень

Сложные задачи

Комментарии