Sei sulla pagina 1di 79

APLICAESINFORMTICAS

PROF.CARLOSGOMES

Lgicadeprogramao
Lgicadeprogramaoatcnicade encadearpensamentosparaaEngir determinadoobjecEvo.

SEQUNCIALGICA
asequnciadepassosexecutados paraaEngirdeterminadoobjecEvoou soluodeumproblema.

LINGUAGENS
NATURAIS: Linguagem Humana (usocomum) FORMAIS: Desenvolvidasde formaarEcial (nosonaturais)

TEORIADASLINGUAGENSFORMAIS EDOSAUTOMATOS(LFA):
Instrumentosde reconhecimentodesta linguagem!

TratasedoestudodemodelosmatemEcosque permitemoreconhecimentodelinguagens,as suasclassicaes,estruturas,propriedades, caractersEcaseinterrelacionamentos.

LINGUAGENSDEPROGRAMAO
TIPOSDELINGUAGEM: 1GERAO(19501962) 2GERAO(19621974) 3GERAO(19741986) 4GERAO(1986...)

LINGUAGEM1GERAO:
LINGUAGEMDEMQUINAOULINGUAGEMDE1GERAO: Os programadores escreviam as suas instrues em cdigos binrios:1e0(Essesprogramassomuitasvezeschamadosde bits); Um simples comando para mulEplicar dois nmeros nesta linguagemde1geraopodianecessitardevriasinstruesou linhasdecdigocontendovrios1se0s! 2x2=0011001001111000001100100000110100001010Moroso!
hqp://nickciske.com/tools/binary.php

Consideradadebaixonvel:noexisteesquemadecodicao menossosEcadoque1se0s.

LINGUAGEMMQUINA1GERAO:
Por ser uma linguagem de programao extremamente divcil poucos programas so escritos nesta linguagem. PORM, a linguagem de mquina a nica linguagem capaz de instruir directamenteaCPU!

LINGUAGEMMQUINA1GERAO:
QUALAIMPORTNCIADESTALINGUAGEM? Nosprimrdiosdodesenvolvimentodacomputao,escreverprogramasde computadoreraumatarefabastantecomplexaasvriaschavesecircuitos abrangendo o hardware do computador Enham que ser instalados manualmente,isto,osdadoseramrepresentadosligandoseoudesligando sesicamentevrioscircuitos. Noscomputadoresmodernos,entretanto,aCPUtrabalhaemconjuntocom vriosprogramasdesozwareparacontrolaroestadovsicodocircuitodigital. Paraqueistoocorra,aCPUdeverecebersinaisdoprogramadocomputador quepossaconverteremao(ligaredesligarcircuitos).

LINGUAGEMASSEMBLY2GERAO:
TentousubsEtuirocdigobinrio(extremamentedivcildeaprender) porsmbolosmaisfacilmentecompreendidos,porexemplo: AparaADICIONAR; MVCparaMOVER; Denominaselinguagemassemblyporcausadosprogramasdesistemas usados para traduzir os simbolos para cdigo de mquina (chamados programasassemblerouassemblers)
AparaADICIONAR;

Assembler

LINGUAGEMASSEMBLY2GERAO:
IMPORTANTEPORQUE:

Esta mudana para um cdigo mais simblico e legvel pelas pessoas permiEu ao programador concentrarse mais na soluo deumproblemadoquenacomplexidadedecodicarprogramas especcosdecomputadorusadoscomalinguagemBinria!

LINGUAGEMALTONVEL3GERAO:
Usainstruesecomandossemelhanteslnguainglesa.EsteEpodelinguagem emaisfcildeseaprendereusardoqueaslinguagensdemquinaeassembly, porque tem maior semelhana com o nvel das comunicaes e entendimentos humano. Exemplos:

PRINTIMPRIMIR READLER
ExemplosdeLinguagens:PASCAL,LinguagensC PermiEuosurgimentodeinmeraslinguagensparaprogramasespecializados: LISPDesenvolvidaparamanipularsmboloselistas; PROLOGDesenvolvidaparatratarerepresentarconhecimentos,etc

