Алгоритмы с повторением ЦИКЛЫ
В этой статье познакомимся с третим типом алгоритма - Алгоритмы с повторением (циклический алгоритм). Как часто в жизни мы используем повторение? Как и условие - ПОСТОЯННО!
Пример 1. Плотник забивает молотком гвоздь. Гвоздь не забит. Удар. Гвоздь не забит. Удар. Гвоздь не забит. Удар. ... И так до тех пор, пока гвоздь не забит. Понятно, что если гвоздь зайдет после первого удара, то второго не будет.
Пример 2. Человек выходит из класса. Не дошел до двери. Шаг. Не дошел до двери. Шаг. Не дошел до двери. Шаг. ... И так до тех пор, пока не дошли до двери. Понятно, что если человек стоит у двери, то эта команда не выполниться .
Пример 3. Пустая 100-литровая бочка стоит на берегу озера. Нужно наполнить ее водой. Имеется кружка объемом 1 литр. Выполняем команды: Зачерпнуть кружкой воду из озера. Вылить в бочку. ... и так еще 99 раз (Всего 100 раз). В данном примере повторяются две команды.
Пример 4. Выведем на экран слово 'Родина' 10 раз. writeln('Родина'); writeln('Родина'); writeln('Родина'); writeln('Родина'); writeln('Родина'); writeln('Родина'); writeln('Родина'); writeln('Родина'); writeln('Родина'); writeln('Родина'); Есть повторение? Конечно ДА!
При программировании циклов нужно внимательно продумать набор команд, которые повторяются. Этот набор команд (одна или несколько) называется ТЕЛО ЦИКЛА.
Любой алгоритм цикла можно заменить линейным алгоритмом. Но в чем преимущество? Первое: например нужно выпонить команду 1000 раз. В программе будет 1000 строк. ОЧЕНЬ длинная программа. С использованием цикла запись будет состоять из двух строк. КОМПАКТНОСТЬ записи алгоритма. Но скорость выполнения останеться прежней. Второе: с использованием цикла можно запрограммировать выполнение разного количества тела цикла, а в линейном только конкретное число раз. Но это все потом...
В следующей статье рассмотрим цикл с параметром for ... to ... do |