Algoritmos e Programação

10,171 views
10,071 views

Published on

http://eletronicasemlimites.blogspot.com/

Published in: Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,171
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
455
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Algoritmos e Programação

  1. 1. Algoritmos e Programação
  2. 2. Objetivo <ul><li>Desenvolver algoritmos coerentes e válidos para solucionar problemas e implementá-los utilizando uma linguagem de programação. </li></ul>Algoritmos e Programação
  3. 3. Conteúdo Programático Algoritmos e Programação <ul><li>Introdução à Lógica de Programação . Lógica. Seqüência lógica. Instruções. Algoritmos. Programa. Formas de Representação de Algoritmos: descrição narrativa, fluxograma, diagrama de Chapin, pseudocódigo. Representação de um algoritmo. </li></ul><ul><li>Tópicos Preliminares de Programação. Tipos de dados. Variáveis e constantes. Expressões e operadores aritméticos. Expressões e operadores lógicos. Expressões e operadores relacionais. Tabelas-verdade. Prioridades. Comandos de atribuição. Comandos de entrada e saída. Funções matemáticas. </li></ul><ul><li>Estruturas de Controle . Estrutura seqüencial. Estrutura de Seleção: simples, composta e encadeada. Estrutura de múltipla escolha. Desvios incondicionais. Estruturas de Repetição: com teste no início, com teste no final, com variável de controle. Estruturas de controle encadeadas. </li></ul>
  4. 4. Conteúdo Programático Algoritmos e Programação <ul><li>Estruturas de dados homogêneas . Matrizes de uma dimensão ou vetores. Operações básicas com matrizes do tipo vetor. Exemplo de aplicações de vetores: pesquisa e classificação. Matrizes com mais de uma dimensão. Operações básicas com matrizes de duas dimensões. </li></ul><ul><li>Estruturas de dados heterogêneas . Estrutura de registro. Estrutura de um registro de conjuntos. Estrutura de um conjunto de registros. </li></ul><ul><li>Modularização de algoritmos. Decomposição. Módulos. Escopo de variáveis. Variáveis globais e locais. Passagem de parâmetros. Retorno de valores. </li></ul>
  5. 5. Bibliografia <ul><li>(*) FORBELLONE , André Luiz; ELBERSPACHER , Henri Frederico. Lógica de Programação , 3ª edição. Pearson Prentice Hall, São Paulo. </li></ul><ul><li>GUIMARÃES , Ângelo; LAGES, Newton. Algoritmos e Estrutura de Dados . Rio de Janeiro. Editora LTC. </li></ul><ul><li>MANZANO , José Augusto; OLIVEIRA , Jayr Figueiredo. Algoritmos e Lógica para Desenvolvimento de Programas. São Paulo. Editora Érica, 1996. </li></ul><ul><li>(*) SCHILDT , Herbert. C Completo e Total . Makron Books, 3ª edição, São Paulo, 1996. </li></ul><ul><li>MANZANO , José Augusto. Estudo Dirigido de Linguagem C . Editora Érika, São Paulo, 1997. </li></ul>Algoritmos e Programação
  6. 6. Avaliação <ul><li>3 notas </li></ul><ul><li>Cada nota será composta de uma prova e um trabalho. </li></ul><ul><li>Nota = (Prova x 0.6 + Trabalho x 0.4) </li></ul><ul><li>Média Parcial MP = (N1 + N2 + N3)/3 </li></ul><ul><li>Média Final MF: </li></ul><ul><li>Se média parcial MP >=6.0, então MF = MP , senão MF = (MP + EF)/2, onde EF = Exame Final. </li></ul>Algoritmos e Programação
  7. 8. Começando... Algoritmos e Programação
  8. 9. Algoritmos e Programação Capítulo 1 Introdução Algoritmos e Programação
  9. 10. Lógica <ul><li>É a forma de ordenar o pensamento. </li></ul><ul><li>É a arte de bem pensar. </li></ul><ul><li>Podemos dizer que a lógica tem em vista a “ordem da razão”. Ela nos ensina a usar corretamente as leis do pensamento. </li></ul><ul><li>Existe lógica no dia-a-dia? </li></ul><ul><ul><li>A gaveta está fechada. A caneta está dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta. </li></ul></ul>Algoritmos e Programação
  10. 11. Lógica Exemplos: a) Todo mamífero é um animal. Todo cavalo é um mamífero. Portanto, todo cavalo é um animal. b) Kation é país do planeta Stix. Todos os Xinpins são de Kaiton. Logo, todos os Xinpins são Stixianos. Algoritmos e Programação
  11. 12. Sequência Lógica <ul><li>São passos executados até atingir um objetivo ou solução de um problema. </li></ul><ul><li>“ Chupar uma bala”: </li></ul><ul><li>· Pegar a bala </li></ul><ul><li>· Retirar o papel </li></ul><ul><li>· Chupar a bala </li></ul><ul><li>· Jogar o papel no lixo </li></ul>Algoritmos e Programação
  12. 13. Instruções Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar. Algoritmos e Programação
  13. 14. Algoritmo <ul><li>É uma seqüência de passos que visam atingir um objetivo bem definido. </li></ul><ul><li>É a descrição de um padrão de comporta-mento, expressado em termos de um repertório bem definido e finito de ações “primitivas”, das quais damos por certo que elas podem ser executadas. </li></ul><ul><li>Programar é basicamente construir algoritmos </li></ul>Algoritmos e Programação
  14. 15. Algoritmo <ul><li>Algoritmos no dia-a-dia: instruções de uso, indicações de montagem, receitas de cozinha, partituras musicais, etc . </li></ul><ul><li>Quando perguntamos, por exemplo, pelo caminho para a rodoviária, perguntamos de fato por um algoritmo cujo seguimento nos leva a nosso objetivo. </li></ul>Algoritmos e Programação
  15. 16. Algoritmo <ul><li>Qual sua importância na programação? </li></ul><ul><ul><li>Representar o raciocínio, independentemente de detalhes computacionais, que podem ser acrescentados mais tarde. </li></ul></ul><ul><ul><li>Focalizar primeiro na resolução algorítmica do problema, possibilitando depois codificá-la em qualquer linguagem. </li></ul></ul>Algoritmos e Programação
  16. 17. Exemplo de Algoritmo <ul><li>Versão 1: Troca de uma lâmpada : </li></ul><ul><li>pegar uma escada; </li></ul><ul><li>posicionar a escada embaixo da lâmpada; </li></ul><ul><li>buscar uma lâmpada nova; </li></ul><ul><li>subir na escada; </li></ul><ul><li>retirar a lâmpada velha; </li></ul><ul><li>colocar a lâmpada nova. </li></ul>Algoritmos e Programação
  17. 18. Exemplo de Algoritmo <ul><li>Versão 2: Troca da lâmpada (com teste no início) </li></ul><ul><li>acionar o interruptor; </li></ul><ul><li>se a lâmpada não acender, então </li></ul><ul><li> pegar uma escada; </li></ul><ul><li> posicionar a escada embaixo da lâmpada; </li></ul><ul><li> buscar uma lâmpada nova </li></ul><ul><li> subir escada; </li></ul><ul><li> retirar a lâmpada velha; </li></ul><ul><li> colocar a lâmpada nova. </li></ul>Algoritmos e Programação
  18. 19. Exemplo de Algoritmo Versão 3: Troca da lâmpada (com teste para 10 soquetes)  ir até o interruptor do primeiro soquete;  enquanto a quantidade de soquetes testados for menor que 10, faça  acionar o interruptor;  se a lâmpada não acender, então  pegar uma escada;  posicionar a escada embaixo da lâmpada;  buscar uma lâmpada nova;  acionar o interruptor;  subir na escada;  retirar lâmpada queimada;  colocar lâmpada nova;  enquanto a lâmpada não acender, faça  retirar lâmpada queimada;  colocar lâmpada nova;  ir até o interruptor do próximo soquete; Algoritmos e Programação
  19. 20. Formas de Representação <ul><li>Versão 3 em Fluxograma </li></ul>início ir para o primeiro soquete soquetes restantes < 10 acionar o interruptor pegar uma escada posicionar escada buscar lâmpada nova acionar o interruptor não acendeu? subir na escada retirar a lâmpada queimada colocar lâmpada nova acionar o interruptor não acendeu? retirar a lâmpada queimada colocar lâmpada nova ir ao próximo soquete fim F F F V V V
  20. 21. Formas de Representação <ul><li>Versão 3 em Chapin </li></ul>
  21. 22. Formas de Representação <ul><li>Gráficas (Fluxograma e Chapin) </li></ul><ul><ul><li>Vantagens </li></ul></ul><ul><ul><ul><li>Maior clareza no fluxo de execução </li></ul></ul></ul><ul><ul><ul><li>Linguagem visual </li></ul></ul></ul><ul><ul><li>Desvantagens </li></ul></ul><ul><ul><ul><li>Requer conhecimento de convenções gráficas </li></ul></ul></ul><ul><ul><ul><li>Mais trabalhoso em decorrência de seus desenhos </li></ul></ul></ul><ul><ul><ul><li>Dificuldade para fazer correções </li></ul></ul></ul><ul><li>Textuais (Português Estruturado) </li></ul><ul><ul><li>Apresenta mais vantagens, desde que se tomem alguns cuidados: </li></ul></ul><ul><ul><ul><li>Riqueza gramatical de nossa língua pode levar a ambigüidades </li></ul></ul></ul><ul><ul><ul><li>A frase “O pregador foi grampeado durante o conserto” tem 8 sentidos diferentes quando pronunciada </li></ul></ul></ul><ul><ul><ul><li>Para resolver, utilizaremos um conjunto restrito de regras, conhecido como Português Estruturado (Portugol). </li></ul></ul></ul>
  22. 23. Portugol É uma pseudolinguagem de programação (simbiose de Português com o Algol) que reúne um conjunto básico de primitivas permitindo ao projetista pensar no problema e não na máquina que vai executar o algoritmo e, por outro lado, não fique muito distante desta mesma máquina. Em toda linguagem, as frases construídas envolvem dois aspectos: a sintaxe e a semântica . Algoritmos e Programação
  23. 24. Portugol Primitivas : Conjunto bem definido de elementos funcionais básicos com os quais podem ser construídas representações de algoritmos. Algoritmos e Programação
  24. 25. Sintaxe e Semântica Sintaxe : tem a ver com a forma. Semântica : tem a ver com o conteúdo Exemplo: “Aqui vendem-se frangos abatidos” sintaticamente correta : está escrita de forma correta. semântica : indica que naquele local existe uma venda de frangos mortos, e não vivos. Algoritmos e Programação
  25. 26. Exercício de Algoritmo Algoritmos e Programação 1. Três jesuítas e três canibais precisam atravessar um rio; para tal dispõem de um barco com capacidade para duas pessoas. Por medidas de segurança, não se deve permitir que em alguma margem a quantidade de jesuítas seja inferior à de canibais. Qual a solução para efetuar a travessia com segurança? Elabore um algoritmo indicando as ações que concretizem a solução do problema.
  26. 27. Exercício de Algoritmo 2. Construir uma lista de todos os inteiros positivos. Organizar essa lista em ordem decrescente (do maior para o menor), e extrair o primeiro inteiro da lista resultante. Estas instruções descrevem um algoritmo? Justifique sua resposta . Algoritmos e Programação
  27. 28. Exercício de Algoritmo <ul><li>3. Cálculo da média de um aluno. </li></ul><ul><li>Obter as notas da primeira e da segunda prova </li></ul><ul><li>Calcular a média aritmética entre as duas </li></ul><ul><li>Se a média for maior ou igual a 7, o aluno foi aprovado, senão ele foi reprovado </li></ul>Algoritmos e Programação
  28. 29. Fluxograma
  29. 30. Diagrama de Chapin
  30. 31. Pseudocódigo <ul><li>inicio </li></ul><ul><li>real: N1, N2, Média; </li></ul><ul><li>leia (N1, N2); </li></ul><ul><li>Média <- (N1+N2)/2; </li></ul><ul><li>se ( Média >= 7) </li></ul><ul><li>então </li></ul><ul><li>escreva (“Aprovado”); </li></ul><ul><li> senão </li></ul><ul><li>escreva (“Reprovado”); </li></ul><ul><li>fimse; </li></ul><ul><li>fim. </li></ul>

×