LINGUAGEMALTONVEL4GERAO
(4GL):
Nveldeabstraomuitoelevado!PORQU?

Aslinguagensdequartageraopodemserclassicadasemtrscategorias: Linguagensdeconsulta; Geradorasdeprogramas;


Outraslinguagens(4GL).

LINGUAGEMALTONVEL4GERAO
(4GL):
As linguagens de consulta foram desenvolvidas para manipular bases de dados, permiEndoogerenciamentodeumgrandenmerodeinformaesarmazenadosem arquivos.

EX: O usurio pode dar comandos simples ou fazer procedimentos simplespararecuperarinformaesdeumbancodedados.Umbanco dedadosdecobranasescritoem4GL,porexemplo,podeseclicarem QUANTIAeenter>250paraseconseguirumalistadetodasascontas maioresdoque250

LINGUAGEMALTONVEL4GERAO
(4GL):
As linguagens geradoras de programas representam uma sosEcadaclassedaslinguagens4GL.Permitemaousurioou programador criar facilmente programas complexos em linguagens de terceira gerao, uElizando bem menos declaraesecomandos. Estaslinguagenspossuemumnvelmuitomaiselevadoqueas deterceiragerao.

OutrasLINGUAGENSde4gerao:
As novas direes das linguagens de programao, especialmente das linguagens de quartageraoasuaaplicaocommetodologiasorientadasaobjectos. Essas linguagens so baseadas nos conceitos de objetos, que agrupam comandos de programao com dados em objetos que podem ser usados o tempo todo durante a execuodoprograma,oquemuitoElemambientesdeexecuoparalela.

QUALALINGUAGEMDE5GERAO?(5GL)
Otermo5geraoreferese,especialmente,asistemasqueusammecanismosdarea deintelignciaarEcial(IA). Aslinguagensde programao de quintagerao so chamadas delinguagensnaturais (??Linguagemdoserhumano??) PORQUE? Porquepermitemaosprogramadorescomunicaremsecomocomputadorusandoa LINGUAGEMHUMANA,comoexemplomostradoabaixo. C O M P U T A D O R M O S T R A M E A BASEDEDADOSDA MINHAEMPRESA!

A BASE DE DADOS DA EMPRESA DO JOAQUIM!

JOAQUIM

LINGUAGENSDEPROGRAMAO
As instrues tm regras/sequncias a seguir, por exemplo:

Queremosdeixarumrecadoaalgum:
1Pegamosnacaneta; 2Escrevemosnoblocoderecados!
TEMLGICA!

LINGUAGENSDEPROGRAMAO
OQUEQUENOTEMLGICA:

Queremosdeixarumrecadoaalgum:
1Escrevermosnoblocoderecados; 2Pegarmosnacaneta!

LINGUAGENSDEPROGRAMAO
A sequncia lgica para aEngirmos uma soluo/objecEvochamase:

ALGORITMO

LINGUAGENSDEPROGRAMAO
A linguagem de programao , assim, usada para descrever ALGORITMOS, ou seja, sequnciaslgicasparaaEngirmosumobjecEvo.

Recordamos que a sequncia lgica para aEngirmosumasoluo/objecEvochamase:

ALGORITMO
Poroutraspalavras:umasequncianitadepassosquelevam execuodeumatarefa. DESTA FORMA: QUAL O ALGORITMO PARA ENGOLIR UM PEDAODEMA?

DESTA FORMA: QUAL O ALGORITMO PARA ENGOLIR UM PEDAODEMA? Sequnciaslgicasparaengolirumpedao dema!

1Pegarnamaa: 2Levaramaboca; 3Trincarumpedaodama 4MasEgaropedaodema 5Engoliropedaodema

MASCOMOSEDESENVOLVEUM ALGORITMONOCOMPUTADOR?
PSEUDOCDIGO
Os algoritmos so descritos numa linguagem chamada pseudocdigo

REGRASPARACONSTRUODEUM ALGORITMO
ENTRADASoosdadosdeentradadeumALGORITMO; PROCESSAMENTOSoprocedimentosuElizadosparachegarao resultadonal; SADASoosdadosjprocessados.

