Планирование уроков на учебный год (ФГОС)



Урок 11
§7(4). Функциональный подход к анализу программ




Содержание урока:

Функциональный подход к анализу программ
Трассировка алгоритма
7.4. Другие приёмы анализа программ. Пример 7
7.4. Другие приёмы анализа программ. Пример 8
САМОЕ ГЛАВНОЕ. Вопросы и задания
Материалы к уроку


liniya

7.4. Другие приёмы анализа программ. Пример 8


Пример 8. Получив на вход некоторое натуральное число х, эта программа выводит два числа — m и n.

Известно, что при некотором значении х были выведены числа 5 и 25. Выясним, сколько существует разных значений х, при вводе которых может быть получен такой результат.

Выясним, какие именно данные накапливаются в переменных.

Начальное значение переменной х задаётся пользователем. Тип этой переменной integer, следовательно, она не может превышать 32 767. В цикле значение переменной х изменяется по правилу, заданному командой:

х:=х div 10

При таком преобразовании значение переменной х уменьшается в 10 раз и дробная часть результата отбрасывается. Можно сказать, что при каждом выполнении тела цикла от значения переменной х «отсекается» одна цифра справа.

Начальное значение переменной m = 0. При каждом выполнении цикла значение переменной m увеличивается на единицу. Можно сказать, что в m подсчитывается количество цифр, «отсечённых» от х.

Начальное значение переменной n = 1. В цикле значение переменной n изменяется по правилу, заданному командой:

n: =n*(х mod 10)

Здесь х mod 10 — не что иное, как последняя цифра числа х. Таким образом, в переменной n накапливается произведение цифр числа х, взятых справа налево.

Выход из цикла осуществляется при х <= 0, т. е. когда все значащие цифры этого числа будут рассмотрены.

Следовательно, если на экран первой выводится цифра 5, то исходное число пятизначное. Второе число указывает на то, что 25 — это произведение всех цифр исходного числа х.

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

О какой формуле идёт речь? Приведите эту формулу и выполните соответствующие вычисления.

Укажите наибольшее и наименьшее числа, удовлетворяющие условию задачи.

Выпишите все числа, удовлетворяющие условию задачи.

Cкачать материалы урока





Наверх