Tamanho: px
Começar a partir da página:

Download ""

Transcrição

1 PGL-Umalinguagemparao FabioA.G.Lubacheski ensinodealgoritmos WalterAoiamaNagai MarceloSilvaCintra

2 PGL-Umalinguagemparaoensinodealgoritmos edefendidopelossrs.fabioa.g.lubacheski,marcelosilvacintraewalteraoiama Nagai. projetodegraduac~aodevidamentecorrigido Esteexemplarcorrespondearedac~aonaldo CampoGrande,9defevereirode1998. Prof.RonaldoAlvesFerreira Orientador Projetodegraduac~aoapresentadoaoDepartamentodeComputac~aoeEstatstica, obtenc~aodottulodebacharelemci^encia dacomputac~ao. UFMS,comorequisitoparcialparaa

3 Resumo cialmente.essaslinguagensest~aobaseadas,normalmente,nalnguainglesa.paraum duc~aodasoluc~aodeumproblemaparaaslinguagensdeprogramac~aoexistentescomer- UmagrandebarreiraenfrentadapelosiniciantesnaCi^enciadaComputac~aoeatra- poisassoluc~oesestudadasemsaladeaulas~aoexpressasdeformaalgoritmicaenalngua portuguesa.umdosobjetivosdesteprojetoediminuiressabarreiraatravesdadenic~ao inicianten~aoadapatadoaessalngua,issosetornaumproblemaadicionalasersuperado, deumanovalinguagemdeprogramac~aobaseadainteiramentenalnguaportuguesa.esta decompiladores,concentrando-seprincipalmentenotopicodeotimizac~aodecodigo,nas novalinguagemfoidenominadapgl(portugollanguage). estruturasdedadosenosprincipaisalgoritmosutilizadosnaconstruc~aodeumcompilador AlemdedeniralinguagemPGL,estetrabalhoapresentaumarevis~aodateoria parapgl.

4 iv

5 Conteudo 2ALinguagemPGL 1Introduc~ao 1 2.3Rotinas Vis~aoGeraldaLinguagem Tipos Express~oes Variaveis,Par^ametrosFormais,ConstanteseRotulos Comandos Otimizac~ao 3.2AnaliseSintatica AnaliseLexica Gerac~aodeCodigoIntermediario CodigodeTr^esEnderecos AnaliseSem^antica BlocosBasicos Representac~aodeBlocosBasicossobaformadeGrafosDirecionadosAcclicos GrafodeFluxo TecnicasdeOtimizac~ao Otimizac~aoPeephole Ordenac~aoHeursticadoGDA Eliminac~aodeSubexpress~oesComuns...32 v

6 4Implementac~ao CONTEUDO 37 vi AnaliseSintatica AnaliseLexica...38 FasedeAnalise EstruturasdeDados TabeladeSmbolos AnaliseSem^antica BlocosBasicos CodigodeTr^esEnderecos DescritordeTipos OtimizadordeCodigo GeradordeCodigo GrafoDirigidoAcclico AnalisedeVariaveisVivas DescritoresdeRegistradoreseEnderecos GeradordeCodigoSimples Conclus~ao 4.4.4Afunc~aoobterreg PropostasparaTrabalhosFuturos ResultadosObtidos BOperadoresdaLinguagemPGL AGramaticadaLinguagemPGL CPalavrasReservadasdaLinguagemPGL 67

7 ListadeFiguras 2.2Exemplodedeclarac~aodeprocedimentoefunc~ao Exemplodeumprocedimentoeduasfunc~oes Exemplodeimplementac~aodetiposnalinguagemPGL Exemplodeprocedimentoefunc~oesencaixadas Exemplodedeclarac~aoderotulos,variaveiseconstantes Exemplodarepresentac~aodeumcodigodetr^esenderecos Blocobasico Exemplodesentencasdetr^esenderecos ExemplodeumprogramafonteemPGL GrafodeFluxo GrafoDirecionadoAcclico Codigodetr^esenderecosdasexpress~oes Trechodeumprogramaexemplo Umaarvoresintaticacomum Grafodeuxoalteradocomaotimizac~ao Fluxodecontroledagura Fluxodecontroledagura Eliminac~aodesubexpress~oescomuns GDAaposaplicac~aodoalgoritmoheurstico AlgoritmoheursticoparaGDA Func~aodedispers~aohashpjw EstruturadedadosdaTabeladeSmbolos Tabeladedispers~aoaberta EstruturadedadosdoDescritordeTipos...44 vii

8 LISTADEFIGURAS 4.5EstruturadedadosdoCodigodeTr^esEnderecos...44 viii 4.8Programasoma EstruturadedadosdoBlocoBasico Codigodetr^esenderecosdoprogramasoma EstruturadedadosdoGrafoDirecionadoAcclico AlgoritmodeAnalisedeVariaveisVivas ExemplodeUsosdeVariaveisemPGL...52

9 Captulo1 Introduc~ao descritademaneiraclara,precisaesemambiguidades.oquesebuscaeumasequ^encia putador.paraqueumproblemasejaresolvidocomputacionalmente,suasoluc~aodeveser OobjetivobasicodaCi^enciadaComputac~aoeasoluc~aodeproblemasatravesdocom- nitadepassosquequandoseguidoslevaasoluc~aodoproblema.esseeoconceitode algoritmoseconstituiabasedacomputac~ao. formanatural.utilizarumalinguagemalgortmicaeaformamaiscomumeeciente trato,eparaescrev^e-loeprecisoummeiopararepresentaressepensamentoabstratode Paradesenvolverumalgoritmoenecessarioumcertograuderaciocniologicoeabs- pensamentohumano. modo,umalinguagemdeveexpressardeformanaturaloraciocniologicoecriativodo dedescreverasideias,poisoatodeescrevereaunicamaneiradeformaliza-las.desse barreiradecomunicac~aoentreohomemeamaquina.oscomputadoresoperam,em geral,numnvelmuitoat^omico,manipulandodgitosbinarios,registradores,posic~oesde Oadventodoscomputadorestornouevidente,desdemuitocedo,aexist^enciadeuma memoriaetc.,enquantopessoaspreferemexpressar-seusandolnguasnaturais,auxiliadas, quandonecessario,peloempregodenotac~aomatematica.desdemuitocedotentou-se superaressabarreiracomaintroduc~aodelinguagensdeprogramac~ao. cutadostendoemvistaasoluc~aodeproblemas.existeumadiversidadedelinguagens deprogramac~ao,cadaumacomsuascaractersticaspropriasedestinadasasoluc~aode Atravesdelinguagensdeprogramac~ao,osalgoritmospodemserimplementadoseexe- problemasespeccos.amaioriadessaslinguagenspossuemseuscomandosemingl^es, taiscomocepascal.muitoslivrosdeensinodealgoritmosutilizamumalinguaguemde- 1

10 nominadaportugolparaaespecicac~aodealgoritmos,comoporexemplo[5].aprincipal Captulo1.Introduc~ao 2 caractersticadalinguagemportugolequeseuscomandoss~aoemportugu^es. paraoensinodealgoritmosemumcursointrodutoriodeci^enciadacomputac~ao.esta novalinguagem,denominadapgl(portugollanguage),estatotalmentebaseadana Umdosobjetivosdesteprojetoedenirumanovalinguaguemdeprogramac~aovoltada cal,demodoqueousuariodequalquerumadessaslinguagenspodefacilmentetraduzir lnguaportuguesa,ouseja,possuitodosseuscomandosemportugu^es. seuprogramapglparaessaslinguagensevice-versa.dessamaneira,oprogramador ALinguagemPGLpossuicaractersticasdeoutraslinguagens,taiscomoCePas- poderapensarlivrementenassoluc~oesdeproblemasepoderaimplementa-lasfacilmente nocomputador. eaquelequeaplicatransformac~oesdemelhoriadecodigodeformaaseobterumcodigo truc~aodeumcompiladorotimizador1paraestalinguagem.umcompiladorotimizador Alemdaespecicac~aodalinguaguemPGL,esteprojetotemcomoobjetivoacons- quesejaexecutadomaisrapidamente,queocupemenosespacoouosdois.essastrans- queocodigoobtidosejaotimo[1]. formac~oess~aotradicionalmentechamadasdeotimizac~oes,apesardotermon~aoserapropri- ado,porquesomenteemalgumassituac~oesespeccaspode-segarantirmatematicamente selec~aodetransformac~oesdemelhoriadecodigo[1]: Aconstruc~aodeumcompiladorotimizadorbaseia-seemtr^escriteriosbasicosparaa 1.umatransformac~aodevepreservarosignicadodosprogramas,istoe,umaotimizac~aon~aopodemodicarasadaproduzidaporumprograma; 2.umatransformac~aoprecisa,namedia,\acelerar"osprogramasporumfatormensuravel; 3.umatransformac~aoprecisavaleroesforco.N~aofazsentidoumcompiladorgastartempoadicionaldecompilac~aocomosprogramas-fonteseesseesforcon~aofor Duranteodesenvolvimentodesteprojeto,tecnicasdeotimizac~aodecodigoser~aoestudadas,bemcomoasestruturasdedadosnecessariasparaquetaistecnicaspossamser recompensadoquandooprogramaforexecutado. implementadas. 1OptimizingCompiler

