2011-gre-cs-practice-book.pdf/Q27 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
Строка 1: Строка 1:
{{reserve-task|[[Участник:Urmat A|Urmat A]] 10:57, 19 декабря 2024 (UTC)}}== Вопрос: Q27-08c765 ==
+
== Вопрос: Q27-08c765 ==
  
 
Рассмотрим два фрагмента программы на языке Java:
 
Рассмотрим два фрагмента программы на языке Java:
Строка 22: Строка 22:
 
}  
 
}  
 
</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 и 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) ведут себя по-разному.
+
* Для всех x и z существует y такой, что P1(x, y, z) и P2(x, y, z) ведут себя по-разному.
# Правильный ответ: Для всех y и z существует x такой, что 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) ведут себя по-разному.
+
* Для всех x, y и z P1(x, y, z) и P2(x, y, z) ведут себя по-разному.
  
  
Строка 40: Строка 41:
 
{{question-ok|}}
 
{{question-ok|}}
 
{{checkme|[[Участник:Urmat A|Urmat A]] 13:25, 19 декабря 2024 (UTC)}}
 
{{checkme|[[Участник:Urmat A|Urmat A]] 13:25, 19 декабря 2024 (UTC)}}
 +
 +
[[Категория:Понимание кода]]

Версия 14:41, 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. Но во втором случае срабатывает исключение и программа не сработаетCheck-me-animated.gif Решено: Urmat A 13:25, 19 декабря 2024 (UTC)