Перемножить две рациональныу дроби, если результат является сократимой дробью, сократите эту дробь - Turbo Pascal
Формулировка задачи:
Напишите программу умножения двух рациональных дробей. Если полученный результат является сократимой дробью, то сократите эту дробь.
Помогите с написание , желательно без процедур, заранее благодарю
Решение задачи: «Перемножить две рациональныу дроби, если результат является сократимой дробью, сократите эту дробь»
textual
Листинг программы
function GCD(a, b: Longint): Longint; { наибольший общий делитель } begin a:=Abs(a); b:=Abs(b); while (a>0) and (b>0) do if a>b then a:=a mod b else b:=b mod a; GCD:=a+b; end; var a, b, c, d, e, f: Integer; begin Write('Введите a/b c/d: '); ReadLn(a,b,c,d); Write(a,'/',b,' * ',c,'/',d,' = '); e:=GCD(a,b); f:=GCD(c,d); if (e>1) or (f>1) then begin { сократимы исходные дроби } a:=a div e; b:=b div e; c:=c div f; d:=d div f; Write(a,'/',b,' * ',c,'/',d,' = '); end; e:=GCD(a,d); f:=GCD(b,c); if (e>1) or (f>1) then begin { сократимо произведение } a:=a div e; d:=d div e; c:=c div f; b:=b div f; Write(a,'*',c,' / (',b,'*',d,') = '); end; WriteLn(a*c,'/',b*d); end.
Объяснение кода листинга программы
- Функция GCD(a, b: Longint): Longint; используется для вычисления наибольшего общего делителя двух целых чисел a и b.
- Переменные a, b, c, d, e, f: Integer; используются для хранения введенных пользователем значений a, b, c и d.
- Выводится приглашение для ввода значений a/b, c/d.
- Введенные значения сохраняются в переменных a, b, c и d.
- Вызывается функция GCD(a, b), затем функция GCD(c, d). Если любой из общих делителей больше 1, то исходные дроби сокращаются.
- Вычисляются новые значения a, b, c и d после сокращения.
- Вызывается функция GCD(a, d), затем функция GCD(b, c). Если любой из общих делителей больше 1, то произведение сокращается.
- Вычисляются новые значения a, d, c и b после сокращения.
- Выводится результат умножения ac / (bd).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д