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

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

Задать свой вопрос
2 ответа
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программка не работает, обновите версию!

function GCD(a,b:integer):integer; // НОД
begin
  while blt;gt;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):=(Абс(a),Абс(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
Программка и снимок экрана как она работает в прибавлениях.
Толя Афончин
В конце пренебрегал добавить begin end у заключительней проверки
Антон Мучаидзе
обязано быть так
Денчик Тумбаев
end else begin cx := GCD(bx, ax); // проверка если можно сократить дробь if (cx>1) then writeln(' = ', bx/cx, '/', ax/cx); end;
Егор Фридвальд
с минусами не проверял. Поразмыслил что речь идет только о простых дробях
Константин
сохранил для себя ваше решение. Спасибо!
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт