Lógica de Programação O que é lógica? Conjunto de regras e princípios que orientam, implícita ou explicitamente, o desenvolvimento de uma argumentação ou de um raciocínio, a resolução de um problema, etc. (Dicionário Aurélio) A ciência que estuda as leis e critérios de validade que regem o pensamento e a demonstração, ou seja, ciência dos princípios formais do raciocínio. (Manzano / Oliveira) Forma pela qual as assertivas, pressupostos e instruções são organizadas em um algoritmo para implementação de um programa de computador. (Dicionário Aurélio) Esquema sistemático que define as interações de sinais no equipamento automático do processamento de dados. (Manzano / Oliveira) 1
Necessidade do uso da lógica Auxiliar os profissionais da área de tecnologia de informação (programadores, analista de sistemas e suporte) a solucionar problemas e atingir os objetivos propostos por seus usuários com eficiência e eficácia, utilizando recursos computacionais. Lógica de Programação É o uso correto das leis do pensamento, da ordem da razão e de processos de raciocínio e simbolização formais na programação de computadores, com o objetivo de racionalizar e desenvolver técnicas para produzir soluções logicamente válidas e coerentes, as quais devem resolver com qualidade os problemas que se deseja programar. (Forbellone) 2
Formas de representação da Lógica de Programação Algoritmo Fluxograma de Programa Português Estruturado Linguagem de Programação Algoritmo É uma sequência de procedimentos finitos que, se forem executados em determinado período de tempo, chegará ao seu objetivo.(carboni) Conjunto de regras e operações bem definidas e ordenadas, destinadas à solução de um problema, ou de uma classe de problemas, em um número finito de etapas. (Dicionário Aurélio) 3
Passos para a construção de um algoritmo 1. Identificar o problema (objetivo) mediante leitura atenta de seu enunciado; 2. Obter do enunciado as entradas de dados, ou seja, identificar os dados que devem ser fornecidos e, a partir deles, verificar se desenvolverão os cálculos/processamento; 3. Obter do enunciado as saídas de dados que devem ser gerados como resultado da solução; 4. Determinar o que deve ser feito para transformar (processar) as entradas nas saídas desejadas; 5. Construir o algoritmo; 6. Testar a solução. 1- Construir um algoritmo para fazer um suco de laranja. Exemplos de algoritmos 2- Construir um algoritmo para somar dois números Problema : Fazer um suco de laranja Entrada: Laranja e Copo Processamento: Cortar a laranja Espremer a laranja sobre o copo Saída: Suco de laranja Teste: Experimentar o suco Problema : Somar dois números Entrada: Primeiro número Segundo Número Processamento: Somar o Primeiro Número com o Segundo Número Saída: Resultado da soma Teste Verificar o Resultado da soma 4
Fluxograma de Programa O Fluxograma de Programa também é conhecido como Diagrama de Blocos, e é um conjunto de figuras geométricas utilizadas para a representação da lógica de um programa. As operações são representadas por símbolos que identificam o processo envolvido. (Carboni) Símbolos do Fluxograma Símbolo Definição Símbolo Definição Símbolo Definição Símbolo Definição Terminal representa o início ou o fim de um diagrama Processamento utilizado para indicar cálculos a efetuar, atribuições de valores ou qualquer manipulação de dados Entrada de dados ou operação manual utilizado para ler os dados necessários ao programa fora de linha sem intervenção de dispositivos mecânicos Saída de dados em vídeo é utilizado para representar que a saída de informações será no vídeo Saída de dados em impressora é utilizado para representar que a saída de dados será na impressora Decisão indica a decisão que deve ser tomada, indicando a possibilidade de desvios para diversos outros pontos do fluxo, dependendo do resultado da comparação e de acordo com situações variáveis Entrada/Saída representa uma entrada de dados ou saída de informações Teclado são as informações recebidas ou fornecidas de ou por um computador Preparação refere-se a um determinado grupo de operações não incluídas na diagramação, bem como, na elaboração de uma chave que modificará a execução de um determinado programa Seta de fluxo de dados permite indicar o sentido do fluxo de dados. Serve exclusivamente para conectar os símbolos ou blocos existentes Conector específico para indicar conexão do fluxo em outra página. Conector utilizado quando é preciso particionar o diagrama. Quando ocorre mais de uma partição, é colocada uma letra dentro do símbolo de conexão para identificar os pares da ligação 5
Regras para elaboração de um Fluxograma Devem ser quebrados em vários níveis. Os primeiros devem conter apenas as idéias gerais, deixando para as etapas posteriores os detalhamentos necessários Inicie o fluxograma de cima para baixo e da esquerda para a direita Não pode haver cruzamento nas linhas do fluxograma Exemplo de Fluxogramas de Programa inicio Primeiro Número Segundo Número Resultado da Soma = Primeiro Número + Segundo Numero Resultado da Soma fim 6
Português Estruturado É uma técnica narrativa denominada pseudocódigo, também conhecida como Portugol. Tem como finalidade mostrar uma notação para elaboração de algoritmos, os quais serão utilizados na definição, criação e desenvolvimento de uma linguagem de programação. Exemplo de Português Estruturado Programa Calcular_Soma_2_Numeros inicio inteiro : Primeiro_Numero, Segundo_Numero; real : Resultado_Soma; escreva( Digite o primeiro número ); leia (Primero_Numero); escreva( Digite o segundo número ); leia (Segundo_Numero); Resultado_Soma = Primeiro_Numero + Segundo_Numero escreva ( A soma é :, Resultado_Soma); fim 7
Referências Bibliográficas CARBONI, Irenice de Fátima. Lógica de programação. São Paulo: Pioneira Thomson Learning, 2003. FORBELLONI, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de Programação : a construção de algoritmos e estrutura de dados - 3 a Edição. São Paulo : Prentice Hall, 2005. MANZANO, José Augusto N.G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: lógica para desenvolvimento de programação de computadores 14 a Edição. São Paulo: Érica, 2002. 8