Предмет: Информатика, автор: ghetto88

Чему будет равно значение переменной "С" в результате выполнения фрагмента программы
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;
1) 5; 2) 13; 3) 16; 4) 18.

Ответы

Автор ответа: 65536
0
Данный  фрамент программы прибавляет к с значение последней цифры числа а, если она нечетна, после чего отбрасывает эту цифру. Таким образом, значение с будет равно сумме всех нечетных цифр числа 1257, т.е. 13. Это, судя по всему, так задумывалось. А на самом деле трудно сказать, попадет ли "c:=c+b" в условие, или будет выполняться всегда. Если второе, то вместо каждой четной цифры к с будет прибавляться значение предыдущей(т.е. ближайшей справа) нечетной, и результат будет 18. При проверке у меня получилось 18
Ответ: 4 или 2.
Похожие вопросы
Предмет: География, автор: zairovbekbolat
Предмет: Математика, автор: Аноним