11 Captulo1.Introduc~ao Esteprojetoestaorganizadodamaneiraaseguir.Ocaptulo2descreveasprincipaiscaractersticasdalinguagemPGLcomo,porexemplo,tipos,comandos,rotinaseas 3 funcionalidadesdeidenticadores(variaveis,constanteserotulos).ocaptulo3fazuma breverevis~aodateoriadecompiladores,concentrando-seprincipalmenteemalgoritmos PGL.Ocaptulo5apresentaasconclus~oesepossveisextens~oesparaestetrabalho. estruturasdedadosutilizadasealgunsdetalhesdeimplementac~aodocompiladorpara eestruturasdedadosnecessariosparaaotimizac~aodecodigo.ocaptulo4descreveas

12 Captulo1.Introduc~ao 4

13 Captulo2 ALinguagemPGL NestecaptuloseraapresentadaalinguagemPGL,mostrandocaractersticasqueadetersticasdeformagenerica.Asec~ao2.2forneceinformac~oessobreostiposbasicosexistenteseapossibilidadedesecriartiposestruturados.Asec~ao2.3detalhafunc~oese maneira:asec~ao2.1apresentaumavis~aogeraldalinguagem,mostrandosuascarac- nemcomoumalinguagemdeprogramac~ao.ocaptuloestaorganizadodaseguinte procedimentos,tiposdepar^ametrospossveis,tiposderetornoeotratamentodeescopo dasvariaveislocais.asec~ao2.4detalhaoscomandosexistentesnalinguagem,taiscomo: existenteseosoperadoresdasexpress~oes. constantes,rotulosedospar^ametrosformais.asec~ao2.6descreveostiposdeexpress~oes comandosrepetitivos,condicionaiseoutros.asec~ao2.5tratadadeclarac~aodevariaveis, AlinguagemPGLofereceumconjuntodetiposbasicos,comoporexemplo,inteiro, 2.1 Vis~aoGeraldaLinguagem booleano,caracter,realefrase.alemdisso,oprogramadorpglpodeconstruirnovos tiposestruturadosemaiscomplexosapartirdessestipos. possvelmodica-laduranteoprograma.osdemaistipos:booleano,caracterereals~ao comumtamanhomaximode255caracteres.umafraseesempreconstante,n~aosendo Umafraseeumasequ^enciadecaracteres(dgitoseletras)contidaentreumparde'"', equivalentesaostiposboolean,charerealdalinguagempascal. racteres(dgitoeletra),comecandocomumaletra,n~aohavendodistinc~aoentreletras Umidenticadorereconhecidopelalinguagemcomosendoumasequ^enciadeca- 5

14 maiusculaseminusculas.umidenticadorpoderepresentarrotulos,variaveis,rotinas, Captulo2.ALinguagemPGL 6 constantesoupalavrasreservadas. execuc~aodoprogramaealterado,seguindoparaaprimeirainstruc~aoaposorotulo.um dedesvio,desdequeorotulojatenhasidodeclarado.aoreferenciarumrotulo,ouxode Adenic~aoderotulospossibilitaaoprogramadorarefer^enciapormeiodeumcomando comandoqualquerpodeserprecedidoporumrotuloseguidodosmbolo':'(doispontos). aassociac~aodeumidenticadoraumvalorquepodeserumnumerointeiro,real,caracter poderaseralteradoaolongodoprograma.afacilidadequeasconstantesproporcioname Adenic~aodeconstantesconsisteematribuirumvaloraumidenticador,quen~ao oufrase,tornando-osin^onimodovalorassociado. mentos,eseguemopadr~aodalinguagempascal,sendoassim,func~oespodemtervalor deretorno,enquantoqueumprocedimenton~aopodeter.alemdisso,asec~ao2.3discute AlinguagemPGLpermiteacriac~aoderotinas,quepodemserfunc~oesouprocedi- caractersticasdasrotinas,formasderetornoetratamentodasvariaveislocais,bemcomo, otratamentoparaospar^ametrosdasrotinas.rotinaspodemserdeclaradasdentrode rotinacomonalinguagempascal. 2.2 Umtipodeneoconjuntodevaloresqueumavariavelpodeassumireasoperac~oese Tipos avariavelocupaecomoefeitasuarepresentac~aonamemoriadocomputador[8]. tipo.otipodavariavelpermiteaocompiladordeterminaraquantidadedememoriaque relac~oesqueatuamsobreestesvalores.todavariaveldeveestarassociadaaumunico deumproblemaespecco.alinguagempglpossuicincotiposbasicos:booleano,inteiro, caracter,frase,real.umtipobasicoeumtipocomcaractersticasjadenidaspelo Adenic~aoecriac~aodetiposs~aoutilizadaspeloprogramadorcomoauxlionasoluc~ao compilador.epermitidoaoprogramadoraredenic~aodetiposbasicoseacriac~aode novostiposdenominadostiposestruturados. podemserutilizadoscomoconstantesaolongodeumprograma,aumentandoacompreens~aodomesmo.issoemostradoclaramentenalinha(3)nagura2.1. porumasequ^enciadeidenticadoresconstantesemordemcrescente.estesidenticadores Umexemplodedenic~aodetipopodeserumaenumerac~ao,queeumtipoconstrudo Umaoutraformadoprogramadordenirumtipoeutilizarosexistentes,denindo

15 novosvaloresqueser~aoaceitospelonovotipo.otipointervalodeneosvaloresmaximo Captulo2.ALinguagemPGL 7 gura2.1temosumexemplodeumtipointervalo. emnimoqueelepoderaaceitar.osvaloresmaximoemnimos~aoidenticadoresconstantes,umnumerointeiroouumcaracter,sempredemesmotipo.nalinha(5)e(6)da enumerac~aoeintervalopodemsercombinadosdemodoaformartiposestruturadosque s~aodivididosemvetor,registroeconjunto.atravesdecombinac~oesdotipovetorpode-se Ostiposbasicosbooleano,inteiro,caracter,fraseerealemaisostiposdenidos chegaraumtipoestruturadomatriz,queeumvetorcommaisdeumadimens~ao.os edenidonadeclarac~aodomesmo.parasefazeracessosaoselementosdovetor,usa-se elementosdeumvetordevemsertodosdomesmotipoeonumerodeelementosexo porelementosquepodemserdetiposdistintos(basicos,estruturados),comonoexemplo onomedavariavelvetorseguidodondiceentrecolchetes.jaotiporegistroeformado nalinha(8)dagura2.1.cadacomponentedeumregistroedenominadocampo.os camposdeumregistropodemserreferenciadosusando-seonomedavariaveldotipo registroseguidodeumpontoeoidenticador(campo).otipoconjunto,assimcomoo aceitandooperac~oesbasicasdeconjuntocomo(uni~ao,diferencaeintersec~ao). tipovetor,tambemconsistenumacolec~aodeelementosdeummesmotipo,adiferenca estanamanipulac~aodoselementos,poisotipoconjuntoetratadocomoumaunidade, din^amicass~aoreferenciadasindiretamenteutilizando-seooperadordeindirec~ao. seja,variaveisquepodemsercriadasoudestrudasemtempodeexecuc~ao.asvariaveis Asvariaveisassociadasaotipoponteiros~aodenominadasvariaveisdin^amicas,ou Agura2.1mostravariosexemplosdedenic~oesdetiposvalidosnalinguagemPGL. 2.3 AsrotinasdalinguagemPGLpossuemumtratamentoigualaodasoutraslinguagens Rotinas par^ametrosderotinass~aoexpress~oes,variaveiseaspropriasrotinas.umarotinapode estruturadas,possuindoprincipalmenteumaequival^enciacomalinguagempascal.os assumirasformasmostradasnagura2.2: forempassadosporrefer^enciaseusvalorespoder~aoseralteradosduranteaexecuc~aoda Estespar^ametrospodemserpassadosporvalorouporrefer^encia,Quandoospar^ametros Asequ^enciapar1,par2,...denotaospar^ametrosformaisqueumarotinapodeassumir. rotinaeasalterac~oesser~aoreetidasnasvariaveisdeorigem.

16 Captulo2.ALinguagemPGL 8 (4) (3) (1)programaexemplo (2)tiponumero Equipes =(Corinthians,Palmeiras,Santos,Sao_Paulo, =inteiro; (7) (6) (5) Rodadas Cariocas=Botafogo..Vasco; Paulistas=Corinthians..Sao_Paulo; =1..7; Botafogo,Flamengo,Fluminense,Vasco); (8) (9) Clube =registro (12) (11) (10) fimregistro; socios=numero; titulos=numero; nome =Equipes; (13) (14) PontosGanhos=vetor[Rodadas]denumero; (17)fim. (15)inicio (16)//corpodoprograma Tabela =vetor[equipes][equipes]deequipes; Figura2.1:Exemplodeimplementac~aodetiposnalinguagemPGL. (2) (3) (4) (1) inicio procedimentoidenticador(par1,par2,...) (5) (6) m funcaoidenticador(par1,par2,...):identicador corpodoprocedimento (9) (7) (8) m inicio corpodafunc~ao Figura2.2:Exemplodedeclarac~aodeprocedimentoefunc~ao.

