profile
Опубликовано 5 лет назад по предмету Информатика от vikaduvalova

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


S:=0; i:=7;

while i > 1 do begin

S := S + i div 2;

i := i - 1;

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

  1. Ответ
    Ответ дан Sho0oTeR

    Цикл 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.

Самые новые вопросы