2011-gre-cs-practice-book.pdf/Q27 — различия между версиями
Материал из DISCOPAL
Urmat A (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
Строка 40: | Строка 40: | ||
{{question-ok|[[Участник:StasFomin|StasFomin]] 14:41, 19 декабря 2024 (UTC)}} | {{question-ok|[[Участник:StasFomin|StasFomin]] 14:41, 19 декабря 2024 (UTC)}} | ||
− | |||
[[Категория:Понимание кода]] | [[Категория:Понимание кода]] |
Текущая версия на 15:13, 19 декабря 2024
Вопрос: Q27-08c765
Рассмотрим два фрагмента программы на языке Java:
Фрагмент 1:
public void P1 (int x, int y, int z) { if ((x != 0) && ((y / x) == z)) z = z + 1; System.out.println("x = " + x + " y = " + y + " z = " + z); }
Фрагмент 2:
public void P2 (int x, int y, int z) { if (((y / x) == z) && (x != 0)) z = z + 1; System.out.println("x = " + x + " y = " + y + " z = " + z); }
Что из следующего верно?
Ответы
- Для всех x, y и z P1(x, y, z) и P2(x, y, z) ведут себя одинаково.
- Для всех x и y существует z такой, что P1(x, y, z) и P2(x, y, z) ведут себя по-разному.
- Для всех x и z существует y такой, что P1(x, y, z) и P2(x, y, z) ведут себя по-разному.
- Правильный ответ: Для всех y и z существует x такой, что P1(x, y, z) и P2(x, y, z) ведут себя по-разному.
- Для всех x, y и z P1(x, y, z) и P2(x, y, z) ведут себя по-разному.
Объяснение
Исходники — вопрос 27 на 28 странице книги «2011-gre-cs-practice-book.pdf»
Приведём такой x: x = 0. Тогда в первом случае условие if не выполнится, но программа продолжит работать, пропустив блок if. Но во втором случае срабатывает исключение и программа не сработает