17 Captulo2.ALinguagemPGL Todosospar^ametrosformaisdeumarotinaetodasasvariaveisdeclaradasnelatem9 (1) umescopolocallimitadoaocorpodarotina,istoe,s~aolocaisarotina. (4) (2) (3) inicio procedimentop1(valora,b:inteiro;referenciac:inteiro) (5) (6) m funcaof1(a,b:inteiro):inteiro c<-a+b; (9) (10) (7) (8) m inicio (11) funcaof2(a,b:inteiro):inteiro F1<-a+b; (14) (13) (12) m inicio retornea+b; Umretornodefunc~aopodeassumirduasformas,aprimeiraerepresentadanalinha Figura2.3:Exemplodeumprocedimentoeduasfunc~oes. comandoretorne,comomostraalinha(13)dagura2.3.ovalorderetornodeuma (8)dagura2.3,emqueoidenticadorf1dafunc~aoarmazenaovalorquedeveraser func~aodeveserdeumtipobasicooudeumtipoapontador,n~aosendopossveloretornode retornadopelemesma.asegundaforma,menosrepresentativa,efeitautilizando-seo tiposestruturados(vetor,registro,matriz,etc).epermitidaaoprogramadoraliberdade deescolhadaformaqueserautilizadaparaoretornodevalordeumafunc~ao,poisambas Pascal[8].Oencaixamentoderotinasefeitoatravesdadeclarac~aodesubrotinasdentro possuemamesmafuncionalidade.. derotinas,comomostraagura2.4.comesseencaixamentoassubrotinaspodemutilizar Umoutrorecursodalinguagemeoencaixamentoderotinas,comonalinguagem asvariaveis,tipos,constantes,rotuloserotinasdeclaradasnasrotinasmaisexternas. Kowaltowskiem[7]apresentaumestudoextensosobreencaixamentoderotinas. ouseja,quaisvariaveispodemservistasporoutrassubrotinas.nalinha(8)dagura 2.4,oprocedimentop3temacessoatodasasvariaveisqueforamdeclaradasnoprograma Oprogramaencaixadomostraquaiss~aoosescoposdasvariaveisnosprocedimentos, principal,asqueforamdeclaradasemp1,alemdesuaspropriasvariaveis.masopro-

18 Captulo2.ALinguagemPGL 10 (1) (2) programaencaixado (5) (4) (3) declarea:inteiro; declareb:inteiro; procedimentop1 (7) (8) (6) inicio declarec:inteiro; procedimentop2 (9) (10) (11) inicio m p2; a<-a+b+c; (12) (13) (15) (16) m(14) declared:inteiro; a<-a+b; (17) inicio a<-a+d; procedimentop3 (20) (21) (18) (19) inicio m (22) mp1; p3; Figura2.4:Exemplodeprocedimentoefunc~oesencaixadas.

19 cedimentop2n~aotemacessoasvariaveisqueforemdeclaradasapartirnoprocedimento Captulo2.ALinguagemPGL 11 encaixamentomaisinterno. p3possuemummesmonveldeencaixamento.jaoprocedimentop2temumnvelde p3,poisp2sopodeseracessadoapartirdoprocedimentop1.osprocedimentosp1e 2.4 AlinguagemPGLpermitecomandossimilaresaosdasoutraslinguagensestruturadas, Comandos daseguinteforma: umaseriedesentencasseparadasporponto-vrgula.umcomandodeatribuic~aoefeito emboraapresentecaractersticasespeccasqueadiferenciam.umasentencaspgle Aformageraldeumcomandocondicionale: identicador expressao; (2) (1) (3) seexpressaoentao (4) (5)... (6) senao (7) (8) (9)... Ocomandorotuladorepresentadonalinha(2)docomandocondicionalindicaquepode mse execuc~aonormaldoprograma.aformageraldecomandorotuladoemostradaaseguir. setratardeumcomandocomrotulo,sendoutilizadosomentesefornecessariodesviara Aformageraldeumcomandodedesvioe: [identicador:]comandof[identicador:]comandog emqueidenticaorrepresentaumrotulo. Aformageraldeumcomandodedesviomultiploe: desvieparaidenticador;

20 Captulo2.ALinguagemPGL escolhaexpressaode 12 AlinguagemPGLpermitediversoscomandosderepetic~ao,quepossuem mescolha fcasog 3formasbasicas: enquantoexpressaofaca... comandorotulado menquanto repita... comandorotulado ateexpressao paraidenticadordeexpressaoateexpressao[passoexpressao]faca... comandorotulado explicados.aformadeumadeclarac~aodedesviodeiterac~aoe: Alinguagempermiteumcomandodedesviodeiterac~aodos3comandos mpara abandone; anteriormentenotopicoderotinas,estadeclarac~aoearetorne.ocomando retorneeutilizadosomenteemfunc~oesn~aosendopossvelutiliza-loemum AlinguagemPGLcontemumadeclarac~aoderetornodefunc~aojadiscutida procedimento,jaqueprocedimentosn~aopossuemvalorderetorno.

21 2.5 Captulo2.ALinguagemPGL Variaveis,Par^ametrosFormais,ConstanteseRotulos 13 Variaveis,constantes,par^ametrosformaiserotuloss~aodenotadosemPGL porsimplesidenticadores. essavariavelpassaserdenominadacomovariavellocaleereconhecidasomentenocorpodestarotina,possuindoportanto,umescopolocal.jaahecido.quandodeclaramosumavariaveldentrodeumadeterminadarotina, Escopoeolocal(ouponto)noprogramaemqueumidenticadorerecon- seuescopo(dereconhecimento)eemtodooprograma[12]. variaveisdeclaradasnoinciodoprogramas~aodenominadasvariaveisglobaise estruturado(complexo).essaassociac~aoevalidaemtodooblocoquea contem. Umadeclarac~aodevariaveisassociaumidenticadoraumtipobasicoou mesmoescopo.estaregran~aovalepararotinasencaixadas,poisummesmo identicadorpodeestaremdiferentesescopos. Ummesmoidenticadorsopodeserdeclaradoumaunicavezdentrodeum Adeclarac~aodevariaveispossuiaseguinteformageral: Aatribuic~aodevariaveispossuiaseguinteformageral: declareidenticador1,identicador2,...:tipo; Ooperadordeatribuic~aoerepresentadopelosmbolo<-.Onovovalorpara identicador expressao; avariavelqueestaaesquerdadesteoperadoreobtidoapartirdaavaliac~ao nasvaloresdetiposbasicos:inteiro,real,booleano,caracter,frase.otamanhode daexpress~aoqueestaadireita. umaconstanteeindicadopelotipoatribudoaela.umaconstantepossuium Asconstantess~aorepresentadasporidenticadoresepodemassumirape- valorxoquen~aosemodicaduranteaexecuc~aodeumprograma. Adeclarac~aodeconstantesedaseguinteforma: constanteidenticador=constante;

22 Captulo2.ALinguagemPGL Adeclarac~aoderotulospossuioseguinteformato: 14 Todorotulodeveserdeclaradoantesdeseuusonasec~aodedeclarac~ao rotulosidenticador1,identicador2,...; doblocoemqueestacontido.essadeclarac~aodisponibilizaorotuloparaa refer^enciadocomandodesviepara.qualquercomandopodeserprecedidode umrotulodenido. PGL: Segueabaixoumexemplodedeclarac~oesemumprogramanalinguagem 3constanteconst1=3; 1programaexemplo1; 2rotulo 45tipotipo1=^inteiro; l,l2,l3; 6declarevar1,var2:inteiro; 7 var3,var4:frase; const2=const1; 11fim 9inicio 10 8procedimentop1(par1,par2:inteiro); //corpodoprograma Figura2.5:Exemplodedeclarac~aoderotulos,variaveiseconstantes. Umaexpress~aoeformadadeoperandos,operadorespodendosersimplesou 2.6 Express~oes Express~oessimpless~aoformadasporvariaveis,constantesoupar^ametrosformais. complexas.asexpress~oescomplexass~aocompostasporexpress~oessimples. truturado).acadatipoeassociadoumconjuntodeoperac~oespossveissobre asinst^anciasdotipo,podendoassim,determinarosoperadoresinerentesaos Osoperandosest~aosempreassociadosaumdeterminadotipo(basicooues- operandos.osoperadoresdalinguagempgl,bemcomosuaspreced^encias,

23 s~aomostradasnosap^endicesbec.aspreced^enciasdosoperadoresest~ao Captulo2.ALinguagemPGL 15 denidasemordemcrescente. s~aoavaliadossempredaesquerdaparaadireita.parasealteraraordem dosoperadoresenvolvidos,sendoqueosoperadoresdemesmapreced^encia Aordemdeavaliac~aodeumaexpress~aoocorredeacordocomapreced^encia deavaliac~aodeumaexpress~aoeprecisoutilizarparesdepar^entesesqueespecicamosoperandosquedevemseravaliadosprimeiro,sendoquedentro preced^encia,daesquerdaparaadireita[7]. decadapardepar^entesesser~aoavaliadosprimeiroosoperadoresdemaior ouvariaveisdotiponumerico(inteirooureal)ecujosoperadorespodemser: Express~oesAritmeticas:s~aoasexpress~oescujosoperandoss~aoconstantes Podemosclassicarasexpress~oesemduascategorias: OperadoresUnarios OperadoresdeMultiplicac~ao OperadoresdeAdic~ao OperadoresdeBit Operadoresparaponteiro Umexemplodeexpress~aoaritmeticaemPGLemostradoabaixo: Express~oesLogicas:s~aoexpress~oescujosoperadoress~aologicos,ecujos -(10*5+15)>>2 operandoss~aorelac~oes,constantesouvariaveisdotipologico. atravesdeconstantes,variaveisouexpress~oesaritmeticas,estasultimaspara doisvaloresdemesmotipobasico.estesvaloress~aorepresentadosnarelac~ao Umarelac~ao,ouexpress~aorelacional,eumacomparac~aorealizadaentre relac~ao,tambems~aomostradosnoap^endiceb.oresultadoobtidodeuma ocasodevaloresnumericos. relac~aoesempreumvalorlogico. Osoperadoresrelacionais,queindicamacomparac~aoentreostermosda Umexemplodeumaexpress~aologicaemPGLemostradoabaixo:

