Умножение дроби на дробь - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста. Даны две дроби A/B и С/D (A,B,C,D-натуральные числа). составить программу для умножения дроби на дробь. Результат должен быть несократимой дробью.

Решение задачи: «Умножение дроби на дробь»

textual
Листинг программы
uses crt;
{нахождение НОД по алгоритму Эвклида}
function nod(x,y:integer):integer;
begin
repeat
if x>y then x:=x mod y
else y:=y mod x;
until (x=0) or (y=0);
nod:=x+y;
end;
{умножение}
procedure umn(a,b,c,d:integer;var e,f:integer);
begin
e:=a*c;
f:=b*d;
e:=e div nod(e,f);
f:=f div nod(e,f);
write(a,'/',b,'*',c,'/',d,'=',e,'/',f);
end;
var a,b,c,d,e,f:integer;
begin
repeat
writeln('Введите числитель и знаменатель первой дроби, натуральные числа:');
read(a,b);
until(a>0)and(b>0);
repeat
writeln('Введите числитель и знаменатель второй дроби, натуральные числа:');
read(c,d);
until(c>0)and(d>0);
umn(a,b,c,d,e,f);
end.

Объяснение кода листинга программы

  1. Программа начинается с подключения модуля CRT, который обеспечивает взаимодействие с консолью.
  2. Далее идет функция nod(x,y:integer):integer;, которая находит НОД по алгоритму Эвклида.
  3. Затем идет процедура umn(a,b,c,d:integer;var e,f:integer), которая выполняет умножение двух дробей.
  4. В основной части программы после объявления шести переменных типа integer, идет цикл, который повторяется до тех пор, пока пользователь не введет некорректные значения для числителя и знаменателя первой и второй дробей.
  5. Внутри цикла происходит вывод сообщения с просьбой ввести числитель и знаменатель первой и второй дробей.
  6. После корректного ввода значений и выполнения умножения двух дробей, результат выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы