"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В.М. Котов, А.И. Лапо, Е.Н. Войтехович
Целочисленные данные — числа без дробной части, например 7, 0 или −12. Они нужны, когда программа выполняет вычисления с целыми значениями, сравнивает их или анализирует запись числа по цифрам. Для таких задач важно различать обычное деление и операции div и mod: первая даёт целую часть частного, вторая — остаток. С их помощью можно находить последнюю цифру числа, удалять её и постепенно обрабатывать все цифры в цикле.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Целочисленные данные — числа без дробной части, с которыми выполняют арифметические операции и сравнения. Примеры таких чисел — 8, 0 и −14. В программе их записывают в целочисленные переменные, чтобы хранить исходные значения и результаты вычислений. Это удобно, когда по условию задачи нужны именно целые значения.
Целочисленное деление — операция div, которая даёт целую часть частного при делении одного целого числа на другое. Например, 17 div 5 = 3: дробная часть результата не сохраняется. Эта операция нужна, когда требуется получить целое число, например убрать последнюю цифру натурального числа. Делитель при этом не может быть равен нулю.
Остаток от деления — результат операции mod, который показывает, что осталось после целочисленного деления. Например, 17 mod 5 = 2, потому что 17 = 5 · 3 + 2. Остаток помогает находить отдельные части числа и проверять делимость. Вместе с div он даёт полное представление о результате деления.
Обработка цифр числа — последовательное выделение и анализ цифр целого числа с помощью деления на 10 и нахождения остатка. Остаток позволяет получить крайнюю справа цифру, а целочисленное деление убрать её. Повторяя эти действия, программа проходит число цифра за цифрой. Такой способ применяют в задачах о сумме цифр и свойствах числа.
Целочисленные переменные объявляют, чтобы программа знала, какие значения в них будут храниться. В них записывают исходные данные, например числа, введённые пользователем, а также результаты действий с этими числами. Переменной присваивают значение, а затем используют её в выражении или проверке. Если ожидается целое число, целочисленный тип помогает не хранить лишнюю дробную часть.
Обычное деление может дать дробный результат, а div предназначена для получения целого частного. Например, при делении 17 на 5 обычный результат равен 3,4, но 17 div 5 даёт 3. Дробная часть отбрасывается, потому что операция возвращает целое значение. Поэтому div выбирают, когда нужны целые части результата, а не точное дробное частное.
Операции div и mod связаны: вместе они показывают, сколько раз делитель помещается в делимом и что остаётся после этого. Если частное равно q, остаток равен r, делимое равно a, а делитель — b, то a = b · q + r. Например, 17 div 5 = 3 и 17 mod 5 = 2, поэтому 17 = 5 · 3 + 2. Эта связь помогает проверить вычисление и понять смысл обеих операций.
В десятичной записи число состоит из цифр, а основание нашей системы счисления — 10. Остаток при делении натурального числа на 10 показывает, сколько единиц стоит в разряде единиц, то есть последнюю цифру: 438 mod 10 = 8. При делении на 10 целочисленно разряд единиц отбрасывается: 438 div 10 = 43. Значит, одна операция выделяет крайнюю цифру, а другая оставляет остальные разряды.
Чтобы обработать каждую цифру, действия с mod и div повторяют в цикле. Сначала программа получает последнюю цифру, выполняет с ней нужное действие, а затем заменяет обрабатываемое число результатом деления на 10. Так число уменьшается, и следующая цифра становится последней. Цикл продолжается, пока число не станет равным нулю, после чего все его цифры уже обработаны.
| Операция | Обозначение | Назначение | Пример |
|---|---|---|---|
| Сложение | + | Находит сумму чисел | 7 + 3 = 10 |
| Вычитание | − | Находит разность чисел | 7 − 3 = 4 |
| Умножение | · или * | Находит произведение чисел | 7 · 3 = 21 |
| Целочисленное деление | div | Находит целую часть частного | 17 div 5 = 3 |
| Нахождение остатка | mod | Находит остаток после деления | 17 mod 5 = 2 |
Чтобы выбрать операцию, сначала определите, какой результат нужен: сумму, разность, произведение, целое частное или остаток. Для деления с остатком используйте div и mod вместе и проверьте равенство делимое = делитель · частное + остаток. Перед делением убедитесь, что делитель не равен нулю.
Условие: даны два целых числа. Нужно найти частное и остаток от деления первого числа на второе. Пусть это числа 29 и 6. Перед вычислением проверим, что делитель 6 не равен нулю.
Ответ: частное равно 4, остаток равен 5. Если бы второй вводимый делитель оказался нулём, выполнять div и mod было бы нельзя. В программе это условие следует проверить до вычислений.
Условие: дано натуральное число. Требуется определить его последнюю цифру и число, которое получится после её удаления. Возьмём число 735. Сначала нужно понять, какая операция выделяет крайнюю справа цифру, а какая оставляет старшие разряды.
Ответ: последняя цифра — 5, число после её удаления — 73. Нулевой остаток для последней цифры возможен, например у числа 730. Тогда операция div всё равно правильно удалит последнюю цифру и даст 73.
Условие: дано натуральное число, нужно найти сумму его цифр. Пусть дано число 527, а начальная сумма равна нулю. В цикле будем извлекать крайнюю справа цифру, прибавлять её к сумме и убирать из числа.
Ответ: сумма цифр числа 527 равна 14. В программе шаги повторяются, пока обрабатываемое число не станет нулём. На каждом шаге меняется именно это число, а сумма накапливает результат.
Использовать обычное деление вместо div — значит получить дробный результат или значение, которое не подходит по типу. Так делают, когда не различают точное деление и целочисленное. Проверьте себя на примере 17 и 5: для целого частного нужен результат 3, значит, следует выбрать div.
Путать div и mod — значит перепутать удаление цифры с её выделением. Это происходит, если запомнить обозначения, но не проверить их на примере. Для числа 438 вычислите обе операции: mod 10 должно дать 8, а div 10 — 43. Если получился обратный результат, операции переставлены.
Если не изменять обрабатываемое число внутри цикла, условие завершения может никогда не выполниться. Цифру будут получать снова и снова из одного и того же числа. После каждого шага проверьте, что значение заменяется на результат деления через div 10 и постепенно становится равным нулю.
Деление или нахождение остатка при нулевом делителе невозможно. Ошибку допускают, если применяют операцию сразу, не проверив вводимые данные. Перед вычислением проверьте делитель: если он равен нулю, нужно сообщить о некорректных данных или не выполнять деление.
Для работы с целыми числами нужны знания о переменных, присваивании, арифметических выражениях и циклах. Переменные хранят исходное число, текущую цифру и промежуточный результат, присваивание обновляет их значения, а цикл повторяет действия. Если понимать эти основы, можно проследить работу алгоритма по шагам и проверить результат. Каждая часть программы выполняет свою задачу.
Обработка цифр пригодится в задачах на сумму цифр, проверку свойств числа и преобразование его записи. Приёмы div 10 и mod 10 позволяют разбирать число без преобразования его в текст. Меняя действие над каждой выделенной цифрой, можно строить разные алгоритмы. Например, цифры можно суммировать или проверять, выполняется ли для них заданное условие.
Чем операция div отличается от обычного деления?
Обычное деление может дать дробное число, а div оставляет только целую часть частного. Например, 17 div 5 = 3.
Что показывает операция mod?
Операция mod показывает остаток после целочисленного деления. Например, 17 mod 5 = 2.
Как получить последнюю цифру целого числа?
Для натурального числа последнюю цифру получают остатком от деления на 10. Например, 438 mod 10 = 8.
Как удалить последнюю цифру числа?
Нужно выполнить целочисленное деление на 10. Например, 438 div 10 = 43.
Почему при обработке цифр нужно изменять исходное число в цикле?
После каждого шага число делят на 10, чтобы убрать уже обработанную цифру. Иначе значение не изменится и цикл может выполняться бесконечно.
§ 16. Реализация алгоритмов работы с целочисленными данными