Programação de computador - loops
Vamos considerar uma situação em que você deseja imprimir Hello, World!cinco vezes. Aqui está um programa C simples para fazer o mesmo -
#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");
}
Quando o programa acima é executado, ele produz o seguinte resultado -
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Era simples, mas, novamente, vamos considerar outra situação quando você quiser escrever Hello, World!mil vezes. Certamente não podemos escrever instruções printf () mil vezes. Quase todas as linguagens de programação fornecem um conceito chamadoloop, que ajuda na execução de uma ou mais instruções até o número desejado de vezes. Todas as linguagens de programação de alto nível fornecem várias formas de loops, que podem ser usados para executar uma ou mais instruções repetidamente.
Vamos escrever o programa C acima com a ajuda de um while loop e mais tarde, discutiremos como esse loop funciona
#include <stdio.h>
int main() {
int i = 0;
while ( i < 5 ) {
printf( "Hello, World!\n");
i = i + 1;
}
}
Quando o programa acima é executado, ele produz o seguinte resultado -
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
O programa acima faz uso de um while loop, que está sendo usado para executar um conjunto de instruções de programação incluídas em {....}. Aqui, o computador primeiro verifica se a condição dada, ou seja, a variável "a" é menor que 5 ou não e, se descobrir que a condição é verdadeira, o corpo do loop é inserido para executar as instruções fornecidas. Aqui, temos as seguintes duas instruções no corpo do loop -
A primeira instrução é a função printf () , que imprime Hello World!
A segunda afirmação é i = i + 1 , que é usada para aumentar o valor da variáveli
Depois de executar todas as instruções fornecidas no corpo do loop, o computador volta para while (i <5) e a condição dada, (i <5), é verificada novamente, e o loop é executado novamente se a condição for verdadeira. Este processo se repete até que a condição fornecida permaneça verdadeira, o que significa que a variável "a" tem um valor menor que 5.
Para concluir, uma instrução de loop nos permite executar uma instrução ou grupo de instruções várias vezes. A seguir está a forma geral de uma instrução de loop na maioria das linguagens de programação -
Este tutorial foi projetado para apresentar os conceitos básicos de programação para não-programadores, então vamos discutir os dois loops mais importantes disponíveis na linguagem de programação C. Uma vez que você está claro sobre esses dois loops, você pode pegar o tutorial de programação C ou um livro de referência e verificar outros loops disponíveis em C e a maneira como eles funcionam.
The while Loop
UMA while loop disponível na linguagem de programação C tem a seguinte sintaxe -
while ( condition ) {
/*....while loop body ....*/
}
O código acima pode ser representado na forma de um diagrama de fluxo, conforme mostrado abaixo -
Os seguintes pontos importantes devem ser observados sobre um loop while -
Um loop while começa com uma palavra-chave while seguido por um condition entre ().
Depois da instrução while (), você terá o corpo do loop entre chaves {...}.
Um corpo de loop while pode ter uma ou mais linhas de código-fonte a serem executadas repetidamente.
Se o corpo de um loop while tiver apenas uma linha, é opcional usar colchetes {...}.
Um loop while continua executando seu corpo até um determinado conditionpermanece verdadeiro. Assim que a condição se torna falsa, o loop while sai e continua em execução a partir da próxima instrução imediata após o corpo do loop while.
Uma condição geralmente é uma declaração relacional, avaliada como verdadeira ou falsa. Um valor igual a zero é tratado como falso e qualquer valor diferente de zero funciona como verdadeiro.
O fazer ... while Loop
Um loop while verifica uma determinada condição antes de executar qualquer instrução fornecida na parte do corpo. A programação C fornece outra forma de loop, chamadado...whileque permite executar um corpo de loop antes de verificar uma determinada condição. Possui a seguinte sintaxe -
do {
/*....do...while loop body ....*/
}
while ( condition );
O código acima pode ser representado na forma de um diagrama de fluxo, conforme mostrado abaixo -
Se você for escrever o exemplo acima usando do...while loop, então Hello, World irá produzir o mesmo resultado -
#include <stdio.h>
int main() {
int i = 0;
do {
printf( "Hello, World!\n");
i = i + 1;
}
while ( i < 5 );
}
Quando o programa acima é executado, ele produz o seguinte resultado -
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
A declaração de pausa
Quando o breaké encontrada dentro de um loop, o loop é encerrado imediatamente e o controle do programa é retomado na próxima instrução após o loop. A sintaxe para umbreak declaração em C é a seguinte -
break;
UMA break declaração pode ser representada na forma de um diagrama de fluxo, conforme mostrado abaixo -
A seguir está uma variante do programa acima, mas ela será lançada após a impressão de Hello World! apenas três vezes -
#include <stdio.h>
int main() {
int i = 0;
do {
printf( "Hello, World!\n");
i = i + 1;
if( i == 3 ) {
break;
}
}
while ( i < 5 );
}
Quando o programa acima é executado, ele produz o seguinte resultado -
Hello, World!
Hello, World!
Hello, World!
A declaração continue
o continue declaração na linguagem de programação C funciona um pouco como o breakdeclaração. Em vez de forçar a rescisão,continueforça a próxima iteração do loop a ocorrer, ignorando qualquer código intermediário. A sintaxe para umcontinue declaração em C é a seguinte -
continue;
UMA continue declaração pode ser representada na forma de um diagrama de fluxo, conforme mostrado abaixo -
A seguir está uma variante do programa acima, mas irá pular a impressão quando a variável tiver um valor igual a 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 );
}
Quando o programa acima é executado, ele produz o seguinte resultado -
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loops em Java
A seguir está o programa equivalente escrito em Java que também suporta while e do...whilerotações. O seguinte programa imprimeHello, World! cinco vezes como fizemos no caso da Programação C -
Você pode tentar executar o seguinte programa para ver a saída, que deve ser idêntica ao resultado gerado pelo exemplo acima.
public class DemoJava {
public static void main(String []args) {
int i = 0;
while ( i < 5 ) {
System.out.println("Hello, World!");
i = i + 1;
}
}
}
o break e continue as instruções na programação Java funcionam da mesma maneira que na programação C.
Loops em Python
A seguir está o programa equivalente escrito em Python. Python também suportawhile e do...whilerotações. O seguinte programa imprimeHello, World!cinco vezes como fizemos no caso da Programação C. Aqui você deve notar que o Python não faz uso de chaves para o corpo do loop, em vez disso, ele simplesmente identifica o corpo do loop usando indentação das instruções.
Você pode tentar executar o seguinte programa para ver a saída. Para mostrar a diferença, usamos mais uma instrução print, que será executada quando o loop terminar.
i = 0
while (i < 5):
print "Hello, World!"
i = i + 1
print "Loop ends"
Quando o programa acima é executado, ele produz o seguinte resultado -
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends
o break e continue instruções em Python funcionam da mesma maneira que em programação C.