Você está na página 1de 13

Engenharia)de)resoluo)de)problemas)

O) processo) de) resoluo) de) um) problema) pode) ser) visto) como) uma)
seqncia) de) passos) que) devem) ser) denidos) e) aprimorados,) at) que) o)
modelo)escolhido)para)sua)representao)fornea)resultados)sa?sfatrios.)

I)etapas)
I)mtodos)

Uma) boa) modelagem) exige) alto) nvel) de) abstrao) e) conhecimentos)


acadmicos)(teoria))e/ou)empricos)(pr?ca))sobre)o)problema)em)questo.)
PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

25%

Algoritmo)(denio)for$dummies))
Receita)para)resolver)um)problema.)
Como)fazer)arroz)(verso)du$chef))
1.
2.
3.
4.
5.
6.
7.
8.

Lave)uma)medida)de)arroz.)
Ferva)duas)medidas)de)gua.)
Adicione)leo)na)panela.)
Frite)os)temperos.)
Adicione)o)arroz.)
Adicione)a)gua.)
Adicione)o)sal.)
Deixe)cozinhar)at)secar.)

Como)fazer)arroz)(verso)preguia))
1. Junte)numa)panela)uma)medida)de)arroz,)duas)medidas)de)gua,)leo,)temperos)e)sal.)
2. Deixe)cozinhar)at)secar.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

26%

Algoritmo)(outro)exemplo))

Preparao)para)a)balada)
1.))Escove)os)dentes.)
2.))Se)for)homem,)faa)a)barba.)
)))))Seno,)depile)as)pernas.)
3.))Tome)banho.)
4.))Aplique)desodorante.)
5.))Se)for)mulher,)aplique)perfume.)
)))))Seno,)aplique)colnia.)
6.))Vista)uma)roupa)adequada.)

PC#I%%MAP2015%

Escovar)os)dentes)
1.))Pegue)a)escova)de)dentes.)
2.))Coloque)creme)dental)na)escova.)
3.))Enxague)a)boca.)
4.))Escove)os)dentes.)
5.))Escove)a)lngua.)
6.))Lave)a)escova.)
7.))Enxague)a)boca.)
8.))Seque)o)rosto.)

Algoritmos%e%Fluxogramas%

27%

Algoritmo)(denio)formal))
Um)algoritmo))uma)seqncia)nita)de)instrues,)com)uma)ou)mais)
operaes)capazes)de)serem)executadas)por)um)computador)em)tempo)
nito,)para)a)realizao)de)uma)tarefa)especca.)

Caracters?cas)de)um)bom)algoritmo:)
)Finitude)
)Exa?do)
)Entradas)e)sadas)bem)determinadas)
)Efe?vidade)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

28%

Algoritmo:)nitude)
o Um)algoritmo)sempre)deve)terminar)aps)um)nmero)nito)de)passos.)
o Um)algoritmo)sempre)deve)terminar)aps)uma)quan?dade)nita)de)
tempo.)
o Um)algoritmo)deve)ser)executado)com)uma)quan?dade)nita)de)
recursos.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

29%

Algoritmo:)exa?do)
o Cada)passo)de)um)algoritmo)deve)ser)denido)com)preciso.)
o A)seqncia)dos)passos)deve)ser)claramente)determinada.)
o As)instrues)no)podem)admi?r)ambigidade.)
O)homem)viu)o)menino)com)o)telescpio.)
)(quem)est)com)o)telescpio?))
Joo)e)Maria)moram)juntos.)
)(podem)ser)casados)ou)apenas)vivem)sob)o)mesmo)teto.))

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

30%

Algoritmo:)entradas)e)sadas)
Entradas%
o Um)algoritmo)deve)operar)sobre)um)ou)mais)valores)externos.)
Os)valores)correspondem)aos)dados)necessrios)para)iniciar)a)execuo)do)
algoritmo.)

o Em)alguns)casos,)os)dados)de)entrada)so)parte)integrante)do)algoritmo.)
Sadas%
o Um)algoritmo)deve)produzir)alguma)informao.)
Algum)resultado)deve)ser)produzido)at)a)execuo)da)l?ma)instruo)do)
algoritmo,)de)acordo)com)a)entrada)fornecida.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

31%

