Escolar Documentos
Profissional Documentos
Cultura Documentos
Silvio Fernandes
2009.1
1
Algoritmos
Em uma receita de bolo, descrevem-se quais
sero os ingredientes e as suas quantidades.
Depois, quais so as regras para o seu
preparo, como a sequencia de incluso dos
ingredientes
Algoritmos
Ao um acontecimento que, a partir de um
estado inicial, aps um perodo de tempo
finito, produz um estado final previsvel e
bem definido
Ex: Pediu-se a 3 pessoas que escolhessem um
valor L e escrevessem os termos da sequencia de
Fibonacci inferiores a L
Pessoa 1: L= 50 {1, 1, 2, 3, 5, 8, 13, 21, 34}
Pessoa 2: L = 13 {1, 1, 2, 3, 5, 8}
Pessoa 3: L = 1 {}
3
Algoritmos
Pode-se reconhecer nas 3 aes distintas um
mesmo padro de comportamento, a
subordinao a uma mesma norma de
execuo
Algoritmo: a descrio de um conjunto de
comando que, obedecidos, resultam numa
sucesso finita de aes
Algoritmos
Ex: Torres de Hanoi. O objetivo transferir os
3 anis da haste A para B, usando C se
necessrio. As regras so:
Deve-se mover um nico anel por vez
Um anel de dimetro maior nunca pode repousar
sobre um menor
Algoritmos
Algoritmo para resolver Torres de Hanoi
Incio
1. Mover um anel da haste A para a haste B
2. Mover um anel da haste A para a haste C
3. Mover um anel da haste B para a haste C
4. Mover um anel da haste A para a haste B
5. Mover um anel da haste C para a haste A
6. Mover um anel da haste C para a haste B
7. Mover um anel da haste A para a haste B
Fim
6
Algoritmos
Algoritmo para resolver Torres de Hanoi
Propriedades de um Algoritmo
Valores de entrada
Todo algoritmo deve possuir zero, um ou mais entradas
Valores de sada
Uma ou mais sadas simbolizam os resultados
Finitude
Todo algoritmo deve ser finito, assim ele tem um incio e um conjunto
de passos que levam ao trmino
Passos elementares
Um algoritmo computacional deve ser explicitado por meio de
operaes elementares, sem que possam haver diferenas de
interpretao
Correo
Deve permitir que, com sua execuo, se chegue s sadas com
resultados coerentes com as entradas
Fluxogramas
Para um algoritmo ser til, deve ser entendido
da mesma forma por todas as pessoas que o
utilizarem
Existem diversas maneiras de formalizar a
representao de um algoritmo
Fluxograma: representao grfica, por smbolos
especiais, da definio, anlise ou mtodo de
soluo de um problema
Fluxogramas
10
Fluxogramas
Todo fluxograma deve possuir uma sintaxe e
uma semntica bem-definidas
Sintaxe
Smbolos grficos especficos
Expresses admissveis a serem escritas no interior dos
smbolos
Sub-rotinas predefinidas que podem ser utilizadas nas
expresses
Semntica
Regras de como entender e simular a soluo que o
fluxograma prope
11
Fluxogramas
Fluxograma mnimo
aquele que no executa nada, mas tem um incio
e um fim, representados pelos terminadores com
os textos Incio e Fim. Os elementos de um
fluxograma so conectados por setas que indicam
o caminho a ser seguido a partir do smbolo
12
Fluxogramas
Fluxograma com comandos sequenciais
A partir do smbolo Incio permite a execuo das
instrues dos smbolos subsequentes sem desvio
at alcanar o smbolo Fim
Ex: Um algoritmo para calcular a fora exercida
pela coluna de um lquido (de peso ) sobre a rea
da vlvula (com dimetro d) de um reservatrio
(de altura h). O clculo da fora dado por:
F = *VolumeColuna = * AreaTampa * h =
* * d 2 * h
4
13
Fluxogramas
Fluxograma com comandos sequenciais
As variveis da frmula so variveis do
fluxograma, que na verdade so espaos da
memria onde so armazenados os valores que
podem ser lidos ou escritos
14
Fluxogramas
Fluxograma com comandos sequenciais
15
Fluxogramas
Fluxograma com comandos de deciso
Ex: Algoritmo para calcular as razes de uma
equao do segundo grau tipo Ax2 + Bx + C,
utilizando a frmula de Bhaskara
B B 2 4 AC
x=
2A
necessrio verificar se A 0
Se for, exiba a mensagem No equao do 2 grau
Seno, continuar em frente com os clculos
16
Fluxogramas
Fluxograma com comandos de deciso
A deciso possibilita escolher um de dois
caminhos a partir de um teste. O resultado da
expresso um valor lgico, considerando doi
valores: verdadeiro ou falso (true ou false)
17
Fluxogramas
Fluxograma com comandos de deciso
18
Fluxogramas
Fluxograma com comandos de repetio
Ex: Algoritmo de Euclides para o clculo de
mximo divisor comum entre 2 nmeros inteiros
A expresso y 0 representado por y<>0
Resto da diviso entre 2 inteiros representado
pela operao mod
19
Fluxogramas
Fluxograma com comandos de repetio
20
Exerccios
1. Elabore um fluxograma que calcule quantas
notas de 50, 10 e 1 so necessrias para se
pagar uma conta cujo valor fornecido
2. Elabore um fluxograma que permita a
entrada de um nmero inteiro e diga se ele
par ou mpar
3. Elabore um fluxograma que permita a
entrada de dez valores e calcule o produto de
todos eles
21
Exerccios
4. Qual o resultado exibido pelo fluxograma, se
o dado de entrada digitado for sua idade?
22
Referncias
Harry Farrer, Christiano Gonalves Becker,
Eduardo Chaves Faria, Helton Fbio de Matos,
Marcos Augusto dos Santos e Miriam
Loureno Maia, Algoritmos Estruturados", ,
editora Guanabara Koogan.
Marco A. F. Souza et al. Algoritmos e lgica de
programao. Thompson, 2005.
Harvey M. Deitel. Java Como programar.
Prentice Hall, 2006.
23