Неправильный вывод результата - Pascal ABC
Формулировка задачи:
Здравствуйте. Мне задали задачу по информатике: дано выражение (x1+n1/z1)+(x2+n2/z2). вывести результат в виде x+n/z. Код ниже. При вводе 4 1 2 3 1 3 выдаёт 7 2 6, а не 7 5 6. Исправьте пожалуйста и объясните, почему неправильный вывод.
Решение задачи: «Неправильный вывод результата»
textual
Листинг программы
function nod(a, b: integer): integer; begin repeat if a > b then a := a mod b else b := b mod a until (a = 0) or (b = 0); nod := a + b end; var x, x1, x2, n, n1, n2, z, z1, z2, d: integer; begin readln(x1, n1, z1, x2, n2, z2); x := x1 + x2; n := n1 * z2 + n2 * z1; z := z1 * z2; d := nod(n, z); n := n div d; z := z div d; x := x + n div z; n := n mod z; write(x, '+' , n, '/' ,z); readln end.
Объяснение кода листинга программы
- Введенные данные: x1, n1, z1, x2, n2, z2.
- Вычисление суммы x1 и x2.
- Вычисление произведения n1 и z2, а также произведения n2 и z1.
- Вычисление остатка от деления n на z.
- Вычисление произведения n и z.
- Вычисление остатка от деления n на z.
- Вычисление суммы n и z.
- Вычисление остатка от деления n на z.
- Вывод на экран значений x, n, z.
- Чтение данных с экрана.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д