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).
•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
1
INICIO
N
Leitura
P1, P2,
P3 e P4
condição
S
Ação 1
MEDIA =
(P1+P2+P3+P4)/4
Ação 2
Ação 3
MEDIA
condição
S
N
FIM
FIM
1
•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 pseudolinguagem 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
Exercício: faça um algortimo para calcular a media aritmética de 4 notas
algoritmo “media de notas“
var
p1,p2,p3,p4: real
media: real
// Seção de Comandos
inicio
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í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ícios
10. 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.
Download

Representação de Algoritmos