REGRASPARACONSTRUODEUM ALGORITMO
EXEMPLO:CALCULARAMDIADEUMALUNOQUEREALIZOU4 TESTESDURANTEOANO.

MDIA=(TESTE1+TESTE2+TESTE3+TESTE4)/4

REGRASPARACONSTRUODEUM ALGORITMO
Quaissodosdadosdeentrada? TESTE1,TESTE2,TESTE3ETESTE4 QualoprocessamentoaseruElizado? SOMAR as quatro notas dos testes (TESTE1, TESTE2, TESTE3 E TESTE4)edividilasporquatro. Quaisserodosdadosdesada? MDIAdos4TESTES!

REGRASPARACONSTRUODEUM ALGORITMO
ALGORITMO:
ENTRADA PROCESSAMENTO SADA
NOTADOTESTE1 NOTADOTESTE2 NOTADOTESTE3 NOTADOTESTE4

SOMAOS4TESTESEDIVIDEPOR4 MOSTRAORESULTADODAMDIA

REGRASPARACONSTRUODEUM ALGORITMO
ALGORITMO:
INICIODOALGORITMO INTRODUZIRNOTADOTESTE1 INTRODUZIRNOTADOTESTE2 INTRODUZIRNOTADOTESTE3 INTRODUZIRNOTADOTESTE4 SOMAOS4TESTESEDIVIDEPOR4 MOSTRAORESULTADODAMDIA FIMDOALGORITMO

IPE InterpretadordealgoritmosemPortugusEstruturado

hqp://fernando.sozdr.com/downloads/install_ipe.exe

DIAGRAMADEBLOCOS
DIAGRAMASDEBLOCOSOUFLUXOGRAMA:
uma forma padronizada e ecaz para representar os passos lgicos de um determinado processamento. A sua principal funofacilitaravizualizaodospassos.

ExistemvriossmbolosusadosnoDiagramadeBlocos:

DIAGRAMADEBLOCOS

INICIO NOTADOTESTE1

NOTADOTESTE2 NOTADOTESTE3

NOTADOTESTE4 CALCULAR:M= (T1+t2+t3+t4)/4 MDIA FIM

EXERCCIO

1.SALRIOACTUALDEUMAFUNCIONRIADEUMADETERMINADAEMPRESADE700. SABENDOQUEESTEMSAFUNCIONRIAVAIRECEBERMAIS50DEPRMIODE ASSIDUIDADE.CALCULEOLOGARITMOEODIAGRAMADEBLOCOSREFERENTEAO SALRIOFINALDAFUNCIONRIA.

INICIO RECEBESALRIO ACTUAL:

RECEBEPRMIO:

SALRIONOVO: SALRIOACTUAL+PRMIO

SALRIONOVO

FIM

RECORDEMOSFUNODEUMALGORITMO

RECORDEMOSCOMPORTAMENTODOCOMPUTADOR

RECORDEMOSCONTRUODEALGORITMOS Algoritmo<nome_do_algoritmo> <declarao_de_variveis> <subalgoritmos> Incio <corpodoalgoritmo> Fim


Algoritmoumapalavraqueindicaoinciodadeniodeumalgoritmoemformade pseudocdigo. <nome_do_algoritmo>umnomesimblicodadoaoalgoritmocomanalidadede disEnguilosdosdemais. <declarao_de_variveis>consistenumaporoopcionalondesodeclaradas asvariveisusadasnoalgoritmoprincipale,eventualmente,nossubalgoritmos. <subalgoritmos>consistenumaporoopcionaldopseudocdigoondeso denidosossubalgoritmos. IncioeFimsorespecEvamenteaspalavrasquedelimitamoincioeomdo conjuntodeinstruesdocorpodoalgoritmo.

RECORDEMOSREPRESENTAODEUMALGORITMO(PSEUDOCDIGO) DOCLCULODAMDIADEUMALUNO

AlgoritmoCalculo_Media VarN1,N2,MEDIA:real Incio LeiaN1,N2 MEDIA=(N1+N2)/2 SeMEDIA>=7ento EscrevaAprovado Seno EscrevaReprovado Fim_se Fim

TERMINOLOGIADEPROGRAMAO VARIVEIS,CONSTANTESETIPOSDEDADOS
Asvariveissoelementosquepodemassumirvriosvalores,tal comoasentendemosemmatemEca. Asconstantessoelementoscujosvaloressoxos,no podendoseralterados.

M1+M2+M3/3

VARIVEIS TIPOSDEDADOS:
DADOSNUMRICOS Numerosreais(REAL): 24.01nmerorealposiEvocomduascasasdecimais 144.nmerorealposiEvocomzerocasasdecimais 13.3nmerorealnegaEvocomumacasadecimal 0.0nmerorealcomumacasadecimal 0.nmerorealcomzerocasasdecimais Numerosinteiros(INTEGER): 24nmerointeiroposiEvo 0nmerointeiro 12nmerointeironegaEvo

TIPOSDEDADOS:
DADOSLITERAIS/CARACTERES(STRING) Usualmente,osdadosliteraissorepresentadosnosalgoritmospeloconjuntode caracteres,delimitadosnoseuincioetrminocomocaracteraspas("). "QUAL?"literaldecomprimento6 ""literaldecomprimento1 "qUaL?!$"literaldecomprimento8 "AbCdefGHi"literaldecomprimento9 "12+3="literaldecomprimento6 0literaldecomprimento1

TIPOSDEDADOS:
DADOSLGICOS(BOOLEAN) OEpodedadoslgicousadopararepresentardoisnicosvaloreslgicospossveis: verdadeiroefalso.comumencontrarseemoutrasrefernciasoutrosEposdeparesde valoreslgicoscomosim/no,1/0,true/false,yes/no.

TIPOSDEDADOS:

CARACTERSTICAS/ATRIBUTOSDASVARIVEIS:

umnomedevariveldevenecessariamente comearcomumaletra; umnomedevarivelnodeveconternenhumsmbolo especialexceptoasublinha(_).

CARACTERSTICAS/ATRIBUTOSDASVARIVEIS:
VAR<nome_da_varivel>:<Ypo_da_varivel> VAR<lista_de_variveis>:<Ypo_das_variveis> REGRAS: apalavrachaveVARdeverestarpresentesempreeseruElizadaumanicaveznadenio deumconjuntodeumaoumaisvariveis; numamesmalinhapoderoserdenidasumaoumaisvariveisdomesmoEpo.Paratal, devesesepararosnomesdasmesmasporvrgulas; variveisdeEposdiferentesdevemserdeclaradasemlinhasdiferentes. Exemplodedeniodevariveis: VARNOME:literal[10] IDADE:inteiro SALARIO:real TEM_FILHOS:lgico

CARACTERSTICAS/ATRIBUTOSDASVARIVEIS:

CARACTERSTICAS/ATRIBUTOSDASVARIVEIS:

CARACTERSTICAS/ATRIBUTOSDASVARIVEIS:

OPERADORES
Os OPERADORES so meios pelos quais incrementamos, comparamoseavaliamososdadosdentrodocomputador. OsOPERADORESpodemser: ARITMTICOS RELACIONAIS LGICOS

OPERADORESARITMTICOS
OsoperadoresaritmEcossoosuElizadosparaobterresultados numricos. Alm da adio, subtrao, mulEplicao e diviso, podem uElizar tambm o operador para exponenciao. Os smbolosparaosoperadoresaritmEcosso:

OPERADORESARITMTICOS
HierarquiadasOperaesAritmYcas:Oprogramadordeve tersempreemcontaqueprimeiroserealizamasoperaescom: 1()Parnteses 2Exponenciao 3MulEplicao,diviso(oqueaparecerprimeiro) 4+ou(oqueaparecerprimeiro)

OPERADORESARITMTICOS
EXEMPLOTENDOEMCONTA: 1()Parnteses 2Exponenciao 3MulEplicao,diviso(oqueaparecerprimeiro) 4+ou(oqueaparecerprimeiro)

1+7*2^2=

1+7*4=1+7*4=29

Exerccio:3*(32)+4*2=11

EXERCCIOS Apresente os seguintes resultados: 3*3= 9/2= 9DIV2= 9MOD2= 2+4.6= 5+2*4= (5+2)*4= 7/3*3= 7DIV2*3= 7DIV(2*3)=

Linearizaodeexpresses
((2/3(53))+1)*5 computacional

OPERADORESRELACIONAIS
Os operadores relacionais so uElizados para comparar String de caracteres e nmeros. Os valores a serem comparadospodemsercaracteresouvariveis. Estes operadores sempre retornam valores lgicos (verdadeiro ou falso/ True ou False) Para estabelecer prioridadesnoquedizrespeitoaqualoperaoexecutar primeiro,uElizarosparnteses

OPERADORESRELACIONAIS
OSSIMBOLOSSO:

OPERADORESRELACIONAIS:Expresses
EXEMPLO:Tendo2variveisA=7eB=2 Osresultadosdasexpressesseriam:
EXPRESSO A=B A<>B A>B A<B A>=B A<=B RESULTADO FALSO VERDADEIRO VERDADEIRO FALSO VERDADEIRO FALSO

OPERADORESLGICOS:
Os operadores lgicos servem para combinar resultados de expresses, retornando se o resultado nal verdadeiro ou falso.

Uma expresso AND (E) verdadeira se todas as condies forem verdadeiras Uma expresso OR (OU) verdadeira se pelo menos uma condio for verdadeira Um expresso NOT (NO) inverte o valor da expresso ou condio. Se verdadeira inverte para falsa e vice-versa. Atabelaabaixomostratodososvalorespossveiscriadospelostrs operadoreslgicos(AND,OReNOT)

Uma expresso AND (E) verdadeira se todas as condies forem verdadeiras Uma expresso OR (OU) verdadeira se pelo menos uma condio for verdadeira Um expresso NOT (NO) inverte o valor da expresso ou condio, se verdadeira inverte para falsa e vice-versa.

Exemplos: Suponha que temos trs variveis A = 5, B = 8 e C =1 Os resultados das expresses seriam:
F T RESULTADOS FALSO VERDADEIRO VERDADEIRO VERDADEIRO FALSO FALSO

EXERCCIOS:
1. Sabendo que A=3, B=7 e C=4, informe se as expresses abaixosoverdadeirasoufalsas. a) (A+C)>B() F b) B>=(A+2)() V c) C=(BA)() V d)(B+A)<=C() F e) (C+A)>B() F 2.SabendoqueA=5,B=4eC=3eD=6,informeseasexpresses abaixosoverdadeirasoufalsas.