Algoritmo:)efe?vidade)
o Um)algoritmo)deve)ser)realizvel.)
o Todas)as)instrues)devem)ser:)
To)simples)quanto)possvel.)
Sucientes)para)resolver)o)problema.)
Executveis)com)lpis)e)papel.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

32%

Fluxograma)

Representao)grca,)
estruturada)e)simplicada.)
Ilustra)o)uxo)(seqncia))de)
operaes.)
Smbolos)padronizados.)
Sintaxe)e)semn?ca)bem)
denidos.)
Fcil)de)traduzir)para)qualquer)
linguagem)de)programao.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

33%

Fluxograma:)semn?ca)e)sintaxe)

o A)semn?ca)de)um)uxograma)corresponde)ao)signicado)dos)smbolos)
u?lizados.)
Cada)instruo)possui)um)smbolo)grco)especco.)
A)instruo)deve)ser)escrita)dentro)do)smbolo)de)forma)clara.)

o A)sintaxe)de)um)uxograma)corresponde)ao)emprego)correto)de)seus)
elementos.)
Cada)smbolo)admite)um)conjunto)de)expresses)prprias.)
As)expresses)descrevem)as)operaes)a)serem)realizadas)com)os)dados.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

34%

Fluxograma:)principais)smbolos)usados)em)Computao)
Smbolo%

Nome%
terminador)

!)

Determina)o)incio)ou)o)m)do)
processamento.)

uxo)

Indica)o)sen?do)da)execuo)do)
algoritmo.)

conector)

Indica)ligaes)com)outras)partes)
de)um)uxograma.)

atribuio))

Armazenamento)temporrio)do)
resultado)de)um)processamento.)

processo)

Realiza)o)clculo)de)expresses)e/
ou)a)execuo)de)funes.)

leitura)

Entrada)manual)de)dados,)em)
tempo)de)execuo.)

exibio)

Apresentao)dos)resultados)do)
processamento.)

deciso)

Avaliao)de)uma)expresso)
relacional)ou)lgica.)

subIro?na)
PC#I%%MAP2015%

Funo%

Processamento)de)funes)ou)
chamada)a)procedimentos.)

Algoritmos%e%Fluxogramas%

35%

Fluxograma:)regras)

o Um)uxograma)deve)ser)claro,)simples)e)de)fcil)leitura.)No)deve)haver)
ambigidade)na)interpretao)de)um)uxograma.)
o A)direo)de)descrio)do)uxo)de)um)sistema))de)cima)para)baixo)ou)
da)esquerda)para)a)direita.)
o Apenas)uma)linha)de)uxo)deve)par?r)de)ou)chegar)a)um)terminador.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

36%

Fluxograma:)regras)
o O)smbolo)de)processo)admite)apenas)uma)linha)de)sada)de)uxo.)

o O)smbolo)de)deciso)admite)apenas)uma)linha)de)entrada)de)uxo,)mas)
duas)ou)trs)linhas)de)sada)so)possveis:)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

37%

Fluxograma:)regras)

o O)texto)dentro)de)cada)smbolo)deve)ser)adequado))instruo)a)ser)
executada.)
o Use)conectores)para)reduzir)o)nmero)de)linhas)do)uxograma.)
o Evite)cruzar)linhas,)para)no)comprometer)o)entendimento)do)
uxograma.)
o A)validao)de)um)algoritmo)descrito)por)um)uxograma)pode)ser)feita)
atravs)da)execuo)de)um)conjunto)de)dados)de)teste.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

38%

Operadores)

Os)seguintes)smbolos)so)u?lizados)como)operadores)na)linguagem)C:)
AritmNcos%

Relacionais%

Lgicos%

Smbolo%

Operao%

Smbolo%

Signicado%

Smbolo%

Operao%

adio)

<

menor)que)

&&

AND)

subtrao)

>

maior)que)

||

OR)

mul?plicao)

<=

menor)ou)igual))

NOT)

diviso)

>=

maior)ou)igual))

mdulo)

==

igual)

!=

diferente)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

39%

Atribuio)
A)atribuio))um)comando)u?lizado)para)armazenamento)temporrio)de)
valores.)
O)resultado)do)processamento)descrito)no)lado)direito)do)smbolo))ser)
atribudo)para)a)varivel)discriminada)no)lado)esquerdo.)
A ! 100
A ! 100
A ! 100

B ! 3.14*A
B ! 3.14*A
A ! sin(B)

