Conceito de lógica aplicado à programação.
Processo de pensamento atrelado ao conceito de algoritmos e resolução de problemas. Esse processo é inerente ao processo do pensamento humano usado no dia a dia.
A lógica é um tipo de estrutura que visa solucionar problemas.
Problema
Problema é uma questão com númerosas soluções, objeto de discussão e as vezes com uma proposta duvidosa.
Problema é uma questão que foge a uma determinada regra, ou melhor é um desvio de percurso, o qual impede de atingir um objetivo com eficiência e eficácia.
Lógica
Parte da filosofia que trata das formas do pensamento em geral (dedução, indução, hipótese, inferência, etc) e das operações intelectuais que visam à determinação do que é verdadeiro ou falso.
Então, a lógica é uma maneira de pensar.
Organização e planejamento das instruções assertivas em um algoritmo, a fim de viabilizar a implantação de um programa para a resolução de um problema.
Seres humanos podem prever comportamentos, computadores não! Aí entra a questão das instruções serem detalhadas para o computador.
Por que entender a lógica de programação?
"Everybody in this country should learn how to program a computer because it teaches you know to think", Steve Jobs.
A lógica de programação nos ensina a como pensar de maneira eficiente, mais objetiva, um tipo de pensamento mais bem definido que ajuda a resolver problemas.
Técnicas são modelos de desenvolvimento de resolução de problemas.
Formas de ordenar instruções para atingir determinado objetivo.
Técnica de Lógica Linear
É um modelo tradicional, mais simples, eficaz, não tem vinculo com nenhuma estrutura hierárquica ou com programação de computadores. Linear refere-se a algo homogêneo, unidirecional, e essa ideia vem da matemática. Seria uma execução sequenciada de eventos, onde temos a ordenação dos elementos por uma única propriedade (problema). Então temos um problema com uma dimensão, temos apenas uma propriedade objeto do problema, e ele é ordenado de maneira sequencial. É um modelo tradicional e tem recursos limitados. Resolve problemas que não envolvam outros problemas, sem dependências.
Técnica de Lógica Estruturada
É um modelo para casos um pouco mais complexos, adere a ideia de hierárquia. Há uma sequência, uma dependência e uma ordenação especifica a uma estrutura especifica dentro da sequência de eventos. Estrutura é organização, disposição e ordem dos elementos essenciais que compõem um corpo (concreto ou abstrato). Há uma determinada ordem colocada para compôr os eventos, e um objeto (corpo).
Objetivos
- Escrita
- Entendimento
- Validação
- Manutenção
Resolve problemas que tenham estruturas condicionais e estruturas de repetição. Técnica usada, principalmente, na área de processamento de dados (programação de computadores).
Técnica de Lógica Modular
É um modelo usado para decompor um problema em módulos, que serão partes independentes. Os módulos são colocados cada um no seu contexto, e controlados por um conjunto de regras. Essas regras é que vão determinar a iteração entre os módulos. vem da ideia de pensamento computacional
No modelo padrão em desenvolvimento de software o problema é divido em trẽs partes:
ENTRADA >> PROCESSAMENTO >> SAÍDA
Esta técnica não se restringe ao modelo padrão apresentado, pois há diferentes níveis de abstração para a técnica modular, porque estamos puxando do mundo concreto (físico) para o mundo abstrato e isso nos possibilita modular ainda mais.
Objetivos
- Decomposição do problema
- Simplificação (resolver de forma mais fácil)
- Verificação do módulo (se está funcionando corretamente, manutenção)
- Reutilização