24 Captulo2.ALinguagemPGL (2+4=6)ou(2*2+4=6) 16 avaliac~aoefeitadeacordocomapreced^enciadosoperadores. Tantonasexpress~oesaritmeticascomonasexpress~oeslogicas,aordemde

25 Captulo3 Otimizac~ao quepoderiaserproduzidoa\m~ao".oscompiladoresotimizadoresdeveriam Seriaidealseoscompiladoresproduzissemumcodigot~aobomquantoaquele fazerisso,masoquerealmentefazemeummelhoramentodocodigo,pois raramentepodesergarantidoqueocodigogeradosejaotimo. anteriormentenoprocessodecompilac~ao.porisso,serafeitainicialmente entanto,paraquesepossafazerotimizac~ao,variasetapasdevemsercumpridas Nestecaptuloser~aoestudadosalgunstopicosdeotimizac~aodecodigo.No umarevis~aodosprincipaisconceitosdateoriadecompiladoresqueservir~ao dasfasesiniciaisdeumcompilador(lexica,sintaticaesem^antica).asec~ao5 comobaseparaaleituradorestantedotexto..ocaptuloestaorganizado detalhaumadaspossveisrepresentac~oesparaocodigointermediario,ocodigo daseguinteforma:asquatroprimeirassec~oesapresentamumabreverevis~ao basicosparaaotimizac~aodecodigoeasec~ao7discutealgumastecnicasde otimizac~ao. detr^esenderecos.asec~ao6tratadaconstruc~aoedaimport^anciadeblocos 3.1 Aanaliselexicaeaprimeirafasedeumcompilador.Elaeresponsavelpela AnaliseLexica leituradoarquivofonteepeloreconhecimentodeatomos.atomosrepresentamossmbolosterminaisdagramaticadalinguagemfonte,porexemplo,identicadores,palavraschaves,operadores,constantes,smbolosdepon- 17

26 tuac~aoeoutrosmais. Captulo3.Otimizac~ao 18 lexico.nocaptulo4ser~aodiscutidosalgumascaractersticasadicionaisde analisadoreslexicosetambemalgumasmaneirasdeimplementa-los. Aoprogramaresponsavelpelaanaliselexicada-seonomedeanalisador Cadalinguagemdeprogramac~aopossuiregrasquedescrevemaestrutura 3.2 AnaliseSintatica programac~aoenormalmentedescritaatravesdegramaticaslivresdecontexto [6].Aanalisesintatica,tambemconhecidacomoanalisehierarquica,eresponsavelpeloagrupamentodeatomos,provenientesdaanaliselexica,do sintaticadosprogramas.asintaxedasconstruc~oesdeumalinguagemde fonte. analiseeumaarvoresintatica[1]comascontruc~oespermitidaspelalinguagem programafonteemfrasesgramaticais.normalmente,oprodutodafasede compiladoress~aoodescendente(top-down)eoascendente(bottom-up)[1,2,7]. Osmetodosdeanalisesintaticamaiscomumenteutilizadosnacontruc~aode 3.3 Aanalisesem^anticavericaoserrossem^anticosnoprogramafonteecapturaas AnaliseSem^antica informac~oesdetipoparaafasedegerac~aodecodigo.elautilizaaestrutura plicitamentegerada,ouent~aovericaavalidadesem^anticadoprogramafonte hierarquicageradanafasedeanalisesintatica,quandoessaestruturaeex- duranteoprocessodeanalisesintaticacomoac~oesembutidasnoanalisador sintatico,quandoaarvoresintatican~aoeconstrudaexplicitamente. mitidospelaespecicac~aodalinguagemfonte.alemdisso,eladevefazera Nelaocompiladorvericasecadaoperadorrecebeosoperandosques~aoper- Umimportantecomponentedaanalisesem^anticaeavericac~aodetipos. vendonumerosinteirosedepontoutuante,cabeaoanalisadorsem^antico, programaresponsavelpelaanalisesem^antica,fazeraconvers~aodevalores convers~aoentretiposquandonecessaria.porexemplo,emexpress~oesenvol-

27 inteirosparapontoutuanteevice-versa. Captulo3.Otimizac~ao Emumcompiladorcommaisdeumpasso[1],aposasfasesdeanaliselexica, Gerac~aodeCodigoIntermediario sintaticaesem^antica,umaformaderepresentac~aointermediariaegerada paraumamaquinaabstrata.apesardesepodertraduziroprograma-fonte pelocompilador.estarepresentac~aopodeserpensadacomoumprograma formaintermediariaindependentedemaquinas~ao: diretamenteparaalinguagemalvo,algunsdosbenefciosemseusaruma 1.apartirdarepresentac~aointermediariapode-segerarcodigoparadiferentesmaquinasalvo,bastandoapenasmudaromodulodegerac~aode 2.otimizac~oesindependentesdemaquinapodemseraplicadasarepresentac~aointermediaria. codigo; asmaisconhecidass~ao:ocodigodetr^esenderecoseaarvoresintatica.a seguirseraestudadoocodigodetr^esenderecos,quefoiarepresentac~aointermediariaescolhidaparaaimplementac~aodocompiladorparapgl. Existeumavariedadedeformasderepresentac~aointermediaria,sendoque 3.5 Arepresentac~aodeumprogramautilizandocodigodetr^esenderecosconsiste CodigodeTr^esEnderecos operandos.maisespecicamente,ocodigodetr^esenderecoseumasequ^encia emumasequ^enciadeinstruc~oes,cadaumadelaspossuindonomaximotr^es desentencasdeformageral: emquex,yezs~aovariaveis,constantesouvariaveistemporariascriadas x:=yopz pelocompilador;oprepresentaumoperadorbinario,comoporexemplo,um operadoraritmeticodepontoxooupontoutuante.

28 Captulo3.Otimizac~ao Comooprepresentaumunicooperador,n~aos~aopermitidasexpress~oes 20 tencasdetr^esenderecos: aritmeticascomplexas.porconseguinte,umaexpress~aodelinguagem-fonte comok<-x+y*zaoseranalisadaproduziraaseguintesequ^enciadesen- t1:=y*z emquet1eumavariaveltemporariageradapelocompilador.ousodetemporariosfacilitaadecomposic~aodeexpress~oescomplexasemexpress~oesmais k:=x+t1 dosenvolvidoscomooperador,dadoqueosenderecosdosoperandoss~ao simples. conhecidoseoenderecodoresultadotambemeconhecido,sendopossvel Autilizac~aodocodigodetr^esenderecosfacilitaamanipulac~aodosoperan- codigodetr^esenderecosemostradanagura3.1.estarepresentac~aoeconhecidacomoquadrupla.paramaioresdetalhessobreoutrasrepresentac~oes, fazeraoperac~aoearmazenaroresultado.umapossvelrepresentac~aodeum comoporexemplotriplas,veja[1]. Figura3.1:Exemplodarepresentac~aodeumcodigodetr^esenderecos. Operador Arg1 Arg2 Resultado binarios,eleerepresentativotambemparaoperadoresunarioseparaoutras construc~oesquealinguagemfontepossaexigir,comoporexemplo,instruc~oes Ocodigodetr^esenderecosn~aoerepresentativosomenteaoperadores hanteaumainstruc~aodemaquina,facilitando,portantoagerac~aodecodigo dedesviocondicionaleincondicional. nal. Umasentencadetr^esenderecoseumaformarepresentativabastantesemel- utilizadasemumcompilador. Aseguirs~aodescritasalgumassentencasdetr^esenderecosnormalmente 1.Atribuic~oesdaformax:=opy,sendoopumoperadorunario.

