Вопрос задан 15.02.2019 в 08:05. Предмет Информатика. Спрашивает Корнейчук Яна.

Определите, что будет напечатано в результате выполнения следующего алгоритма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
Перейти к ответам

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

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

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Алгоритм, который вы предоставили, вычисляет сумму цифр числа `b`, если эти цифры меньше 5. Давайте разберемся, как это работает.

Шаг 1:

Сначала инициализируются две переменные `a` и `b`. Переменная `a` устанавливается равной 0, а переменная `b` устанавливается равной 2364.

Шаг 2:

Затем начинается цикл `while`, который продолжается, пока `b` больше 0. Внутри цикла выполняются следующие действия:

Шаг 3:

Проверяется условие `b mod 10 < 5`. Оператор `mod` возвращает остаток от деления `b` на 10, то есть последнюю цифру числа `b`. Если эта цифра меньше 5, выполняются следующие действия:

Шаг 4:

К переменной `a` прибавляется остаток от деления `b` на 10, то есть последняя цифра числа `b`. Это происходит с помощью оператора `a := a + b mod 10`.

Шаг 5:

Число `b` делится на 10 с помощью оператора `b := b div 10`, чтобы удалить последнюю цифру.

Шаг 6:

Цикл повторяется, начиная с шага 3, пока `b` больше 0.

Шаг 7:

Когда `b` становится равным 0, цикл завершается, и программа переходит к следующей строке кода.

Шаг 8:

На последней строке кода выводится значение переменной `a` с помощью оператора `writeln(a)`.

Теперь давайте выполним этот алгоритм вручную, чтобы увидеть, что будет напечатано.

``` a := 0 b := 2364

while b > 0 do if b mod 10 < 5 then a := a + b mod 10 b := b div 10

writeln(a) ```

Исполнение алгоритма:

1. `a` = 0, `b` = 2364 2. `b` mod 10 = 4 < 5, поэтому `a` = 0 + 4 = 4, `b` = 236 3. `b` mod 10 = 6 > 5, поэтому `a` остается равным 4, `b` = 23 4. `b` mod 10 = 3 < 5, поэтому `a` = 4 + 3 = 7, `b` = 2 5. `b` mod 10 = 2 < 5, поэтому `a` = 7 + 2 = 9, `b` = 0 6. Цикл завершается, так как `b` становится равным 0. 7. Значение переменной `a` равно 9, и оно выводится на экран.

Таким образом, в результате выполнения данного алгоритма будет напечатано число 9.

0 0

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

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

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