Estruturas de Repetições
1 - Estruturas de Repetição
Conceito: É uma estrutura de controle (também conhecido com laço ou loop) que repete um bloco de comandos várias vezes, enquanto uma condição for verdadeira ou durante um número determinado de vezes.
Quando usar: quando não se sabe previamente a quantidade de repetições que será realizada e serve para evitar repetir códigos desnecessárias. Em vez de escrever o mesmo comando várias vezes, você escreve uma vez só e usa a estrutura de repetição para executar esse comando repetidamente.
Contexto: Lembra do algoritmo que calcula a média aritmética de notas de um aluno, quantas vezes ele será executado? Do modo em que ele foi resolvido anteriormente, o processamento será realizado uma única vez e para um único aluno. E se forem mais alunos? Como já executado, para solucionar esse problema, o algoritmo em questão deveria ser executado uma vez para cada aluno, ou seja, se forem 50 alunos, teríamos de escrevê-lo 50 vezes! Trata-se de uma solução simples, porém inviável.
1.1 - Tipos de Estruturas de Repetição
Repetição baseado em contagem Comandos são repetidos por um dado número de vezes
Repetição baseado em eventos/condições Comandos são repetidos enquanto uma condição for verdade
1.1.2 - Estrutura de Repetição baseado em contagem (Estrutura PARA)
Esta estrutura de repetição é utilizada quando se sabe o número de vezes que um trecho do algoritmo deve ser repetido. O formato para essa estrutura é:
Para <variável> de <valor-inicial> ate <valor-final> [passo <incremento>] faca
<comando 1>
<comando 2>
<comando ...>
fimpara
Os comandos “<comando 1>, <comando 2>, <comando ...>, serão executados utilizando-se uma <variável> como controle, e seu conteúdo vai variar do <valor-inicial> até o <valor-final>. O passo indica como será a variação da variável de controle. Por exemplo, quando for indicado “passo 2”, a variável de controle será aumentada em 2 a cada loop realizado até atingir o <valor-final>. A opção passo é opcional, sendo quando suprimi-la, o contador será 1 como padrão.
Exemplo 1:
Algoritmo "Estrutura_Para"
// Disciplina : [Lógica de Programação]
// Professor : Mauro Borges França
// Descrição : Algoritmo exemplo para demonstrar a estrutura PARA
// Data atual : 07/05/2025
Var
// Seção de Declarações das variáveis
i: inteiro
Inicio
// Algoritmo exemplo para demonstrar a estrutura PARA
Para i de 1 ate 10 faca
escreval("Número ->",i)
Fimpara
Fimalgoritmo
Explicação:
i
é a variável que funciona como contador.
para i de 1 até 10
define que o laço vai começar em 1 e terminar em 10.
- A cada repetição, o comando
escreva("Número ->", i)
é executado, mostrando o valor atual dei
.
Área de visualização dos Resultados
Início da execução
Número -> 1
Número -> 2
Número -> 3
Número -> 4
Número -> 5
Número -> 6
Número -> 7
Número -> 8
Número -> 9
Número -> 10
Fim da execução.
Exemplo2:
Algoritmo "Soma_de_1_a_100"
// Disciplina : [Lógica de Programação]
// Professor : Mauro Borges França
// Descrição : Algoritmo exemplo para demonstrar a estrutura PARA - exemplo2
// Data atual : 07/05/2025
var
// Seção de Declarações das variáveis
i, soma: inteiro
Inicio
// Algoritmo Somar os 100 primeiros números
soma <- 0
Para i de 1 até 100 faça
soma <- soma + i
Fimpara
escreva("A soma dos números de 1 até 100 é: ", soma)
Fimalgoritmo
Explicação:
- A variável
soma
começa com 0.
- O laço
para i de 1 até 100
percorre todos os números de 1 até 100.
- A cada repetição, o valor de
i
é adicionado àsoma
.
- No final, o algoritmo exibe o total acumulado.
Área de visualização dos Resultados
Início da execução
A soma dos números de 1 até 100 é: 5050
Fim da execução.
1.1.3 - Estrutura de Repetição baseado em eventos/condições indefinidas com testes no início (Estrutura ENQUANTO)
Esta estrutura de repetição é utilizada quando não se sabe o número de vezes que um trecho de algoritmo deverá ser repetido. A estrutura ENQUANTO é uma estrutura de controle que repete um bloco de comandos enquanto uma condição for verdadeira. A estrutura se baseia em uma condição inicial, ou seja, se esta condição for verdadeira o trecho do algoritmo interno a estrutura será executada, e repete-se até que esta condição seja verdade. Quando a expressão for falsa sairá do laço de repetição, executando os comandos logo abaixo do FIMENQUANTO.
Exemplo1:
Algoritmo "Contar_com_enquanto"
// Disciplina : [Lógica de Programação]
// Professor : Mauro Borges França
// Descrição : Algoritmo exemplo para demonstrar a estrutura Enquanto - exemplo1
// Data atual : 07/05/2025
var
// Seção de Declarações das variáveis
contador: inteiro
inicio
// Algoritmo para escrever na tela do número 1 ao número 5
contador <- 1
enquanto (contador <= 5) faça
escreva("Número: ", contador)
contador <- contador + 1
fim_enquanto
escreval("Saiu do Laço")
fimalgoritmo
Explicação:
- O laço começa com
contador = 1
e vai até 5.
- A cada volta, mostra o número e soma +1.
- Quando a variável
contador
chegar a 5 sai do laço e executa o primeiro comando após a estrutura.
Área de visualização dos Resultados
Início da execução
Número: 1
Número: 2
Número: 3
Número: 4
Número: 5
Saiu do Laço
Fim da execução.
Exemplo2:
Algoritmo "Ler_numeros_ate_zero"
// Disciplina : [Lógica de Programação]
// Professor : Mauro Borges França
// Descrição : Algoritmo exemplo para demonstrar a estrutura Enquanto - exemplo2
// Data atual : 07/05/2025
var
// Seção de Declarações das variáveis
numero: inteiro
inicio
// Algoritmo para ler números até o usuário digitar zero
escreva("Digite um número (0 para sair): ")
leia(numero)
enquanto (numero <> 0) faça
escreval("Você digitou: ", numero)
escreva("Digite outro número (0 para sair): ")
leia(numero)
fimenquanto
escreval("Programa encerrado.")
fimalgoritmo
Explicação:
- O laço continua pedindo números enquanto o valor digitado for diferente de 0 (
<>
significa "diferente de").
- Quando o usuário digita 0, o laço termina.
- Caso o usuário digite 0 no inicio da execução, o laço nem inicia.
Área de visualização dos Resultados
Digite outro número (0 para sair): 6
Você digitou: 5
Digite outro número (0 para sair): 6
Você digitou: 6
Digite outro número (0 para sair): 7
Você digitou: 7
Digite outro número (0 para sair): 9
Você digitou: 9
Digite outro número (0 para sair): 0
Programa encerrado.
Fim da execução.
1.1.3 - Estrutura de Repetição baseado em eventos/condições indefinidas com testes no final (Estrutura REPITA)
A estrutura de repetição repita
é utilizada quando não se sabe exatamente quantas vezes um trecho do algoritmo deve ser executado. Ela repete um conjunto de comandos até que uma determinada condição lógica seja satisfeita.
Diferente da estrutura enquanto
, que verifica a condição antes de executar o bloco de comandos, a estrutura repita
verifica a condição apenas no final. Isso significa que os comandos dentro do repita
são sempre executados pelo menos uma vez, independentemente da condição.
Exemplo 1:
Algoritmo "Contar_com_repita"
// Disciplina : [Lógica de Programação]
// Professor : Mauro Borges França
// Descrição : Algoritmo exemplo para demonstrar a estrutura Repita - exemplo1
// Data atual : 07/05/2025
var
// Seção de Declarações das variáveis
contador: inteiro
inicio
// Algoritmo para contar de 1 até 5
contador <- 1
repita
escreval("Número: ", contador)
contador <- contador + 1
até (contador > 5)
escreva("Saiu do Laço")
fimalgoritmo
Explicação:
- A variável
contador
começa com 1.
- O laço
repita
executa o bloco antes de verificar a condição.
- A repetição continua até que
contador
seja maior que 5.
- Quando a variável
contador
chegar a 5 sai do laço e executa o primeiro comando após a estrutura.
Área de visualização dos Resultados
Início da execução
Número: 1
Número: 2
Número: 3
Número: 4
Número: 5
Saiu do Laço
Fim da execução.
Exemplo 2:
Algoritmo "Ler_numeros_com_repita"
// Disciplina : [Lógica de Programação]
// Professor : Mauro Borges França
// Descrição : Algoritmo exemplo para demonstrar a estrutura Repita - exemplo2
// Data atual : 07/05/2025
var
// Seção de Declarações das variáveis
numero: inteiro
inicio
// Algoritmo para ler números até o usuário digitar zero
repita
escreva("Digite um número (0 para sair): ")
leia(numero)
até (numero = 0)
escreva("Programa encerrado.")
fimalgoritmo
Explicação:
- O laço
repita
garante que o número será lido pelo menos uma vez.
- O processo se repete até o usuário digitar o número 0, encerrando o programa.
Área de visualização dos Resultados
Início da execução
Digite um número (0 para sair): 1
Digite um número (0 para sair): 5
Digite um número (0 para sair): 6
Digite um número (0 para sair): 0
Programa encerrado.
Fim da execução.
Copyleft 🄯 2025 - Professor Mauro Borges França.