Решение задач
Разбор задачи A29 (демо ЕГЭ 2004)
Определите значение целочисленной переменной х после выполнения следующего фрагмента программы:
- 1
- 5
- 10
- 15
Решение:
На рисунке показана работа цикла "пока" (while), который выполняется пока x≠y. В цикл вложен оператор ветвления "если-иначе" с условием x>y.
1 проход цикла while: x=55, y=75.x<y => условие x>y не выполняется. y=y-x=75-55=20.
2 проход цикла while: x=55, y=20.x>y => условие x>y выполняется. x=x-y=55-20=35.
3 проход цикла while: x=35, y=20.x>y => условие x>y выполняется. x=x-y=35-20=15.
4 проход цикла while: x=15, y=20.x<y => условие x>y не выполняется. y=y-x=20-15=5.
5 проход цикла while: x=15, y=5.x>y => условие x>y выполняется. x=x-y=15-5=10.
6 проход цикла while: x=10, y=5.x>y => условие x>y выполняется. x=x-y=10-5=5.
6 проход цикла while: x=5, y=5. x=y. Цикл заканчивает свою работу.
Получили, x=5
Ход выполнения программы представлен ниже.
Переменная | Значение при № прохода цикла "пока": | ||||||
---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | |
x | 55 | 55 | 35 | 15 | 15 | 10 | 5 |
y | 75 | 20 | 20 | 20 | 5 | 5 | 5 |