2001-gre-vs-practice.pdf/Q13 — различия между версиями
Материал из DISCOPAL
(→Вопрос: Q13-e5724f) |
|||
Строка 1: | Строка 1: | ||
{{reserve-task|[[Участник:Tiniakov.ad|Tiniakov.ad]] 13:49, 20 декабря 2024 (UTC)}} | {{reserve-task|[[Участник:Tiniakov.ad|Tiniakov.ad]] 13:49, 20 декабря 2024 (UTC)}} | ||
− | |||
− | |||
== Вопрос: Q13-e5724f == | == Вопрос: Q13-e5724f == | ||
Строка 26: | Строка 24: | ||
=== Ответы === | === Ответы === | ||
− | * Правильный ответ: | + | * 0-9; |
− | * | + | * Правильный ответ: 10-19; |
− | + | * 20-29; | |
− | * | + | * 30-39; |
− | * | + | * >39. |
=== Объяснение === | === Объяснение === | ||
{{cstest-source|2001-gre-vs-practice.pdf|19|13}} | {{cstest-source|2001-gre-vs-practice.pdf|19|13}} | ||
+ | Данная программа в цикле while проверяет условие i / j > 0.001. Если условие выполнено, она увеличивает j вдвое и выводит на новое строке число. | ||
+ | Изначально j == 1.0, i == 2.0. Значит в цикле имеем следующую цепочку проверок: | ||
+ | * 2/1 > 0.001? true -> | ||
+ | * 2/2 > 0.001? true -> | ||
+ | * 2/4 > 0.001? true -> | ||
+ | * 2/8 > 0.001? true -> | ||
+ | ... | ||
+ | * 2/2^11 > 0.001? false. | ||
+ | Итого условие цикла выполнилось 12 раз, следовательно верный ответ -- B | ||
{{question-ok|}} | {{question-ok|}} | ||
+ | |||
+ | {{checkme|[[Участник:Tiniakov.ad|Tiniakov.ad]] 14:22, 20 декабря 2024 (UTC)}} | ||
[[Категория:Надо не забыть выбрать тему]] | [[Категория:Надо не забыть выбрать тему]] |
Версия 14:22, 20 декабря 2024
Задача зарезервирована: Tiniakov.ad 13:49, 20 декабря 2024 (UTC)
Вопрос: Q13-e5724f
Рассмотрим следующую программу на языке C
#include <stdio.h> void main() { float sum = 0.0, j = 1.0, i = 2.0; while (i / j > 0.001) { j = j + j; sum = sum + i / j; printf("%f\n", sum); } }
Сколько строчек выведет программа?
Ответы
- 0-9;
- Правильный ответ: 10-19;
- 20-29;
- 30-39;
- >39.
Объяснение
Исходники — вопрос 13 на 19 странице книги «2001-gre-vs-practice.pdf»
Данная программа в цикле while проверяет условие i / j > 0.001. Если условие выполнено, она увеличивает j вдвое и выводит на новое строке число. Изначально j == 1.0, i == 2.0. Значит в цикле имеем следующую цепочку проверок:
- 2/1 > 0.001? true ->
- 2/2 > 0.001? true ->
- 2/4 > 0.001? true ->
- 2/8 > 0.001? true ->
...
- 2/2^11 > 0.001? false.
Итого условие цикла выполнилось 12 раз, следовательно верный ответ -- B Решено: Tiniakov.ad 14:22, 20 декабря 2024 (UTC)