Pular para o conteúdo
Cursos

DevClub

LógicaFront-endBack-endMobile

IA Club

IA na prática
Estudar programaçãoEstudar IA

Aula 1 de 6

Do problema ao algoritmo com entrada e saída observável

Transforme uma tarefa cotidiana em passos sem ambiguidade, separe entrada, processamento e saída e confirme a ordem no JavaScript.

30 minutos · leitura + prática · nível iniciante

Ao terminar esta aula, você vai conseguir

  • Distinguir intenção de algoritmo executável
  • Mapear entrada, processamento e saída
  • Escrever pseudocódigo antes de traduzir para JavaScript

Um problema descreve uma necessidade; um algoritmo descreve os passos capazes de atendê-la. Nesta aula, você vai transformar “calcular o troco” numa sequência que outra pessoa consegue revisar antes que a sintaxe entre na conversa.

O resultado esperado é simples: para compra de 3.740 centavos e pagamento de 5.000, o programa informa 1.260 centavos. Também precisamos dizer o que acontece quando o pagamento é menor. Sem esse segundo caminho, temos uma demonstração feliz, não uma solução completa.

Pense numa receita entregue a um cozinheiro literal. Ingredientes representam entradas, ações representam processamento e prato representa saída. A analogia termina quando o software mantém estado e reage a eventos; aqui ela serve somente para lembrar que “faça do jeito certo” não é um passo definido.

Resolva no papel primeiro

Comece com pseudocódigo. Ele não precisa obedecer a JavaScript, mas precisa ter verbos, dados e fim:

text
RECEBER total da compra em centavos
RECEBER valor pago em centavos
SE valor pago for menor que total
  INFORMAR pagamento insuficiente
SENÃO
  CALCULAR troco como valor pago menos total
  INFORMAR troco
FIM SE
ENCERRAR

Leia cada linha como uma pessoa que não conhece a loja. As unidades estão declaradas, os dois caminhos produzem saída e existe término. Esse é o critério antes da tradução.

Separe entrada, processamento e saída

As entradas são total e pago. O processamento compara os valores e, quando possível, subtrai. A saída é uma mensagem. Não confunda mostrar com calcular: o valor do troco deve existir antes de ser formatado.

Agora traduza sem alterar a regra:

js
function calcularTroco(total, pago) {
  if (pago < total) return 'pagamento insuficiente';
  const troco = pago - total;
  return `troco: ${troco} centavos`;
}

console.log(calcularTroco(3740, 5000));
console.log(calcularTroco(3740, 3000));

No Node v26.3.0, as saídas são troco: 1260 centavos e pagamento insuficiente. Cada uma corresponde a uma seta do pseudocódigo. Se a execução difere, compare linha por linha em vez de acrescentar comandos por tentativa.

Faça uma mudança controlada

Troque somente o pagamento de 5.000 para 4.000 e preveja 260. Depois troque para 3.739 e preveja a mensagem de insuficiência. A mudança controlada revela o limite exato da condição.

No laboratório, o código percorre uma lista de passos. Adicione uma quarta etapa entre execução e conferência. O critério é ela aparecer com número três, empurrar a conferência para quatro e manter “algoritmo encerrado” no final.

Erro comum: pressupor contexto

“Receber o valor” não diz se é texto, reais ou centavos. “Calcular” não diz qual operação. “Se der errado” não nomeia a condição. O computador não completa essas lacunas com experiência.

Quando uma instrução parece óbvia, peça a alguém para simulá-la. Toda pergunta revela uma decisão que ainda está na cabeça de quem escreveu. A missão termina quando a pessoa executa sem improvisar e consegue apontar entrada, processamento e saída.

Leve essa disciplina para a próxima aula. Variáveis darão nomes aos dados, mas nomes bons não salvam um algoritmo ambíguo. Primeiro o papel, depois a tradução, por fim a execução e a explicação do resultado.

Laboratório ao vivo

Sequência de preparo sem lacunas

O sandbox roda no navegador. Leia primeiro o pseudocódigo comentado, complete a lista de passos e confirme que a saída mantém a ordem definida.

Pronto para testar
Resultado

Pare e pense

O que torna uma lista de instruções um algoritmo executável?

Escolha uma resposta
Missão da aula

Faça sem copiar

Escreva o algoritmo de preparar uma mochila, peça para outra pessoa simular e revise toda linha que provocar uma pergunta. Termine sem ambiguidade.

Fontes para consultar

Terminou a missão?

Marque apenas quando você conseguir explicar o conceito e concluir o desafio. O progresso fica salvo somente neste navegador.

Próxima: Modele o estado com variáveis e tipos de dado →