Написать процедуру, которая складывает два рациональных числа - Turbo Pascal

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

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

2) Для комбинированного типа
написать процедуру p(c,a:drob; var b:drob), которая складывает рациональные числа a и b и присваивает их сумму рациональному параметру с.

Решение задачи: «Написать процедуру, которая складывает два рациональных числа»

textual
Листинг программы
type
  natur = 1..maxint;{натуральные числа из диапазона integer}
 
type
  drob = record
    ch: integer;
    zn: natur;
  end;
 
 
function NOD(m, n: natur): natur;{наибольший общий делитель}
begin
  while m <> n do
    if m > n then 
      m := m - n 
    else 
      n := n - m;
  NOD := m;
end;
 
var
  z, x, y: drob;
  a, b, c, d: natur;
  e, f: natur;
  kr: natur;
 
procedure SumDrob(x, y: drob; var z: drob);
begin
  z.ch := x.ch * y.zn + x.zn * y.ch;{числитель}
  z.zn := x.zn * y.zn;{знаменатель}
  kr := NOD(z.ch, z.zn);{нод}
  z.ch := z.ch div kr;{сокращаем дробь}
  z.zn := z.zn div kr;
end;
 
begin
  writeln('Введите 4 натуральных числа-числители и знаменатели 2х дробей:');
  repeat
    readln(a, b, c, d);
  until(a > 0) and (a <= maxint) and (b > 0) and (b <= maxint) and
       (c > 0) and (c <= maxint) and (d > 0) and (d <= maxint);
  x.ch := a;
  x.zn := b;
  y.ch := c;
  y.zn := d;    
  sumdrob(x, y, z);       
  write('Сумма дробей ', x.ch, '/', x.zn, ' + ', y.ch, '/', y.zn, ' = ', z.ch, '/', z.zn);
  readln
end.

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

  1. Создаём тип данных natur, который представляет натуральное число из диапазона integer.
  2. Создаём тип данных drob, который представляет дроби с двумя числами: числитель (ch) и знаменатель (zn).
  3. Определяем функцию NOD, которая вычисляет наибольший общий делитель двух чисел.
  4. Объявляем переменные z, x и y типа drob, а также a, b, c и d типа natur.
  5. В цикле повторяем, пока не будут введены корректные числа.
  6. Задаем значения числителей и знаменателей для переменных x, y и z.
  7. Вызываем процедуру SumDrob, передавая в неё переменные x, y и z.
  8. Выводим результат на экран.
  9. Ждем ввода пользователя.

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


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

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

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