Блог репетитора по информатике
Цифры в ряд
Сегодня мы рассмотрим стандартный алгоритм обработки цифр числа, для этого мы разберем самую простую задачу: Дано натуральное число, найти сумму цифр этого числа.
Что нам дано по условию задачи? С клавиатуры вводится целое положительное число больше нуля. Об этом нам стало понятно из строчки "Дано натуральное число". Количество разрядов в числе нам за ранее не известно.
Рассуждаем дальше. Как получить цифру числа? И здесь мы должны вспомнить две операции, которые обязательно есть в любом языке программирования: целочисленное деление (div, /, //) и остаток от деления (mod, %). Операция "mod 10" - получает младший разряд числа, а " div 10" - отбрасывает младший разряд.
Значит в алгоритме мы должны организовать цикл, в котором мы будем получать текущий младший разряд числа, затем довалять его в сумму и отрбрасывать его для того, чтобы на следующей итерации работать с более старшим разрядом.
Так как мы не знаем заранее сколько будет разрядов в числе, значит цикл for (цикл с известным числом повторений) мы использовать не можем. Поэтому берем цикл while (цикл с неизвестным числом повторений).
Какое условие нужно записать для работы цикла? Здесь лучше рассуждать от противоположного: когда цикл должен законичить работу? Цикл должен закончить работу, когда в рассматриваемом числе не останется цифр (число станет равно 0). Почему это произойдет? В цикле последней операцией будет операция отбрасывание младшего разряда, а значит мы рано или поздно отбросим все раздряды и получим ноль.
Сделаем вывод, что цикл должен закончится когда введенное число станет равно нулю, а работать цикл должен кода данное число ещё больше ноля (цифры есть).
И еще один вопрос: как подсчитать сумму цифр? Для этого используем формулу накопления. Новое значение переменной равно старому значеню (то, что в ней было до этой операции) плюс новый элемент (в данном случае текущая цифра числа). Но здесь нужно помнить, что переменную, в которую мы записываем сумму, нужно до цикла инициализировать, то есть занести начальное значение (обычно это ноль).
Алгоритм представлне на рисунке.
Ниже представлены алгритмы на трех языках
Пишите и подписывайтесь на мой канал в "Репетитор по информатике Анна Воробьева"