Вопрос:

Определите значение переменной S после выполнения следующего фрагмента программы: S:= 0; i:= 8; while i > 1 do begin S:= S + i div 2; i:= i - 1; end;

Фотография

Ответ ассистента

Давай проследим за выполнением цикла шаг за шагом. Исходные значения: $S = 0$, $i = 8$. Цикл работает, пока $i > 1$. 1. $i = 8$: $i > 1$ (истина). $S = 0 + (8 \div 2) = 0 + 4 = 4$. $i$ становится $7$. 2. $i = 7$: $i > 1$ (истина). $S = 4 + (7 \div 2) = 4 + 3 = 7$. $i$ становится $6$. 3. $i = 6$: $i > 1$ (истина). $S = 7 + (6 \div 2) = 7 + 3 = 10$. $i$ становится $5$. 4. $i = 5$: $i > 1$ (истина). $S = 10 + (5 \div 2) = 10 + 2 = 12$. $i$ становится $4$. 5. $i = 4$: $i > 1$ (истина). $S = 12 + (4 \div 2) = 12 + 2 = 14$. $i$ становится $3$. 6. $i = 3$: $i > 1$ (истина). $S = 14 + (3 \div 2) = 14 + 1 = 15$. $i$ становится $2$. 7. $i = 2$: $i > 1$ (истина). $S = 15 + (2 \div 2) = 15 + 1 = 16$. $i$ становится $1$. 8. $i = 1$: $i > 1$ (ложь). Цикл завершается. Конечное значение $S = 16$. **Ответ: 16**

Другие решения

Что ещё задавали пользователи