• Предмет: Информатика
  • Автор: kenigsbergcom
  • Вопрос задан 2 года назад

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


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

Ответы

Ответ дал: drosKimo
2

Ответ:

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


kenigsbergcom: Давай следующее бро, и побыстрее если можно.
kenigsbergcom: Я в 8 классе, не пиши то, что в 8 классе не проходят, пожалуйста
kenigsbergcom: Вот ещё бро
kenigsbergcom: https://znanija.com/task/37310687
drosKimo: это все решается и изучается в 8, дружище
дальше в Паскале ничего нового
drosKimo: А в том я уже не уверен, условие как-то непонятно запсано
kenigsbergcom: Блин
kenigsbergcom: Да напиши как получится, хер с ним
Вас заинтересует