Конечно! Давай создадим программу на языке Pascal для нахождения площади ромба с использованием трех различных структур: разветвляющейся, линейной и циклической. Площадь ромба можно вычислить по формуле:
- Если известна длина стороны \( a \) и высота \( h \): \( S = a \cdot h \)
- Если известны диагонали \( d1 \) и \( d2 \): \( S = \frac{d1 \cdot d2}{2} \)
1. Линейная программа
program AreaOfRhombusLinear;
var
a, h, d1, d2: real;
choice: integer;
area: real;
begin
writeln('Выберите метод расчета площади ромба:');
writeln('1 - По стороне и высоте');
writeln('2 - По диагоналям');
readln(choice);
case choice of
1: begin
writeln('Введите длину стороны ромба (a):');
readln(a);
writeln('Введите высоту ромба (h):');
readln(h);
area := a * h;
writeln('Площадь ромба: ', area:0:2);
end;
2: begin
writeln('Введите длину первой диагонали (d1):');
readln(d1);
writeln('Введите длину второй диагонали (d2):');
readln(d2);
area := (d1 * d2) / 2;
writeln('Площадь ромба: ', area:0:2);
end;
else
writeln('Неправильный выбор.');
end;
end.
2. Разветвляющаяся программа
program AreaOfRhombusConditional;
var
a, h, d1, d2: real;
choice: integer;
area: real;
begin
writeln('Выберите метод расчета площади ромба:');
writeln('1 - По стороне и высоте');
writeln('2 - По диагоналям');
readln(choice);
if choice = 1 then
begin
writeln('Введите длину стороны ромба (a):');
readln(a);
writeln('Введите высоту ромба (h):');
readln(h);
area := a * h;
writeln('Площадь ромба: ', area:0:2);
end
else if choice = 2 then
begin
writeln('Введите длину первой диагонали (d1):');
readln(d1);
writeln('Введите длину второй диагонали (d2):');
readln(d2);
area := (d1 * d2) / 2;
writeln('Площадь ромба: ', area:0:2);
end
else
writeln('Неправильный выбор.');
end.
3. Циклическая программа
program AreaOfRhombusLoop;
var
a, h, d1, d2: real;
choice: integer;
area: real;
begin
repeat
writeln('Выберите метод расчета площади ромба:');
writeln('1 - По стороне и высоте');
writeln('2 - По диагоналям');
writeln('0 - Выход');
readln(choice);
case choice of
1: begin
writeln('Введите длину стороны ромба (a):');
readln(a);
writeln('Введите высоту ромба (h):');
readln(h);
area := a * h;
writeln('Площадь ромба: ', area:0:2);
end;
2: begin
writeln('Введите длину первой диагонали (d1):');
readln(d1);
writeln('Введите длину второй диагонали (d2):');
readln(d2);
area := (d1 * d2) / 2;
writeln('Площадь ромба: ', area:0:2);
end;
end;
until choice = 0;
end.
Эти три программы позволяют находить площадь ромба различными способами. Вы можете скопировать и запустить каждую из них в среде разработки Pascal, такой как Free Pascal или Turbo Pascal.