1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.5 Упр.5 Задание 1 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.5 Упр.5 Задание 1 ГДЗ Семакин 10 класс (Информатика)

Задача

Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 5. Даны две дроби A/B и C/D (А, В, С, D — натуральные числа). Составить программу вычитания из первой дроби второй. Ответ должен быть несократимой дробью. Использовать подпрограмму алгоритма Евклида для определения НОД. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-5/zad1/5 98

Подробный ответ

Пусть первая дробь равна $$\frac{a}{b}$$, а вторая — $$\frac{c}{d}$$. Тогда

$$\frac{a}{b}-\frac{c}{d}=\frac{ad-bc}{bd}.$$

Чтобы получить несократимую дробь, нужно сократить числитель и знаменатель на их НОД. Для этого используем подпрограмму алгоритма Евклида.

function Euclid(a,b:integer):integer;
begin
  while a<>b do
    if a>b then a:=a-b else b:=b-a;
  Result:=a;
end;

var a,b,c,d: integer;
var zn, ch, gcd, sgn: integer;
begin
  Write(‘Числитель и знаменатель первой дроби: ‘);
  Read(a,b);
  Write(‘Числитель и знаменатель второй дроби: ‘);
  Read(c,d);

  zn := b * d;
  ch := a * d — c * b;
  sgn := Sign(ch);
  ch := Abs(ch);
  gcd := Euclid(ch, zn);

  Write(‘Результат вычитания: ‘);
  if sgn = -1 then Write(‘-‘);
  Writeln(ch div gcd, ‘/’, zn div gcd);
end.

Программа находит общий знаменатель, вычисляет числитель разности, определяет знак результата и сокращает дробь на НОД.

Ответ

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



Общая оценка
3.9 / 5
Другие учебники
Другие предметы