Até agora, nossos programas eram executados de cima para baixo, linha por linha. Nesta aula, vamos aprender a controlar o fluxo de execução, permitindo que o programa tome decisões e realize repetições.
Existem dois grandes grupos de estruturas de controle: Condicionais (Decisão) e Repetição (Laços/Loops).
As estruturas condicionais permitem que o programa execute diferentes blocos de código com base no resultado de uma condição (logico).
se / se-senaoEsta é a estrutura básica de decisão. Se a condição for verdadeira, o bloco se é executado. Caso contrário (opcional), o bloco senao é executado.
| Estrutura | Uso |
|---|---|
se |
Executa um bloco de código apenas se a condição for verdadeira. |
se-senao |
Executa o primeiro bloco se verdadeiro e um segundo bloco se falso. |
Exemplo de Código: Verificando a Maioridade
programa {
funcao inicio() {
inteiro idade
escreva("Digite sua idade: ")
leia(idade)
// Verifica a condição
se (idade >= 18) {
escreva("Você é maior de idade e pode prosseguir.")
} senao // Se a condição acima for falsa {
escreva("Você é menor de idade. Acesso negado.")
}
}
}
escolha (switch)A estrutura escolha é ideal para lidar com situações onde uma única variável pode ter muitos valores possíveis, como a seleção de uma opção em um menu.
Exemplo de Código: Menu de Opções
programa {
funcao inicio() {
inteiro opcao
escreva("--- MENU ---\\n")
escreva("1 - Sacar\\n")
escreva("2 - Depositar\\n")
escreva("3 - Sair\\n")
escreva("Escolha uma opção: ")
leia(opcao)
escolha (opcao) {
caso 1:
escreva("Você escolheu Sacar.\\n")
pare // Encerra a execução deste 'caso'
caso 2:
escreva("Você escolheu Depositar.\\n")
pare
caso 3:
escreva("Obrigado, saindo do sistema.\\n")
pare
caso contrario: // Se o valor não corresponder a nenhum 'caso'
escreva("Opção inválida! Tente novamente.\\n")
}
}
}
As estruturas de repetição permitem que um bloco de código seja executado múltiplas vezes sem a necessidade de reescrevê-lo.
enquanto (while)O laço enquanto repete um bloco de código enquanto uma determinada condição permanecer verdadeira. É ideal quando você não sabe de antemão quantas vezes a repetição ocorrerá (por exemplo, um loop de jogo ou validação de senha).
Exemplo de Código: Validação de Senha Simples
funcao inicio() {
cadeia senha_correta = "1234"
cadeia senha_digitada = ""
enquanto (senha_digitada != senha_correta) // Repete enquanto a senha for diferente {
escreva("Digite a senha (4 dígitos): ")
leia(senha_digitada)
se (senha_digitada != senha_correta) {
escreva("Senha incorreta. Tente novamente.\\n")
}
}
escreva("Senha correta! Acesso liberado.\\n")
}
para (for)