Program Ls112kfdkfjfj; const pi=3.14; var n,m: real; function S(r: real): real; begin S:=pi*r*r; end; begin write('R1='); readln(n); n:=S(n); write('R2='); readln(m); m:=S(m); writeln('S=',abs(n-m)); end.
Нужно взять сумму произведений числителей и знаменателей крест накрест, то есть a на d, b на c, и поделить на произведение знаменателей. В математической форме, чтоб понятнее было: . Дальше можно сократить: для удобства запишем получившийся числитель в переменную n, а знаменатель - в m. Найдем для этого наибольший общий делитель, и для данного алгоритма запишем значение m в переменную m1, n в n1, чтобы не портить их значения: Если n1>m1, поменяем значение переменной n1 на n1-m1, если же m1>n1, то сделаем наоборот - присвоим переменной m значение m1-n1, повторим этот алгоритм до тех пор, пока m1>0 и n1>0. После завершения цикла выберем большее число из m и n, и оно будет наиб. общим делителем. Теперь вернемся к дроби m/n. Поделим m и n на получившийся наибольший общий делитель. Выведем получившиеся результаты. m - в качестве числителя, и n - знаменателя. Дроби суммированы.
const pi=3.14;
var n,m: real;
function S(r: real): real;
begin
S:=pi*r*r;
end;
begin
write('R1=');
readln(n);
n:=S(n);
write('R2=');
readln(m);
m:=S(m);
writeln('S=',abs(n-m));
end.