===== PascalABC.NET =====
function GCD(a, b: integer): integer;// НОД
begin
while b <> 0 do
begin
a := a mod b;
Swap(a, b)
end;
Result := a
end;
procedure RedFrac(var a, b: integer);// сокращение дроби
begin
var sgna := Sign(a); // мы должны учитывать знак!
var sgnb := Sign(b); // мы должны учитывать знак!
a := Abs(a);
b := Abs(b);
var d := GCD(a, b);
a := (a div d) * sgna;
b := (b div d) * sgnb
end;
begin
var (p1, q1) :=
ReadInteger2('Дробь 1. Введите числитель и знаменатель:');
var (p2, q2) :=
ReadInteger2('Дробь 2. Введите числитель и знаменатель:');
var p3 := p1 * q1 + p2 * q2;
var q3 := q1 * q2;
RedFrac(p3, q3);
Println(p3, '/', q3)
end.
Значение ячейки B4 будет равным 10
B1 = A2 - A1 =6 - 4 = 2
A3 = A1 - B1 = 4 - 2 = 2
B2 = A1 + A2 + A3 = 4 + 6 + 2 = 12
B3 = B1 + B2 = 2 + 12 = 14
A4 = (A1 + A2 + A3 ) / 3 = (2 + 6 + 4) / 3 = 4
B4 = B3 - A4 = 14 - 4 = 10