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


    S:=0; i:=7;

    while i > 1 do begin

    S := S + i div 2;

    i := i - 1;

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

Ответы 1

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

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years