Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
method_1_ru.doc
Скачиваний:
19
Добавлен:
10.11.2019
Размер:
2.67 Mб
Скачать

2.2. Типовые алгоритмы

Алгоритмы большинства задач строятся на базе более простых, отработанных решений. Часто используемые алгоритмы называются типовыми. Таких алгоритмов не так уж и много, но их знание помогает облегчить разработку более сложных алгоритмов, составляющими которых могут быть типовые. Это позволяет сэкономить время разработки и сделать алгоритмы оптимальными. Ниже рассматриваются типовые алгоритмы.

2.2.1. Вычисление суммы чисел произвольного ряда

Дан: ряд произвольных чисел , обычно называемый массивом чисел и изображаемым как а[n]. Здесь а - имя массива, а nколичество его элементов.

Определить: сумму этих чисел .

Алгоритм решения этой задачи приведен на рис.2.2.

Рис. 2.2 Блок – схема вычисления суммы ряда чисел

Алгоритм предусматривает использование циклической операции, в которой параметром цикла является индекс элемента ряда i (его порядковый номер). Тело цикла представлено рекуррентной формулой , с помощью которой последующее значение суммы вычисляется с использованием ее предыдущего значения. Важной операцией в этом алгоритме является операция , которая предусматривает очистку ячейки оперативной памяти, выделенной для размещения значений переменной . Такая операция обязательна и совершается до начала работы цикла.

Дело в том, что при решении какой-либо задачи всем данным, участвующим в операциях вычислительного процесса (исходным, промежуточным, конечным), выделяются ячейки оперативной памяти. После завершения выполнения программы данные в используемых ячейках автоматически не удаляются (не обнуляются). Если после этого на компьютере будет решаться другая задача, то для ее переменных могут быть выделены ячейки памяти, которые использовались в предыдущей задаче, с сохранившимися в них данными. В случае, когда решается задача по представленному алгоритму, переменной может быть выделена ячейка с "остатками" от предыдущей задачи (их еще называют "мусор"), и это может исказить результат решения. Во избежание этого ячейку памяти для переменной вначале очищают от "мусора", устанавливая значение 0. Можно вместо нуля устанавливать значение первого слагаемого (первого числа ряда), но тогда параметр цикла i должен изменятся не от единицы, а от 2.

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

      1. Вычисление произведения чисел произвольного ряда

Дан: ряд произвольных чисел .

Определить: произведение этих чисел .

Блок-схема вычислительного процесса приведена на рис.2.3.

Рис. 2.3 Блок – схема вычисления произведения ряда чисел

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]