Você está na página 1de 16

ACERVO LIMA

O m a i o r a c erv o d e t u t o ri a i s e ref erên c i a s

LOOPS EM C E C++
Os loops na programação entram em uso quando precisamos executar
repetidamente um bloco de instruções. Por exemplo: Suponha que queremos
imprimir “Hello World” 10 vezes. Isso pode ser feito de duas maneiras, conforme
mostrado abaixo:

Método Iterativo

Um método iterativo para fazer isso é escrever a instrução printf() 10 vezes.

// C program to illustrate need of loops


#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");
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");
printf( "Hello World\n");

return 0;
}
// C++ program to illustrate need of loops
#include <iostream>
using namespace std;

int main()
{
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
cout << "Hello World\n";
return 0;
}

Saída:

Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo

Usando Loops

No Loop, a instrução precisa ser escrita apenas uma vez e o loop será executado 10
vezes, conforme mostrado abaixo.
Na programação de computadores, um loop é uma sequência de instruções que se
repete até que uma determinada condição seja atingida.
Uma operação é realizada, como obter um item de dados e alterá-lo, e então
alguma condição é verificada, como se um contador atingiu um número
prescrito.
Contador não atingido: Se o contador não atingiu o número desejado, a próxima
instrução na sequência retorna para a primeira instrução na sequência e a
repete.
Contador atingido: Se a condição foi alcançada, a próxima instrução “passa”
para a próxima instrução sequencial ou ramifica-se para fora do loop.

Existem basicamente dois tipos de loops:

1. Loops controlados por entrada : Neste tipo de loops, a condição de teste é


testada antes de entrar no corpo do loop. For Loop e While Loop são loops
controlados por entrada.
2. Loops controlados de saída : Neste tipo de loops, a condição de teste é testada
ou avaliada no final do corpo do loop. Portanto, o corpo do loop será executado
pelo menos uma vez, independentemente de a condição de teste ser verdadeira
ou falsa. do - enquanto o loop é o loop controlado por saída.

for Loop

Um loop for é uma estrutura de controle de repetição que nos permite escrever um
loop que é executado um número específico de vezes. O loop nos permite realizar n
vários passos juntos em uma linha.
Sintaxe:

for (initialization expr; test expr; update expr)


{
// body of the loop
// statements we want to execute
}

Em loop for, uma variável de loop é usada para controlar o loop. Inicialize primeiro
esta variável de loop com algum valor e, em seguida, verifique se esta variável é
menor ou maior que o valor do contador. Se a instrução for verdadeira, o corpo do
loop é executado e a variável do loop é atualizada. Os passos são repetidos até que
chegue a condição de saída.

Expressão de inicialização : nesta expressão, temos que inicializar o contador


de loop para algum valor. por exemplo: int i = 1;
Expressão de teste : Nesta expressão, temos que testar a condição. Se a
condição for avaliada como verdadeira, executaremos o corpo do loop e
atualizaremos a expressão, caso contrário, sairemos do loop for. Por exemplo: i
<= 10;
Atualizar Expressão : Depois de executar o corpo do loop, esta expressão
aumenta / diminui a variável do loop em algum valor. por exemplo: i ++;
Diagrama de fluxo equivalente para loop:

Exemplo:

// C program to illustrate for loop


#include <stdio.h>

int main()
{
int i=0;

for (i = 1; i <= 10; i++)


{
printf( "Hello World\n");
}
return 0;
}

// C++ program to illustrate for loop


#include <iostream>
using namespace std;

int main()
{
for (int i = 1; i <= 10; i++)
{
cout << "Hello World\n";
}

return 0;
}

Saída:

Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo

While Loop

Ao estudar o loop for , vimos que o número de iterações é conhecido de antemão, ou


seja, o número de vezes que o corpo do loop é necessário para ser executado é
conhecido por nós. Loops while são usados ​em situações em que não sabemos o
número exato de iterações do loop de antemão. A execução do loop é encerrada
com base na condição de teste.
Sintaxe :
Já declaramos que um loop consiste principalmente em três declarações -
expressão de inicialização, expressão de teste e expressão de atualização. A sintaxe
dos três loops - For, while e do while difere principalmente no posicionamento
dessas três instruções.

initialization expression;
while (test_expression)
{
// statements

update_expression;
}

Diagrama de fluxo :

Exemplo:
// C program to illustrate while loop
#include <stdio.h>

int main()
{
// initialization expression
int i = 1;

// test expression
while (i < 6)
{
printf( "Hello World\n");

// update expression
i++;
}

return 0;
}

// C++ program to illustrate while loop


#include <iostream>
using namespace std;

int main()
{
// initialization expression
int i = 1;

// test expression
while (i < 6)
{
cout << "Hello World\n";

// update expression
i++;
}

return 0;
}
Saída:

Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo
Olá Mundo

fazer loop while

Nos loops do while também a execução do loop é encerrada com base na condição
de teste. A principal diferença entre o loop do while e o loop while está no loop do
while, a condição é testada no final do corpo do loop, isto é, do while é controlado
por saída enquanto os outros dois loops são controlados por entrada.
Nota : No loop do while, o corpo do loop será executado pelo menos uma vez,
independentemente da condição de teste.

