Escolar Documentos
Profissional Documentos
Cultura Documentos
Ling Algoritmo
Ling Algoritmo
Algortmica
Introduo
Algoritmo
Seqnciadeinstruesque
expressamasoluoparaumproblema
determinado.
Umareceitadeboloumalgoritmo.
Oproblemacomofazerobolo?
Oalgoritmosoospassosda
receita.
UFU/FACOM/BCC/Autran Macdo
1/51
AlgoritmoLing.Algortmica
Introduo
Criarumalgoritmoimplicaem
entenderoproblemaaserresolvido;
consideraraslimitaesdoexecutor
doalgoritmo;
raciocinarconsiderandoessas
limitaes;
escreverumalgoritmo;
testaroalgoritmo.
UFU/FACOM/BCC/Autran Macdo
2/51
AlgoritmoLing.Algortmica
Introduo
Oobjetivoaquiescrever
algoritmosparaseremseguidos
(executados)porumcomputador.
Mas,infelizmente,os
computadoressobastante
limitados.
UFU/FACOM/BCC/Autran Macdo
3/51
AlgoritmoLing.Algortmica
Introduo
Umcomputadordigital(devon
Neumann),capazde:
ler/escrevervalorde/paramemria;
testarocontedodamemria;
realizaroperaesaritmticas;
saltarparaumendereodememria.
UFU/FACOM/BCC/Autran Macdo
4/51
AlgoritmoLing.Algortmica
Introduo
Escreveralgoritmosparaum
computador,portanto,
especificarumasoluoparaum
problema,considerandoas
limitaesdocomputador.
Aespecificaodealgoritmos
realizadaporumaLinguagem
Algortmica.
UFU/FACOM/BCC/Autran Macdo
5/51
AlgoritmoLing.Algortmica
Introduo
LinguagemAlgortmica(LAlg)
umalinguagemutilizadapara
descreveralgoritmos.
Umalinguagem,sejaelaqualfor,
constitudapor3componentes:
lxico,
sintaxe,e
semntica.
UFU/FACOM/BCC/Autran Macdo
6/51
AlgoritmoLing.Algortmica
Introduo
Lxicocorrespondeaoconjuntode
smbolosdalinguagem.
Sintaxecorrespondesregras
(gramtica)paraseconstruir
sentenasvlidasdalinguagem.
Semnticacorrespondeao
significadoquepossuiuma
sentenanalinguagem.
UFU/FACOM/BCC/Autran Macdo
7/51
AlgoritmoLing.Algortmica
Introduo
Emgeral,asLAlgssosimples.
Isto,olxicoenxutoe
suassintaxeesemnticanoso
complexas.
Grossomodo,umaLAlgpodeser
visualoutextual.
UmexemplodeumaLAlgvisualo
fluxograma.
UFU/FACOM/BCC/Autran Macdo
8/51
AlgoritmoLing.Algortmica
Introduo
Exemplodeumfluxograma
UFU/FACOM/BCC/Autran Macdo
9/51
AlgoritmoLing.Algortmica
Introduo
Alinguagemalgortmicaqueser
objetodeestudoconhecidacomo
Portugol.
Elatemessenomeporquealguns
smbolosdalinguagemso
baseadosnalnguaPortuguesa.
UFU/FACOM/BCC/Autran Macdo
10/51
AlgoritmoLing.Algortmica
Introduo
Portugolorientadaatexto.
Elapossuiconstruesbsicas
paraaescritadealgoritmos.
Apesardesimples,Portugoltem
omesmopodercomputacionalde
umaMquinadeTuring.
UFU/FACOM/BCC/Autran Macdo
11/51
AlgoritmoLing.Algortmica
Introduo
Portugolconstitudadas
seguintesconstrues:
variveis
atribuio
expresso
teste
lao
leitura/escrita
UFU/FACOM/BCC/Autran Macdo
12/51
AlgoritmoLing.Algortmica
Introduo
AdescriodePortugol,quando
necessrio,irfazerusode
metasmbolos.
Ummetasmboloumsmboloque
nopertenceaoconjuntode
smbolosdalinguagem,mas
representaumquepertence.
UFU/FACOM/BCC/Autran Macdo
13/51
AlgoritmoLing.Algortmica
Introduo
Ummetasmbolorepresentado
porumnome,cercadopelos
smbolos<e>.
Exemplodeummetasmbolo
<varivel>
representaumavarivelqualquer
dePortugol
UFU/FACOM/BCC/Autran Macdo
14/51
AlgoritmoLing.Algortmica
Variveis
Soposiesdememria.Isto,
solocaisondeguardamos
temporariamenteosdadosdo
algoritmo.
Aoinvsdemencionaros
endereosdememria,vamosdar
nomessvariveis.
UFU/FACOM/BCC/Autran Macdo
15/51
AlgoritmoLing.Algortmica
Variveis
Onomedeumavarivelescolha
docriadordoalgoritmo
(programador).
deseesperarqueonomeda
varivelreflitasuafinalidade
noalgoritmo.
Umnomedevarivelpodeser
formadoporletrasealgarismos.
UFU/FACOM/BCC/Autran Macdo
16/51
AlgoritmoLing.Algortmica
Variveis
Exemplodenomedevarivel
raiz
raizonomedavarivelque
guardaaraizquadradadeum
nmero.
oprogramadorpoderiaterdado
outronome,p.ex.chuchu53,mas
raiztransmitemelhoroquea
varivelguarda.
UFU/FACOM/BCC/Autran Macdo
17/51
AlgoritmoLing.Algortmica
Atribuio
aconstruoutilizadapara
colocarvalornasvariveis.
Sintaxe
<varivel><expresso>
ou
<varivel><varivel>
UFU/FACOM/BCC/Autran Macdo
18/51
AlgoritmoLing.Algortmica
Atribuio
Semntica
Oresultadodaavalioda
<expresso>colocadona<varivel>
ou
Ocontedodavariveldireitada
setacolocadonavarivel
esquerda.
UFU/FACOM/BCC/Autran Macdo
19/51
AlgoritmoLing.Algortmica
Atribuio
Exemplos
raiz0
zerocolocadonavarivelraiz
velocdist*tempo
oresultadodaavaliaoda
expressoaritmtica(produtodo
contedodasvariveisdiste
tempo)colocadonavarivel
veloc
UFU/FACOM/BCC/Autran Macdo
20/51
AlgoritmoLing.Algortmica
Expresso
Hdoistiposdeexpresso:
aritmtica,e
condicional.
UFU/FACOM/BCC/Autran Macdo
21/51
AlgoritmoLing.Algortmica
ExpressoAritmtica
Umaexpressoaritmtica(ExpA)
umnmero,ou
umaexpressomatemticaqualquer.
Oresultadodaavaliaodeuma
ExpAumnmero.
UFU/FACOM/BCC/Autran Macdo
22/51
AlgoritmoLing.Algortmica
ExpressoAritmtica
Exemplo
velocdist*tempo
* tempocorrespondeao
produtoentreocontedodessas
variveis.
aExpAdist
UFU/FACOM/BCC/Autran Macdo
23/51
AlgoritmoLing.Algortmica
ExpressoCondicional
Umaexpressocondicional(ExpC)
ovalorverdade,
ovalorfalso,ou
umaexpressocondicionalqualquer.
Oresultadodaavaliaodeuma
ExpCovalorverdadeou
falso.
UFU/FACOM/BCC/Autran Macdo
24/51
AlgoritmoLing.Algortmica
ExpressoCondicional
Exemplo
raiz>0
OresultadodaavaliaodaExpC
acimaverdade,seocontedo
davarivelraizformaiordoque
zero.
OresultadodaavaliaodaExpC
acimafalso,casocontrrio.
UFU/FACOM/BCC/Autran Macdo
25/51
AlgoritmoLing.Algortmica
Teste
aconstruoqueselecionaa
seqnciadeinstruesdo
algoritmoqueserexecutado.
Aseleoocorrecombasena
avaliaodeumaExpC.
UFU/FACOM/BCC/Autran Macdo
26/51
AlgoritmoLing.Algortmica
Teste
Sintaxe1
se<ExpC>ento
<seqnciadeinstrues>
fim-se
UFU/FACOM/BCC/Autran Macdo
27/51
AlgoritmoLing.Algortmica
Teste
Semntica1
A<seqnciadeinstrues>
executadasomenteseoresultadoda
avaliaodaExpCforverdade.
<seqnciadeinstrues>um
metasmboloquerepresentauma
seqnciadeinstruesqualquerdo
algoritmo.
UFU/FACOM/BCC/Autran Macdo
28/51
AlgoritmoLing.Algortmica
Teste
Semntica1
Amarcafim-sedelimitaaseqncia
deinstruesquedeveroser
executadas,casoExpCseja
verdade.
UFU/FACOM/BCC/Autran Macdo
29/51
AlgoritmoLing.Algortmica
Teste
ExemploSintaxe1
seraiz<0ento
imprimarazesindeterminveis
raiz0
fim-se
UFU/FACOM/BCC/Autran Macdo
30/51
AlgoritmoLing.Algortmica
Teste
Explicaodoexemplosintaxe1
raiz<0aExpCdainstruo
se-ento
Asinstruesdentrodose-ento
imprimaraizesindeterminveis
raiz0
seroexecutadassomenteseaExpC
forverdade.
UFU/FACOM/BCC/Autran Macdo
31/51
AlgoritmoLing.Algortmica
Teste
Explicaodoexemplosintaxe1
Amarcafim-sedelimitaas
instruesqueseroexecutadas,
casoExpCsejaverdade.
UFU/FACOM/BCC/Autran Macdo
32/51
AlgoritmoLing.Algortmica
Teste
Sintaxe2
se<ExpC>ento
<seqnciadeinstruesA>
seno
<seqnciadeinstruesB>
fim-se
UFU/FACOM/BCC/Autran Macdo
33/51
AlgoritmoLing.Algortmica
Teste
Semntica2
SeoresultadodaavaliaodaExpC
forverdade,ento
a<seqnciadeinstruesA>
executada;mas
a<seqnciadeinstruesB>no
executada.
UFU/FACOM/BCC/Autran Macdo
34/51
AlgoritmoLing.Algortmica
Teste
Semntica2
SeoresultadodaavaliaodaExpC
forfalso,entoocorreo
contrrio
a<seqnciadeinstruesA>no
executada;mas
a<seqnciadeinstruesB>
executada.
UFU/FACOM/BCC/Autran Macdo
35/51
AlgoritmoLing.Algortmica
Teste
Semntica2
amarcasenodelimitaasinstrues
queseroexecutadascasoExpCseja
verdade.
amarcafim-sedelimitaas
instruesqueseroexecutadascaso
ExpCsejafalsa.
UFU/FACOM/BCC/Autran Macdo
36/51
AlgoritmoLing.Algortmica
Teste
Exemplosintaxe2
seidade<recomendaoento
voltaparabilheteria
devolvaoingresso
seno
assistaofilme
fim-se
vparacasa
UFU/FACOM/BCC/Autran Macdo
37/51
AlgoritmoLing.Algortmica
Teste
Explicaodoexemplosintaxe2
sea<ExpC>(idade<recomendao)
forverdade,
asinstruesentrese-entoe
seno,isto
voltaparabilheteria
devolvaoingresso
soexecutadas.
Ainstruoassistaofilme
noexecutada.
UFU/FACOM/BCC/Autran Macdo
38/51
AlgoritmoLing.Algortmica
Teste
Explicaodoexemplosintaxe2
Sea<ExpC>foravaliadacomo
falso
Asinstruesentresenoefim-se
soexecutadas.Nocasohapenas
umainstruo:
assistaofilme
Asinstruesentrese-entoe
senonosoexecutadas.
UFU/FACOM/BCC/Autran Macdo
39/51
AlgoritmoLing.Algortmica
Teste
Explicaodoexemplosintaxe2
Observequeainstruo
vparacasa
executadaindependenteda
avaliaoda<ExpC>.
Porqu?!
UFU/FACOM/BCC/Autran Macdo
40/51
AlgoritmoLing.Algortmica
Lao
Essaconstruopromovea
repetiodeinstruesenquanto
umacondioforverdadeira.
Sintaxe
enqto(<ExpC>)
<instrues>
fim-enqto
UFU/FACOM/BCC/Autran Macdo
41/51
AlgoritmoLing.Algortmica
Lao
Sintaxe
Ometasmbolo<instrues>
representaumaseqnciade
instruesqualquerdePortugol.
Umainstruopodeser
seento/seentoseno;
atribuio;
leia/escreva(apresentadasafrente);
enqto.
UFU/FACOM/BCC/Autran Macdo
42/51
AlgoritmoLing.Algortmica
Lao
Semntica
As<instrues>queestiverementre
enqtoefimenqtosorepetidas
enquantoa<ExpC>forverdade.
fimenqtoumdelimitadordas
instruesquedevemserrepetidas
enquanto<ExpC>forverdade.
UFU/FACOM/BCC/Autran Macdo
43/51
AlgoritmoLing.Algortmica
Lao
Exemplo
a0
enqtoa<10
escrevaEugostodeC.Computao
aa1
fim-enqto
UFU/FACOM/BCC/Autran Macdo
44/51
AlgoritmoLing.Algortmica
Lao
Explicaodoexemplo
OalgoritmofazcomqueafraseEu
gostodeC.Computaosejaimpressa
10vezes;
A<ExpC>dolaoa < 10
Observequeumadasinstrues
dentrodolaoeventualmentetornar
a<ExpC>falsa.?!!!!
UFU/FACOM/BCC/Autran Macdo
45/51
AlgoritmoLing.Algortmica
Leitura/Escrita
aconstruoquepermitequeo
algoritmoserelacionecomo
ambienteexterno.
Isto,permitequeumdadoseja
introduzidoaoalgoritmo,ou
apresentadopeloalgoritmo.
UFU/FACOM/BCC/Autran Macdo
46/51
AlgoritmoLing.Algortmica
Leitura/Escrita
Sintaxe
leia<variveis>
escreva<variveis>
UFU/FACOM/BCC/Autran Macdo
47/51
AlgoritmoLing.Algortmica
Leitura/Escrita
Semntica
Ometasmbolo<variveis>
representaumaoumaisvariveis.
leia<variveis>
Oalgoritmoircapturardados
(noimportadeonde)eir
coloclosnas<variveis>
UFU/FACOM/BCC/Autran Macdo
48/51
AlgoritmoLing.Algortmica
Leitura/Escrita
Semntica
escreva<variveis>
Oalgoritmoirapresentardados
(noimportacomo)contidosnas
<variveis>.
UFU/FACOM/BCC/Autran Macdo
49/51
AlgoritmoLing.Algortmica
Leitura/Escrita
Exemplo
leianum
numnum+1
escrevanum
UFU/FACOM/BCC/Autran Macdo
50/51
AlgoritmoLing.Algortmica
Leitura/Escrita
Explicaodoexemplo
Oalgoritmoapresentaosucessorde
umnmerolido.
Inicialmente,algolidoe
colocadonavarivelnum.Pelo
nomedavarivel,supesequeo
objetolidosejaumnmero.
UFU/FACOM/BCC/Autran Macdo
51/51
AlgoritmoLing.Algortmica
Leitura/Escrita
Explicaodoexemplo
(continuao)
Emseguida,somase1aocontedo
davarivelnum.Oresultado
colocadonaprpriavarivelnum.
Finalmente,oresultado
apresentado.
UFU/FACOM/BCC/Autran Macdo
52/51
AlgoritmoLing.Algortmica
ResumodaSintaxe
atribuio
<varivel><expresso>
<varivel><varivel>
teste
se<ExpC>ento<instruoes>fim-se
se<ExpC>ento<inst.1>seno<inst.2>fim-se
lao
enqto<ExpC><instrues>fimenqto
leitura/escrita
leia<variveis>
escreva<variveis>
UFU/FACOM/BCC/Autran Macdo
53/51