29 Captulo3.Otimizac~ao 2.Sentencasdecopia,daformax:=y,sendoqueyeatribudodiretamente 21 3.UmasentencadedesvioincondicionaldesvieparaLindicaoproximo enunciadodetr^esenderecoscomrotulolaserexecutado.esteenunciadoesemelhanteasinstruc~oesjumpoubranchdeumalinguagemde montagem. ax. 4.UmasentencadedesviocondicionalcomosexrelopydesvieparaL avaliac~aofeitapelocompiladordecidevalidaroun~aoaexecuc~aodoenunciadodesvieparal,casocontrario,aexecuc~aosegueparaaprimeira aplicaumoperadorrelacional(<,=,<=,>,>=,<>)edeacordocoma 5.Sentencasdaformaparamxecallp,ns~aoutilizadasparachamadasde instruc~aoaposoenunciadocondicional. rotinas,emqueasequ^enciadetr^esenderecospossuiaseguinteforma: paramx1 paramx2... paramxn callp,n rotinap. x2,...,xn).nasentencacallp,n,nindicaonumerodepar^ametrosda Essasinstruc~oess~aogeradascomopartedachamadadeprocedimentop(x1, resentarocodigodetr^esenderecosnocompiladorparaalinguagempgl. Nocaptulo4seraapresentadaaestruturadedadosutilizadaparaarep- 3.6 Aposarepresentac~aodeumprogramafonteemsentencasdetr^esenderecos, BlocosBasicos tem-seumarepresentac~aodasinstruc~oesdemaquinaquepodemsergeradas uxosdecontrole,eistoacontecequandos~aofeitosporsentencasdaforma apartirdeumprograma.umprogramanormalmenteapresentadesviosde

30 desvieparal.estassentencasdedesvioscriam\ramicac~oes"noprograma. Captulo3.Otimizac~ao 22 Umblocobasicoeumasequ^enciadecodigosdetr^esenderecosquen~aopossui ramicac~ao,ouseja,quandoouxodecontroleatingeoprimeirocodigode possiblidadederamicac~ao[1,9]. tr^esenderecosdobloco,elesomenteodeixanom,semumaparadaou b<-a*5; enquantob<100faca senao seb<aentao fimse b<-b-5; b<-c+5; fimenquanto Figura3.2:ExemplodeumprogramafonteemPGL r1: b:=a*5 5 seb>=100desvieparar2 76 seb>=adesvieparar3 8 r3: b:=c+5 9 r4: b:=b-5 desvieparar r2: desvieparar1 Osblocosbasicoss~aoimportantesparaaconstruc~aodegrafosdeuxo,pois Figura3.3:Exemplodesentencasdetr^esenderecos. osmesmosoferecemdiversasalternativasdeotimizac~ao.oconceitodegrafo deuxoedetalhadonaproximasec~ao.

31 Captulo3.Otimizac~ao Umprogramaexemploedescritonagura3.2easuarepresentac~aoem 23 sentencasdetr^esenderecosedescritanagura3.3.comisso,epossvelgerar osblocosbasicosdoprogramaexemplocomomostraagura3.4. r1: b:=a*5 B1 seb>=100desvieparar2 B2 seb>=adesvieparar3. b:=c+5 B3 B4 r3: desvieparar4 B5 r4: b:=b-5 desvieparar1 B6 r2: Figura3.4:Blocobasico. B7 instruc~oescontidasemcadablocodeacordocomanumerac~aoapresentadana gura3.3.asinstruc~oes3,4,6e10possuemumenunciadodaformadesvie Osnumeroscontidosdentrodecadaret^angulodagura3.4indicamas paral,emquelpodeserr1,r2,r3,r4.destaforma,pode-sereferenciar Lcomosendoum\rotulo"dedesvio.Umrotuloeoinciodeumbloco enquantoqueumenunciadodedesviodeveserumnaldebloco,dadoque umainstruc~aodedesviopermiteumaramicac~ao. enderecoseasadaproduzidaserianaformarepresentadapelagura3.4. deimplementac~ao,emqueaentradaseriasequ^enciasdesentencasdetr^es Umalgoritmodeconstruc~aodeblocosbasicosseradiscutidonocaptulo Mostrandotambem,algumasmodicac~oesnecessariasnaestruturadocodigo

Pos. Designação Tipo Medida Material 1 RETENTORES CB 4 X 11 X 6 2 RETENTORES CB 4 X 11 X 6 VITON 3 RETENTORES CB 4 X 12 X 6 4 RETENTORES CB 4 X 12 X

Pos. Designação Tipo Medida Material 1 RETENTORES CB 4 X 11 X 6 2 RETENTORES CB 4 X 11 X 6 VITON 3 RETENTORES CB 4 X 12 X 6 4 RETENTORES CB 4 X 12 X 1 RETENTORES CB 4 X 11 X 6 2 RETENTORES CB 4 X 11 X 6 VITON 3 RETENTORES CB 4 X 12 X 6 4 RETENTORES CB 4 X 12 X 6 VITON 5 RETENTORES CB 4,5 0X 16 X 7 6 RETENTORES CB 4,8 X 22 X 7 7 RETENTORES CC 5 X 15

Leia mais

Estruturas de entrada e saída

Estruturas de entrada e saída capa Estruturas de entrada e saída - A linguagem C utiliza de algumas funções para tratamento de entrada e saída de dados. - A maioria dessas funções estão presentes na biblioteca . - As funções

Leia mais

Introdução a Algoritmos Parte 04

Introdução a Algoritmos Parte 04 Universidade Federal do Vale do São Francisco Curso de Engenharia de Computação Introdução a Algoritmos Parte 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

ESTRUTURA CONDICIONAL

ESTRUTURA CONDICIONAL AULA 6 ESTRUTURA CONDICIONAL 130 Tem como objetivo executar um conjunto de comandos caso uma condição lógica seja atendida. Quando a resposta lógica for falsa, nada será executado. Sintaxe Se CONDIÇÃO

Leia mais

Algoritmos com VisuAlg

Algoritmos com VisuAlg Algoritmos com VisuAlg Prof Gerson Volney Lagemann Depto Eng de Produção e Sistemas UDESC - CCT Algoritmos com VisuAlg Introdução A linguagem VisuAlg é simples, seu objetivo é disponibilizar um ambiente

Leia mais

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO Geração de código Ivan Ricarte 2008 Sumário Geração de código intermediário Código de três endereços Notação pós-fixa Otimização de código Heurísticas de otimização Geração de código em linguagem simbólica

Leia mais

Linguagens Formais e Compilação Ficha de exercícios

Linguagens Formais e Compilação Ficha de exercícios Linguagens Formais e Compilação Ficha de exercícios Simão Melo de Sousa 1 Linguagens Formais: Construir Frases Exercício 1 Para cada uma das gramáticas G seguintes, (a) descreva a linguagem L(G) gerada

Leia mais

Introdução. A verificação de tipos pode ser estática e dinâmica

Introdução. A verificação de tipos pode ser estática e dinâmica Análise Semântica Introdução Verifica se as construções sintaticamente corretas possuem significado lógico dentro da linguagem Verifica a consistência da declaração e uso dos identificadores Além disso,

Leia mais

Autômatos a pilha. UFRN/DIMAp/DIM0330 Linguagens formais. David Déharbe. http://www.consiste.dimap.ufrn.br/ david/enseignement/2003.

Autômatos a pilha. UFRN/DIMAp/DIM0330 Linguagens formais. David Déharbe. http://www.consiste.dimap.ufrn.br/ david/enseignement/2003. UFRN/DIMAp/DIM0330 Linguagens formais http://www.consiste.dimap.ufrn.br/ david/enseignement/2003.1/dim0330 1/36 Autômatos a pilha David Déharbe UFRN/DIMAp Campus Universitário, Lagoa Nova, 59072-970 Natal,

Leia mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Aulas 2-3-4-5-6-7-8 Lógica Algoritmos Portugol

Leia mais

ALGORITMOS cont. Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação

ALGORITMOS cont. Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação ALGORITMOS cont. tal, RN, maio/2004 Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira

Leia mais

ALGORITMOS E PROGRAMAÇÃO Estruturas de repetição. Andreza Leite andreza.leite@univasf.edu.br

ALGORITMOS E PROGRAMAÇÃO Estruturas de repetição. Andreza Leite andreza.leite@univasf.edu.br ALGORITMOS E PROGRAMAÇÃO Estruturas de repetição Andreza Leite andreza.leite@univasf.edu.br Estrutura de Repetição Enquanto Neste caso, uma dada tarefa será repetida enquanto uma determinada condição for

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Apostila 03 Linguagens Livres de Contexto

Apostila 03 Linguagens Livres de Contexto Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Projeto em Grupo: Parte 2

Projeto em Grupo: Parte 2 Universidade Federal do Pará Instituto de Tecnologia Faculdade de Engenharia da Computação Disciplina: Compiladores Professor: Jefferson Data: 12/05/2009 Equipe: Luana Oliveira Lucas Mousinho Luis Adauto

Leia mais

Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB

Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEFINIDOS PELO USUÁRIO Prof. Protásio DEE UFPB 1 Estruturas É uma coleção de variáveis que são referenciadas sob um único nome. Uma estrutura fornece

Leia mais

Convertendo Algoritmos para a Linguagem C

Convertendo Algoritmos para a Linguagem C onvertendo Algoritmos para a Linguagem Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan O objetivo deste texto é mostrar alguns programas em, dando uma breve descrição de seu funcionamento

Leia mais

Algoritmos Computacionais ( Programas )

Algoritmos Computacionais ( Programas ) Algoritmos Computacionais ( Programas ) A partir deste tópico, consideramos a utilização do universo Computacional na solução de problemas. Para tanto devemos lembrar que a transposição de problemas do

Leia mais

UP-TO-DATE. ANO I. NÚMERO 32 CAVALCANTE ASSOCIADOS

UP-TO-DATE. ANO I. NÚMERO 32 CAVALCANTE ASSOCIADOS UP-TO-DATE. ANO I. NÚMERO 32 FLUXO DE CAIXA NO EXCEL! Planilha FLUXO.XLS em anexo! Gerenciamento do fluxo de caixa em planilhas Excel! Utilização de recursos avançados do Excel para o gerenciamento do

Leia mais

Estruturas de Repetição Parte II PARA-ATÉ

Estruturas de Repetição Parte II PARA-ATÉ Estruturas de Repetição Parte II PARA-ATÉ Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Aprender a sintaxe da Estrutura de Repetição PARA-ATÉ na linguagem PORTUGOL Aprender

Leia mais

Geração de código intermediário. Novembro 2006

Geração de código intermediário. Novembro 2006 Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas

Leia mais

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1 Linguagem C: Estruturas de Controle Prof. Leonardo Barreto Campos 1 Sumário Estrutura de Controle e de Fluxo Comandos de Seleção: O comando if; Ifs Aninhados; A escada if-else-if; A expressão condicional;

Leia mais

Gramáticas Livres de Contexto

Gramáticas Livres de Contexto Gramáticas Livres de Contexto 25 de novembro de 2011 Definição 1 Uma Regra (ou produção) é um elemento do conjunto V (V Σ). Sendo que V é um conjunto finito de elementos chamados de variáveis e Σ um conjunto

Leia mais

IMPORTAÇÃO DO CADASTRO DE PESSOAS

IMPORTAÇÃO DO CADASTRO DE PESSOAS IMPORTAÇÃO DO CADASTRO DE PESSOAS 1. Objetivo: 1. Esta rotina permite importar para o banco de dados do ibisoft Empresa o cadastro de pessoas gerado por outro aplicativo. 2. O cadastro de pessoas pode

Leia mais

Protótipo de Gerador de Código Executável no Ambiente FURBOL

Protótipo de Gerador de Código Executável no Ambiente FURBOL Protótipo de Gerador de Código Executável no Ambiente FURBOL Acadêmico: Geovânio Batista André Orientador: José Roque Voltolini da Silva Trabalho de Conclusão de Curso Área/SubÁrea Compiladores/Geração

Leia mais

UNIVERSIDADE FEDERAL DA BAHIA UFBA ESCOLA POLITÉCNICA DEPARTAMENTO DE TRANSPORTES DISCIPLINA: TÉCNICAS DE GEOMENSURA LEVANTAMENTOS TOPOGRÁFICOS

UNIVERSIDADE FEDERAL DA BAHIA UFBA ESCOLA POLITÉCNICA DEPARTAMENTO DE TRANSPORTES DISCIPLINA: TÉCNICAS DE GEOMENSURA LEVANTAMENTOS TOPOGRÁFICOS UNIVERSIDADE FEDERAL DA BAHIA UFBA ESCOLA POLITÉCNICA DEPARTAMENTO DE TRANSPORTES DISCIPLINA: TÉCNICAS DE GEOMENSURA LEVANTAMENTOS TOPOGRÁFICOS SUBTERRÂNEOS CADERNO DE EXERCÍCIOS PROPOSTOS CAPÍTULO 6 PROF.

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 9 http://www.ic.uff.br/~bianca/engsoft2/ Aula 9-19/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do

Leia mais

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Processamento da Informação Teoria. Algoritmos e Tipos de dados Processamento da Informação Teoria Algoritmos e Tipos de dados Semana 01 Prof. Jesús P. Mena-Chalco 24/04/2013 (*) Slides adaptados das aulas do Prof. Harlen Costa Batagelo Algumas definições de algoritmo

Leia mais

Algoritmos: Estruturas de Repetição. Prof. Carlos Lopes

Algoritmos: Estruturas de Repetição. Prof. Carlos Lopes Algoritmos: Estruturas de Repetição Prof. Carlos Lopes Estruturas de Repetição Considere o algoritmo apresentado anteriormente Algoritmo Inteiro N1,N2,N3,N4; // notas bimestrais Real MA // media Leia(N1,N2,N3,N4)

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Também chamado de estrutura de seleção múltipla (caso). Assim como o if-else, o switch também é uma estrutura de seleção. O if-else realiza o teste

Leia mais

MATERIAL EXTRA DE EXCEL - FÓRMULAS Prof William Zacariotto

MATERIAL EXTRA DE EXCEL - FÓRMULAS Prof William Zacariotto 1. SINAIS DE OPERAÇÕES 2. SINAIS PARA CONDIÇÃO SINAL FUNÇÃO SINAL FUNÇÃO + SOMAR > MAIOR QUE - SUBTRAÇÃO < MENOR QUE * MULTIPLICAÇÃO DIFERENTE QUE / DIVISÃO >= MAIOR E IGUAL A % PORCENTAGEM

Leia mais

Estrutura do Arquivo Retorno

Estrutura do Arquivo Retorno Estrutura do Arquivo Retorno Arquivo com dados dos títulos devolvidas pelo Banco. Os registros têm tamanho fixo e seu valor é 240 bytes - Padrão FEBRABAN. Qualquer dúvida, acessar o site da FEBRABAN (http://www.febraban.org.br/

Leia mais

Computação e Processamento de Dados CPD INF400

Computação e Processamento de Dados CPD INF400 Computação e Processamento de Dados CPD INF400 Professor: André Ferreira andre.ferreira@ifba.edu.br Algoritmos com Repetição São algoritmos onde um conjunto de passos é repetido por um certo número de

Leia mais

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para

Leia mais

Cash Management Folha de Pagamento

Cash Management Folha de Pagamento Cash Management Folha de Pagamento Layout de Arquivo Padrão CNAB 240 Padrão 240 Folha de Pagamento Versão Atualizada Composição do Arquivo Header do arquivo (registro tipo 0) Header do lote (registro tipo

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Estruturas%de%seleção%

Estruturas%de%seleção% Estruturas'de'seleção' 93% Execução'condicional' Etapa'em'um'programa'onde'uma'condição'é'avaliada'e,'dependendo'do' resultado,'diferentes'ações'podem'ser'realizadas.' 94% Condicional'simples' Uma'ou'mais'ações'serão'executadas'se,'

Leia mais

ENSINO ENS. FUNDAMENTAL PROFESSOR(ES) TURNO. 01. A) 83 16 B) 3 2005 D) 103 a. 02. A) 5 2 B) 3 2 C) 6 2 D) a 2006 E) (ab) 3 F) (3a) p 03.

