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

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

Algoritmos e Estruturas de Dados

Apresentações semelhantes


Apresentação em tema: "Algoritmos e Estruturas de Dados"— Transcrição da apresentação:

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

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: Símbolo Função  TERMINAL Indica o início ou fim de um processamento Exemplo: Início do algoritmo

7 Representações de algoritmos - Fluxograma
Símbolo Funçã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ímbolo Função EXIBIR Mostra informações ou resultados Exemplo: Mostre o resultado do cálculo DECISÃO Impõe uma condição do tipo se Exemplo: SE numero > 0 ENTÃO

9 Fluxograma início C1 C2 C3 fim

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

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

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

13 misturar ingredientes
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
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 constante dado variável tipo de dado comentário operador função

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: Real (ponto flutuante): 1, ,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
Utilizado para atribuir um valor a uma variável Notação: x1 ← 23; temp ← x2; nome da variável Valor

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 Elementos básicos de um algoritmo :: Exercícios sobre Operadores
d + y - z * a / p d / y y / a b / z r % q y % d ((z / a) + b*a ) – d y = 2 z = 4.0 a = 8 b = 6.0 d = 12 p = 4 q = 3 r = 10

30 Elementos básicos de um algoritmo :: Exercícios sobre Operadores
(B == A * C) AND (LOG OR T) (B > A) OR (B == A) LOG OR (B / A ≥ C) AND NOT(A ≥ C) NOT LOG OR T AND (A + B ≥ C) NOT LOG OR (B * 2 - C == 0) LOG OR NOT (B * B ≤ C * 10 + A * B) 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


Carregar ppt "Algoritmos e Estruturas de Dados"

Apresentações semelhantes


Anúncios Google