A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Portugol.

Apresentações semelhantes


Apresentação em tema: "Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Portugol."— Transcrição da apresentação:

1 Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Portugol

2 Sumário vRepresentações de algoritmos vElementos básicos vAlgoritmos com qualidade

3 Sumário vRepresentações de algoritmos vElementos básicos vAlgoritmos com qualidade

4 Representações de algoritmos vTrês formas de representação de algoritmos: wFluxograma wDiagrama de Chapin wPseudo-código

5 Representações de algoritmos - Fluxograma v vFluxograma é uma forma padronizada para representar os passos lógicos de um determinado processamento. v vO 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 v vSimbologia do Diagrama de Bloco v vExistem diversos símbolos em um diagrama de bloco. Veja no quadro abaixo alguns dos símbolos que iremos utilizar: SímboloFunção TERMINAL Indica o início ou fim de um processamento Exemplo: Início do algoritmo

7 Representações de algoritmos - Fluxograma SímboloFunção PROCESSAMENTO Processamento em geral Exemplo: x<- 2+3 ENTRADA MANUAL DE DADO Indica entrada de dados pelo usuário via teclado Exemplo: Digite a nota da prova 1

8 Representações de algoritmos - Fluxograma SímboloFunção EXIBIR Mostra informações ou resultados Exemplo: Mostre o resultado do cálculo DECISÃOImpõe uma condição do tipo se Exemplo: SE numero > 0 ENTÃO

9 Fluxograma início C1C1 C3C3 C2C2 fim

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

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

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

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

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

15 Pseudo-código (Portugol) vIngredientes: farinha, açúcar, leite vSeparar os ingredientes vMisturar os ingredientes vColocar massa no forno vEsperar assar por 30 minutos vRetirar bolo do forno

16 Sumário vRepresentações de algoritmos vElementos básicos vAlgoritmos com qualidade

17 Algoritmo Algoritmo fim Elementos básicos de um algoritmo

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 vDados (variáveis e constantes) vTipos de dados vOperadores vComandos vFunções vComentários

20 Elementos básicos de um algoritmo :: Exemplo 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 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 dado variável dado constante tipo de dado operador função comentário

21 Elementos básicos de um algoritmo :: Dados vDados Constantes wO valor de uma constante não se altera após sua definição. wExemplos: N_NEPERIANO = 2,7182 N_NEPERIANO = 2,7182 UNIVERSIDADE = DRUMMOND' UNIVERSIDADE = DRUMMOND' vDados Variáveis wElemento 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 vDefinem a natureza do dado, as operações que podem ser realizadas com o dado e o espaço a ser ocupado na memória. vExemplos: wInteiro: wReal (ponto flutuante):1,34 13,4 -5,0 wString de caracteres: 'quarta-feira' 'Abril' wLógico:TRUE (1) FALSE (0)

23 Elementos básicos de um algoritmo :: Operadores vAtribuição vAritméticos vRelacionais vLógicos

24 vUtilizado para atribuir um valor a uma variável vNotação: x1 23; tempx2 ; nome da variável Valor Elementos básicos de um algoritmo :: Operador Atribuição

25 Elementos básicos de um algoritmo :: Operadores Aritméticos vDados de entrada: tipo numérico (int ou float) vResultado: tipo numérico (int ou float) vExemplos: x_ ; x_ ; alfa 1 / 5; alfa 1 / 5; ang 1 / 5.0; ang 1 / 5.0; resto 10 % 3; resto 10 % 3; resto 1 % 4; resto 1 % 4; delta 5 * 5 – 4 * 1 * 4; delta 5 * 5 – 4 * 1 * 4;

26 Elementos básicos de um algoritmo :: Operadores Relacionais vDados de entrada: tipo numérico (int ou float) vResultado: tipo lógico vExemplos: cond1 2 == 3; cond1 2 == 3; cond ; cond ; cond3 1 > 5; cond3 1 > 5; cond4 (1 + 2) < 5; cond4 (1 + 2) < 5; cond5 10 3; cond5 10 3; cond6 1 (– 4 / 3); cond6 1 (– 4 / 3);

27 Elementos básicos de um algoritmo :: Operadores Lógicos vDados de entrada: tipo lógico vResultado: tipo lógico vExemplos: cond1 V AND F; cond1 V AND F; cond2 F OR F; cond2 F OR F; cond3 NOT cond1; cond3 NOT cond1; cond4 (V AND F) OR (5 > 3); cond4 (V AND F) OR (5 > 3);

28 Elementos básicos de um algoritmo :: Precedência de Operadores 1. NOT– (negação) 2. * /% 3. +– (subtração) 4. == 4. == 5. AND 6. OR 7. 7.

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

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

31 Elementos básicos de um algoritmo :: Funções vPré-definidas vDefinidas pelo programador vExemplos: wseno(angulo) wpow(x,y) wsqrt(resto) wexp(tempo) wler(var1,var2,...) wescrever(resul1,result2,...)

32 Elementos básicos de um algoritmo :: Comentários vUtilizados para descrever o algoritmo, esclarecendo trechos do código vNotação em Linguagem C: w// w/* */

33 Sumário vRepresentações de algoritmos vElementos básicos vAlgoritmos com qualidade

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

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

36 Algoritmos com qualidade vUse 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 hip sqrt(cat1 * cat1 + cat2 * cat2); Algoritmos com qualidade vUse espaços em branco para melhorar a legibilidade:

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

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

40 Exercício vUma 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 1.Calcular área 2.Calcular volume (área × espessura) 3.Calcular peso (volume × densidade × unidades) 4.Calcular custo (peso × frete)

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

43 Exercício :: Algoritmo inicial 2.Calcular volume: 3.Calcular peso: 4.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


Carregar ppt "Algoritmos e Estruturas de Dados Prof. Me. Claudio Benossi Portugol."

Apresentações semelhantes


Anúncios Google