Учебники

Компьютерное программирование – циклы

Давайте рассмотрим ситуацию, когда вы хотите напечатать Hello, World! пять раз. Вот простая программа на C, которая делает то же самое –

Live Demo

#include <stdio.h>

int main() {
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
}

Когда вышеуказанная программа выполняется, она дает следующий результат –

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

Это было просто, но опять же, давайте рассмотрим другую ситуацию, когда вы хотите написать Hello, World! тысячи раз. Конечно, мы не можем писать операторы printf () тысячу раз. Почти все языки программирования предоставляют концепцию, называемую циклом , которая помогает выполнять один или несколько операторов до желаемого количества раз. Все языки программирования высокого уровня предоставляют различные формы циклов, которые можно использовать для многократного выполнения одного или нескольких операторов.

Давайте напишем вышеупомянутую C-программу с помощью цикла while, а позже мы обсудим, как работает этот цикл.

Live Demo

#include <stdio.h>

int main() {
   int i = 0;
   
   while ( i < 5 ) {
      printf( "Hello, World!\n");
      i = i + 1;
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат –

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

Вышеупомянутая программа использует цикл while , который используется для выполнения набора программных операторов, заключенных в {….}. Здесь компьютер сначала проверяет, меньше ли заданное условие, т. Е. Переменная «а», меньше 5 или нет, и если он находит, что условие истинно, то вводится тело цикла для выполнения заданных операторов. Здесь у нас есть два следующих утверждения в теле цикла:

  • Первое утверждение – это функция printf () , которая печатает Hello World!

  • Второе утверждение – это i = i + 1 , которое используется для увеличения значения переменной i

Первое утверждение – это функция printf () , которая печатает Hello World!

Второе утверждение – это i = i + 1 , которое используется для увеличения значения переменной i

После выполнения всех операторов, приведенных в теле цикла, компьютер возвращается к while (i <5), и заданное условие (i <5) снова проверяется, и цикл выполняется снова, если условие выполняется. Этот процесс повторяется до тех пор, пока данное условие не останется верным, что означает, что переменная «а» имеет значение меньше 5.

В заключение, оператор цикла позволяет нам выполнять оператор или группу операторов несколько раз. Ниже приведена общая форма оператора цикла в большинстве языков программирования –

Петлевая архитектура

Это руководство было разработано для представления основных понятий программирования непрограммистам, поэтому давайте обсудим два наиболее важных цикла, доступных на языке программирования Си. Как только вы разберетесь с этими двумя циклами, вы можете взять учебник по программированию на C или справочник и проверить другие циклы, доступные в C, и то, как они работают.

В то время как петля

Цикл while, доступный на языке программирования C, имеет следующий синтаксис:

while ( condition ) {
   /*....while loop body ....*/
}

Приведенный выше код может быть представлен в виде блок-схемы, как показано ниже –

цикл в C

Следующие важные моменты следует отметить о цикле while –

  • Цикл while начинается с ключевого слова , за которым следует условие, заключенное в ().

  • В дополнение к оператору while () тело цикла будет заключено в фигурные скобки {…} .

  • Тело цикла while может содержать одну или несколько строк исходного кода для многократного выполнения.

  • Если тело цикла while содержит только одну строку, то необязательно использовать фигурные скобки {…} .

  • Цикл while продолжает выполнять свое тело, пока не выполнится заданное условие . Как только условие становится ложным, цикл while выходит и продолжает выполняться из следующего оператора next после тела цикла while.

  • Условием обычно является оператор отношения, который оценивается как true или false. Значение, равное нулю, рассматривается как ложное, и любое ненулевое значение работает как истина.

Цикл while начинается с ключевого слова , за которым следует условие, заключенное в ().

В дополнение к оператору while () тело цикла будет заключено в фигурные скобки {…} .

Тело цикла while может содержать одну или несколько строк исходного кода для многократного выполнения.

Если тело цикла while содержит только одну строку, то необязательно использовать фигурные скобки {…} .

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

Условием обычно является оператор отношения, который оценивается как true или false. Значение, равное нулю, рассматривается как ложное, и любое ненулевое значение работает как истина.

До … пока Loop

Цикл while проверяет заданное условие перед тем, как выполнить любые операторы, указанные в части тела. Программирование на С предоставляет другую форму цикла, называемую do …, в то время как она позволяет выполнять тело цикла перед проверкой заданного условия. Он имеет следующий синтаксис –

do {
   /*....do...while loop body ....*/
} 
while ( condition );

Приведенный выше код может быть представлен в виде блок-схемы, как показано ниже –

делать ... пока цикл в C

Если вы напишите приведенный выше пример с использованием цикла do … while, Hello, World выдаст тот же результат –

Live Demo

#include <stdio.h>

int main() {
   int i = 0;
   
   do {
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

Когда вышеуказанная программа выполняется, она дает следующий результат –

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

Оператор перерыва

Когда оператор break встречается внутри цикла, цикл немедленно завершается, и управление программой возобновляется со следующего оператора, следующего за циклом. Синтаксис для оператора break в C следующий:

break;

Оператор перерыва может быть представлен в виде блок-схемы, как показано ниже –

с перерывом заявление

Ниже приведен вариант вышеуказанной программы, но она выйдет после печати Hello World! только три раза –

Live Demo

#include <stdio.h>

int main() {
   int i = 0;
   do {
      printf( "Hello, World!\n");
      i = i + 1;
      
      if( i == 3 ) {
         break;
      }
   }
   while ( i < 5 );
}

Когда вышеуказанная программа выполняется, она дает следующий результат –

Hello, World!
Hello, World!
Hello, World!

Продолжение заявления

Оператор continue в языке программирования C работает примерно так же, как оператор break . Вместо принудительного завершения, continue заставляет выполнить следующую итерацию цикла, пропуская любой промежуточный код. Синтаксис оператора continue в C следующий:

continue;

Оператор continue может быть представлен в форме блок-схемы, как показано ниже –

C продолжить заявление

Ниже приведен вариант вышеуказанной программы, но она пропустит печать, когда переменная имеет значение, равное 3 –

Live Demo

#include <stdio.h>

int main() {
   int i = 0;
   do {
      if( i == 3 ) {
         i = i + 1;
         continue;
      }
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

Когда вышеуказанная программа выполняется, она дает следующий результат –

Hello, World!
Hello, World!
Hello, World!
Hello, World!

Петли в Java

Ниже приводится эквивалентная программа, написанная на Java, которая также поддерживает циклы while и do … while . Следующая программа печатает Hello, World! пять раз, как мы это делали в случае программирования на C –

Вы можете попробовать выполнить следующую программу, чтобы увидеть выходные данные, которые должны быть идентичны результату, сгенерированному в приведенном выше примере.

Live Demo

public class DemoJava {
   public static void main(String []args) {
      int i = 0;
   
      while ( i < 5 ) {
         System.out.println("Hello, World!");
         i = i + 1;
      }
   }
}

Операторы break и continue в Java-программировании работают точно так же, как и в C-программировании.

Петли в Python

Ниже приводится эквивалентная программа, написанная на Python. Python также поддерживает циклы while и do … while . Следующая программа печатает Hello, World! пять раз, как мы это делали в случае программирования на Си. Здесь вы должны заметить, что Python не использует фигурные скобки для тела цикла, вместо этого он просто идентифицирует тело цикла, используя отступы операторов.

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

Live Demo

i = 0

while (i < 5):
   print "Hello, World!"
   i = i + 1
print "Loop ends"

Когда вышеуказанная программа выполняется, она дает следующий результат –

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends

Операторы break и continue в Python работают точно так же, как и в программировании на Си.