Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROGRAMAÇÃO DE COMPUTADORES Almir Silva de Oliveira21/02/2014 Introdução à Lógica Sumário Definições Básicas O que é lógica? Lógica de Programação Sequência Lógica Instrução Algoritmo Formas de representação de algoritmos Diagrama de Blocos Pseudocódigo Exercícios Lógicos Definições Básicas 4 O que é Lógica Definições Básicas 5 Podemos relacionar a lógica com a “correção do pensamento”; Uso correto das leis do pensamento; A lógica estuda a “correção do Raciocínio”; A Lógica está relacionada ao pensamento racional e ordenado. O que é Lógica Definições Básicas 6 Definições de Lógica? Trata das formas do pensamento em geral e das operações intelectuais que visam à determinação do que é verdadeiro ou não. (dicionário Houaiss) Parte da filosofia que estuda as leis do raciocínio (dicionário Michaelis) Em Informática: Trata da organização e planejamento das instruções, assertivas etc. em um algoritmo, a fim de viabilizar a implantação de um programa. (dicionário Houaiss) Concluindo: Lógica é 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 Definições Básicas 7 Existe lógica no dia-a-dia Definições Básicas 8 Logica de Programação Técnica de encadeamento de pensamentos para atingir determinados objetivos dentro de certas regras. Baseado em: Lógica Matemática; Teorias básicas da Ciência da Computação. Sequência Lógica São passos executados até atingir um objetivo ou solução de um problema. Instrução Regra ou norma definida para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar. Definições Básicas 9 Juntando tudo... Nós utilizamos a lógica para resolver um problema; A resolução do problema é o objetivo; Para chegar ao objetivo é necessário seguir uma sequência; Nesta sequência estão contido instruções. Sendo assim, tudo isso se resume em: Definições Básicas 10 Mas o que é algoritmo Definições Básicas 11 Uma sequência de passos finitos que visam a atingir um objetivo bem definido. Tem por objetivo representar de forma fiel o raciocínio envolvido na Lógica de Programação. Definição de algoritmo Definições Básicas 12 Algoritmo Não é a solução para um problema. É um conjunto de passos que levam à solução de um determinado problema. Existem várias maneiras de se chegar a solução de um mesmo problema. Problema? Algoritmo Solução! Definições Básicas 13 Algoritmos não necessariamente estão presente na computação! Algoritmos fazem parte das nossas vidas. Todos nós nos deparamos com vários problemas no dia-a-dia. Quantas vezes já vimos um algoritmo e não sabíamos que aquela sequência de passos tinha esse nome? Exemplos.: Uso de um orelhão; Fazer compras no supermercado; Ir ao trabalho; Até quando nos divertimos, estamos executando um conjunto de ações lógicas. Definições Básicas 14 Veja um (possível) algoritmo do uso de um orelhão: 1) Retirar o telefone do gancho 2) Esperar o sinal de discagem 3) Colocar o cartão 4) Discar o número 5) Falar no telefone 6) Colocar o telefone no gancho 7) Retirar o cartão Definições Básicas 15 Exercício – Criar um algoritmo para: Definições Básicas 16 Possível resolução do algoritmo “Trocar pneu do carro”: 1) Estacionar o carro; 2) Sair do carro; 3) Abrir o porta-malas do carro; 4) Retirar triângulo sinalizador, o estepe, o macaco hidráulico e a chave de roda; 5) Sinalizar o transito com o triângulo; 6) Erguer o carro utilizando o macaco hidráulico; 7) Desparafusar as porcas com a chave de roda; 8) Retirar a roda do eixo; 9) Encaixar o estepe no eixo; 10) Encaixar e parafusar as porcas; 11) Guardar o pneu furado no porta-malas; 12) Retirar o triangulo sinalizador do trânsito; 13) Guardar o sinalizador, a chave de roda e o macaco hidráulico no porta-malas. Definições Básicas 17 Possível resolução do algoritmo “Fritar um ovo”: Separar ingredientes Manteiga ovos Separar utensílios colher Frigideira Preparar ambiente Ascender o fogo Colocar a frigideira no fogo Modo de preparo Colocar a manteiga na frigideira, depois junte os ovos e mexa. Quando o ovo fritar, desligue o fogo. Definições Básicas 18 Alguns problemas com o algoritmo do “Fritar um ovo” A linguagem natural é imprecisa: Quanto do manteiga? Como mexer? O que define que está pronto? O uso de uma linguagem mais restritiva e estruturada seria mais adequado; Sem ambigüidades; Utilizar uma linguagem simples e genérica. Definições Básicas 19 Veja o algoritmo do “Fritar um ovo” de forma mais definida: separar 2 ovos; separar 100g de manteiga; separar frigideira; separar colher de pau; ascender fogo; colocar frigideira no fogo; colocar manteiga na frigideira; deixar a manteiga derreter; quebrar levemente a casca do primeiro ovo; colocar a clara e a gema na frigideira; repetir os dois passos anteriores para o segundo ovo; mexer os ovos com a colher; .......... Definições Básicas 20 Instrução de um algoritmo Cada linha do algoritmo pode ser chamada de instrução; Logo, pode-se dizer que um algoritmo é um conjunto de instruções; Uma instrução indica a um computador uma ação elementar a ser executada. Formas de representação de algoritmos Quando falamos em algoritmo sob o ponto de vista computacional não podemos utilizar uma descrição narrativa para representá-lo. Sendo assim, um algoritmo pode ser representado por: Diagrama de Bloco Pseudocódigos Definições Básicas 21 Diagrama de Bloco Uma representação gráfica que visa descrever métodos e sequências de um processo; Através de figuras geométricas (símbolos) e ligações, descreve- se as relações entre cada instrução e o fluxo de informação ilustrando de forma descomplicada a transição de informações entre os elementos que o compõem; Os símbolos devem ser dispostos em ordem lógica e com sintaxe correta para atingir o objetivo de resolver o problema; Vantagem: O entendimento de elementos gráficos é mais fácil que o entendimento de texto; 22 Definições Básicas – exemplo de diagrama INICIO FIM “Digite Nota 1” N1 “Digite Nota 2” N2 M(N1+ N2)/2 “Média: ” M 23 Definições Básicas – Simbologias do diagrama Definições Básicas 24 Pseudocódigo Uma forma genérica de se escrever um algoritmo sem necessidade de conhecer sintaxe de nenhuma linguagem de programação; Utiliza uma linguagem simples; Ainda incapaz de ser executado num sistema real (computador): Computadores não entendem pseudocódigos. Sua transcrição para qualquer linguagem de programação é quase que direta. É necessário aprender as regras do pseudocódigo. Definições Básicas 25 Exemplo de Pseudocódigo ALGORITMO DECLARE nota1, nota2, media NUMÉRICO LEIA nota1 LEIA nota2 media <- (nota1 + nota2) / 2 ESCREVA media FIM_ALGORITMO EXERCÍCIOS LÓGICOS 26 Exercício 1 27 Um homem precisava atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo e mais uma de suas três cargas: um lobo, um bode e um maço de capim. O que o homem deve fazer para conseguir atravessar o rio sem perder nenhuma de suas cargas?Escreva um algoritmo mostrando a resposta, ou seja, indicando todas as ações necessárias para efetuar uma travessia. 28 Resolução - Exercício 01 Um homem precisava atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo e mais uma de suas três cargas: um lobo, um bode e um maço de capim. O que o homem deve fazer para conseguir atravessar o rio sem perder nenhuma de suas cargas? Escreva um algoritmo mostrando a resposta, ou seja, indicando todas as ações necessárias para efetuar uma travessia. 1) LEVAR O BODE PARA O OUTRO LADO DO RIO 2) VOLTAR SEM CARGA NENHUMA 3) LEVAR O LOBO PARA O OUTRO LADO DO RIO 4) VOLTAR COM O BODE 5) LEVAR O MAÇO DE CAPIM PARA O OUTRO LADO DO RIO 6) VOLTAR SEM CARGA ALGUMA 7) LEVAR O BODE PARA O OUTRO LADO DO RIO Exercício 2 29 Elabore um algoritmo que mova três discos de uma Torre de Hanoi, que consiste em três hastes (A, B e C), uma das quais serve de suporte para três discos de tamanhos diferentes (1, 2 e 3), os menores sobre os maiores. Pode- se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo é transferir os três discos para outra haste. A B C 1 2 3 30 Resolução - Exercício 01 Elabore um algoritmo que mova três discos de uma Torre de Hanoi, que consiste em três hastes (a, b e c), uma das quais serve de suporte para três discos de tamanhos diferentes (1, 2 e 3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo é transferir os três discos para a haste C. 1) Mover disco 1 da torre A para C 2) Mover disco 2 da torre A para B 3) Mover disco 1 da torre C para B 4) Mover disco 3 da torre A para C 5) Mover disco 1 da torre B para A 6) Mover disco 2 da torre B para C 7) Mover disco 1 da torre A para C
Compartilhar