Урок 11. Использование основных алгоритмических конструкций и вспомогательных алгоритмов для практиче­ских задач.

Цель: научиться выделять цифры из числа и выполнять операции над ними, используя основные алгоритмические конструкции.


Любое натуральное число записывается с помощью цифр: 13579 — это пять цифр: 1, 3, 5, 7 и 9. Позиция цифры в записи числа называется разрядом: крайняя правая цифра стоит в разряде единиц, левее — в разряде десятков, затем сотен, тысяч и так далее. В языке Python «вынуть» очередную цифру из числа помогают две операции, которые вы изучали в 7 классе: остаток от деления % и целочисленное деление //.

Достаточно знать два правила. Остаток от деления натурального числа на 10 равен его последней цифре, а целочисленное деление на 10 отбрасывает последнюю цифру.

ЗаписьЧто получимПример для n = 13579
n % 10последняя цифра числа13579 % 10 = 9
n // 10число без последней цифры13579 // 10 = 1357
n // 10 % 10предпоследняя цифра13579 // 10 % 10 = 7
n % 100число из двух последних цифр13579 % 100 = 79

Пример 1. Дано натуральное число n. Вывести цифры числа по одной в строке (начиная с разряда единиц). Определить, сколько цифр в числе.

n = int(input("n = "))
k = 0
while n > 0:
    # текущая цифра
    z = n % 10
    print(z)
    # уменьшение числа в 10 раз
    n //= 10
    # подсчёт количества цифр
    k = k + 1
print("в числе", k, "цифр(а)")

Результат работы программы:

Алгоритм решения:

  1. вводим число n;
  2. обнуляем счётчик цифр: k = 0;
  3. пока число больше нуля (в нём ещё есть цифры), повторяем: находим последнюю цифру z = n % 10, выводим её на экран, отбрасываем её командой n //= 10 и увеличиваем счётчик k = k + 1;
  4. когда n станет равным нулю, цикл заканчивается — выводим значение k.
    Количество цифр заранее неизвестно, поэтому используется цикл с предусловием while n > 0: он проверяет условие перед каждым шагом и выполняется ровно столько раз, сколько цифр в числе

Проверим работу программы для n = 13579, заполнив таблицу трассировки: на каждом шаге видно, какая цифра выделяется и во что превращается число.

Шагn до проверкиz = n % 10n после n //= 10k после k += 1
113579913571
2135771352
31355133
413314
51105
Шаг 6: условие n > 0 нарушено (n = 0), цикл завершён. На экран выведены цифры 9 7 5 3 1 и сообщение «в числе 5 цифр(а)».

Задания по теме урока

Задание 1. Натуральное число n вводится с клавиатуры. Вывести на экран его последнюю цифру.

Подсказка: цикл не нужен — достаточно одной операции.

Задание 2. Натуральное число n вводится с клавиатуры. Найти и вывести сумму его цифр.

Подсказка: алгоритм тот же, что в примере, только вместо вывода цифры накапливайте сумму в переменной s.

Задание 3. ШЕСТИЗНАЧНОЕ число n вводится с клавиатуры. Проверить, равны ли его первые цифры последним трем цифрам. Вывести ответ «Равны», либо «Не равны».

Подсказка: цикл не нужен, с помощью операций целочисленного деления можно сразу получить части числа для сравнения.

Задание 4. Натуральное число n вводится с клавиатуры. Определить, сколько в нём чётных цифр.

Подсказка: цифра z чётная, если z % 2 == 0. Вспомните, что ноль — чётное число. При решении задачи необходимо воспользоваться алгоритмической конструкцией «ветвление»


Это изображение имеет пустой атрибут alt; его имя файла - hw-e1653285769766.png

Домашнее задание

§ 7.6 учебного пособия, ответить на вопросы

Добавить комментарий