LÓGICA DE PROGRAMAÇÃO E ALGORITMOS Aula no 01 Maristela Weinfurter Teixeira Organização da Disciplina Aula 01 – Métodos de solução de problemas Aula 02 – Lógica e Programação Aula 03 – Conhecendo o VisuAlg Organização da Disciplina Aula 04 – Lógica Condicional Aula 05 – Lógica Iterativa Aula 06 – Vetores Organização da Disciplina Aula 07 – Vetores e Lógica Iterativa Aula 08 – Matrizes Aula 09 – Matrizes e Lógica Iterativa Aula 10 – Registros Organização da Aula Método de solução de Problemas Lógica Algoritmos Método Contextualização Lógica e Raciocínio Métodos de Solução de Problemas Lógica está associada à coerência e à racionalidade. Métodos de Solução de Problemas Não necessariamente à matemática, mas às demais ciências. Métodos de Solução de Problemas Lógica: arte de bem pensar. Ciência das FORMAS do pensamento. Métodos de Solução de Problemas Lógica: Correção do pensamento. Como filosofia, arte ou técnica, nos ensina a usar corretamente as leis do pensamento. Métodos de Solução de Problemas Forma mais complexa do pensamento é o raciocínio. Lógica estuda a correção do raciocínio. Métodos de Solução de Problemas Lógica tem em vista a ordem da razão. Lógica é proveniente da filosofia. Métodos de Solução de Problemas Poderia-se dizer que a lógica é uma estrutura do juízo que permite que este se relacione com a realidade. Métodos de Solução de Problemas A lógica é então o estudo filosófico de um raciocínio VÁLIDO, aplicado a atividades intelectuais, tais como matemática e ciência da computação. Instrumentalização Construindo uma lógica Construindo uma Lógica Todo mamífero é um animal. Todo cavalo é um mamífero. Portanto, todo cavalo é um animal. Construindo uma Lógica Todo mamífero é um animal. Todo cavalo é um mamífero. Portanto, todo cavalo é um animal. Construindo uma Lógica A gaveta está fechada. A caneta está dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta. Construindo uma Lógica Anacleto é mais velho que Felisberto. Felisberto é mais velho que Marivaldo. Portanto, Anacleto é mais velho que Marivaldo. Aplicação Algoritmos Algoritmos Um dos objetivos da lógica de programação é a CONSTRUÇÃO de ALGORITMOS coerentes e validados. Algoritmos Mas afinal de contas, o que é um ALGORITMO? Algoritmos Um algoritmo pode ser definido como uma sequência finita de passos, descritos em uma ordem lógica, que atingirão um objetivo bem definido. Algoritmos Um algoritmo pode ser definido como uma sequência finita de passos, descritos em uma ordem lógica, que atingirão um objetivo bem definido. Algoritmos • Sequência • Passos • Ordem lógica Algoritmo Objetivo Definido • Resultados Algoritmos Há muitos outros conceitos que nos levam a uma melhor compreensão do que são algoritmos... Algoritmos “Algoritmo é uma sequência de passos que deve ser seguida para a realização de uma tarefa.” Ascencio, 1999 Algoritmos “Algoritmo é uma sequência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja sua instância.” Salvetti, 1999 Algoritmos “Algoritmos são regras formais para a obtenção de um resultado ou da solução de um problema, englobando fórmulas de expressões aritméticas.” Manzano, 1997 Algoritmos Algoritmo 1 – Somar três números 1. Receber os três números 2. Somar os três números 3. Mostrar o resultado obtido Síntese Método para construção de algoritmos Método para Construção de Algoritmos 1-Compreender COMPLETAMENTE o PROBLEMA a ser resolvido, destacando pontos e objetos importantes Método para Construção de Algoritmos 2-Definir os dados de entrada. Dados que serão FORNECIDOS para o cenário em questão. Método para Construção de Algoritmos 3-Definir o processamento, os cálculos, restrições, transformações dos dados de ENTRADA em SAÍDA. Método para Construção de Algoritmos 4-Definir os dados de saída, gerados após o processamento. Método para Construção de Algoritmos 5-Construir o algoritmo utilizando um dos tipos de dados. Método para Construção de Algoritmos 6-Testar o algoritmo realizando simulações. Referências de Apoio Forbellone, A.L.V.; Eberspacher, H.F.; Lógica de programação: a construção de algoritmos e estruturas de dados. 3ª. Ed. São Paulo: Pearson, 2005. Ascencio, A.F.G.; Campos, E.A.V.; Fundamentos da programação de computadores: algoritmos, pascal, C/C++ e Java. 3ª. Ed. São Paulo : Pearson, 2012. FIM