Ateno)
A)atribuio))um)comando)destru?vo,)ou)seja,)o)valor)anterior)ser)subs?tudo)pelo)novo)
valor.)
PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

40%

Estruturas)bsicas)de)programao)
No)paradigma)de)programao)estruturada,)os)programas)so)escritos)
considerando)apenas)combinaes)adequadas)de)trs)estruturas)bsicas:)
)seqncia)
)seleo)
)repe?o.)
Cada)estrutura)tem)um)nico)ponto)de)entrada)e)um)nico)ponto)de)sada,)
representado)pelo)smbolo)conector.)
Nessas)estruturas,)o)smbolo)de)processo)(retngulo))pode)ser)u?lizado)
para)representar)qualquer)ao,)incluindo)leitura)de)dados)e)exibio)de)
resultados.)
PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

41%

Estruturas)bsicas)de)programao:)seqncia)
Seqncia:)o)uxo)de)execuo)das)instrues)ocorre)de)modo)linear,)uma)
aps)a)outra.)
Deve)exis?r)apenas)um)caminho)possvel)no)conjunto)de)instrues)de)um)
algoritmo.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

42%

Exemplo:)seqncia)
Ler)e)exibir)dois)valores)numricos)A)e)B.)Depois,)trocar)o)valores)entre)si)e)
exibir)novamente.)
Sejam:)
A:)o)primeiro)valor)numrico.)
B:)o)segundo)valor)numrico.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

43%

Exemplo:)seqncia)
Determinar)o)saldo)de)uma)aplicao)nanceira,)com)inves?mento)inicial)
de)R$)100,00)e)juros)de)1%)ao)ms,)ao)nal)do)3)ms.)
Sejam:)
I:)o)valor)do)inves?mento)inicial.)
J:)a)taxa)de)juros.)
P:)o)saldo)ao)nal)do)primeiro)ms.)
S:)o)saldo)ao)nal)do)segundo)ms.)
T:)o)saldo)ao)nal)do)terceiro)ms.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

44%

Estruturas)bsicas)de)programao:)seleo)
Seleo:)execuo)sele?va)de)um)grupo)de)instrues)baseada)em)alguma)
condio,)representada)por)uma)expresso)lgica)ou)relacional.)
Criam)alterna?vas)no)uxo)de)execuo)das)instrues)do)algoritmo.)Em)
tempo)de)execuo,)apenas)uma)das)alterna?vas)ser)escolhida.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

45%

Exemplo:)seleo)
Ler)dois)valores)numricos,)comparIlos)e)exibir)o)maior)valor.)
Sejam:)
A:)o)primeiro)valor)numrico.)
B:)o)segundo)valor)numrico.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

46%

Estruturas)bsicas)de)programao:)repe?o)
RepeNo:)execuo)sele?va)de)um)grupo)de)instrues)at)que)alguma)
condio)seja)sa?sfeita.)O)uxo)da)execuo)pode)realizar)vrias)repe?es)
de)um)mesmo)conjunto)de)comandos,)antes)de)prosseguir)para)a)etapa)
seguinte.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

47%

Exemplo:)iterao)
Calcular)o)resto)da)diviso)inteira)entre)dois)nmeros)inteiros)posi?vos.)
Sejam:)
A:)o)valor)do)dividendo.)
B:)o)valor)do)divisor.)
Q:)o)valor)do)quociente.)
R:)o)valor)do)resto.)

PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

48%

Fluxogramas)estruturados)
As)estruturas)bsicas)podem)ser)combinadas)entre)si,)u?lizando)apenas)
duas)regras:)
Regra)do)empilhamento:)o)ponto)de)sada)de)uma)estrutura)pode)ser)
conectado)ao)ponto)de)entrada)de)outra)estrutura.)
Regra)do)aninhamento:)Um)retngulo)de)uma)estrutura)pode)ser)
subs?tudo)por)uma)outra)estrutura)qualquer.)
Essas)regras)podem)ser)aplicadas)quantas)vezes)forem)necessrias,)e)em)
qualquer)ordem.)
Os)uxogramas)resultantes)da)aplicao)dessas)regras)cons?tuem)o)
conjunto)de)todos)os)uxogramas)estruturados)possveis.)
PC#I%%MAP2015%

Algoritmos%e%Fluxogramas%

49%

Algoritmos%e%Fluxogramas%

50%

Prxima)aula:)

PC#I%%MAP2015%