Предмет: Информатика, автор: xSelekTx

Напишите решение задачи в паскале:
Прямоугольник задан координатами левого верхнего и правого нижнего углов.Найти площадь и периметр.(С помощью вспомогательного алгоритма)


xSelekTx: ПОмогитеее

Ответы

Автор ответа: therealcf2014
2
var a, b, x1, x2, y1, y2, s, p: real;
begin
write('Введите через пробел x1 и y1: ');
read(x1, y1);
write('Введите через пробел x2 и y2: ');
read(x2, y2);
a:=x2-x1;
b:=y1-y2;
s:=a*b;
p:=2*(a+b);
writeln('S = ', s);
writeln('P = ', p);
end.

Делать подобное контрпродуктивно, слишком много ненужного кода.

var x1, x2, y1, y2, s, p: real;
function a(x1, x2: real): real;
begin
a:=x2-x1;
end;
function b(y1, y2: real): real;
begin
b:=y1-y2;
end;
begin
write('Введите через пробел x1 и y1: ');
read(x1, y1);
write('Введите через пробел x2 и y2: ');
read(x2, y2);
s:=a(x1, x2)*b(y1, y2);
p:=2*(a(x1, x2)+b(y1, y2));
writeln('S = ', s);
writeln('P = ', p);
end.

xSelekTx: и это разве через функцию?
therealcf2014: b:=y1-y2; А про функцию ни слова не было.
xSelekTx: вспомогательный алгоритм
xSelekTx: это и есть алгоритм функции
therealcf2014: Ты про function(x: integer): integer begin ... end; ?
xSelekTx: ++
therealcf2014: Может тогда через процедуру? Тут 2 значения
xSelekTx: надо именно через это(
therealcf2014: Тогда одной функцией не обойдется
xSelekTx: сделай с 2 пож(
Похожие вопросы
Предмет: Другие предметы, автор: YAGAMI235