Logica Algoritmo 02 Algoritmo
Upcoming SlideShare
Loading in...5
×
 

Logica Algoritmo 02 Algoritmo

on

  • 18,362 views

 

Statistics

Views

Total Views
18,362
Views on SlideShare
18,321
Embed Views
41

Actions

Likes
5
Downloads
337
Comments
0

2 Embeds 41

http://www.slideshare.net 40
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Logica Algoritmo 02 Algoritmo Logica Algoritmo 02 Algoritmo Presentation Transcript

    • Introdução à Lógica
        • Regis Pires Magalhães
        • [email_address]
        • Última atualização em 20/04/2007
    • Algoritmo
      • A palavra algoritmo tem origem no sobrenome, Al-Khwarizmi, do matemático persa do século IX Mohamed ben Musa, cujas obras foram traduzidas no ocidente cristão no século XII, tendo uma delas recebido o nome "Algorithmi de numero indorum", sobre os algoritmos usando o sistema de numeração decimal (indiano).
      • Outros autores, contudo, defendem a origem da palavra em Al-goreten (raiz - conceito que se pode aplicar aos cálculos).
      • Segundo o dicionário Aurélio, o termo algoritmo é oriundo do idioma Latim das palavras algorismos ou algorithmos, que representam o conceito de algarismo. Este termo teve influência do idioma Grego através da palavra arithmós, que representa número.
    • Algoritmo
      • Matemática
        • Descreve o processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, regras formais para a obtenção do resultado, ou da solução do problema.
      • Computação
        • Descreve o conjunto predeterminado e bem definido de regras e processos destinados à solução de um problema, com um número finito de etapas.
        • O conceito de programação está profundamente vinculado ao conceito de algoritmos.
    • Algoritmo
      • Um algoritmo poderia ser grosseiramente comparado a uma receita culinária.
      • Uma receita é um programa de atividades que deve ser respeitada e cumprida passo-a-passo. Caso um dos passos seja desconsiderado, a receita não dará certo.
      • Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada.
      • Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa.
    • Algoritmo
      • Algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo.
      • Algoritmo é um caminho para a solução de um problema.
        • Em geral, os caminhos que levam a uma solução são muitos.
    • Por que usar algoritmos?
      • Abstração - todo o esforço é concentrado na resolução do problema e não em detalhes computacionais que podem ser acrescentados posteriormente
      • Portabilidade - uma solução algorítmica pode ser traduzida para qualquer linguagem de programação
    • Fases do Algoritmo
    • Processamento de Dados
      • Processamento de Dados é qualquer atividade que, utilizando informações (ou dados), efetua transformações para obter novas informações (ou dados) como resultado.
    • Fases da Programação
    • Representação de Algoritmos
      • Existem diversas formas de representação de algoritmos, mas não há um consenso com relação à melhor delas.
      • Algumas formas de representação de algoritmos tratam dos problemas apenas em nível lógico, abstraindo-se de detalhes de implementação muitas vezes relacionados com alguma linguagem de programação específica.
      • Por outro lado, existem formas de representação de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurescer a idéia principal, o algoritmo, dificultando seu entendimento.
    • Representação de Algoritmos
      • Dentre as formas de representação de algoritmos mais conhecidas, sobressaltam:
        • Descrição Narrativa
        • Fluxograma Convencional
        • Diagrama de Chapin
        • Pseudocódigo, também conhecido como Português Estruturado ou Portugol.
    • Descrição Narrativa
      • Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural.
      • Exemplo:
        • Troca de um pneu furado
          • Afrouxar ligeiramente as porcas
          • Suspender o carro
          • Retirar as porcas e o pneu
          • Colocar o pneu reserva
          • Apertar as porcas
          • Abaixar o carro
          • Dar o aperto final nas porcas
    • Descrição Narrativa
      • Desvantagens:
        • Esta representação é pouco usada na prática porque o uso de linguagem natural muitas vezes dá oportunidade a más interpretações, ambigüidades e imprecisões.
        • Por exemplo, a instrução “afrouxar ligeiramente as porcas” no algoritmo da troca de pneus está sujeita a interpretações diferentes por pessoas distintas.
          • Uma instrução mais precisa seria: “afrouxar a porca, girando-a de 30º no sentido anti-horário”.
    • Descrição Narrativa
      • Problema: Calcular a média final dos alunos. Os alunos realizarão quatro provas: P1, P2, P3 e P4, onde:
        • MF = (P1 + P2 + P3 +P4) / 4
      • Algoritmo:
        • Receba a nota da prova1
        • Receba a nota de prova2
        • Receba a nota de prova3
        • Receba a nota da prova4
        • Some todas as notas e divida o resultado por 4
        • Mostre o resultado da divisão
    • Descrição Narrativa
      • Algoritmo Trocar uma lâmpada queimada
      • pegar uma escada
      • posicionar a escada debaixo da lâmpada
      • buscar uma lâmpada nova
      • subir na escada
      • retirar a lâmpada queimada
      • colocar lâmpada nova
    • Descrição Narrativa
      • O algoritmo não atingirá seu objetivo se a lâmpada nova estiver queimada. Para tal, acrescentamos um teste condicional ( estrutura seletiva ).
        • pegar uma escada
        • posicionar a escada debaixo da lâmpada
        • buscar uma lâmpada nova
        • subir na escada
        • retirar a lâmpada queimada
        • colocar lâmpada nova
        • se a lâmpada nova não acender, então:
          • retirar a lâmpada queimada
          • colocar lâmpada nova
          • se a lâmpada nova não acender, então:
            • retirar a lâmpada queimada
            • colocar a lâmpada nova
            • se a lâmpada nova não acender, então:
              • retirar a lâmpada queimada
              • colocar a lâmpada nova
          • . . .
        • até quando????
    • Descrição Narrativa
      • Algoritmo Trocar uma lâmpada queimada com o uso de estruturas de repetição
      • pegar uma escada
      • posicionar a escada debaixo da lâmpada
      • buscar uma lâmpada nova
      • subir na escada
      • retirar a lâmpada queimada
      • colocar lâmpada nova
      • enquanto lâmpada nova não acender, faça:
        • retirar a lâmpada queimada
        • colocar lâmpada nova
    • Fluxograma
      • É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações distintas.
      • Objetivo: Facilitar o entendimento das idéias contidas nos algoritmos.
    • Principais símbolos usados em Fluxogramas
    • Fluxograma
      • Cálculo da média de um aluno:
      • – Obter as notas da primeira e da segunda prova
      • – Calcular a média aritmética entre as duas
      • – Se a média for maior ou igual a 7, o aluno foi aprovado, senão ele foi reprovado
    • Diagrama de Chapin
      • Diagrama criado por Ned Chapin a partir de trabalhos de Nassi-Shneiderman, para substituição do fluxograma tradicional por um diagrama que apresenta uma visão hierárquica e estruturada da lógica do programa.
      • Representa as estruturas que tem um ponto de entrada e um ponto de saída e são compostas pelas estruturas básicas de controle de seqüência, seleção e repetição.
      • Enquanto é difícil mostrar o embutimento e a recursividade com o fluxograma tradicional, torna-se mais simples mostrá-lo com o diagrama de Chapin, bem como codificá-lo futuramente em pseudocódigo.
    • Diagrama de Chapin
    • Pseudocódigo
      • Também conhecido como português estruturado ou portugol .
      • Bastante rico em detalhes e, por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação.
      • Representação suficientemente geral para permitir que a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta.
    • Pseudocódigo
      • Algoritmo <nome_do_algoritmo>
      • <declaração_de_variáveis>
      • <subalgoritmos>
      • Início
      • <corpo_do_algoritmo>
      • Fim.
    • Pseudocódigo
      • Algoritmo Media
      • Var N1, N2, Media : real
      • Início
      • Leia N1, N2
      • Media  (N1+N2)/2
      • Se Media >= 7 Entao
      • Escreva &quot;Aprovado&quot;
      • Senao
      • Escreva &quot;Reprovado&quot;
      • Fim.
    • Pseudocódigo
      • Calcular a área de uma mesa retangular
      • Algoritmo AreaRetangulo
      • Var comprimento, largura, area : real
      • Início
      • leia comprimento
      • leia largura
      • area  comprimento * largura
      • imprima 'Área igual a', area
      • Fim
    • Pseudocódigo
      • Calcular o preço de uma passagem de ônibus
      • Algoritmo PassagemOnibus
      • Var idade : inteiro
      • preco : real
      • Início
      • leia idade
      • leia preco
      • se idade < 65 então
      • imprima 'Preço é ', preco
      • senão
      • imprima 'Grátis'
      • fimse
      • Fim