1 / 46

Algoritmos e Estruturas de Dados

Prof. Me. Claudio Benossi claudio@beno.com.br. Algoritmos e Estruturas de Dados. Portugol. Sumário. Representações de algoritmos Elementos básicos Algoritmos com qualidade. Sumário. Representações de algoritmos Elementos básicos Algoritmos com qualidade. Representações de algoritmos.

mills
Download Presentation

Algoritmos e Estruturas de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prof. Me. Claudio Benossi claudio@beno.com.br Algoritmos e Estruturas de Dados Portugol

  2. Sumário • Representações de algoritmos • Elementos básicos • Algoritmos com qualidade

  3. Sumário • Representações de algoritmos • Elementos básicos • Algoritmos com qualidade

  4. Representações de algoritmos • Três formas de representação de algoritmos: • Fluxograma • Diagrama de Chapin • Pseudo-código

  5. Representações de algoritmos - Fluxograma • Fluxograma é uma forma padronizada para representar os passos lógicos de um determinado processamento. • O fluxograma, podemos definir uma sequência de símbolos, com significado bem definido, portanto, sua principal função é a de facilitar a visualização dos passos de um processamento

  6. Representações de algoritmos - Fluxograma • Simbologia do Diagrama de Bloco • Existem diversos símbolos em um diagrama de bloco. Veja no quadro abaixo alguns dos símbolos que iremos utilizar:

  7. Representações de algoritmos - Fluxograma

  8. Representações de algoritmos - Fluxograma

  9. Fluxograma início C1 C2 C3 fim

  10. Fluxograma início separar ingredientes misturar ingredientes colocar massa no forno tirar bolo do forno fim

  11. Fluxograma F V início esperar assar separar ingredientes t ≥ 30min misturar ingredientes tirar bolo do forno colocar massa no forno fim

  12. Diagrama de Chapin separar ingredientes misturar ingredientes colocar massa no forno tirar bolo do forno

  13. Diagrama de Chapin separar ingredientes misturar ingredientes colocar massa no forno t ≥ 30min esperar assar tirar bolo do forno

  14. Pseudo-código (Portugol) • Características: • Sintaxe mais simples que a de uma Linguagem de Programação. • Ênfase nas idéias e não nos detalhes. • Facilita construir um programa em Linguagem de Programação.

  15. Pseudo-código (Portugol) • Ingredientes: farinha, açúcar, leite • Separar os ingredientes • Misturar os ingredientes • Colocar massa no forno • Esperar assar por 30 minutos • Retirar bolo do forno

  16. Sumário • Representações de algoritmos • Elementos básicos • Algoritmos com qualidade

  17. Elementos básicos de um algoritmo Algoritmo <nome_do_algoritmo> fim <declarações de variáveis> <comandos>

  18. Elementos básicos de um algoritmo:: Exemplo Algoritmo perimetro_circunferência // declaração de constantes e variáveis const pi = 3,1415 float raio float perim // comandos ler (raio) perim = 2 * pi * raio escrever (perim) fim

  19. Elementos básicos de um algoritmo • Dados (variáveis e constantes) • Tipos de dados • Operadores • Comandos • Funções • Comentários

  20. Elementos básicos de um algoritmo:: Exemplo dado constante dado variável tipo de dado comentário operador função Algoritmo perimetro_circunferência // declaração de variáveis const PI = 3,1415 float raio float perim // comandos ler (raio) perim = 2 * PI * raio escrever (perim) fim

  21. Elementos básicos de um algoritmo:: Dados • Dados Constantes • O valor de uma constante não se altera após sua definição. • Exemplos: • N_NEPERIANO = 2,7182 • UNIVERSIDADE = DRUMMOND' • Dados Variáveis • Elemento que têm a função de associar um nome a uma porção da memória onde um dado pode ser armazenado.

  22. Elementos básicos de um algoritmo:: Tipos de dados • Definem a natureza do dado, as operações que podem ser realizadas com o dado e o espaço a ser ocupado na memória. • Exemplos: • Inteiro: 10 -5 -128 • Real (ponto flutuante): 1,34 13,4 -5,0 • String de caracteres: 'quarta-feira' 'Abril' • Lógico: TRUE (1) FALSE (0)

  23. Elementos básicos de um algoritmo:: Operadores • Atribuição • Aritméticos • Relacionais • Lógicos

  24. Elementos básicos de um algoritmo:: Operador Atribuição nome da variável Valor • Utilizado para atribuir um valor a uma variável • Notação: x1 ← 23; temp ← x2;

  25. Elementos básicos de um algoritmo:: Operadores Aritméticos • Dados de entrada: tipo numérico (int ou float) • Resultado: tipo numérico (int ou float) • Exemplos: • x_2 ← 2 + 3; • alfa ← 1 / 5; • ang ← 1 / 5.0; • resto ← 10 % 3; • resto ← 1 % 4; • delta ← 5 * 5 – 4 * 1 * 4;

  26. Elementos básicos de um algoritmo:: Operadores Relacionais • Dados de entrada: tipo numérico (int ou float) • Resultado: tipo lógico • Exemplos: • cond1 ← 2 == 3; • cond2 ← 1.6 ≠ 5.0; • cond3 ← 1 > 5; • cond4 ← (1 + 2) < 5; • cond5 ← 10 ≥ 3; • cond6 ← 1 ≤ (– 4 / 3);

  27. Elementos básicos de um algoritmo:: Operadores Lógicos • Dados de entrada: tipo lógico • Resultado: tipo lógico • Exemplos: • cond1 ← V AND F; • cond2 ← F OR F; • cond3 ←NOT cond1; • cond4 ← (V AND F) OR (5 > 3);

  28. Elementos básicos de um algoritmo:: Precedência de Operadores • NOT – (negação) • * / % • + – (subtração) • == < > ≠ ≥ ≤ • AND • OR • ←

  29. d + y - z * a / p d / y y / a b / z r % q y % d ((z / a) + b*a ) – d Elementos básicos de um algoritmo:: Exercícios sobre Operadores • y = 2 • z = 4.0 • a = 8 • b = 6.0 • d = 12 • p = 4 • q = 3 • r = 10

  30. (B == A * C) AND (LOG ORT) (B > A) OR (B == A) LOG OR (B / A ≥ C) AND NOT(A ≥ C) NOT LOG ORTAND (A + B ≥ C) NOT LOG OR (B * 2 - C == 0) LOG OR NOT (B * B ≤ C * 10 + A * B) Elementos básicos de um algoritmo:: Exercícios sobre Operadores • A = 2 • B = 7 • C = 3.5 • LOG = F

  31. Elementos básicos de um algoritmo:: Funções • Pré-definidas • Definidas pelo programador • Exemplos: • seno(angulo) • pow(x,y) • sqrt(resto) • exp(tempo) • ler(var1,var2,...) • escrever(resul1,result2,...)

  32. Elementos básicos de um algoritmo:: Comentários • Utilizados para descrever o algoritmo, esclarecendo trechos do código • Notação em Linguagem C: • // • /* <comentário> */

  33. Sumário • Representações de algoritmos • Elementos básicos • Algoritmos com qualidade

  34. Algoritmos com qualidade • Devem ser feitos para serem lidos por seres humanos! • Escreva os comentários no momento em que estiver escrevendo o algoritmo.

  35. Algoritmos com qualidade • Os comentários devem acrescentar alguma coisa, e não frasear o comando: // Multiplicação de b por h: area ← b * h; // Cálculo da área do retângulo: area ← b * h;

  36. Algoritmos com qualidade • Use comentários no prólogo: /******************************** DRUMMOND – Colégio e Faculdade Fulano da Silva Data: 10/02/2014 Última modificação: 12/02/2014 Algoritmo de Demostração ********************************/

  37. Algoritmos com qualidade • Use espaços em branco para melhorar a legibilidade: • hip←sqrt(cat1*cat1+cat2*cat2); • hip ← sqrt(cat1 * cat1 + cat2 * cat2);

  38. Algoritmos com qualidade • Escolha nomes representativos para as variáveis: • p ← c + l; • preco ← custo + lucro;

  39. Algoritmos com qualidade • Utilize um comando por linha. • Utilize parênteses para melhorar a compreensão e evitar erros. • Utilize identação (recuo de texto). • Atenção: identação ≠ endentação

  40. Exercício • Uma fábrica de arruelas precisa calcular o custo de envio de um conjunto de unidades. Escreva um pseudo-código para tal.

  41. Exercício:: Algoritmo inicial • Calcular área • Calcular volume (área × espessura) • Calcular peso (volume × densidade × unidades) • Calcular custo (peso × frete)

  42. Exercício:: Algoritmo inicial • Calcular área d_int d_ext

  43. Exercício:: Algoritmo inicial • Calcular volume: • Calcular peso: • Calcular custo (peso × frete)

  44. Exercício:: Pseudo-código Algoritmo arruela // Constantes const PI = 3,1415 // Variáveis de entrada float d_ext, d_int float espessura, densidade, unidades, frete // Variável de saída float custo // Variáveis do programa float area, area_ext, area_int, volume, peso ...

  45. Exercício:: Pseudo-código (cont.) ... // Início ler(d_ext, d_int, espessura, densidade, unidades, frete) area_ext ← pi * (d_ext/2) * (d_ext/2) area_int ← pi * (d_int/2) * (d_int/2) area ← area_ext – area_int volume ← area * espessura peso ← volume * densidade * unidades custo ← peso * frete escrever (custo) fim

  46. Questões

More Related