Desenvolvendo lógica
Devemos pensar o desenvolvimento da lógica basicamente como "trabalha" nosso célebro, mas que por uma questão de "hábito" não nos atentamos a ação em todos os detalhes tal como de fato acontece.
Para exemplificar, vamos imaginar a ação de atender a porta quando alguém bate.
Se formos questionados do procedimento a ser feito responderemos:
"ué, abro a porta!" E de fato é oque acontece... será?? Vamos ver a ação em detalhes:
exemplo (1): alguém bate a porta
.ao ouvir o bater na porta, vou até ela
.abro a porta
.atendo a pessoa
exemplo (2): alguém bate a porta
.o ouvido escuta o bater na porta
.qual a minha posição em relação a porta ?
.vou até a porta
.abro a porta
.atendo a pessoa
exemplo (3): alguém bate a porta
.o ouvido escuta o bater na porta
.qual a minha posição em relação a porta ?
.vou até a porta
.a porta está trancada ?
+- sim, giro a chave, abro a porta
|
+- não, abro a porta
.atendo a pessoa
exemplo (4): alguém bate a porta
.o ouvido escuta o bater na porta
.qual a minha posição em relação a porta ?
.vou até a porta
.a porta está trancada ?
+- sim, a chave está na porta ?
| +- sim, giro a chave, abro a porta
| |
| +- nao, vou buscar a chave, coloco na fechadura, giro a chave, abro a porta
+- nao, abro a porta
.atendo a pessoa
"Lógicamente" a ação de "atender a porta" pode ser observada em detalhes maiores, e na realidade é oque acontece, o célebro processa centenas de situações para realizar uma tarefa e ainda resolve outra centena enquanto a realiza.
O computador, por ser uma máquina, e como toda máquina não é capaz de avaliar a situação do momento, deve ser "preparado" ou "instruído", deve ser "programado" com as diversas situações que surgem para realizar uma determinada tarefa e que ainda podem surgir. Sendo assim, quando cria-se um determinado programa, que nada mais é do que um conjundo de instruções a serem realizadas, deve-se imaginar não somente a ação, mas também o maior número de [variantes] que possam acontecer.
Quanto maior o número de instruções previstas para que uma determinada ação seja realizada, maior a chance de que a [máquina] a realize de forma mais precisa. Mas como tudo na vida, é necessário o uso do bom censo, pois "encher" o programa de possibilidades, não significa eficiência na execução.
Um programa com muita situações a serem analisadas, consequentemente terá sua execução mais lenta, pois deverá analisar todas; além do fato de que quando uma pessoa (inclusive quem o escreveu) precisar "ler" novamente, terá dificuldades pois como foi mencionado no início, não temos o hábito de analisar ações em detalhes.