
СРОЧНО ДАЮ 80 БАЛЛОВ Дана процедура: procedure nod (a, b: integer; var c: integer); begin while
a<>b do if a>b then a:=a-b else b:=b-a; c:=a end; Чему равно значение с после вызова процедуры nod (125, 75, c)?

Ответы на вопрос

Ответ:
c = 25
Объяснение:
125 идёт на вход процедуры как a, а 75 идёт как b.
Далее в цикле всё считается и на выходе 25.
Если более точно, первый раз в цикле идёт:
a := 125 - 75 = 50
потом
b := 75 - 50 = 25
потом
b:= 50 - 25 = 25
Итого 3 итерации по итогу которых все переменные равны 25.



После вызова процедуры nod(125, 75, c)
, значение переменной c
будет равно 25.
Давайте разберемся в процедуре nod
. Эта процедура вычисляет наибольший общий делитель (НОД) двух чисел a
и b
.
В данном случае, при вызове nod(125, 75, c)
, значения a
и b
равны соответственно 125 и 75.
Внутри цикла while
происходит сравнение a
и b
. Если a
больше b
, то из a
вычитается b
, иначе из b
вычитается a
.
Итерации цикла продолжаются до тех пор, пока a
и b
не станут равными.
В данном случае, в первой итерации процесса вычитания, a
станет равным 50, а b
останется равным 75.
Во второй итерации, a
останется равным 50, а b
станет равным 25.
В третьей итерации, a
станет равным 25, а b
останется равным 25.
Так как a
и b
равны, процедура завершается, и значение c
присваивается значению a
, то есть 25.
Таким образом, после вызова процедуры nod(125, 75, c)
, значение c
будет равно 25.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili