#8 Простыми словами о циклических алгоритмах
В нашей жизни существует масса событий, которые можно описать с помощью циклического алгоритма. Вы уже догадались, что это повторяющиеся события или события похожие друг на друга и следующие одно за другим.
Каждая ночь сменяется днём, сменяют друг друга поры года, каждый год мы празднуем одни и те же праздники. Возьмём для примера такой замечательный праздник как день рождения: если вы родились не 29 февраля високосного года, то каждый год в один и тот же день вы празднуете N-летие со дня своего рождения. При этом N - количество исполнившихся лет, которое каждый год увеличивается на единицу (N=N+1). Давайте составим блок-схему празднования дня рождения:
Блок-схема на рисунке описывает самый простой вид циклов - цикл со счётчиком. В заголовке цикла, программист задаёт конкретное число повторов и команды, находящиеся в теле цикла повторяются заданное число раз (в нашем случае робот будет праздновать свой день рождения 1000 раз, ведь как известно, роботы живут очень-очень долго!). Что же такое тело цикла? И Как нам использовать циклы в Pascal? Сейчас разберёмся!
Цикл со счётчиком в Pascal
Конструкция циклического алгоритма со счётчиком в Pascal выглядит следующим образом:
Код
For i:=N to M do
begin <команда 1>; <команда 2>; ... end; Первая строка алгоритма называется заголовком цикла.
Тело цикла содержит команды, которые необходимо выполнить некоторое количество раз. Тело цикла начинается оператором begin и заканчивается оператором end;. Эта пара команд называется операторными скобками.
В ходе выполнения цикла, счётчик i изменяется от меньшего к большему значению. На каждом шаге цикла этот счётчик увеличивается на единицу.
Давайте посмотрим на простом примере, как работает циклический алгоритм со счётчиком. Составим программу, которая выводит на экран целые числа в диапазоне от 1 до 10:
Код
Uses Crt;
Var i:integer; Begin For i:=1 to 10 do begin Writeln(i); end; End. Вы заметили, что мы подключили модуль Crt? Теперь наша программа будет запускаться в новом окне! Нажмите Shift+F9 для запуска программы.
Попробуйте самостоятельно написать такую же программу, но без использования цикла. Сравните: в какой из программ используется большее количество команд?
Самое замечательное в циклических алгоритмах то, что количество команд в коде программы не зависит от количества необходимых повторений цикла. Если мы захотим составить программу, которая выводит не 10, а 1000 чисел, нам не придётся переписывать программу с нуля. Достаточно будет лишь изменить значение M с 10 на 1000.
Практика
А теперь давайте попробуем применить циклический алгоритм на практике. Напишем программу, которая выводит на экран кусочек таблицы умножения (например для цифры 8):
Код
Uses Crt;
Var i:integer; Begin For i:=1 to 10 do begin Writeln('8*',i,'=',8*i); end; End. Обратите внимание - каким образом мы была использована команда Writeln. Подсказка: Эту сложную команду можно заменить несколькими простыми: Write('8*'); Write(i); Write ('='); Write(8*i); Writeln;
Запустим нашу программу:
Задания для самостоятельной работы
Ваши вопросы и комментарии можете оставлять ниже.
Начинайте программировать прямо сейчас!
| |
Просмотров: 8509 | | |