Меню
Спросить
({ })

Циклы в pascal

28 августа 2017
Циклы в pascal

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

Цикл while do

Первый цикл, с которым мы познакомимся это цикл while do. WHILE это сам цикл, после которого идет условие цикла, а после оператора DO идет тело цикла. Пример.

  1. i:= 0;
  2. n:= 5;
  3. while i <= n do
  4. begin
  5. write( i+' ' );
  6. i:= I+1;
  7. end;

Прокомментируем данный код. Сначала мы присваиваем переменный i и n начальные значения. Далее цикл while. Между словом while и do стоит условие цикла, которое находится перед телом цикла. Тело цикла располагается после слова do, и если в тело должно входить более одного действия, то ставятся логические скобки. В теле у нас два действия, поэтому открываем логические скобки и выполняем первое действие - выводим текущее i с пробелом, второе действие - к i прибавляем единицу и закрываем логические скобки. Все это будет происходить до тех пор пока переменная i не станет равна 6. Почему 6, ведь переменная n у нас со значением 5? Дело в том, что на пятерке условие еще выполняется, то есть пять меньше либо равно пяти, поэтому тело еще раз проходит знакомый ему путь, и только условие шесть меньше либо равно 5 не срабатывает. В этом случае программа выдаст следующее:

  1. // 0 1 2 3 4 5

Проще говоря мы сделали счетчик, который считает от 0 до 5. Это и есть работа цикла. Рассмотрим этот же пример, на следующем цикле.

REPEAT UNTIL

Цикл repeat until как бы зеркально отражение, он выглядит с ног до головы наоборот. Но у него есть схожести с while.
Начнем с похожестей, они оба циклы! :D На самом деле это конечно же не все сходства, они похожи тем, что оба у них присутствуют как условие так и тело цикла.
Теперь поймем чем они отличаются. Во-первых главное отличие в том, что условие у цикла while стоит перед телом цикла, у цикла repeat условие стоит после тела. Второе отличие, циклу repeat until не требуются логические скобки. Операторы repeat и until как бы являются "логическими скобками". Ну и напишем счетчик только уже с помощью repeat.

  1. i:= 0;
  2. n:= 5;
  3. repeat
  4. write( i+' ' );
  5. i:= I+1;
  6. until i>=n;

Как вы могли заметить и знак тоже поменялся. Из-за того, что условие находится после тела цикла, так что программа выдаст следующее:

  1. // 0 1 2 3 4

Перейдем дальше, к последнему циклу.

Цикл FOR DO

Цикл for не имеет условия, он имеет параметр. Этот цикл используется чаще остальных, как по мне. Сделаем счетчик с этим циклом:

  1. for i:= 1 to n do
  2. begin
  3. write( i+' ' );
  4. end;

Если перевести дословно, то как то так - делаем от 1 до n следующие действия, если действий больше одного, то открываем логические скобки, у меня действие одно, но скобки я открою, и выполняем действия. Заметем, что мы не прибавляем единицу к переменной i. Это делает за нас цикл for, но он не прибавляет, а перебирает от 1 до 5. Программа выдаст следующее:

  1. // 1 2 3 4 5

Это был последний, все эти циклы в той или иной степени вам пригодятся в процессе написания программ и сайтов.

Заключение

На этом все, всем пока  =)

Следующая статьяПредыдущая статья