V A) (A>C)AND(C<=D)() B) (A+B)>10OR(A+B)=(C+D)() V C) (A>=C)AND(D>=C)() V

OPERAESLGICAS:
As operaes lgicas so importantes quando se torna necessrio tomar decises num diagrama de blocos. Numdiagramadeblocos,todadecisotersemprecomo respostaoresultadoVERDADEIROouFALSO.

OPERADORESRELACIONAIS

SmbolouElizado(emdiagramadeblocos)
SIM

A=B

NO

EXERCCIOCOMOPERAESLGICAS:
Fazer um algoritmo para comer um bombom de cco. Se algumas pessoas no gostarem de cco, ento o algoritmo tem que ser adaptado:
Pegar no bombom Gosta de Bombom de cco? Se SIM, ento comer o bombom cco; Se NO continuar o Algoritmo; Comer o bombom

EXERCCIOCOMOPERAESLGICAS:
INICIO

PEGAR NO BOMBOM

NO

GOSTA DE BOMBOM DE CCO?

SIM

NO COMER O BOMBOM

COMER O BOMBOM

FIM

EXERCCIOCOMOPERAESLGICAS:
Umcandeeiroligadocorrente,quetemumalmpada,noacende.Crieumalgoritmopara obterterluz. ENROSCAR LAMPADA NO SIM TROCAR LMPADA SIM

