Olá, Rafaela! Como vai?
Parabéns pela resolução do desafio! O seu algoritmo em linguagem natural ficou simplesmente perfeito. Você estruturou o passo a passo com muita clareza, cobrindo desde a entrada de dados (captura da idade e do status de estudante) até o processamento das condições e a exibição da saída correta para o usuário.
Gostaria de destacar um acerto crucial no seu raciocínio que é o coração desse exercício: o uso do operador lógico OU (representado pelo termo "Se alguma das condições for verdadeira").
O Poder do Operador Lógico OU (OR)
Na lógica de programação, o operador OU é generoso. Para que o bloco inteiro seja aceito e o cliente ganhe o benefício, basta que apenas uma das regras seja atendida.
No seu algoritmo, existem três caminhos possíveis para o cliente ter direito à meia-entrada:
- O cliente tem menos de 18 anos, mas não é estudante. (Ganha a meia pela idade)
- O cliente tem mais de 18 anos, mas é estudante. (Ganha a meia pelo status)
- O cliente tem menos de 18 anos e também é estudante. (Ganha a meia por ambos)
O único cenário em que ele cai no seu "Caso contrário" é se ambas as perguntas tiverem respostas falsas (maior de idade e não estudante).
Transformando em Pseudocódigo
Para dar o próximo passo no seu aprendizado de Pensamento Computacional, veja como o seu roteiro em linguagem natural se transforma em um pseudocódigo estruturado, prontinho para ser programado em qualquer linguagem do mercado:
{
Escreva("Digite a idade do cliente:");
Leia(idade);
Escreva("O cliente é estudante? (Sim/Não):");
Leia(eh_estudante);
// Utilizamos o operador '|' ou a palavra 'OU' para conectar as condições
Se (idade < 18 ou eh_estudante == "Sim")
{
Escreva("Cliente tem direito à meia-entrada.");
}
Senão
{
Escreva("Cliente não tem direito à meia-entrada.");
}
}
A sua habilidade de quebrar um problema do mundo real em regras lógicas sequenciais mostra que você pegou muito bem o espírito do Pensamento Computacional. Continue compartilhando suas práticas aqui no fórum!
Espero que possa ter lhe ajudado!