Sintaxe :

initialization expression;
do
{
// statements

update_expression;
} while (test_expression);

Nota : Observe o ponto-e-vírgula (“;”) no final do loop.


Diagrama de fluxo :

Exemplo:

// C program to illustrate do-while loop


#include <stdio.h>

int main()
{
int i = 2; // Initialization expression

do
{
// loop body
printf( "Hello World\n");

// update expression
i++;

} while (i < 1); // test expression


return 0;
}

// C++ program to illustrate do-while loop


#include <iostream>
using namespace std;

int main()
{
int i = 2; // Initialization expression

do
{
// loop body
cout << "Hello World\n";

// update expression
i++;

} while (i < 1); // test expression

return 0;
}

Saída:

Olá Mundo

No programa acima, a condição de teste (i <1) é avaliada como falsa. Mas, ainda
assim, quando o loop for controlado pela saída, o corpo do loop será executado
uma vez.

Que tal um loop infinito?

Um loop infinito (às vezes chamado de loop infinito) é uma parte da codificação que
carece de uma saída funcional para que se repita indefinidamente. Um loop infinito
ocorre quando uma condição sempre é avaliada como verdadeira. Normalmente,
isso é um erro.
// C program to demonstrate infinite loops
// using for and while
// Uncomment the sections to see the output

#include <stdio.h>

int main ()
{
int i;

// This is an infinite for loop as the condition


// expression is blank
for ( ; ; )
{
printf("This loop will run forever.\n");
}

// This is an infinite for loop as the condition


// given in while loop will keep repeating infinitely
/*
while (i != 0)
{
i-- ;
printf( "This loop will run forever.\n");
}
*/

// This is an infinite for loop as the condition


// given in while loop is "true"
/*
while (true)
{
printf( "This loop will run forever.\n");
}
*/
}

// C++ program to demonstrate infinite loops


// using for and while
// Uncomment the sections to see the output

#include <iostream>
using namespace std;
int main ()
{
int i;

// This is an infinite for loop as the condition


// expression is blank
for ( ; ; )
{
cout << "This loop will run forever.\n";
}

// This is an infinite for loop as the condition


// given in while loop will keep repeating infinitely
/*
while (i != 0)
{
i-- ;
cout << "This loop will run forever.\n";
}
*/

// This is an infinite for loop as the condition


// given in while loop is "true"
/*
while (true)
{
cout << "This loop will run forever.\n";
}
*/
}

Saída:
This loop will run forever.
This loop will run forever.
...................

Técnicas de Looping Mais Avançadas

Loop for baseado em intervalo em C++


loop for_each em C++
Pontos importantes:

Use o loop for quando o número de iterações for conhecido de antemão, ou


seja, o número de vezes que o corpo do loop é necessário para ser executado é
conhecido.
Use loops while onde o número exato de iterações não é conhecido, mas a
condição de término do loop é conhecida.
Use do while loop se o código precisar ser executado pelo menos uma vez
como nos programas baseados em Menu

Artigos relacionados:

O que acontece se o loop até o máximo de assinados e não assinados em C /


C++?
Teste de Loops

Este artigo é uma contribuição de Harsh Agarwal . Se você gosta de GeeksforGeeks


e gostaria de contribuir, você também pode escrever um artigo usando
write.geeksforgeeks.org ou enviar seu artigo para review-team@geeksforgeeks.org.
Veja o seu artigo na página principal do GeeksforGeeks e ajude outros Geeks.

Escreva comentários se encontrar algo incorreto ou se quiser compartilhar mais


informações sobre o tópico discutido acima.

Anterior Próximo

B Y G E E K S F O R G E E K S A N D TR A N S L ATE D B Y A C E R V O L I MA F R O M L O O P S I N C A N D C + + .
L I C E N S E : C C B Y- S A

C Basics CBSE - Class 11 CPP-Basics School Programming

C++

LATEST POSTS

Experiência de Entrevista Epicor

Experiência de entrevista Ebix


Experiência de entrevista com Pickyourtrail (SET 1)

C-DOT (experiência de entrevista em tempo integral)

Diferença Máxima de Peso

MOST POPULAR POSTS

Lidando com linhas e colunas no Pandas DataFrame

Projetos Python - do iniciante ao avançado

7 ideias interessantes de projetos em Python para desenvolvedores


intermediários

As 7 principais ideias de projetos Java para aprimorar as habilidades de


programação

As 10 principais bibliotecas Python para ciência de dados em 2020

ACERVO LIMA

Acervo Lima provides translations of articles published on GeekForGeeks for several languages.

MAIN CATEGORIES

Python

JavaScript

PHP

Java

MORE CATEGORIES

GBlog

Golang

Kotlin
Ruby

CONTACT

Icapuí-CE, Brasil

contact@acervolima.com

© 2022 Acervo Lima, Some rights reserved

Você também pode gostar