Вы находитесь на странице: 1из 4

08/04/2014

1
FLUXOGRAMAS E
ESTRUTURAS DE PROGRAMAO
Introduo Programao I
INTRODUO
O que um algoritmo?
Caminho de soluo para um problema.

Um algoritmo representa uma sequncia de regras.
Essas regras devem ser executadas em uma ordem
preestabelecida.
Cada algoritmo possui um conjunto finito de regras.
Essas regras devem possuir um significado e ser
formalizadas segundo alguma conveno.
2
PROPRIEDADES DE UM ALGORITMO
Valores de entrada:
Todo algoritmo deve possuir zero, uma ou mais entradas
de dados.
Valores de sada:
Todo algoritmo possui uma ou mais sadas, que
simboliza(m) seu(s) resultado(s).
Finitude:
Todo algoritmo deve ter um incio, meio e fim, ou seja,
ser finito.
Deve possuir um incio e um conjunto de passos que, ao
serem executados, levaro sempre ao seu trmino.

3
PROPRIEDADES DE UM ALGORITMO
Passos elementares:
Um algoritmo deve ser explicitado por meio de
operaes elementares, sem que possam haver
diferenas de interpretaes.
Correo:
Um algoritmo deve ser correto, ou seja, chegar ao
resultado esperado de acordo com a entrada fornecida.
Para saber se um algoritmo est correto ou no, deve-se
realizar testes com diversos valores de entrada.
4
FLUXOGRAMAS
importante que os algoritmos sejam entendidos por
todas as pessoas que o utilizarem.

As linguagens informais no so ideais por serem um
pouco incmodas e por poder gerar ambiguidades.

Uma das maneiras de se formalizar um algoritmo usar
uma representao grfica denominada fluxograma.

Todo fluxograma deve possuir uma sintaxe e uma
semntica bem-definidas.
5
FLUXOGRAMAS
Smbolo Nome Descrio
Terminador
Representar o incio e o fim de um algoritmo

Processo
Representar qualquer tipo de processo, processamento de
funo, execuo de operaes, atribuio de valor
Linha bsica
Representar o fluxo dos dados ou controles.

Entrada manual
Representar os dados, de qualquer tipo, fornecidos
manualmente em tempo de execuo, por exemplo pelo
teclado.
Exibio
Representar os dados, de qualquer tipo, para exibio para o
usurio, por exemplo, via monitor
Deciso
Representar uma deciso ou um desvio tendo uma entrada e
vrias sadas alternativas, uma nica das quais usada como
resultado da avaliao da condio. O resultado deve ser
escrito junto linha.
6
08/04/2014
2
ESTRUTURA SEQUENCIAL
A estrutura sequencial de um algoritmo
corresponde ao fato de que o conjunto de aes
(instrues) ser executado em uma sequencia
linear na mesma ordem em que foi escrito
De cima para baixo.

Cada linha do algoritmo corresponde a uma
instruo.

7
ESTRUTURA SEQUENCIAL
O modelo de uma estrutura sequencial :
var
// declaracao de variveis
inicio
// corpo do algoritmo
instruo 1
instruo 2
...
instruo n
fimalgoritmo
8
Instruo 1
Instruo 2
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
Um fluxograma contendo apenas comandos
sequenciais aquele que, a partir do smbolo Incio,
permite a execuo das instrues contidas nos
smbolos subsequentes sem desvio algum na
direo at se alcanar o smbolo Fim.

Exemplo 1:
Construa um algoritmo que calcule (e exiba) a mdia
aritmtica entre 04 notas bimestrais fornecidas por um
aluno (usurio).
9
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
Para resolvermos este problema, devemos obter alguns
valores de entrada (entrada).
Esta operao conhecida como leitura dos dados.
De forma anloga, aps obtermos o resultado,
preciso mostrar o valor para o usurio (sada).
Esta operao conhecida como exibio dos dados.

Quais so as entradas do nosso problema?
04 notas (n1, n2, n3 e n4)
E a sada?
Mdia aritmtica (M).
10
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
Agora podemos esboar de maneira informal nosso
algoritmo, como:
var
n1, n2, n3, n4, M : real
inicio
leia(n1, n2, n3, n4)
M <- (n1 + n2 + n3 + n4) / 4
escreval(M)
fimalgoritmo

