Задать вопрос
28 августа, 10:43

Какую задачу решает приведенный фрагмент программы на языке Паскаль (a и b-переменные целого типа)

readln (a, b);

while ab do

if a>b

then a:=a-b

else b:=b-a;

writeln (a);

1) определяет минимум из двух чисел a и b

2) меняет значение a и b местами

3) определяет наименьшее общее кратное чисел a и b

4) определяет наибольшее общее кратное чисел a и b

5) определяет, на сколько больше значение среди чиселa а и b отличается от меньшего из них

+4
Ответы (2)
  1. 28 августа, 11:21
    0
    Ответ: Определяет наибольший общий делитель

    Пример 1:

    a=2 и b=3

    Первая итерация цикла: b=1

    Вторая итерация цикла: a=1

    Вывод: 1

    Пример 2:

    a=15 и b=5

    Первая итерация цикла: a=10

    Вторая итерация цикла: a=5

    Вывод: 5

    Пример 3

    a=25 и b=15

    Первая итерация цикла: a=10

    Вторая итерация цикла: b=5

    Третья итерация цикла: a=5

    Вывод: 5
  2. 28 августа, 13:10
    0
    5-й вариант.

    Обратите внимание на условие: если a больше b, то вычислить a - b. В противном случае, т. е., если b больше или равно a, вычисляется b-a. Однако, в задаче неточность. Строка else b:=b-a должна выглядеть вот так: else a:=b-a.

    Иначе, в случае, если второе число больше или равно первому, то выводится первое, а результат вычислений нигде не используется и не показывается.

    В доказательство моих слов давайте рассмотрим два варианта

    1) a=5; b=1

    Условие выполняется, происходит вычисление 5-1, результат которого помещается в переменную a, которая потом выводится на экран. Т. е. на экране будет напечатано 4.

    2) a=2; b=3

    Условие не выполняется, переход к блоку else, где происходит вычисление 3-2, результат которого помещается в переменную b. Однако, на экран выводится переменная a, которая содержит двоечку. Таким образом, либо при постановке задачи допущена ошибка, либо в перечне допустимых вариантов отсутствует правильный ответ.
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «Какую задачу решает приведенный фрагмент программы на языке Паскаль (a и b-переменные целого типа) readln (a, b); while ab do if a>b then ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы