representação de algoritmos denise guliato faculdade de computação

24
Representação de Algoritmos Denise Guliato Faculdade de Computação

Upload: internet

Post on 18-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Representação de Algoritmos Denise Guliato Faculdade de Computação

Representação de Algoritmos

Denise GuliatoFaculdade de Computação

Page 2: Representação de Algoritmos Denise Guliato Faculdade de Computação

4.2. Formas de Representação de Algoritmos

A descrição de um algoritmo de forma clara e fácil de ser seguida ajuda no seu desenvolvimento, depuração (localização e correção de erros) e futura migração para uma linguagem de programação.

Para facilitar este trabalho, são utilizadas ferramentas específicas de representação da lógica de programação (seqüência de ações a serem realizadas).

Page 3: Representação de Algoritmos Denise Guliato Faculdade de Computação

•Descrição Narrativa

Especificação verbal dos passos em linguagem natural.

Desvantagens:A linguagem natural é imprecisa (possibilita ambigüidades).Proporciona maior trabalho na codificação.

Sugere-se sua utilização apenas para comentar algoritmos e/ou programas, esclarecendo ou realçando pontos específicos.

Page 4: Representação de Algoritmos Denise Guliato Faculdade de Computação

•Fluxograma

Uso de ilustrações gráficas para representar as instruções.

Apresenta a lógica de um algoritmo, enfatizando passos individuais (objetos gráficos) e o fluxo de execução (setas)

Desvantagens:Fluxogramas detalhados podem obscurecer a estrutura do programa.

Permite transferências arbitrárias de controle

Page 5: Representação de Algoritmos Denise Guliato Faculdade de Computação

INICIO

FIM

Ação 1

1

1

Ação 2

Ação 3

Leitura

S

S

N

N

condição

condição

INICIO

P1, P2,P3 e P4

MEDIA =(P1+P2+P3+P4)/4

MEDIA

FIM

Page 6: Representação de Algoritmos Denise Guliato Faculdade de Computação

•Pseudolinguagem

Linguagem especial para desenvolvimento de algoritmos, que utiliza expressões pré-definidas para representar ações e fluxos de controle.

Funciona como uma linguagem simplificada de programação, logo, facilita a codificação futura.

É uma descrição textual, estruturada e regida por regras; que descrevem os passos executados no algoritmo.

Page 7: Representação de Algoritmos Denise Guliato Faculdade de Computação

Possui características similares às linguagens de programação:

•Utiliza palavras-chaves (ex: escreva, se-então, etc.);

•Indentação (alinhamento dos blocos de comandos);

•Possui um comando por linha;

Obs: será a forma de representação utilizada durante este curso.

Page 8: Representação de Algoritmos Denise Guliato Faculdade de Computação

Formato básico do pseudo- codigo da linguagem do VisualAlg

Page 9: Representação de Algoritmos Denise Guliato Faculdade de Computação

Tipos de dados

Declarações de variáveis

Page 10: Representação de Algoritmos Denise Guliato Faculdade de Computação

Contantes

• Numericas: são valores numericos escritos na forma usual das linguagens de programação (3.5; 6; 90)

• Caracteres: qualquer cadeia de caracteres delimitada por aspas duplas (“ “)

• Lógicas: assume valor VERDADEIRO ou FALSO

Page 11: Representação de Algoritmos Denise Guliato Faculdade de Computação

Operadores Aritméticos

Page 12: Representação de Algoritmos Denise Guliato Faculdade de Computação

Operadores Relacionais

Operadores Lógicos

Page 13: Representação de Algoritmos Denise Guliato Faculdade de Computação

Alguns comandos da pseudo-linguagem do VisualAlg

• Leia (x) – le um valor do teclado e atribui à variavel x

• Escreva (“texto”, lista de variaveis) – escreve o valor das variáveis que foram especificadas no comando

• Escreval(“texto”, lista de variaveis) - escreve o valor das variáveis que foram especificadas no comando e pula uma linha

Page 14: Representação de Algoritmos Denise Guliato Faculdade de Computação

algoritmo “media de notas“var p1,p2,p3,p4: real media: real// Seção de Comandosinicio escreva ("Entre com a nota p1: ") leia (p1) escreval ("") escreva ("Entre com a nota p2: ") leia (p2) escreval ("") escreva ("Entre com a nota p3: ") leia (p3) escreval ("") escreva ("Entre com a nota p4: ") leia (p4) escreval ("") media <- (p1+p2+p3+p4)/4 escreva ("A media de", p1,p2,p3,p4, " é:", media)fimalgoritmo

