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

Материал из DISCOPAL
Перейти к: навигация, поиск
 
(не показаны 2 промежуточные версии 2 участников)
Строка 23: Строка 23:
 
* 5
 
* 5
 
* 6
 
* 6
* 7  
+
* 7
 
* Правильный ответ: 8
 
* Правильный ответ: 8
 
* 9
 
* 9
Строка 33: Строка 33:
  
 
Начальное состояние:
 
Начальное состояние:
result = 0
+
result = 0
k = 0
+
k = 0
  
* Шаг 1: k = 0 \rightarrow k % 3 = 0 \rightarrow 0 != 1 \rightarrow result = 0 + 1 = 1
+
  Шаг 1: k = 0 k % 3 = 0 0 != 1 result = 0 + 1 = 1
 
+
  Шаг 2: k = 1 ⇒ k % 3 = 1 ⇒ 1 == 1 ⇒ result = 1 + 1 = 2
* Шаг 2: k = 1 ⇒ k % 3 = 1 ⇒ 1 == 1 ⇒ result = 1 + 1 = 2
+
  Шаг 3: k = 2 k % 3 = 2 2 != 1 result = 2 + 1 = 3
 
+
  Шаг 4: k = 3 k % 3 = 0 0 != 1 result = 3 + 1 = 4
* Шаг 3: k = 2 -> k % 3 = 2 -> 2 != 1 -> result = 2 + 1 = 3
+
  Шаг 5: k = 4 k % 3 = 1 1 == 1 result = 4 + 4 = 8
 
+
* Шаг 4: k = 3 -> k % 3 = 0 -> 0 != 1 -> result = 3 + 1 = 4
+
 
+
* Шаг 5: k = 4 -> k % 3 = 1 -> 1 == 1 -> result = 4 + 4 = 8
+
  
 
Функция завершается, возвращая значение result = 8
 
Функция завершается, возвращая значение result = 8
  
 
Самопроверка:
 
Самопроверка:
- цикл выполнился 5 раз (k от 0 до 4)
+
* цикл выполнился 5 раз (k от 0 до 4)
- условие k % 3 == 1 выполнилось дважды: при k = 1 и k = 4
+
* условие k % 3 == 1 выполнилось дважды: при k = 1 и k = 4
- в остальных случаях добавлялась единица
+
* в остальных случаях добавлялась единица
 +
 
 +
{{question-ok|[[Участник:StasFomin|StasFomin]] 20:27, 18 декабря 2024 (UTC)}}
  
{{reserve-task|[[Участник:Markvernikov|Markvernikov]] 11:13, 18 декабря 2024 (UTC)}}
+
[[Категория:Циклы]]

Текущая версия на 20:27, 18 декабря 2024

Вопрос: Q06-08c765

Какое значение будет возвращено в результате вызова функции f () ?

int f ()
{
    int k, result;
    result = 0;
    for ( k = 0; k < 5; k++ )
    {
        if ( ( k % 3 ) == 1 )
            result = result + k;
        else
            result = result + 1;
    }
    return result;
}

Ответы

  • 5
  • 6
  • 7
  • Правильный ответ: 8
  • 9

Объяснение

Исходники — вопрос 6 на 17 странице книги «2011-gre-cs-practice-book.pdf»

Результат выполнения функции f():

Начальное состояние:

result = 0
k = 0
 Шаг 1: k = 0 ⇒ k % 3 = 0 ⇒ 0 != 1 ⇒ result = 0 + 1 = 1
 Шаг 2: k = 1 ⇒ k % 3 = 1 ⇒ 1 == 1 ⇒ result = 1 + 1 = 2
 Шаг 3: k = 2 ⇒ k % 3 = 2 ⇒ 2 != 1 ⇒ result = 2 + 1 = 3
 Шаг 4: k = 3 ⇒ k % 3 = 0 ⇒ 0 != 1 ⇒ result = 3 + 1 = 4
 Шаг 5: k = 4 ⇒ k % 3 = 1 ⇒ 1 == 1 ⇒ result = 4 + 4 = 8

Функция завершается, возвращая значение result = 8

Самопроверка:

  • цикл выполнился 5 раз (k от 0 до 4)
  • условие k % 3 == 1 выполнилось дважды: при k = 1 и k = 4
  • в остальных случаях добавлялась единица