Сократить дробь - Pascal ABC

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

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

С клавиатуры вводятся два натуральных числа - числитель и знаменатель дроби. Сократите дробь и выделите целую часть. Запишите ответ, как указано в примере. Пример: 22 8 2+3/4 8 10 4/5 30 6 5 Помогите пожалуйста! =)

Решение задачи: «Сократить дробь»

textual
Листинг программы
uses crt;
var p,q,c,x,y:integer;
begin
repeat
writeln('Введите числитель и знаменатель дроби - натуральные числа');
readln(p,q);
until(p>0)and(q>0);
//найдем НОД
x:=p;
y:=q;
repeat
if x>y then x:=x mod y
else y:=y mod x;
until (x=0) or (y=0);
x:=x+y; //НОД
//сократим
p:=p div x;
q:=q div x;
c:=p div q; //целая часть
p:=p mod q; //сократим числитель
if c>0 then write(c,' '); //если есть целая часть, выведем
if (p<>q)and(p>0) then write(p,'/',q);//если есть числитель и не равен знаменателю выводим дробь
end.

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

  1. Программа на языке Pascal ABC.
  2. Переменные: p, q, c, x, y (числа).
  3. Ввод числителя и знаменателя дроби с помощью функции readln().
  4. Проверка на положительность числителя и знаменателя с помощью условия (p>0) and (q>0).
  5. Нахождение НОД (наибольшего общего делителя) с помощью цикла и функций mod() и div().
  6. Сокращение дроби путем деления числителя и знаменателя на НОД.
  7. Вывод целой части результата, если она есть.
  8. Проверка на равенство числителя и знаменателя. Если они не равны, то выводится дробь в формате числитель/знаменатель.

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


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

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

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