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

Материал из DISCOPAL
Перейти к: навигация, поиск
 
(не показано 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{reserve-task|[[Участник:Urmat A|Urmat A]] 10:57, 19 декабря 2024 (UTC)}}== Вопрос: Q27-08c765 ==
+
== Вопрос: 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)
Строка 11: Строка 13:
 
</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: Строка 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) ведут себя по-разному.
  
  
Строка 33: Строка 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 не выполнится, но код продолжит работать, пропустив блок if. Но во втором случае срабатывает исключение и программа не сработает
+
Приведём такой x: x = 0. Тогда в первом случае условие if не выполнится, но программа продолжит работать, пропустив блок if. Но во втором случае срабатывает исключение и программа не сработает
 +
 
 +
{{question-ok|[[Участник:StasFomin|StasFomin]] 14:41, 19 декабря 2024 (UTC)}}
  
{{question-ok|}}
+
[[Категория:Понимание кода]]
{{checkme|[[Участник:Urmat A|Urmat A]] 13:24, 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. Но во втором случае срабатывает исключение и программа не сработает