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

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

Задача

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

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

При умножении дробей числители перемножаются, как и знаменатели:

$$\frac{A}{B}\cdot\frac{C}{D}=\frac{A\cdot C}{B\cdot D}$$

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

Подпрограмма для НОД может быть такой:

function NOD(x, y: integer): integer;
begin
  while x <> y do
  begin
    if x > y then x := x — y
    else y := y — x;
  end;
  NOD := x;
end;

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

var
  a, b, c, d, p, q, g: integer;

function NOD(x, y: integer): integer;
begin
  while x <> y do
  begin
    if x > y then x := x — y
    else y := y — x;
  end;
  NOD := x;
end;

begin
  readln(a, b, c, d);
  p := a * c;
  q := b * d;
  g := NOD(p, q);
  writeln(p div g, ‘/’, q div g);
end.

Ответ

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



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