Você está na página 1de 53

AlgoritmoLing.

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

Você também pode gostar