Вопрос задан 24.01.2019 в 17:46. Предмет Информатика. Спрашивает Крутоус Марина.

Определите, что будет напечатано в результате выполнения следующего алгоритмаvar

a,b:integer;begina:=0;b:=2364;while b>0 do beginif b mod 10<5 thena:=a+b mod 10;b:=b div 10;end;writeln(a);end.объясните, как решать, пожалуйста.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Халикова Алия.

Есть две переменные а и б
Изначально а=0, б=2364

 

Пока б будет больше 0 он будет выполнять следующие действия:

если остаток от б/10 меньше нуля тогда к А прибавляется этот остаток.
 Б делим на 10 и повторяем

 

Вывод А

 

Сама задача вычисляет сумму цифр в числе которые меньше 5.
Дано Б = 2364.

Задача смотрит остаток от 2364 mod 10 = 4

4 меньше пяти соответственно в А=4

далее 2364/10=236

 

теперь 236 mod 10 = 6

6 больше пяти поэтому ниче не делаем

236 div 10 = 23

 

теперь 23 mod 10 = 3

3 меньше пяти соответственно А=А+3 = 4+3 = 7

23 див 10 = 2

 

теперь 2 mod 10 = 2

2 меньше 5 соответственно А=А+3 = 7+2 = 9

2 див 10 = 0

 

Так как Б=0 программа выходит из цикла и выводит А, т.е. число 9

 

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос