Составить программу , которая сложить две дроби! нужно сначала к общему знаменателю ! паскаль !

роза413 роза413    1   12.09.2019 20:00    5

Ответы
Никита0088 Никита0088  07.10.2020 10:20
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!

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,sgnb):=(Sign(a),Sign(b)); // мы должны учитывать знак!
  (a,b):=(Abs(a),Abs(b));
  var d:=Gcd(a,b);
  (a,b):=((a div d)*sgna,(b div d)*sgnb)
end;

begin
  var (a,b):=ReadInteger2('Числитель и знаменатель 1-й дроби:');
  var (c,d):=ReadInteger2('Числитель и знаменатель 2-й дроби:');
  var (p,q):=(a*d+b*c,b*d);
  RedFrac(p,q);
  Writeln('Результат: ',p,'/',q)
end.

Пример
Числитель и знаменатель 1-й дроби: -135 36
Числитель и знаменатель 2-й дроби: 31 60
Результат: -97/30

Составить программу , которая сложить две дроби! нужно сначала к общему знаменателю ! паскаль !
ПОКАЗАТЬ ОТВЕТЫ
Aleksstak Aleksstak  07.10.2020 10:20
Программа и скриншот как она работает в приложениях.
Составить программу , которая сложить две дроби! нужно сначала к общему знаменателю ! паскаль !
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика