2011-gre-cs-practice-book.pdf/Q27 — различия между версиями
Материал из DISCOPAL
Urmat A (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
(не показано 8 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | + | == Вопрос: Q27-08c765 == | |
Рассмотрим два фрагмента программы на языке Java: | Рассмотрим два фрагмента программы на языке Java: | ||
+ | |||
+ | Фрагмент 1: | ||
<source lang=java> | <source lang=java> | ||
public void P1 (int x, int y, int z) | public void P1 (int x, int y, int z) | ||
Строка 10: | Строка 12: | ||
} | } | ||
</source> | </source> | ||
+ | |||
+ | Фрагмент 2: | ||
<source lang=java> | <source lang=java> | ||
public void P2 (int x, int y, int z) | public void P2 (int x, int y, int z) | ||
Строка 19: | Строка 23: | ||
</source> | </source> | ||
− | |||
Что из следующего верно? | Что из следующего верно? | ||
− | + | === Ответы === | |
− | + | ||
− | + | * Для всех 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) ведут себя по-разному. | ||
Строка 32: | Строка 37: | ||
{{cstest-source|2011-gre-cs-practice-book.pdf|28|27}} | {{cstest-source|2011-gre-cs-practice-book.pdf|28|27}} | ||
− | Приведём такой x: x = 0. Тогда в первом случае условие if не выполнится. Но во втором случае срабатывает исключение и программа не сработает | + | Приведём такой x: x = 0. Тогда в первом случае условие if не выполнится, но программа продолжит работать, пропустив блок if. Но во втором случае срабатывает исключение и программа не сработает |
+ | |||
+ | {{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. Но во втором случае срабатывает исключение и программа не сработает