Основы
Основы
алгоритмизации
алгоритмизации
  • Моделирование и формализация
  • Алгоритм и его свойства
  • Способы записи алгоритмов
  • Линейные алгоритмы (следование)
  • Ветвления в алгоритмах
  • Циклическая форма организации действий
  • Замкнутые и разомкнутые системы управления
  • Языки программирования
  • Вопросы и упражнения
  • Циклическая форма организации действий

         Алгоритмы, которые мы составляли в предыдущих параграфах, обладают одним общим свойством: при их выполнении каждое действие совершается один раз или вообще не совершается. Но для многих задач, решаемых на ЭВМ, характерно многократное выполнение отдельных участков вычислений.
        Вычислительные процессы, при реализации которых имеет место многократное выполнение одного или нескольких процессов вычислений, принято называть циклическими.
        Цикл - это алгоритмическая конструкция, в которой в зависимости от условия повторяется определённая последовательность действий.
        Цикл в алгоритме имеет особое значение, т.к. только его использование позволяет с помощью сравнительно коротких алгоритмов записывать длинные последовательности действий, что позволяет значительно уменьшить скорость выполнения программы на ЭВМ.
        Для организации циклов можно применять условия, т.к. циклический алгоритм является частным случаем разветвляющегося. В этих случаях количество повторений последовательности действий неизвестно и циклические структуры являются циклами с пред-условием и с пост-условием.
        В цикле с пред-условием, называемом циклом “пока”, сначала проверяется условие, а затем выполняется действие. В цикле с пост-условием, называемом циклом “до”, наоборот: сначала выполняется действие, а лишь потом проверяется условие.
        Тело цикла - это повторяющаяся последовательность действий.

        Цикл “пока” работает так: пока условие выполняется, выполняется тело цикла. Характерно, что тело цикла в цикле “пока” может не выполниться ни разу (если условие сразу не выполнится).
        Цикл “до” функционирует следующим образом: до тех пор, пока условие не выполнится, выполняется тело цикла. Характерно, что тело цикла в цикле ”до” выполняется хотя бы один раз.

    в начало

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

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

    в начало

        Рассмотрим пример циклического алгоритма с циклом “пока” и циклом “до” на примере задачи нахождения произведения 15 вещественных чисел.
        Дано: К - счётчик чисел (1;15), х - произвольные вещественные числа.     
        Найти: Р - произведение 15 чисел.

        Рассмотренный пример явно показывает, что циклический алгоритм является частным случаем разветвляющегося. Алгоритмы различаются тем, что в цикле “пока” условие устанавливается до тела цикла, а в цикле “до” после.
        Пусть дана новая задача: построить таблицу значений функции у = tg x на отрезке [А,В] с шагом Н.
        Дано: А - начальное значение аргумента, В - конечное значение аргумента, Н - шаг изменения аргумента.
        Найти: у - значения функции.
        Связь: у = tg х, где х = А, А + Н, .... В.
        Здесь тело цикла состоит из следующих команд: присвоение значения аргумента х, вычисление у и печать значения аргумента х и соответствующего ему значения функции у. Команда х:=х+Н осуществляет переход к следующему значению аргумента х. Проверка условия, стоящая после выполнения тела цикла, показывает, что это цикл-до.

        Существует третий вид циклической структуры - цикл с параметрами, иначе называемый как цикл для каждого. Тело цикла выполняется здесь столько раз, сколько разных значений примет параметр в заданных пределах.
        На языке блок-схем алгоритм цикла для каждого выглядит так:

        Представим решение рассмотренной задачи с циклом для каждого:

        Оба алгоритма решают одну и ту же задачу табулирования: строят таблицу значений функции у = tg x на отрезке [А,В] с шагом Н в зависимости от х. Удобнее пользоваться вторым способом обозначения цикла для каждого, так как в него входит меньше блоков.
        Алгоритм на языке блок-схем для решения задачи нахождения произведения 15 вещественных чисел с циклом для каждого будет таким:

    в начало

    2007 © Copyright by L.Gazizova (E-mail: leniza@hotbox.ru), WebMasters N.Woit, R.Akzamutdinov, А.Aleeva

    Hosted by uCoz