Номер §4.5 ПМ 3

ГДЗ по информатике 8 класс, Босова 2023, страница 183

§. ПМ Деление повторным вычитанием

Пример 3. Следующая программа находит частное q и остаток r от деления натурального числа x на натуральное число y без использования операции деления:

var x, y, q, r: integer;
begin
  writeln('Частное и остаток');
  write('Введите делимое x>>'); read(x);
  write('Введите делитель y>>'); read(y);
  r := x;
  q := 0;
  while r >= y do
  begin
    r := r - y;
    q := q + 1
  end;
  writeln('Частное q=', q);
  write('Остаток r=', r)
end.

Выполните программу при x = 25 и y = 4. Каким будет результат выполнения программы при x = −10 и y = 3? Как вы можете объяснить этот результат?

Решение

Переменная r сначала равна делимому, а q равна нулю. Каждый проход вычитает из r одно y и добавляет единицу к q. После прохода сохраняется равенство . Для натуральных x и y цикл заканчивается при , что является правилом деления с остатком.

При , получаем следующую трассировку:

Шаг Действие q r
Начало ,

Теперь , поэтому цикл прекращается. Проверка: . Программа выведет «Частное q=» и «Остаток r=».

При , после начальных присваиваний , . Условие ложно сразу, тело цикла ни разу не выполняется. Программа выведет «Частное q=» и «Остаток r=-». Это не результат деления с неотрицательным остатком: программа составлена для натурального делимого. Для отрицательного числа её начальное условие уже не подходит.

Ответ

При и : q = , r = . При − и программа выводит q = , r = −, так как цикл не выполняется.

Помогло?

Нет твоего задания?Сфоткай, и ДЗмэн решит за пару секунд.

Решить по фото