ENSINO ENS. FUNDAMENTAL PROFESSOR(ES) TURNO. 01. A) 83 16 B) 3 2005 D) 103 a. 02. A) 5 2 B) 3 2 C) 6 2 D) a 2006 E) (ab) 3 F) (3a) p 03. SÉRIE 8º ANO OLÍMPICO ENSINO ENS. FUNDAMENTAL PROFESSOR(ES) SEDE ALUNO(A) Nº RESOLUÇÃO TURMA TURNO DATA / / ÁLGEBRA CAPÍTULO POTENCIAÇÃO Exercícios orientados para a sua aprendizagem (Pág. 6 e 7) 0. A)

Leia mais

Técnicas de Programação I

Técnicas de Programação I Técnicas de Programação I Conceitos básicos C/C++ Material baseado nas aulas da Profa. Isabel Harb Manssour http://www.inf.pucrs.br/~manssour/laproi, entre outros materias Estrutura de Seleção: Comando

Leia mais

CURSO TÉCNICO EM PROCESSAMENTO DE DADOS

CURSO TÉCNICO EM PROCESSAMENTO DE DADOS CURSO TÉCNICO EM PROCESSAMENTO DE DADOS APOSTILA DE LÓGICA DE PROGRAMAÇÃO CAP Criação de Algoritmos e Programas PROFESSOR RENATO DA COSTA Não estamos aqui para sobreviver e sim para explorar a oportunidade

Leia mais

Avaliação de Expressões

Avaliação de Expressões valiação de Expressões valiação de Expressões - Como efetuar o cálculo de uma expressão em um computador? Exemplo: / B C D + E Regras usuais da matemática. Os parênteses alteram a ordem das expressões:

Leia mais

Compiladores Aula 5. Celso Olivete Júnior. olivete@fct.unesp.br

Compiladores Aula 5. Celso Olivete Júnior. olivete@fct.unesp.br Aula 5 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Conjuntos Primeiro(First) e Seguidor(Follow) 2 Na aula de hoje Análise Sintática Análise Sintática Descendente Recursividade Fatoração 3

Leia mais

Trabalho 3: Agenda de Tarefas

Trabalho 3: Agenda de Tarefas INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma

Leia mais

Sistemas Embarcados Programação Embarcada

Sistemas Embarcados Programação Embarcada Sistemas Embarcados Programação Embarcada Instituto Federal de Pernambuco Coordenação de Informática/IFPE Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://alsm.cc Sistemas Embarcados Direitos

Leia mais

Investimentos - Poupança

Investimentos - Poupança A33H050838813777051 05/02/2013 09:23:06 Período 01/2013 31/12 SALDO ANT. 552,89 C 17/01 17/ JUROS 3793-1 2,76 C 555,65 C POUPANCA OURO E - RENDEM TRANQUILIDADE E COMODIDADE. CENTRAL DE ATENDIMENTO BB 4004

Leia mais

