Компьютерное программирование - циклы
Рассмотрим ситуацию, когда вы хотите распечатать Hello, World!в пять раз. Вот простая программа на C, которая делает то же самое -
#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 () тысячу раз. Почти все языки программирования предоставляют концепцию, называемуюloop, который помогает выполнять одну или несколько инструкций до желаемого количества раз. Все языки программирования высокого уровня предоставляют различные формы циклов, которые можно использовать для многократного выполнения одного или нескольких операторов.
Напишем указанную выше программу на C с помощью while loop а позже мы обсудим, как работает этот цикл
#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 loop, который используется для выполнения набора программных операторов, заключенных в {....}. Здесь компьютер сначала проверяет, является ли данное условие, т. Е. Переменная «a» меньше 5 или нет, и если он обнаруживает, что условие истинно, то вводится тело цикла для выполнения заданных операторов. Здесь у нас есть следующие два оператора в теле цикла:
Первый оператор - это функция printf () , которая выводит Hello World!
Второй оператор i = i + 1 , который используется для увеличения значения переменной.i
После выполнения всех операторов, указанных в теле цикла, компьютер возвращается к while (i <5), и данное условие (i <5) проверяется снова, и цикл выполняется снова, если условие выполняется. Этот процесс повторяется до тех пор, пока данное условие не останется истинным, что означает, что переменная «а» имеет значение меньше 5.
В заключение, оператор цикла позволяет нам выполнять оператор или группу операторов несколько раз. Ниже приведена общая форма оператора цикла на большинстве языков программирования.
Это руководство было разработано для того, чтобы представить основные концепции программирования непрограммистам, поэтому давайте обсудим два наиболее важных цикла, доступных в языке программирования C. Когда вы разберетесь с этими двумя циклами, вы можете взять учебник по программированию на C или справочник и проверить другие циклы, доступные в C, и то, как они работают.
Цикл while
А while loop доступный на языке программирования C имеет следующий синтаксис -
while ( condition ) {
/*....while loop body ....*/
}
Приведенный выше код может быть представлен в виде блок-схемы, как показано ниже -
О цикле while следует отметить следующие важные моменты:
Цикл while начинается с ключевого слова while за которым следует condition заключен в ().
В дополнение к оператору while () тело цикла будет заключено в фигурные скобки. {...}.
В теле цикла while может быть одна или несколько строк исходного кода, которые должны выполняться повторно.
Если в теле цикла while есть только одна строка, то использовать фигурные скобки необязательно. {...}.
Цикл while продолжает выполнение своего тела до заданного conditionСправедливо. Как только условие становится ложным, цикл while выходит и продолжает выполнение, начиная со следующего оператора, следующего за телом цикла while.
Условие - это обычно относительное утверждение, которое оценивается как истинное или ложное. Значение, равное нулю, рассматривается как ложное, а любое ненулевое значение работает как истинное.
Цикл do ... while
Цикл while проверяет данное условие перед выполнением любых операторов, указанных в части тела. Программирование на C предоставляет другую форму цикла, называемуюdo...whileчто позволяет выполнить тело цикла перед проверкой данного условия. Он имеет следующий синтаксис -
do {
/*....do...while loop body ....*/
}
while ( condition );
Приведенный выше код может быть представлен в виде блок-схемы, как показано ниже -
Если вы напишете приведенный выше пример, используя do...while петля, затем Hello, World даст тот же результат -
#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;
А break Заявление можно представить в виде блок-схемы, как показано ниже -
Ниже приводится вариант вышеуказанной программы, но он появится после печати Hello World! только три раза -
#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
В continue Оператор на языке программирования C работает примерно так же, как breakзаявление. Вместо принуждения к прекращению,continueпринудительно выполняет следующую итерацию цикла, пропуская любой промежуточный код. Синтаксис дляcontinue утверждение в C выглядит следующим образом -
continue;
А continue Заявление можно представить в виде блок-схемы, как показано ниже -
Ниже приведен вариант вышеуказанной программы, но он пропустит печать, когда переменная имеет значение, равное 3 -
#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 -
Вы можете попробовать выполнить следующую программу, чтобы увидеть результат, который должен быть идентичен результату, полученному в приведенном выше примере.
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!в пять раз больше, чем в случае программирования на C. Здесь вы должны отметить, что Python не использует фигурные скобки для тела цикла, вместо этого он просто идентифицирует тело цикла, используя отступы операторов.
Вы можете попробовать выполнить следующую программу, чтобы увидеть результат. Чтобы показать разницу, мы использовали еще один оператор печати, который будет выполнен после завершения цикла.
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 работают точно так же, как и в программировании на C.