-
-
Save nenodias/9e5237068fb537fd040e9bd9c4a501de to your computer and use it in GitHub Desktop.
Já existem vários materiais ensinando Lógica de Programação, esse é mais um deles, espero que o mesmo possa ser colaborativo, e que possa ajudar as pessoas que tiverem interesse e disposição de ler esse conteúdo.
Esse material não é vinculado a nenhuma instituição e pode ser usado distribuído e modificado.
Lógica no contexto da programação é uma série de regras e normas a serem utilizadas para a elaboração de algoritmos.
Algoritmos são as sequências de passos a serem seguidos para resolver um determinado problema.
Por exemplo podemos pegar o algoritmo de como se fazer um miojo.
- Colocar água para ferver.
- Colocar o miojo na panela.
- Colocar o tempero no miojo.
Bem para uma pessoa esse algoritmo funcionaria muito bem, mas talvez para um computador não. Bem em geral na programção os comandos precisam ser claros.
Um exemplo de algoritmo um pouco mais claro de como se fazer um miojo.
- Colocar uma panela no fogão.
- Colocar água dentro da panela.
- Ligar o fogo.
- Esperar até a água ferver.
- Adicionar o miojo dentro da panela.
- Aguardar por 3 minutos.
- Desligar o fogo.
- Retirar o excesso de água.
- Colocar o miojo no prato.
- Adicionar o tempero.
É agora os passos estão bem mais claros, dizemos que cada comando faz uma unica operacao ou tarefa. Dessa forma a interpretação do que precisa ser feito fica mais clara.
Na vida real em alguns casos os problemas apresentam opções predefinidas, nessas situações encontramos uma bifurcação, ou seja, temos duas ou mais opções do que fazer. Observe o exemplo.
Contexto: Tenho uma cachorra que é bem atrapalhada, quase sempre que ela vai comer a ração ela acaba derrubando o potinho de água. Dessa forma vamos analisar como seria um algoritmo para colocar a ração para minha cachorra.
- Ir até os potes da minha cachorra
- Colocar ração no pote de ração.
- Verificar se o pote de água está vazio.
- Encher o pote com água. (Executar somente se o pote de água está vazio.)
- Verificar se o pote está com a água suja.
- Trocar a água. (Executar somente se o pote está com a água suja.)
Dessa forma podemos ver que as tarefas "Encher o pote com água." e "Trocar a água." só serão feitas se a verificações forem "Verdadeiras".
Essas duas tarefas podem eser executadas ou não, depende da condição do pote de água.
Vejamos um exemplo culinário novamente.
Se tiver batata na geladeira eu vou fazer batata frita, se não vou fazer macarrão com queijo. Exemplo.
- Verificar se tem batata na geladeira.
- Fazer batata frita.
- Se não.
- Fazer macarrão com queijo.
- Comer.
Uma boa prática é que os desvios condicionais sejam tratados com uma pergunta, por exemplo "Tem batata na geladeira?" e "Não tem batata na geladeira?". A interrogação nos diz que precisamos responder essa pergunta, para saber se executamos a tarefa mais abaixo ou não.
Nas receitas de bolo e na programação, as vezes precisamos fazer algumas tarefas repetidas, ou precisamos de ingredientes repetidos. Vamos olhar alguns exemplos de como seriam esses algoritmos.
- Quebrar 1 ovo na vasilha.
- Quebrar 1 ovo na vasilha.
- Quebrar 1 ovo na vasilha.
- Adicionar orégano.
- Adiconar sal.
- Mexer os ovos.
- Fritar uma omelete.
Agora usando repetições
- Quebrar 3x ovos na vasilha. (Repetimos uma tarefa 3X)
- Adicionar orégano.
- Adiconar sal.
- Mexer os ovos.
- Fritar uma omelete.
Podemos ver que economizamos passos ao utilizar repetições, elas servem justamente para isso.
Acredito que as ideias principais da lógica foram abordadas nessa pequena introdução.