Upload
internet
View
105
Download
0
Embed Size (px)
Citation preview
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.