Do ponto de vista do fluxograma, temos:
11
Incio
M
M (n1+n2+n3+n4)/4
n1, n2, n3,
n4
Fim
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
Exemplo 2:
Faa um algoritmo para somar 02 nmeros e multiplicar
o resultado por um terceiro nmero.

Quais so as entradas do nosso problema?
03 nmeros (x, y e z)
E a sada?
O resultado da soma de x e y, multiplicado por z (R).

12
08/04/2014
3
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
var
x, y, z, R : inteiro
inicio
leia(x, y, z)
R x + y
R R * z
escreval(R)
fimalgoritmo

Do ponto de vista do fluxograma, temos:
13
Incio
R
R x + y
x, y, z
Fim
R R * z
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
Exemplo 3:
Deseja-se construir um fluxograma que represente o
algoritmo para calcular o espao percorrido por um mvel.
Neste problema, conhece-se a velocidade inicial (V
0
), a
acelerao (a) e o tempo decorrido (t). A frmula para isso :

S = V
0
.t + (a.t
2
)/2

Quais so as entradas do nosso problema?
Velocidade inicial (V
0
), acelerao (a) e tempo (t)
E a sada?
Espao percorrido (S).

14
ou S V
0
*t + (a*t^2)/2

FLUXOGRAMA COM COMANDOS SEQUENCIAIS

var
V0, a, t, S : real
inicio
leia(V0, t, a)
S V0*t + (a*t^2)/2
escreval(S)
fimalgoritmo

Do ponto de vista do fluxograma, temos:
15
Incio
S
S V0*t + (a*t^2)/2
V0, a, t
Fim
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
Exemplo 4:
Construa um algoritmo que calcule a quantidade de latas de
tinta necessrias e o custo para pintar tanques cilndricos de
combustvel, em que so fornecidos a altura e o raio do
cilindro. Sabe-se que:
A lata de tinta custa R$ 50.00.
Cada lata contm 5 litros.
Cada litro de tinta pinta 3 metros quadrados.

Quais so as entradas do nosso problema?
Altura do cilindro (H), raio do cilindro (R).
E a sada?
Quantidade de latas (QTD) e o custo total (CT).
16
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
var
H, R : real
QTD, CT, Area, Litro : real
inicio
leia(H, R)
Area (pi * R^2) + (2 * pi * R * H)
Litro Area / 3
QTD Litro / 5
CT QTD * 50.00
escreval(Custo Total = , CT, Quantidade = , QTD)
fimalgoritmo
17
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
18
Incio
CT,
QTD
Area (pi * R^2) + (2
* 3.14 * R * H)
H, R
Fim
Litro Area / 3
QTD Litro / 5
CT QTD * 50.00
08/04/2014
4
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
Exemplo 5:
Construa um algoritmo para calcular a velocidade final
de um trem aps t segundos cuja acelerao constante
e vale a m/s
2
. Sabe-se ainda que o mesmo est
inicialmente parado na estao.

Quais so as entradas do nosso problema?
Tempo (t) decorrido e acelerao (a).
E a sada?
Velocidade final (V
f
).

19
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
algoritmo VelFinal
var
a, t, Vf : real
inicio
leia(t, a)
Vf <- a*t
escreval("A velocidade final do trem aps ",t,"
segundos acelerando a ",a," m/s2 ", Vf," m/s")
fimalgoritmo
20
FLUXOGRAMA COM COMANDOS SEQUENCIAIS
21
Incio
Vf
Vf <- t * a
t, a
Fim
BIBLIOGRAFIA
SOUZA, M. A. F.; GOMES, M. M.; SOARES, M. V. et
al. Algoritmos e lgica de programao. So Paulo:
Pioneira Thomson Learning, 2005.

FORBELLONE, A.L.V.; EBERSPCHER, H.F. Lgica de
Programao. So Paulo: Pearson, 2011.

22

Вам также может понравиться