Sequência, condição e loop
Sequência, condição e loop são os três pilares fundamentais da lógica de programação, essenciais para a criação de qualquer algoritmo ou programa de computador.
Eles representam as estruturas de controle que determinam a ordem em que as instruções são executadas, como as decisões são tomadas e como tarefas repetitivas são realizadas de forma eficiente.
Compreender esses conceitos é o primeiro passo para desenvolver a capacidade de resolver problemas computacionais e construir softwares.
Características
As principais características da sequência, condição e loop na lógica de programação são:
- Sequência: Execução de instruções em ordem, uma após a outra.
- Condição: Tomada de decisões baseada em avaliações lógicas (verdadeiro ou falso).
- Loop (ou Repetição): Execução repetida de um bloco de instruções enquanto uma condição for atendida.
- Linearidade: A sequência garante um fluxo de execução previsível.
- Flexibilidade: Condições e loops permitem criar programas dinâmicos e adaptáveis.
- Eficiência: Loops evitam a repetição manual de código, tornando-o mais conciso e menos propenso a erros.
- Abstração: Esses blocos ajudam a abstrair a complexidade do problema em partes gerenciáveis.
A Estrutura da Sequência
A estrutura de sequência é a mais básica em programação. Nela, as instruções são executadas na ordem exata em que aparecem no código, de cima para baixo, sem desvios ou repetições.
Cada instrução é executada completamente antes que a próxima seja iniciada. Essa ordem linear é crucial para a correta interpretação e execução de um programa.
Exemplos de Sequência
Um exemplo simples de sequência seria:
1. Ler um número.
2. Somar 5 a esse número.
3. Exibir o resultado.
Nesse caso, cada passo acontece em uma ordem definida. Não se pode somar antes de ler o número, nem exibir o resultado antes de realizá-lo.
A Estrutura de Condição
A condição introduz a capacidade de tomar decisões em um programa. Ela permite que diferentes blocos de código sejam executados dependendo se uma determinada afirmação é verdadeira ou falsa.
As estruturas condicionais mais comuns são o se (if) e o senão (else), permitindo definir caminhos alternativos no fluxo de execução do algoritmo.
Tipos de Condição
Existem diferentes formas de implementar condições, sendo as mais comuns:
Condição Simples (if)
Executa um bloco de código apenas se a condição for verdadeira.
Exemplo:
Se a nota for maior ou igual a 7, exibir “Aprovado”.
SE nota >= 7 ENTÃO
Escrever "Aprovado"
FIM SE
Condição Composta (if-else)
Executa um bloco de código se a condição for verdadeira e outro bloco se for falsa.
Exemplo:
Se o saldo for maior ou igual ao valor do saque, permitir o saque; senão, exibir “Saldo insuficiente”.
SE saldo >= valor_saque ENTÃO
Escrever "Saque realizado com sucesso!"
SENÃO
Escrever "Saldo insuficiente."
FIM SE
Condições Múltiplas (if-else if-else ou switch-case)
Permitem verificar várias condições sequencialmente, executando o bloco correspondente à primeira condição verdadeira.
Exemplo:
Se a opção for 1, exibir “Opção A”; se for 2, exibir “Opção B”; senão, exibir “Opção inválida”.
SE opcao = 1 ENTÃO
Escrever "Opção A"
SENÃO SE opcao = 2 ENTÃO
Escrever "Opção B"
SENÃO
Escrever "Opção inválida."
FIM SE
A Estrutura de Loop (Repetição)
O loop, ou estrutura de repetição, é fundamental para automatizar tarefas que precisam ser realizadas várias vezes. Ele permite que um bloco de código seja executado repetidamente enquanto uma condição específica for mantida.
Isso evita a duplicação de código e torna os programas mais eficientes e fáceis de manter.
Tipos de Loop
Existem principalmente dois tipos de loops:
Loop com Condição de Entrada (while)
O loop while (enquanto) verifica a condição antes de cada execução do bloco de código. Se a condição for falsa desde o início, o bloco nunca será executado.
Exemplo:
Enquanto houver itens na lista de compras, remover um item.
ENQUANTO numero_itens > 0 FAÇA
Remover item da lista
numero_itens = numero_itens - 1
FIM ENQUANTO
Loop com Condição de Saída (do-while)
O loop do-while (faça-enquanto) executa o bloco de código pelo menos uma vez e, em seguida, verifica a condição. Se a condição for verdadeira, o bloco é executado novamente.
Exemplo:
Peça ao usuário para digitar um número positivo. Repita enquanto o número digitado for menor ou igual a zero.
FAÇA
Ler numero
SE numero <= 0 ENTÃO
Escrever "Por favor, digite um número positivo."
FIM SE
ENQUANTO numero <= 0
Loop com Contador (for)
O loop for (para) é frequentemente usado quando se sabe de antemão quantas vezes a repetição deve ocorrer. Ele geralmente envolve um contador que é inicializado, incrementado ou decrementado a cada iteração.
Exemplo:
Exibir os números de 1 a 5.
PARA contador DE 1 ATÉ 5 FAÇA
Escrever contador
FIM PARA
Diferença entre Condição e Loop
| Aspecto | Estrutura de Condição | Estrutura de Loop |
|---|---|---|
| Propósito | Tomar decisões; executar blocos de código seletivamente. | Executar blocos de código repetidamente. |
| Execução | Executa um bloco de código uma única vez com base na condição. | Executa um bloco de código múltiplas vezes enquanto a condição for verdadeira. |
| Controle | Define caminhos alternativos no fluxo do programa. | Controla a quantidade de repetições. |
| Aplicação | Validar entrada, definir estados, direcionar o fluxo. | Processar listas, contar iterações, realizar cálculos repetitivos. |
Exemplos Práticos Integrados
Para ilustrar como essas estruturas trabalham juntas, considere um programa simples que calcula a média de notas de alunos:
Exemplo:
Um professor deseja calcular a média de uma turma. Ele sabe o número de alunos e precisa inserir as notas de cada um. O programa deve exibir a média final.
Fluxo:
1. Sequência: Iniciar o programa e solicitar o número de alunos.
2. Loop (for): Repetir o processo de pedir e somar as notas para cada aluno.
3. Sequência: Após o loop, calcular a média dividindo a soma total pelo número de alunos.
4. Condição (if-else): Verificar se a média é maior ou igual a 7. Se for, exibir "Turma Aprovada!"; senão, exibir "Turma em Recuperação."
5. Sequência: Exibir a média calculada.
Ler numero_alunos
soma_notas = 0
PARA i DE 1 ATÉ numero_alunos FAÇA
Ler nota_aluno
soma_notas = soma_notas + nota_aluno
FIM PARA
media_turma = soma_notas / numero_alunos
SE media_turma >= 7 ENTÃO
Escrever "Turma Aprovada!"
SENÃO
Escrever "Turma em Recuperação."
FIM SE
Escrever "A média da turma é: ", media_turma
Neste exemplo, a sequência define a ordem geral, o loop (para) gerencia a entrada de múltiplas notas, e a condição (se-senão) avalia o desempenho final da turma.
Exercícios com Gabarito
1. (ENEM-2023) Um algoritmo para exibir os números pares de 1 a 10 utiliza uma estrutura de repetição. Qual estrutura é mais adequada para essa tarefa, considerando a necessidade de verificar se cada número é par antes de exibi-lo?
- a) Sequência simples
- b) Condição
ifcombinada comfor - c) Loop
whilesem verificação - d) Sequência com
ifeelse - e) Loop
do-while
Resposta: Alternativa b: O loop for (ou while) garante a iteração de 1 a 10, e a condição if é necessária para verificar se o número atual é par antes de exibi-lo.
2. (Vestibular - Lógica) Um sistema de login pede um nome de usuário e uma senha. Se ambos estiverem corretos, o usuário acessa o sistema. Caso contrário, ele recebe uma mensagem de erro e o sistema permite que ele tente novamente por mais duas vezes. Qual combinação de estruturas de controle é utilizada?
- a) Apenas Sequência
- b) Apenas Condição
- c) Apenas Loop
- d) Sequência, Condição e Loop
- e) Condição e Loop, mas sem Sequência
Resposta: Alternativa d: A sequência estabelece a ordem das verificações. A condição if verifica se o nome de usuário e a senha estão corretos. O loop (for ou while) garante que as tentativas sejam repetidas no máximo mais duas vezes.