Предмет: Информатика,
автор: анджелаaнджелика
Составить программу , которая сложить две дроби!
Нужно сначала привести к общему знаменателю срочно!
Паскаль !
Ответы
Автор ответа:
0
Программа и скриншот как она работает в приложениях.
Приложения:
Автор ответа:
0
с минусами не проверял. Подумал что речь идет только о простых дробях
Автор ответа:
0
Простая дробь - это целочисленные числитель a и знаменатель b при условии |a| < |b|
Автор ответа:
0
сохранил себе ваше решение. Спасибо!
Автор ответа:
0
В NumLibABC есть класс Fraction для работы с простыми дробями. А количество цифр там произвольное (практически бесконечное).
Автор ответа:
0
Поскольку это мой код, я с полным правом взял алгоритм оттуда и упростил его.
Автор ответа:
0
// 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
// Внимание! Если программа не работает, обновите версию!
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
Приложения:
Похожие вопросы
Предмет: Информатика,
автор: harakiri17
Предмет: Геометрия,
автор: varchushans125
Предмет: Геометрия,
автор: miro12
Предмет: Математика,
автор: Кира0951
Предмет: Литература,
автор: Darina2007mix