На Горох
Информатика, 8 класс

19.5. Выделение цифр из числа

"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо и Ю.А. Быкадоров, Е.Н. Войтехович

Объяснение темы В оглавлении: 19.5. Выделение цифр из числа

Кратко о теме

Цифры числа можно извлекать по одной с помощью двух действий: целочисленного деления на 10 и нахождения остатка от деления на 10. Остаток показывает последнюю цифру, а целочисленное деление её отбрасывает. Если повторять эти действия, можно получить все цифры числа справа налево. Этот приём нужен в программах для подсчёта цифр, вычисления их суммы и проверки свойств записи числа.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Цифра числа — знак от 0 до 9, которым записывают число. Например, число 583 состоит из цифр 5, 8 и 3. При разборе числа важно не только назвать цифры, но и определить, в каких местах записи они стоят: одна и та же цифра может иметь разное значение в разных позициях.

Разряд числа — позиция цифры, определяющая её вклад в значение числа. Справа налево идут разряды единиц, десятков, сотен, тысяч и далее. Например, в числе 583 цифра 8 стоит в разряде десятков и означает 80, а цифра 5 стоит в разряде сотен и означает 500. Разряды нужны, чтобы точно указать, какую цифру требуется найти.

Целочисленное деление на 10 — операция, которая делит неотрицательное целое число на 10 и оставляет только целую часть результата. Например, 583 div 10 = 58: цифра единиц отброшена, а остальные цифры сохранились. Эта операция нужна, когда программа должна перейти от последней цифры числа к цифре слева от неё.

Остаток от деления на 10 — число, которое остаётся после целочисленного деления неотрицательного целого числа на 10. Для чисел в десятичной записи этот остаток совпадает с последней цифрой: 583 mod 10 = 3. Операция помогает получить цифру, не перебирая и не преобразуя всю запись числа.

Как это устроено

При делении числа на 10 с остатком оно раскладывается на полные десятки и оставшуюся часть: n = 10q + r. Здесь q — целое количество десятков, а r — остаток от 0 до 9. Десятки дают слагаемое, кратное 10, поэтому именно r соответствует единицам. Например, 583 = 58 · 10 + 3, значит, остаток равен цифре единиц.

Чтобы получить цифру единиц, достаточно применить к числу операцию нахождения остатка от деления на 10. Остаток не может быть больше 9, потому что при делении на 10 неполная часть меньше делителя. Значит, он всегда будет одной цифрой. Для 746 вычисление 746 mod 10 даёт 6 — последнюю цифру записи.

Целочисленное деление на 10 убирает последнюю цифру, поскольку число десятков остаётся целой частью частного. Например, 746 div 10 = 74, а запись 74 получена удалением цифры 6 справа. После такого действия цифра десятков исходного числа оказывается на месте единиц. Поэтому остаток от деления нового числа на 10 даст именно прежнюю цифру десятков.

Для цифры заданного разряда сначала нужно отбросить все цифры справа от него, а затем взять остаток от деления на 10. Если единицы имеют номер 0, то цифра разряда k вычисляется как (n div 10ᵏ) mod 10. Например, для десятков делят на 10 нацело, а для сотен — на 100. Деление на соответствующую степень 10 убирает нужное число крайних справа цифр.

Все цифры числа можно извлекать по очереди, каждый раз работая с его оставшейся частью. Сначала остаток от деления на 10 даёт последнюю цифру, затем целочисленное деление на 10 отбрасывает её. Повторяя эту пару действий, программа движется справа налево, пока не останется цифр. Если исходное число равно 0, цикл с условием «пока число не равно нулю» не выполнится ни разу, поэтому ноль нужно вывести отдельной проверкой.

Способы выделения цифр неотрицательного целого числа

Что требуется найтиДействие с числом nРезультат
Цифра единицn mod 10Остаток от деления на 10
Цифра десятков(n div 10) mod 10Вторая цифра справа
Цифра сотен(n div 100) mod 10Третья цифра справа
Цифра разряда с номером k, если единицы имеют номер 0(n div 10ᵏ) mod 10Цифра разряда k

Сначала определи, сколько цифр справа нужно отбросить, чтобы искомая оказалась на месте единиц. Для этого раздели число на 10, 100 или другую нужную степень 10 целочисленно. Затем возьми остаток от деления результата на 10.

Разбор задач

Найти цифру единиц числа 583

Нужна последняя цифра записи, поэтому достаточно узнать остаток при делении числа на 10. Деление с остатком отделяет полные десятки от единиц. Выполним действия по порядку.

  1. Запишем операцию: 583 mod 10. Нужно найти, сколько единиц останется после выделения полных десятков.
  2. Представим число как 583 = 58 · 10 + 3. Число 58 показывает полные десятки, а 3 — оставшуюся часть.
  3. Остаток равен 3, следовательно, цифра единиц числа 583 — 3. Проверить ответ можно по записи числа: справа действительно стоит 3.

Ответ: 3.

Найти цифры десятков и сотен числа 583

