Найти сумму в виде правильной несократимой дроби с выделенной целой частью - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д