Comando for: estrutura de repetição
Avance seus conhecimentos em estruturas de repetição. Aprenda o funcionamento do "comando for", do comando "continue" e do comando "break".
09/11/2023
Antes de começar a aprender sobre o comando for, é fundamental que você já saiba o que são estruturas de repetição. Caso ainda não saiba, leia o nosso artigo anterior sobre o comando while e conheça em detalhes toda a mecânica de funcionamento de uma estrutura de repetição.
O conhecimento do comando while vai te dar as bases para compreender o significado do tema tratado neste artigo.
Mas vamos ao que interessa!
O que é o comando for?
O comando for pode ser compreendido como uma evolução do comando while. Ele é especialmente indicado para criar estruturas onde já se sabe de antemão a quantidade exata de repetições.
A estrutura básica do comando for é composta por 3 elementos:
- inicialização.
- expressão condicional.
- iteração.
Veja no código abaixo a estrutura genérica (apenas ilustrativa) do comando for e seus 3 elementos:
1.for(inicialização; expressão condicional; iteração){
2. // comandos repetidos
3.}
Observe que todos os 3 elementos estão denptro dos parênteses ‘(‘ ‘)’ do comando e são separados por ponto e vírgula ‘;’.
Vamos entender cada um desses 3 elementos fazendo uma comparação. Vamos compará-los a uma estrutura de repetição while.
Retomando o código do artigo anterior, responsável por imprimir na tela os valores de 1 a 10.
1.int count=1;
2.while(count <= 10){
3. println(count);
4. count++;
5.}
Na linha 1 (código acima) é realizada a inicialização da variável “count”, a variável de controle da estrutura de repetição. Na linha 2 (código acima) existe a expressão condicional, que irá impor um limite para as repetições. Na linha 4 (código acima) existe a iteração, que altera a variável de controle “count” durante as repetições.
Agora vamos transformar esse código do comando while em um comando for:
1.for(int count=1; count <= 10; count++){
2. println(count);
3.}
Deu para perceber? O comando for nada mais é do que um comando while que já incorpora dentro da sua estrutura, além da expressão condicional, a inicialização e a iteração da variável de controle.
Não tem segredo! A maioria das estruturas de repetição precisam de uma variável de controle e uma iteração. A diferença entre o while e o for é que o comando for já fornece um suporte nativo para a criação desses elementos dentro da sua própria estrutura.
Veja na animação abaixo a simulação da execução do algoritmo acima.
Comando “continue”
O continue é um comando auxiliar que desempenha um papel muito importante dentro das estruturas de repetição. Ele funciona como um interruptor antecipado da repetição. Ele força a estrutura a pular para a próxima repetição antes do fim do seu escopo.
Para entender a sua mecânica de funcionamento, vejamos uma estrutura de repetição com o comando for:
1.for(int i=1; i<=10; i++){
2. println(i);
3.}
Pelo que você já aprendeu sobre o comando for, é possível perceber que o código acima exibe uma estrutura que imprime na tela os números de 1 a 10:
1 2 3 4 5 6 7 8 9 10
Agora vamos adicionar o comando continue nesse código:
1.for(int i=1; i<=10; i++){
2. if(i==7){
3. continue;
4. }
5. println(i);
6.}
Observe nas linhas 2, 3 e 4 (código acima) que adicionamos uma declaração condicional que executa o comando continue caso a variável de controle “i” seja igual ao valor 7. Mas o que isso quer dizer?
Se o comando continue (linha 3 do código acima) for executado, a repetição é interrompida naquele momento e passada para a próxima repetição, não executando a linha 5 (código acima). Como resultado, são impressos na tela os números de 1 a 10 exceto o número 7.
1 2 3 4 5 6 8 9 10
Ou seja, o comando continue fornece um mecanismo para interromper a repetição de forma antecipada.
Veja abaixo esse código completo em várias linguagens de programação diferentes. Perceba que a linguagem Python possui uma estrutura bem diferente para o comando for.
1.class Main {
2. public static void main(String[] args) {
3. for(int i=1; i<=10; i++){
4. if(i==7){
5. continue;
6. }
7. System.out.println(i);
8. }
9. }
10.}
1.#include <stdio.h>
2.int main(void) {
3. for(int i=1; i<=10; i++){
4. if(i==7){
5. continue;
6. }
7. printf("%d\n",i);
8. }
9.}
1.#include <iostream>
2.int main() {
3. for(int i=1; i<=10; i++){
4. if(i==7){
5. continue;
6. }
7. std::cout << i << std::endl;
8. }
9.}
1.using System;
2.class MainClass {
3. public static void Main (string[] args) {
4. for(int i=1; i<=10; i++){
5. if(i==7){
6. continue;
7. }
8. Console.WriteLine(i);
9. }
10. }
11.}
1.for i in range(1, 11):
2.if i==7:
3. continue
4.print(i)
Comando “break”
Assim como o comando continue, o comando break também interrompe a repetição de forma antecipada. Porém, ele interrompe toda a estrutura.
Ao invés de pular para a próxima repetição ele simplesmente abandona toda a estrutura de repetição. Vamos voltar ao exemplo do código anterior colocando o comando break no lugar do continue:
1.for(int i=1; i<=10; i++){
2. if(i==7){
3. break;
4. }
5. println(i);
6.}
Se o comando break (linha 3 do código acima) for executado, toda a estrutura de repetição é interrompida naquele momento, não executando mais a linha 5 (código acima) bem como nenhuma próxima repetição. Como resultado, são impressos na tela apenas os números de 1 a 6.
1 2 3 4 5 6
Ou seja, o comando break fornece um mecanismo para interromper toda a estrutura de repetição de forma antecipada.
Dê o próximo passo. Leia o nosso artigo sobre o comando switch case, a estrutura de seleção da programação de computadores.
David Santiago
Mestre em Sistemas e Computação. Graduado em Sistemas de Informação. Professor de Linguagem de Programação, Algoritmos, Estruturas de Dados e Desenvolvimento de Jogos Digitais.