Exercício: faça um algortimo para calcular a media aritmética de 4 notas

Page 15: Representação de Algoritmos Denise Guliato Faculdade de Computação

Exercícios

1.Crie um programa que dados os dois catetos de um triângulo, calcule o valor de sua hipotenusa.

Funções:RaizQ( expressão) - Retorna a raiz quadrada do valor representado por expressão

Page 16: Representação de Algoritmos Denise Guliato Faculdade de Computação

algoritmo "hipotenusa"// Função : encontra a hipotenusa dado os catetos// Autor : Denise// Data : 9/3/2010// Seção de Declarações var cat1,cat2,hip:real // Seção de Comandos

inicio escreva ("entre com cateto1:") leia (cat1) escreval("") escreva ("entre com cateto2:") leia (cat2) escreval("") hip <- raizq(cat1^2+cat2^2) escreva("cateto 1", cat1,"cateto 2",cat2,"hipotenusa ",hip)fimalgoritmo

Page 17: Representação de Algoritmos Denise Guliato Faculdade de Computação

Exercícios

1. Escreva um algoritmo que converta polegadas em centímetros ( uma polegada = 2.54 cm). Imprima o valor em polegada e o valor convertido para centímetros.

2. Elabore um algoritmo que forneça o valor em graus Fahrenheit de uma temperatura expressa em graus Celsius (F = 9/5*C+32)

3. Elabore um algoritmo que recebe como entrada o raio (não negativo) de um circulo. Calcule a area e o perímetro deste circulo. Imprima o raio, a area e o perímetro. (área = pi*r2, perímetro = 2*pi*r)

Page 18: Representação de Algoritmos Denise Guliato Faculdade de Computação

Exercício

4. Elabore um algoritmo que, dada uma temperatura em graus Celsius, imprima a frase“Está frio”, se a temperatura for menor 16 graus. Caso contrario não faça nada.

Page 19: Representação de Algoritmos Denise Guliato Faculdade de Computação

Desvio condicional

Page 20: Representação de Algoritmos Denise Guliato Faculdade de Computação

Exercícios

5. Elabore um algoritmo que calcule a área e o perímetro de um circulo, apenas se o raio for maior que zero.Imprima os resultados. Caso contrário não faça nada.

6. Elabore um algoritmo que receba o valor de uma temperatura dada em graus Celsius. Imprima a frase “a temperatura esta agradavel” se a temperatura estiver no intervalo [16,24]. Caso contrário não faça nada.

7.Elabore um algoritmo que receba o valor de uma temperatura dada em graus Celsius. Imprima a frase “a temperatura esta insuportavel” se a temperatura estiver for menor que 0 graus ou maior que 40 graus. Caso contrário não faça nada.

Page 21: Representação de Algoritmos Denise Guliato Faculdade de Computação

Exercício

8. Elabore um algoritmo que receba o valor de uma temperatura dada em graus Celsius. Imprima a frase “a temperatura esta agradavel” se a temperatura estiver no intervalo [16,24]. Caso contrário escreva “Esta ficando ruim”

Page 22: Representação de Algoritmos Denise Guliato Faculdade de Computação

Desvio Condicional

Page 23: Representação de Algoritmos Denise Guliato Faculdade de Computação

Exercícios

9. Elabore um algoritmo que, dada uma temperatura em graus Celsius, escreva:

Esta muito frio, se a temperatura for menor que 16 graus;

Esta agradavel, se a temperatura estiver no intervalo [16,24]

Esta quente, se a temperatura estiver no intervalo (24, 40)

Esta insuportavelmente quente, se a temperatura for maior ou igual a 40 graus.

Page 24: Representação de Algoritmos Denise Guliato Faculdade de Computação

Exercícios10. Escreva um algoritmo, que dado o tipo do veículo ( ‘c’ para carro, ‘o’ para ônibus

e ‘t’ para caminhão) e o numero de horas que o veiculo esteve estacionado, retorna o valor a ser pago de acordo com a tabela:

carro R$ 2,00 a hora ônibus R$3,00 a hora caminhão R$4,00 a hora

11. Escreva um algoritmo que, dados três números inteiros, encontre o maior valor entre eles. Imprima o resultado.

12. Elabore um algoritmo que encontre as raízes de uma equação de segundo grau: Ax2+Bx+C = 0. Entre com os valores de A, B e C,imprima o resultado.