Определите, что будет напечатано в результате выполнения следующего алгоритма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.   И ОБЪЯСНИТЕ, УМОЛЯ...

Определите, что будет напечатано в результате выполнения следующего алгоритма var a,b:integer; begin a:=0; b:=2364; while b>0 do begin if b mod 10<5 then a:=a+b mod 10; b:=b div 10; end; writeln(a); end.   И ОБЪЯСНИТЕ, УМОЛЯЮ, КАК ЭТО ВЫПОЛНЯТЬ?
Гость
Ответ(ы) на вопрос:
Гость
var a,b:integer;        - говорит программе, что будут использовать целые числа в переменных                                                                  А и В  begin                            - начало программы a:=0;                             - а = 0 b:=2364;                       - b = 2364; while b>0 do begin      - Пока b > 0  делать f b mod 10<5 then       - Если b разделить на 10 в остатке получится число меньше 5 тогда a:=a+b mod 10;          - а = а + b разделить на 10 и найти остаток (этот остаток и прибавить b:=b div 10;                 - b = b разделить на 10 и найти целую часть, на эту целую часть                                          заменить старое значение переменной b end;                             - конец цикла writeln(a);                     - напечатать А end.                             - конец программы   Работает так: 1) a = 0 b = 2364 2364 > 0 да 2364 / 10 = 236 ост 4 4<5 да тогда а = 0 + 4 = 4 b = 2364 / 10 = 236  - находим только целую часть числа   2) проверяем снова условие 236 > 0  да 236 / 10 = 23 ост 6 6 < 5 нет - ничего не делаем ( а осталось равно 4) b = 236 / 10 = 23  - находим только целую часть числа   3) проверяем снова условие 23 > 0 да 23 / 10 = 2 ост 3 3<5  да тогда а = 4 + 3 = 7 b = 23 / 10 = 2 -  находим только целую часть числа   4) проверяем снова условие 2 > 0 да 2/10 = 0 ост 2 2<5 да, тогда а = 7 + 2 = 9 b = 2 / 10 = 0  -  находим только целую часть числа 5) проверяем снова условие 0 > 0 нет   закончили цикл   Напечатать а = 9 конец алгоритма   Алгоритм считает сумму цифр в числе В, которые меньше 5
Не нашли ответ?
Ответить на вопрос
Похожие вопросы