Representação de Algoritmos Denise Guliato Faculdade de Computação.
Transcript of Representação de Algoritmos Denise Guliato Faculdade de Computação.
Representação de Algoritmos
Denise GuliatoFaculdade 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).
•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.
•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
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
•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.
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.
Formato básico do pseudo- codigo da linguagem do VisualAlg
Tipos de dados
Declarações de variáveis
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
Operadores Aritméticos
Operadores Relacionais
Operadores Lógicos
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
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
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
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
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)
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.
Desvio condicional
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.
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”
Desvio Condicional
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.
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.