INCIO

Lmpada Enroscada?

Lmpada Fundida? NO COMPRAR NOVO CANDEEIRO

FIM

EXERCCIO2
Crieumalgoritmoparairpescanumlago,sabendoques20htemderegressaracasae nosabesetemocarrodisponvelparairevoltar.

EXERCCIOS 1. Desenhe um diagrama para obter a mdia de dois testes. Sabendo que: Se o aluno tiver a mdia maior ou igual a sete APROVADO. Caso contrrio REPROVA O ANO.

2. Desenhe um diagrama para obter a mdia dos alunos do 12 ano com as seguintes caractersticas: Os alunos que tiveram mdia menor que 5 REPROVAM o ano. Se tiverem mdia maior ou igual a 5 mas menor que 7 - PRECISAM DE UMA NOVA AVALIAO. Caso tenham tido maior ou igual a 7 esto APROVADOS.

1.

2.

FORMASDEREPRESENTAODOSALGORITMOS

EXERCCIO:
Uma empresa vai acrescentar a cada salrio base dos seus funcionrios uma graticao de 40 , devido aos lucros obtidos nesse ms. Sabendo que: Salrio bruto = Salrio base + graticao Se o salrio bruto for maior ou igual que 1000 as nanas cobram 20% de impostos. Se o salrio bruto for menor que 1000 as nanas cobram 15% de impostos. Salrio lquido = Salrio bruto - impostos. Desenhe um diagrama de blocos para calcular o salrio lquido.

INSTRUESPRIMITIVAS
DisposiYvo/Perifricodeentradaomeiopeloqualasinformaes(maisespecicamente osdados)sotransferidaspelouElizadoroupelosnveissecundriosdememriaao computador.Osexemplosmaiscomunsso:oteclado,orato, astaseosdiscosmagnEcos,entreoutros; DisposiYvo/Perifricodesadaomeiopeloqualasinformaes(geralmente,os resultadosdaexecuodeumprograma)sotransferidaspelocomputadorao uElizadorouaosnveissecundriosdememria.Exemplos:monitordevdeo, impressora,tasediscosmagnEcos,entreoutros; Sintaxeaformacomooscomandosdevemserescritos,amdeser entendidospelotradutordeprogramas.AviolaodasregrassintEcas consideradaumerrosujeitopenadonoreconhecimentodocomandoporparte dotradutor; SemnYcaosignicado,ouseja,oconjuntodeaesqueseroexercidaspelo computadorduranteaexecuodoreferidocomando.

INSTRUESPRIMITIVAS

EXERCCIO
Escrevaumalgoritmoparacalcularoconsumomdiodeumautomvel(medidoem Km/l),dadoquesoconhecidosadistnciatotalpercorridaeovolumedecombusvel consumidoparapercorrla(medidoemlitros).

SOLUO
Aprincipalquestoaserlevantadanaobtenodoalgoritmopedidoconsistena formulaodaexpressousadaparacalcularoconsumomdio(CM)aparErda distnciatotalpercorrida(DIST)edovolumedecombusvelconsumido(VOL),que dadapor:CM=DIST/VOL UmavezobEdaestaexpresso,aformulaodoalgoritmodesejadoconsisteemuma simplesrepeEodaquelesapresentadosnasquestesanteriores:deveseobtero valordasvariveisDISTeVOL,calcularoconsumopelaexpressoacimae, nalmente,mostraraousurioovalorcalculado.

EXERCCIO

EXERCCIO
AssumindoquetodasasvariveisuElizadas(CM,DISTeVOL)sodoEporeal,podese escreveropseudocdigoseguinteparaouxogramaanterior: Pseudocdigo AlgoritmoCONSUMO_MEDIO VarCM,DIST,VOL:real Incio EscrevaAlgoritmoparacalcularoconsumo EscrevaDistnciatotalpercorrida(Km): LeiaDIST EscrevaVolumedecombusvelgasto(L): LeiaVOL CMDIST/VOL EscrevaConsumomdio=,CM,Km/l Fim.