Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ ЛЕКЦИЙ(рус).doc
Скачиваний:
80
Добавлен:
09.02.2016
Размер:
2.29 Mб
Скачать

10.2. Линейные и разветвляющиеся алгоритмы

Пример 10.1.

Заданы значения переменных а, х. Составить алгоритм вычисления зависимости у=ах2

Пример 10.2.

Заданы значения переменных а, в, х Составить алгоритм вычисления

Рис. 10.2. Линейный алгоритм Рис. 10.3. Разветвляющийся алгоритм

10.3. Простые циклические алгоритмы

Пример 10.3. Составить алгоритм табулирования заданной функции у=х2 , где х изменяется от xn до xk с шагом dx. Обычно это записывают так: x=xn, xk, dx. Для решения поставленной задачи составлены три алгоритма (рис. 10.5,а,б,с).

В первом алгоритме (рис. 10.5,а) параметром цикла является переменная х. Выход из цикла происходит при х> xk. Во втором алгоритме параметром цикла является переменная к – счетчик циклов, nc – заданное количество циклов. Для данной задачи количество выполняемых циклов (берется целое от деления). Выход из цикла будет прик>nc.

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

Рис. 10.4. Блок модификации и соответствующий ему эквивалент

1­ алгоритм 2 алгоритм 3 алгоритм

а) б) с)

Рис. 10.5. Циклические алгоритмы табулирования заданной функции

Пример 10.4. Составить алгоритм вычисления суммы членов ряда с заданной точностью Е и число его членов, если задан общий член ряда an=1/n2. В данном циклическом алгоритме (рис. 10.6) заранее не известно количество выполняемых циклов. Параметром цикла является переменная an . Выход из цикла выполняется, когда очередной член ряда an становится равным или меньше заданной точности Е.

Пример 10.5. Составить алгоритм вычисления по следующей итерационной формуле yi+1=0,5(yi + x/yi) с заданной точностью Е и начальным приближением y0. В данном циклическом алгоритме (рис. 1.7) количество выполняемых циклов неизвестно и выход из цикла происходит, когда разность по модулю между предыдущим и последующим значением Y будет меньше или равно заданной точности Е.

Рис. 10.6 Рис. 10.7

10.4. Циклические алгоритмы обработки массивов

Массив – это набор данных одного типа. Рассмотрим одномерные и двумерные массивы.

Одномерные массивы

Например, одномерный массив, состоящий из 4 элементов, математически запишется так: Х= х(i); i =1,2,3,4 , где Х – имя массива; х(i) – имя элемента массива в общем виде; i - индекс, указывающий на порядковый номер элемента в массиве. Для обращения к конкретному элементу массива необходимо указать значение его индекса. В данном случае массив можно представить в виде четырех ячеек. Каждая ячейка имеет свое имя (рис. 10.8). Для ввода в ячейки чисел достаточно организовать цикл, в котором будет меняться переменная i (параметр цикла). На рис. 10.9 приведен фрагмент алгоритма ввода, в блоке модификации которого меняется параметр цикла от 1 до 4 с шагом равным 1. После выполнения четырех циклов произойдет выход из цикла, а в ячейках окажутся введенные числа.

х(1) х(2) х(3) х(4)

Рис. 10.8. Имена ячеек Рис.10.9. Фрагмент ввода

Пример 10.6. Составить алгоритм определения максимального элемента одномерного массива

Х= х(i); i =1,2, …,10. В основу алгоритма положен принцип "Претендентов" на максимум, который заключается в следующем (рис. 10.10). В ячейку с именем МАХ помещается первый элемент массива. Организуется цикл, в котором сравнивается МАХ со вторым элементом (цикл начинается при i=2). Если второй элемент окажется больше, то он помещается в МАХ, иначе в МАХ остается первый элемент и выполняется следующий цикл. После выполнения 9 циклов в ячейке МАХ останется максимальный элемент.

Рис. 10.10. Поиск МАХ элемента