Главная >> Информатика 11 класс. Босова

§ 7. Запись алгоритмов на языках программирования

Другие приёмы анализа программ

Трассировочная таблица — наглядный, но не универсальный инструмент анализа программ. Например, её затруднительно строить, если в алгоритме много шагов.

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

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

    1. Выясним, какую функцию выполняет каждая из переменных, задействованных в программе.

    Начальное значение переменной s = 400. При каждом выполнении тела цикла к значению s прибавляется число 12. Начальное значение переменной n = 0. При каждом выполнении тела цикла значение переменной увеличивается на 2: n — 2, если тело цикла выполнено 1 раз; n = 4 — если 2 раза; n = 6 — если 3 раза и т. д. Таким образом, искомое значение n — это 2 • k, где k — число выполнений тела цикла.

    2. Выясним, при каком условии произойдёт выход из цикла. Цикл выполняется, пока s < 2992. Следовательно, цикл завершится при достижении s значения, равного или большего 2992.

    3. Выясним, сколько раз выполнится тело цикла, вычислив значение выражения: (2992 - 400)/12 = 216. После того как тело цикла выполнится 216 раз, значение переменной s будет равно 2992, что является условием выхода из цикла. При этом n = 2 • 216 = 432.

Выясните, каким будет результат работы программы, если в ней условие выхода из цикла будет изменено на:

    1) s < 2990; 2) s <= 2992; 3) s <= 300.

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

Окончание >>>

 

 

???????@Mail.ru