Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
284
Добавлен:
04.03.2014
Размер:
1.82 Кб
Скачать
Задача:
Пример программы, позволяющей вычислять площади трех геометрических фигур: прямоугольника, треугольника и круга.

Алгоритм решения задачи:
Площадь прямоугольника: 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.
Примечания:
При вводе сторон треугольника должно быть соблюдено правило: сумма любых двух сторон должна быть больше третьей. Иначе возникает ошибка.
Соседние файлы в папке Условные операторы. Циклы