Найти сумму в виде правильной несократимой дроби с выделенной целой частью - PascalABC.NET
Формулировка задачи:
Даны натуральные числа a , b , c , d . Найти сумму (a/b)+(c/d) в виде правильной несократимой дроби с выделенной целой частью.
Пример
Решение задачи: «Найти сумму в виде правильной несократимой дроби с выделенной целой частью»
textual
Листинг программы
var a,b,c,d,p,q,t,x,y,nd:integer; begin repeat writeln('Введите числители и знаменатели двух дробей, натуральные числа'); readln(a,b,c,d); until(a>0)and(b>0)and(c>0)and(d>0); //суммируем p:=a*d+b*c; q:=b*d; //находим НОД x:=p; y:=q; while x<>y do if x>y then x:=x-y else y:=y-x; nd:=x; //сокращаем p:=p div nd; q:=q div nd; //определяем целую часть и новый числитель t:=p div q; p:=p mod q; //выводим результат write(a,'/',b,'+',c,'/',d,'='); if t=0 then write(p,'/',q) else write(t,' ',p,'/',q); end.
Объяснение кода листинга программы
- Переменные a, b, c, d, p, q, t, x, y, nd инициализируются как целочисленные значения.
- Программа повторяет запрос на ввод числителей и знаменателей двух дробей до тех пор, пока эти числа не будут положительными.
- Затем происходит суммирование двух дробей, и результат сохраняется в переменных p и q.
- Следующий этап - нахождение НОДа (наименьшего общего делителя) для чисел p и q, и сохранение этого значения в переменной nd.
- Далее происходит сокращение суммы дробей путем деления на НОД, и результаты сохраняются в переменных p и q.
- Затем определяется целая часть суммы и новый числитель, и результаты сохраняются в переменных t и p соответственно.
- Наконец, программа выводит результат в виде несократимой дроби в формате a/b+c/d=t/nd, где
a
,b
,c
,d
,t
иnd
- это значения переменных a, b, c, d, t и nd соответственно. Если t=0, то вместо t/nd выводится p/q. Если t не равно нулю, то выводится t, пробел, p/q.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д