аукцион / donate / услуги / RSS / распечатать / вход 
Мой мир
Вконтакте
Одноклассники

Микропаскаль циклы. For, while и repeat.

Языки высокого уровня содержат разные типы циклических операторов. Паскаль не исключение и позволяет создать три типа циклов: цикл со счётчиком, с предусловием и с постусловием. Каждый из них призван решать определённые задачи и для большинства задач их хватает. В языках низкого уровня циклы строятся с помощью условий и операторов условного перехода.

Так как Паскаль академический язык, то его операторы читаются очень легко и они интуитивно понятны. Разберём один из самых частых операторов, цикл со счётчиком.

Цикл FOR

Для повторения операции заданное количество раз применяется цикл со счётчиком. Бывает два типа циклов с восходящим присваиванием:

for i := 1 to 9 do оператор

И с нисходящим присваиванием:

for i := 9 downto 1 do оператор

Как видно из примера, восходящее присваивание приводит к увеличению счётчика, а нисходящее к уменьшению. Поведение цикла происходит идёт следующим образом. Сначала переменной присваивается значение и исполняется внутренность цикла. Далее, в зависимости от типа цикла переменная увеличивается или уменьшается на единицу до указанного значения.

Обратите внимание, что менять значение переменной внутри цикла а так же использовать эту переменную после выхода из цикла без предварительной инициализации не рекомендуется. Дело в том, что невозможно предугадать значение переменной после выхода из цикла, так как цикл может завершиться досрочно. Использовать эту переменную внутри цикла можно по своему усмотрению.

Для того, чтобы выполнить не один оператор, а несколько можно воспользоваться составным оператором Begin .. End; и внешний вид изменится до такого состояния:

for i := 9 downto 1 do
 Begin
  оператор 1;
  оператор 2;
  ...
  оператор n;
End;

Для принудительного выхода из цикла можно воспользоваться оператором break, а для прерывания итерации цикла на определённой точке и переходу к началу следующей итерации цикла служит команда continue.

Цикл WHILE

Цикл с предусловием. Пред входом в цикл проверяется условие и если оно истино, то цикл выполняется. После выполнения цикла опять проверяется истинность условия.

while i < 100 do оператор;

На его основе часто пишут бесконечный цикл для работы командоаппарата на микроконтроллерах.

while (TRUE) do
 Begin
  оператор 1;
  оператор 2;
  ...
  оператор n;
End;

В таком виде цикл будет выполняться бесконечно...

Цикл REPEAT

Этот цикл первую итерацию выполнит всегда, так как условие проверяется в конце работы цикла. И этот цикл повторяется если условие ложное. Тут главное не запутаться, так как у for и while повторяются пока условие истина, а repeat при ложном. Ещё одно кардинальное отличие в том, что при необходимости использовать несколько операторов внутри цикла нет необходимости указывать составной оператор Begin .. End; и в качестве примера приведу бесконечный цикл на этом цикле.

repeat
  оператор 1;
  оператор 2;
  ...
  оператор n;
until false;

Вот собственно и всё, что необходимо знать об этих операторах.

У каждого цикла своя собственная сфера применения.

Тэги: микроконтроллеры

Отредактировано:2020-09-23 08:38:47


Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.

Сообщайте мне о замеченных ошибках на: web@orcinus.ru. Все пожелания и советы будут учтены при дальнейшем проектировании сайта. Я готов сотрудничать со всеми желающими. В некоторых случаях, мнение автора может не совпадать с мнением автора! Phone: +7-902-924-70-49.

Top.Mail.Ru
Top.Mail.Ru LiveInternet Rambler's Top100 Яндекс.Метрика