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

0 голосов
340 просмотров

Определите значение переменной S после выполнения следующего фрагмента программы: S:=0; i:=7; while i > 1 do begin S := S + i div 2; i := i - 1; end; НАПИШИТЕ, ПОЖАЛУЙСТА, С ПОДРОБНЫМ РЕШЕНИЕМ


Информатика (318 баллов) | 340 просмотров
Дан 1 ответ
0 голосов

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

(1.9k баллов)