Apostila de Introdução a Algoritmos

Apostila de Introdução a Algoritmos Apostila de Introdução a Algoritmos Prof. Luiz Gustavo Almeida Martins Introdução a Algoritmos 1. Resolução de Problemas pelo Computador Dados de Entrada Processamento (Transformação) Dados de Saída COMPUTADOR

Leia mais

Análise e Projeto de Contadores Síncronos. Circuitos Lógicos Prof. Daniel D. Silveira

Análise e Projeto de Contadores Síncronos. Circuitos Lógicos Prof. Daniel D. Silveira Circuitos Lógicos Análise e Projeto de Contadores Síncronos Prof.: Daniel D. Silveira 1 Análise de contadores síncronos Circuitos de contadores síncronos podem ser projetados para gerar qualquer seqüência

Leia mais

Form. A2 / / 371,214 19,500 SEÇÃO B-B ESCALA 1 : 2 R12. Este desenho contem informação que não podem ser rasuradas ou alteradas. Codigo Des.

Form. A2 / / 371,214 19,500 SEÇÃO B-B ESCALA 1 : 2 R12. Este desenho contem informação que não podem ser rasuradas ou alteradas. Codigo Des. 1 3 4 5 6 7 8 9 10 11 12 A 371,214 A A B 19,500 B B B C 949 864 270 C D D E E 85 40 58 F SEÇÃO B-B ESCALA 1 : 2 F 15 15 30 13 40 R12 G R8 G Form. A2 Este desenho contem informação que não podem ser rasuradas

Leia mais

Form. A2 / / 592,500 371,214 286,500 SEÇÃO B-B ESCALA 1 : 2 R12. Este desenho contem informação que não podem ser rasuradas ou alteradas. Codigo Des.

Form. A2 / / 592,500 371,214 286,500 SEÇÃO B-B ESCALA 1 : 2 R12. Este desenho contem informação que não podem ser rasuradas ou alteradas. Codigo Des. 1 3 4 5 6 7 8 9 10 11 12 A 592,500 371,214 A A B B B B C 949 864 270 C D D E E 85 20 286,500 40 58 45 F SEÇÃO B-B ESCALA 1 : 2 F 15 15 30 10 13 40 R12 G R8 G Form. A2 Este desenho contem informação que

Leia mais

Programação Estruturada e Orientada a Objetos REVISÃO

Programação Estruturada e Orientada a Objetos REVISÃO Programação Estruturada e Orientada a Objetos REVISÃO 2013 O que veremos hoje? Introdução Revisão Estruturas de Controle de Fluxo Exercícios Transparências baseadas no material do Prof. Gilbert Azevedo

Leia mais

Circuitos Digitais. Engenharia de Automação e Controle Engenharia Elétrica. São Paulo 2014. Prof. José dos Santos Garcia Neto

Circuitos Digitais. Engenharia de Automação e Controle Engenharia Elétrica. São Paulo 2014. Prof. José dos Santos Garcia Neto Engenharia de Automação e Controle Engenharia Elétrica Circuitos Digitais Prof. José dos Santos Garcia Neto São Paulo 2014 Prof. José dos Santos Garcia Neto 1 Introdução Esta apostila tem como objetivo

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

quealteraoregulamento(ce)n.º423/2007 queimpõemedidasrestritivascontraoirão

quealteraoregulamento(ce)n.º423/2007 queimpõemedidasrestritivascontraoirão ConseilUE PUBLIC REGULAMETO(CE).º /2008DOCOSELHO de quealteraoregulamento(ce)n.º423/2007 queimpõemedidasrestritivascontraoirão OCONSELHODAUNIÃOEUROPEIA, TendoemcontaoTratadoqueinstituiaComunidadeEuropeia,nomeadamenteosartigos60.º

Leia mais

Lista 4.5 Derivada da Função Composta

Lista 4.5 Derivada da Função Composta Faculdade de Economia da Universidade Nova de Lisboa Apontamentos Cálculo II. Função composta de duas unções e g, com o contradomínio de g contido ou igual ao domínio de (og): Função que resulta da utilização

Leia mais

EXEMPLO IF E ELSE IF TERNÁRIO

EXEMPLO IF E ELSE IF TERNÁRIO PHP Aula 2 Estruturas de Controle, Continue e Break Leonardo Pereira facebook.com/leongamerti ESTRUTURA DE DECISÃO Simples Composta Encadeada Ternário IF Estrutura de controle que introduz um desvio condicional

Leia mais

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 2. ALGORITMOS Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 2 - Algoritmo 2.1: Introdução Antes de se utilizar uma linguagem de computador,

Leia mais

Estruturas de Controle A Tomada de Decisões

Estruturas de Controle A Tomada de Decisões Estruturas de Controle A Tomada de Decisões Foi visto anteriormente como trabalhar com entrada, processamento e saída utilizando variáveis, constantes e operadores aritméticos. Apesar de já se conseguir

Leia mais

Introdução à Lógica de Programação

Introdução à Lógica de Programação Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação 1 Estruturas de dados Representação computacional das informações do problema ser resolvido Informações podem ser de

Leia mais

Estruturas de Seleção Parte II Seleção Encadeada SOLUÇÃO DE EXERCÍCIO PROPOSTO

Estruturas de Seleção Parte II Seleção Encadeada SOLUÇÃO DE EXERCÍCIO PROPOSTO Estruturas de Seleção Parte II Seleção Encadeada SOLUÇÃO DE EXERCÍCIO PROPOSTO Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Aprender a resolver problemas que requeiram

Leia mais

Comandos If-else. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro. 5.

Comandos If-else. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro. 5. 5- A Lógica da Programação Comandos If-else Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 1 5. A Lógica da programação 5.1 Introdução! Neste

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Linguagem e Técnicas de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

Comando de Seleção: Switch

Comando de Seleção: Switch Linguagem de Programação C# Comando de Seleção: Switch Neste comando a execução segue os seguintes passos: 1. A expressão é avaliada; 2. O resultado da expressão é comparado com os valores das constantes

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 AULA TEÓRICA 4 PROF. MARCELO LUIZ SILVA (R E D)

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 AULA TEÓRICA 4 PROF. MARCELO LUIZ SILVA (R E D) Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 1 AULA TEÓRICA 4

Leia mais

Firewalls de Aplicação WEB, Idiomas e Expressões Regulares. Condições de Bypass

Firewalls de Aplicação WEB, Idiomas e Expressões Regulares. Condições de Bypass Firewalls de Aplicação WEB, Idiomas e Expressões Regulares Condições de Bypass Glaudson Ocampos 18 de Novembro de 2009 SUMÁRIO 1 - INTRODUÇÃO... 03 2 - DESCRIÇÃO DO PROBLEMA...

Leia mais

Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos

Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Linguagens e Expressões Regulares 2 2 Autómatos de Estados Finitos

Leia mais

CIÊNCIA DA COMPUTAÇÃO I Excel. Núm1, núm2,... são argumentos de 1 a 255 cuja soma ou valor total você deseja obter.

CIÊNCIA DA COMPUTAÇÃO I Excel. Núm1, núm2,... são argumentos de 1 a 255 cuja soma ou valor total você deseja obter. SOMA Retorna a soma de todos os números na lista de argumentos. Sintaxe SOMA(núm;núm;...) Núm, núm,... são argumentos de a 55 cuja soma ou valor total você deseja obter. Comentários Os números, valores

Leia mais

VPL do Projeto. Parte 3. O VPL Projetado Como fazer na planilha Excel

VPL do Projeto. Parte 3. O VPL Projetado Como fazer na planilha Excel 2008 VPL do Projeto Parte 3 O VPL Projetado Como fazer na planilha Excel Bertolo INVENT 21/05/2008 2 VPL do Projeto ORÇAMENTO DE CAPITAL 10 VPL Projetado 1. Básico Problema. Suponha uma empresa considerando

Leia mais

BC0501 Linguagens de Programação

BC0501 Linguagens de Programação BC0501 Linguagens de Programação Aula Prática: 03 Assunto: Comandos de Seleção 1. Introdução Um comando de seleção define uma condição em um programa, que permite que grupos de comandos sejam executados

Leia mais

Laboratório de Programação - Exercícios 12, 13 e 14

Laboratório de Programação - Exercícios 12, 13 e 14 Laboratório de Programação - Exercícios 12, 13 e 14 If, switch e funções João Araujo Ribeiro jaraujo@uerj.br Universidade do Estado do Rio de Janeiro Departamento de Engenharia de Sistemas e Computação

Leia mais

Introdução ao Matlab. 1 Algumas regras e comandos do Matlab. 3 de março de 2015. Docente Responsável : Prof. Dr. Antônio C. Roque

Introdução ao Matlab. 1 Algumas regras e comandos do Matlab. 3 de março de 2015. Docente Responsável : Prof. Dr. Antônio C. Roque Introdução ao Matlab 3 de março de 2015 Docente Responsável : Prof. Dr. Antônio C. Roque Monitores : Rodrigo F. O. Pena e Renan Shimoura MATLAB (MATrix LABoratory) é um programa de alta performance e de

Leia mais

Apostila de Algoritmos

Apostila de Algoritmos Algoritmo CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE CAMPOS Curso Técnico de Informática Industrial Apostila de Algoritmos 2007 1 EMENTA: Estudo das formas para representação do pensamento lógico através

