12.º anoPercurso edumaterial
O que vais aprender
- Traçar um algoritmo determinístico com entrada, condição e saída, evitando instruções ambíguas.
Compreender
Um algoritmo é uma sequência finita de passos suficientemente claros para resolver um problema definido. No sistema fictício, a entrada é o indicador de disponibilidade do livro. A condição pergunta se o valor é «sim». Se for, a ação é registar o empréstimo; se for «não», a saída é a mensagem «indisponível». A ordem importa: o programa não deve registar primeiro e só depois verificar. Um fluxograma poderia mostrar início, decisão e os dois caminhos, mas a lógica também pode ser escrita em linguagem natural.
Um teste cobre pelo menos os dois valores possíveis da condição. Com «sim», espera-se registo de empréstimo; com «não», espera-se a mensagem. Se aparecer um valor não previsto, o algoritmo precisa de comportamento definido, por exemplo pedir revisão da entrada. Esta extensão é uma decisão de projeto, não algo afirmado pelo cenário inicial. Escrever «se der, empresta» seria ambíguo: não especifica que dado é verificado nem o que acontece quando não dá.
O modelo simplifica uma biblioteca real. Pode haver identificação da pessoa, limites de empréstimos, reservas e proteção de dados, mas nada disso foi especificado aqui; não se inventam essas regras na resposta. Uma boa solução declara o alcance: decidir apenas a partir da disponibilidade booleana. Antes de programar, pode-se simular a execução passo a passo com entradas diferentes e comparar saída prevista e saída obtida. Esse teste identifica condições invertidas ou caminhos sem resposta.
Exemplo resolvido
No sistema de empréstimo da teoria, testa a entrada disponibilidade = sim. Que operações são executadas e como confirmas que o ramo termina?
- Leio a entrada sim e avalio a condição disponibilidade = sim como verdadeira.
- Sigo apenas o ramo verdadeiro, registo um empréstimo e não apresento a mensagem do ramo falso.
- Executo o fim do algoritmo e verifico que o registo foi feito uma só vez, sem voltar à condição.
A entrada sim produz um registo único de empréstimo e termina; este modelo continua sem tratar reservas.
Atenção ao erro
Registar empréstimo antes de testar disponibilidade.

Verifica agora
Qual é a entrada do algoritmo descrito?
Ver solução explicada
Resposta: O indicador disponível, com valor sim ou não.
Nomeia o dado usado na condição.
Que saída ocorre quando disponível = não?
Ver solução explicada
Resposta: O sistema apresenta «indisponível» e não regista o empréstimo.
Segue o ramo falso.
A verificação de disponibilidade vem antes ou depois do registo?
Ver solução explicada
Resposta: Antes do registo do empréstimo.
Respeita a condição de decisão.
O caso permite decidir o que acontece numa reserva?
Ver solução explicada
Resposta: Não; o modelo diz explicitamente que não trata reservas.
Não acrescenta requisitos não definidos.
Alinhamento curricular e fontes
- Introdução à Programação, Algoritmia, página 5. Objetivo oficial parafraseado: Elaborar algoritmos simples em linguagem natural, pseudocódigo ou fluxograma e distinguir condição de ação.. O exemplo, a sequência e os exercícios são editoriais. · Aprendizagens Essenciais · aplicacoes-informaticas-b · 12-ano

