Quando eu penso em programação para um não programador eu dira que nada mais é uma lista de tarefas, eu penso em um problema e começo a decompor ele. Imagine uma simples ideia como vou pagar uma fatura de cartão ?
1 Você tem o valor da fatura
2 Você precisa debitar de algum lugar
3 O saldo positivo fica negativo, se você tem menos saldo do que a fatura está operação não pode ser feita.
Então pensando desta maneira fica fácil você resolver uma coisa por vez e ir evoluindo. Começa a imaginar o que precisa fazer para ter um caminho feliz, mas também precisa pensar em caminhos não tão felizes, e se eu não tiver dinheiro o que acontece ? Então você coloca esta opção.
Vamos ver como isso fica em um pseudocódigo
FUNÇÃO pagar_fatura(valor_fatura, conta_origem):
SE valor_fatura <= 0 ENTÃO:
RETORNAR “Valor inválido para pagamento”
SE conta_origem.saldo < valor_fatura ENTÃO:
// Caminho não tão feliz
RETORNAR "Saldo insuficiente. Deseja pagar valor parcial ou usar limite?"
// Caminho feliz
conta_origem.saldo = conta_origem.saldo - valor_fatura
marcar_fatura_como_paga()
RETORNAR "Pagamento concluído com sucesso!"