Leia mais

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Máquina Multinível Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Uma instrução pode ser definida como um comando para o processador.

Leia mais

ALGORITMO I VARIÁVEIS INDEXADAS

ALGORITMO I VARIÁVEIS INDEXADAS VARIÁVEIS INDEXADAS Array Auxiliadora Freire Slide 1 Array: Conjunto de informações do mesmo tipo, cada informação é representada na memória do computador por uma variável. O nome de qualquer variável

Leia mais

Italo Valcy

Italo Valcy <italo@dcc.ufba.br> Programação C Módulo 01 Introdução à linguagem C Italo Valcy www.ieee.org/ufba Italo Valcy Programação em C Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente,

Leia mais

Siemens AG 2009 SIRIUS SENTRON SIVACON. Catálogo LV 90 2009. Baixa Tensão Corte, protecção e comando. Answers for industry.

Siemens AG 2009 SIRIUS SENTRON SIVACON. Catálogo LV 90 2009. Baixa Tensão Corte, protecção e comando. Answers for industry. SIRIUS SENTRON SIVACON Catálogo LV 90 2009 Baixa Tensão Corte, protecção e comando Answers for industry. Interruptores de corte em carga, sistemas de barramentos SENTRON 8US Introdução Tipo 3NP 1 3K 3NJ4

Leia mais

Transformação sobrenome + nome em nome completo utilizando Máquina de Turing

Transformação sobrenome + nome em nome completo utilizando Máquina de Turing Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação Computabilidade e Complexidade de Algoritmos Prof. Ney Laert Vilar Calazans

Leia mais

Introdução a Organização de Computadores e Linguagens de Montagem. Ricardo Anido

Introdução a Organização de Computadores e Linguagens de Montagem. Ricardo Anido Introdução a Organização de Computadores e Linguagens de Montagem Ricardo Anido Draft date 15 de Agosto de 2013 Capítulo 3 O processador Faíska Neste capítulo iniciaremos o estudo mais detalhado do repertório

Leia mais

ALGORITMOS. Supervisão: Prof. Dr.º Denivaldo Lopes

ALGORITMOS. Supervisão: Prof. Dr.º Denivaldo Lopes Laboratory of Software Engineering and Computer Network Engineering for a better life Universidade Federal do Maranhão Curso de Engenharia Elétrica ALGORITMOS Supervisão: Prof. Dr.º Denivaldo Lopes Adelman

Leia mais

ESTRUTURA DE DADOS (struct)

ESTRUTURA DE DADOS (struct) ESTRUTURA DE DADOS (struct) Estrutura é um agrupamento de variáveis (membros) de tipos diferentes ou não, que podem ser referenciadas pelo mesmo nome. Criando uma estrutura A estrutura abaixo não é uma

Leia mais

Aula 3 Desvio Condicional

Aula 3 Desvio Condicional Aula 3 Desvio Condicional ROTEIRO DA AULA Desvio Condicional Simples Desvio Condicional Composto Desevio Condicional Aninhado Desvio Condicional em JAVA 2 DESVIO CONDICIONAL Um desvio condicional é usado

Leia mais

Compiladores. Prof. Bruno Moreno Aula 11 20/05/2011

Compiladores. Prof. Bruno Moreno Aula 11 20/05/2011 Compiladores Prof. Bruno Moreno Aula 11 20/05/2011 2- Recursivo preditivo Análise Recursiva Preditiva O símbolo sobre o cabeçote de leitura determina exatamente qual produção deve ser aplicada na expansão

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores Introdução à Arquitetura de Computadores Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa. Uma instrução pode ser definida como um comando

Leia mais

Aula prática de Cálculo Usando a planilha Excel

Aula prática de Cálculo Usando a planilha Excel Aula prática de Cálculo Usando a planilha Excel Prof. Ulysses Sodré Profa. Sônia Ferreira L. Toffoli Londrina-PR, 27 de Junho de 2007, arquivo: excel001.tex 1 Alça de preenchimento no Excel Ao selecionar

Leia mais

FÓRMULAS DO MICROSOFT EXCEL

FÓRMULAS DO MICROSOFT EXCEL FÓRMULAS DO MICROSOFT EXCEL 1. SINAIS DE OPERAÇÕES 2. SINAIS PARA CONDIÇÃO SINAL FUNÇÃO SINAL FUNÇÃO + SOMAR > MAIOR QUE - SUBTRAÇÃO < MENOR QUE * MULTIPLICAÇÃO DIFERENTE QUE / DIVISÃO >= MAIOR E IGUAL

Leia mais

Id: 1974825 Data Publicação: 15 11 2012 Fonte: Revista Edição: 446

Id: 1974825 Data Publicação: 15 11 2012 Fonte: Revista Edição: 446 Id: 1974825 Página: 1 AlturaxLargura: 25,48cmx18,94cm Id: 1974830 Página: 35 AlturaxLargura: 25,45cmx18,44cm Id: 1974831 Página: 36 AlturaxLargura: 25,45cmx18,44cm Id: 1974832 Página: 37 AlturaxLargura:

Leia mais

OBS.: Qualquer variável utilizada num subprograma que não for parâmetro deve ser considerada como variável local.

OBS.: Qualquer variável utilizada num subprograma que não for parâmetro deve ser considerada como variável local. 1 LINGUAGEM ALGORITMICA Instituto Luterano de Ensino Superior de Ji-Paraná Curso Bacharelado em Informática Prof.: José Luiz A. Duizith Variáveis : Toda em maiúscula : CONSTANTE Iniciando em Maiúscula

Leia mais

ABC DAEEA F F EE A DA A F E D EA E C B C B F CC AC E F C FA CEA DA A F E D EA E C B BC ABC DE AB CC DF B C CA A A A E D

ABC DAEEA F F EE A DA A F E D EA E C B C B F CC AC E F C FA CEA DA A F E D EA E C B BC ABC DE AB CC DF B C CA A A A E D ABCDAEEAFFEEADAAFEDEAE CBCBFCCACEFCFACEA DAAFEDEAECBBC ABCDEABCCDF BCCAAAAED CFAD AAC CAECA CADE BFEADFAADECADCE C DEDAEAAAAEAAAAEAAFDEA CADDDAFAAEAAFFAAADEACFEACAAA D A DD A D A CFD A A A D A D A CD A

Leia mais

Conceituação. Linguagens de Programação Conceitos e Técnicas. Tempos de Amarração. Amarração Estática X Dinâmica. Identificador.

Conceituação. Linguagens de Programação Conceitos e Técnicas. Tempos de Amarração. Amarração Estática X Dinâmica. Identificador. Conceituação Conceitos e Técnicas Amarrações Prof. Jairo Francisco de Souza Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 4 Aluno que não sabe programar int main() { cout

Leia mais

Programação II. Aula 2

Programação II. Aula 2 Programação II Aula 2 Introdução Para que serve programação? Resolver algum problema computacionalmente. Desenvolver um programa de computador (solução) cuja execução leve a um resultado (aceitável) de

Leia mais

Introdução a Linguagem C

Introdução a Linguagem C Rafael Silva Guimarães =p://=p.ci.ifes.edu.br/informacca/rafael_guimaraes Introdução a Linguagem C Técnicas de Programação Histórico O C é derivado de uma outra linguagem: o B, criado por Ken Thompson.

Leia mais

Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica

Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade

Leia mais

Linguagens, Gramáticas e Máquinas

Linguagens, Gramáticas e Máquinas Linguagens, Gramáticas e Máquinas 1 INTRODUÇÃO Pode-se olhar um computador como uma máquina M que tem as propriedades descritas a seguir. A cada instante, M tem um "estado interno", M lê alguma "entrada",

Leia mais

FUNDO DE EFICIÊNCIA ENERGÉTICA

FUNDO DE EFICIÊNCIA ENERGÉTICA FUNDO DE EFICIÊNCIA ENERGÉTICA Comissão Executiva do Plano Nacional de Ação para a Eficiência Energética (PNAEE) Decisão sobre as candidaturas submetidas ao Aviso 07 Promoção da Mobilidade Urbana Sustentável

Leia mais

Circuitos Lógicos Portas Lógicas

Circuitos Lógicos Portas Lógicas Circuitos Lógicos Portas Lógicas Prof.: Daniel D. Silveira 1 Álgebra de Boole George Boole desenvolveu um sistema de análise lógica por volta de 1850 Este sistema é conhecido atualmente como álgebra de

Leia mais

UNIV ERSIDADE DO EST ADO DE SANT A CAT ARINA UDESC CENT RO DE CI ^ENCIAS T ECNOLOGICAS DEP ART AMENT O DE MAT EMAT ICA DMAT

UNIV ERSIDADE DO EST ADO DE SANT A CAT ARINA UDESC CENT RO DE CI ^ENCIAS T ECNOLOGICAS DEP ART AMENT O DE MAT EMAT ICA DMAT UNIV ERSIDADE DO EST ADO DE SANT A CAT ARINA UDESC CENT RO DE CI ^ENCIAS T ECNOLOGICAS CCT DEP ART AMENT O DE MAT EMAT ICA DMAT Professora Graciela Moro Exercícios sobre Matrizes, Determinantes e Sistemas

Leia mais