Предмет: Информатика, автор: vikaduvalova

Определите значение переменной S после выполнения следующего фрагмента программы:


S:=0; i:=7;

while i > 1 do begin

S := S + i div 2;

i := i - 1;

end;
НАПИШИТЕ, ПОЖАЛУЙСТА, С ПОДРОБНЫМ РЕШЕНИЕМ

Ответы

Автор ответа: Sho0oTeR
4

Цикл while i > 1 do begin означает что он будет выполняться до тех пор, пока i > 1. i изначально равно 7, и в конце каждого выполнения число уменьшается на единицу (i:=i-1). i div 2 означает деление числа на 2 с целым остатком. Исходя из вышесказанного имеем:

(Каждое выполнение цикла буду обозначать как №)

№1: 7>1 (Истина)

S:=0+3=3

i=6

№2: 6>1 (Истина)

S:=3+3=6

i:=5

№3: 5>1 (Истина)

S:=6+2=8

i:=4

№4: 4>1 (Истина)

S:=8+2=10

i:=3

№5: 3>1 (Истина)

S:=10+1=11

i:=2

№6: 2>1 (Истина)

S:=11+1=12

i:=1

№7: 1>1 (Ложь)

Вывод числа S со значением 12.

Ответ: 12.

Похожие вопросы
Предмет: Геометрия, автор: Quliyeva04
Предмет: Биология, автор: renat1259gmailcom