Остаток исходного числа от деления на 10 дал бы единицы, поэтому сначала нужно убрать цифры справа от искомого разряда. Для десятков достаточно отбросить одну цифру, для сотен — две. После этого искомая цифра окажется последней, и её можно будет извлечь остатком.

  1. Для цифры десятков разделим 583 на 10 нацело: 583 div 10 = 58. Цифра единиц отброшена, а 8 теперь стоит на месте единиц.
  2. Найдём остаток: 58 mod 10 = 8. Значит, цифра десятков исходного числа равна 8.
  3. Для цифры сотен отбросим две цифры справа: 583 div 100 = 5. Остаток от деления 5 на 10 равен 5, поэтому цифра сотен — 5.

Ответ: цифра десятков — 8, цифра сотен — 5.

Вывести все цифры числа, начиная с последней

Нужно повторять получение остатка и отбрасывание последней цифры, пока число не станет нулём. Например, для 583 программа сначала выведет 3, затем 8, затем 5. Число 0 требует особого случая: иначе условие цикла сразу окажется ложным.

  1. Считаем число n. Если n = 0, выводим 0 и завершаем алгоритм. Такая проверка нужна, чтобы цифра нуля не потерялась.
  2. Пока n больше 0, находим последнюю цифру: d = n mod 10. Выводим d, потому что она ещё не была обработана.
  3. После вывода выполняем n = n div 10. Так последняя цифра исчезает, и при следующем повторении остаток покажет предыдущую.
  4. Для числа 583 получаются значения 3, 8 и 5; затем n становится равным 0, и цикл заканчивается. Цифры выводятся справа налево, а не в обычном порядке записи.

Ответ: алгоритм выводит остаток от деления на 10, затем делит число на 10 нацело и повторяет действия; для исходного нуля выводит 0 отдельно.

Типичные ошибки

Обычное деление используют вместо целочисленного, и вместо числа без последней цифры получают дробный результат. Так бывает, если не различать запись деления и действие, которое оставляет только целую часть. Проверь себя: при делении нацело 583 должно превратиться в 58, без дробной части. Если в ответе появилось 58,3, выбрана не та операция.

Целочисленное деление и остаток иногда путают, хотя они выполняют разные действия. Первое отбрасывает последнюю цифру, второе возвращает её. Ошибку помогает обнаружить простая проверка на числе 583: деление нацело даёт 58, а остаток — 3. Если эти результаты поменялись местами, проверь выбранную операцию.

Для цифры десятков могут взять остаток исходного числа от деления на 10. Это действие находит только единицы, потому что цифра десятков ещё не перемещена к концу записи. Сначала выполни целочисленное деление на 10, а затем найди остаток. Для 583 правильный результат десятков — 8, а не 3.

В алгоритме перебора цифр иногда забывают проверить, не равно ли исходное число нулю. Цикл «пока n больше 0» при таком вводе не запустится, и программа ничего не выведет. Проверь работу алгоритма на граничном значении 0: ожидаемый результат — одна цифра 0. Чтобы он появился, обработай этот случай отдельно.

Связь с другими темами

Для работы с цифрами нужны знания о разрядах десятичной записи и делении с остатком. Разряды объясняют, какую часть числа ищут, а остаток помогает отделить единицы от десятков. При программировании приём связывает арифметические операции с циклами: одни и те же действия повторяются, пока в числе остаются цифры. На его основе можно считать количество цифр, находить их сумму и проверять свойства записи числа.

Что запомнить

  • Остаток от деления неотрицательного целого числа на 10 — его цифра единиц.
  • Целочисленное деление на 10 отбрасывает цифру единиц.
  • Чтобы получить цифру десятков, сначала отбрось цифру единиц, затем возьми остаток от деления на 10.
  • Для цифры сотен сначала отбрось две цифры справа.
  • При последовательном выделении цифр сначала получается последняя цифра числа.
  • Для числа 0 нужно предусмотреть отдельный вывод цифры 0.

Частые вопросы по теме

Как получить последнюю цифру целого числа?

Для неотрицательного целого числа нужно найти остаток от деления на 10. Например, 583 mod 10 = 3, значит, последняя цифра — 3.

Почему остаток от деления на 10 равен цифре единиц?

Любое неотрицательное целое число можно представить как число десятков, умноженное на 10, плюс цифра единиц. При делении на 10 десятки делятся без остатка, а цифра единиц остаётся.

Как найти цифру десятков или сотен?

Для десятков сначала раздели число на 10 нацело, а затем найди остаток от деления результата на 10. Для сотен раздели исходное число на 100 нацело и возьми остаток от деления на 10.

В каком порядке программа выделяет цифры числа?

Сначала программа получает цифру единиц — последнюю в записи числа. Затем она отбрасывает её целочисленным делением на 10 и таким же способом находит следующую цифру.

Почему в алгоритме выделения цифр нужно отдельно проверить число 0?

Если цикл выполняется, пока число не равно нулю, при начальном значении 0 его тело не запустится. Поэтому программа ничего не выведет. Отдельная проверка позволяет вывести цифру 0.

Спросить по теме параграфа

19.5. Выделение цифр из числа

Учебник

Оглавление →
Предмет
Информатика
Класс
8 класс
Учебник
"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо и Ю.А. Быкадоров, Е.Н. Войтехович