Чему будет равно значение переменной c в результате выполнения фрагмента программы a: =1257; c: =0; while a> 0 do begin if a mod 2< > 0 then b: =a mod 10; c: =c+b; a: =a div 10; end;

nastamelnik700 nastamelnik700    3   22.06.2019 21:50    2

Ответы
drfast555 drfast555  02.10.2020 08:46
Решение: я попробую объяснить словами...
var a,b,c:integer;
begin
a:=1257;
c:=0;
  while (a>0) do              т.к a>0 (1257>0) начинаем решить действия
    begin
      if (a mod 2 <> 0) then   Здесь: 1257:2=628 (остаток 1)
        b:= a mod 10;            Здесь: 1257:10=125 (остаток 7)
        c:=c+b;                     Получается, мы складываем остатки и
        a:=a div 10;               получаем 8. Для ответа нам пригодится
    end;                              число, составленное из остатка а и 8,
    writeln(c);                       то есть 18.
end.

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