Дан фрагмент программы, определите значение переменных s и х после ее выполнения. Запишите оператор вывода значений этих переменных на печать с комментарием

s:=0; х:=1385
while x > 0 do begin
s:= s + x mod 2;
x:= x div 10;
end;

Pan4ugan Pan4ugan    1   20.05.2020 12:50    0

Ответы
alexandrvseznaika alexandrvseznaika  06.09.2020 17:47

s:=0; х:=1385

while x > 0 do begin

1) s:= s + x mod 2 = 1 ;

x:= x div 10 = 138;

2) s:= s + x mod 2 = 1 ;

x:= x div 10 = 13;

3) s:= s + x mod 2 = 2 ;

x:= x div 10 = 1;

4) s:= s + x mod 2 = 3 ;

x:= x div 10 = 0;

write(s); // s = 3

write(x); //х = 0

end

Объяснение:

x mod 2 - остаток после деления х на 2

x div 10 - целое число, которое осталось после деления х на 10

s:=0; х:=1385  - изначальные данные

while x > 0 do begin  - "продолжать пока х > 0"

//комментарий на строке

write() - вывод переменной в скобке

s:=0; х:=1385

while x > 0 do begin

1) s:= s + x mod 2 = 0 + 1 = 1 ;

x:= x div 10 = 1385:10 =  138 (ост. 5 не пишется);

2) s:= s + x mod 2 = 1 + 0 = 1 ;

x:= x div 10 = 138:10 = 13 (ост. 8 не пишется);

3) s:= s + x mod 2 = 1 + 1 = 2 ;

x:= x div 10 = 13:10 = 1 (ост. 3 не пишется);

4) s:= s + x mod 2 = 2 + 1 = 3 ;

x:= x div 10 = 1:10 = 0 (ост. 1 не пишется);

end

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика