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

Trabalho: Algoritmos de Busca e Ordenação. 1 Introdução. Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos. 31 de outubro de 2012

Trabalho: Algoritmos de Busca e Ordenação. 1 Introdução. Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos. 31 de outubro de 2012 Trabalho: Algoritmos de Busca e Ordenação Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos 31 de outubro de 2012 1 Introdução Os algoritmos de busca e de ordenação compreendem um conjunto de

Leia mais

SECRETARIA MUNICIPAL DE EDUCAÇÃO DE CANINDÉ DE SÃO FRANCISCO RELAÇÃO DE FUNCIONÁRIOS

SECRETARIA MUNICIPAL DE EDUCAÇÃO DE CANINDÉ DE SÃO FRANCISCO RELAÇÃO DE FUNCIONÁRIOS CATEGORIA 12 CATEGORIA 20 020569 02050 020568 02051 020902 0020584 0020582 0020581 02058 0020886 0020533 0020588 0020586 0020566 020589 0020592 0010134 002088 0020561 002053 020898 0010363 0010198 0020591

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

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

Estrutura de Condição, Escolha e Repetição

Estrutura de Condição, Escolha e Repetição Estrutura Condicional Se, Laços de repetição Estrutura de Condição, Escolha e Repetição Profª Fabíola Gonçalves C. Ribeiro INTRODUÇÃO Os comandos a seguir modificam o fluxo de execução de um algoritmo

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

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

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: 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

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

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

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

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

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

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

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

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

Linguagem algorítmica: Portugol

Linguagem algorítmica: Portugol Programação de Computadores I Aula 03 Linguagem algorítmica: Portugol José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/34 Introdução I Lógica A lógica é usada

Leia mais

Compiladores e Computabilidade

Compiladores e Computabilidade Compiladores e Computabilidade Prof. Leandro C. Fernandes UNIP Universidade Paulista, 2013 GERAÇÃO DE CÓDIGO INTERMEDIÁRIO Geração de Código Intermediário Corresponde a 1ª etapa do processo de Síntese

Leia mais

Estruturas de Dados I

Estruturas de Dados I Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi rodrigosacchi@ufgd.edu.br 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus

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

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

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

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO Baseado nos slides de autoria de Rosely Sanches Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura

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

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

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

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

Apostila 03 - Linguagens Livres de Contexto Exercícios

Apostila 03 - Linguagens Livres de Contexto Exercícios 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

Slides trabalhados durante a quinta aula

Slides trabalhados durante a quinta aula Slides trabalhados durante a quinta aula prática Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Exercício: Construa um algoritmo, representando-o através de um pseudocódigo e de um

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

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

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

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

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

Material Teórico - Módulo de Produtos Notáveis e Fatoração de Expressões Algébricas. Oitavo Ano

Material Teórico - Módulo de Produtos Notáveis e Fatoração de Expressões Algébricas. Oitavo Ano Material Teórico - Módulo de Produtos Notáveis e Fatoração de Expressões Algébricas Fatoração de Expressões Algébricas Oitavo Ano Autor: Prof. Ulisses Lima Parente Revisor: Prof. Antonio Caminha M. Neto

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

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

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

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

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

Memória secundária. Memória secundária

Memória secundária. Memória secundária introdução ordenação interna ordenação externa ordenar processo de rearranjar um conjunto de itens em uma ordem ascendente ou descendente visa facilitar a recuperação posterior de itens do conjunto ordenado

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

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

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

AULA 7 EXPRESSÕES ALGÉBRICAS. Substituindo x pelo número -4 na expressão (x + 1). (x + 2). (x + 3), temos:

AULA 7 EXPRESSÕES ALGÉBRICAS. Substituindo x pelo número -4 na expressão (x + 1). (x + 2). (x + 3), temos: AULA 7 EXPRESSÕES ALGÉBRICAS Resoluções: a) (x + ). (x + ). (x + ), para x = -4 Substituindo x pelo número -4 na expressão (x + ). (x + ). (x + ), temos: (-4 + ). (-4 + ). (-4 + ) = -. (-). (-) = 6. (-)

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

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

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

Estruturas de Controle de Fluxo

Estruturas de Controle de Fluxo 2. Comando de Seleção Múltipla Em algumas situações ao chegarmos a uma determinada instrução de um algoritmo devemos selecionar um dentre alguns trechos a seguir, tendo como base para esta escolha um conjunto

Leia mais

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais 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

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

Compiladores - Autômatos

Compiladores - Autômatos Compiladores - Autômatos Fabio Mascarenhas 2015.1 http://www.dcc.ufrj.br/~fabiom/comp Especificação x Implementação Usamos expressões regulares para dar a especificação léxica da linguagem Mas como podemos

Leia mais

ELETRÔNICA DIGITAL Aula 4-Álgebra de Boole e Simplificações de circuitos lógicos

ELETRÔNICA DIGITAL Aula 4-Álgebra de Boole e Simplificações de circuitos lógicos ELETRÔNICA DIGITAL Aula 4-Álgebra de Boole e Simplificações de circuitos lógicos Prof.ª Eng. Msc. Patricia Pedroso Estevam Ribeiro Email: patriciapedrosoestevam@hotmail.com 08/10/2016 1 Introdução Os circuitos

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

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

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

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

Algoritmos. Prof. Jonatas Bastos Site:

Algoritmos. Prof. Jonatas Bastos   Site: Algoritmos Prof Jonatas Bastos Email: jonatasfbastos@gmailcom Site: http://jonatasfbastoswordpresscom/ 1 Estrutura de Repetição Computadores não reclamam por executar alguma tarefa, nem se cansam em fazer

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

Estruturas de Controle de Fluxo

Estruturas de Controle de Fluxo Aula Prática IX Aula Prática IX Teoria Estruturas de Controle de Fluxo Instrução condicional simples Em pseudocódigo: Na linguagem C: se entao fimse if ()

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

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

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

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

Tutorial do Interpretador de Linguagem Algorítmica (ILA)

Tutorial do Interpretador de Linguagem Algorítmica (ILA) 1 Tutorial do Interpretador de Linguagem Algorítmica (ILA) Preparado por Elvio Leonardo, a partir do tutorial fornecido com o software ILA e do material produzido pelo Prof Marcelo Azambuja I INTRODUÇÃO

Leia mais

----------------------------------------------------------------------------------------------------- Prof. Marcelo Nogueira

----------------------------------------------------------------------------------------------------- Prof. Marcelo Nogueira LISTAS Uma lista é uma coleção de elementos do mesmo tipo dispostos linearmente que podem ou não seguir determinada organização, por exemplo: [E, E2, E, E4, E,...En], onde n deve ser >=0. Como exemplos

Leia mais

Árvores Binárias - continuação

Árvores Binárias - continuação Tópicos Avançados em Estrutura de Dados 6º Período Ciência da Computação Uma Aplicação de Árvores Binárias Árvores Binárias - continuação As árvore binárias são estruturas importantes toda vez que uma

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

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

Lembrando análise semântica. Compiladores. Implementação de esquemas de tradução L-atribuídos. Exemplo de implementação top-down (1)

Lembrando análise semântica. Compiladores. Implementação de esquemas de tradução L-atribuídos. Exemplo de implementação top-down (1) Lembrando análise semântica Compiladores Geração de código intermediário (1) Parser Bottom-up: squema S-atribuído sem problema Apenas atributos sintetizados squema L-atribuído: ok, mas deve-se usar variáveis

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

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

Universidade Federal de Goiás Regional Catalão - IMTec

Universidade Federal de Goiás Regional Catalão - IMTec Universidade Federal de Goiás Regional Catalão - IMTec Disciplina: Álgebra I Professor: André Luiz Galdino Gabarito da 1 a Lista de Exercícios 11/03/2015 1. Prove que G é um grupo com a operação de multiplicação

Leia mais

Algoritmos e Programação I

Algoritmos e Programação I Algoritmos e Programação I Estruturas de Controle e Repetição Prof. Fernando Maia da Mota mota.fernandomaia@gmail.com CPCX/UFMS Fernando Maia da Mota 1 Estruturas de Controle Uma vez que a expressão condicional

Leia mais

Objetivo: Desenvolver algoritmos a partir de problemas

Objetivo: Desenvolver algoritmos a partir de problemas Objetivo: Desenvolver algoritmos a partir de problemas Definição de Lógica Definição de Algoritmo Algoritmo x Lógica Diagrama de Blocos e Portugol Portugol: Estrutura da Linguagem Exemplos de Diagramas

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução a Linguagens de Programação Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157

Leia mais

CAPÍTULO VI TRANSPORTE DE COORDENADAS RETANGULARES POLIGONAIS FECHADAS

CAPÍTULO VI TRANSPORTE DE COORDENADAS RETANGULARES POLIGONAIS FECHADAS CAPÍTULO VI TRANSPORTE DE COORDENADAS RETANGULARES POLIGONAIS FECHADAS 1 o ) Durante o levantamento topográfico planimétrico foram medidos os seguintes valores angulares relativos a uma poligonal fechada:

Leia mais

A ideia! Criar uma plataforma de prototipagem de componentes eletrônicos e sistemas de automação para leigos!

A ideia! Criar uma plataforma de prototipagem de componentes eletrônicos e sistemas de automação para leigos! Prof. Cláudio Oliveira Prof. Humberto Zanetti Prof. Júlio Vansan A ideia! Criar uma plataforma de prototipagem de componentes eletrônicos e sistemas de automação para leigos! 1 O que é Arduino? Uma plataforma

Leia mais

1.Sinto que estou apagando incêndio, quando deveria ser mais estratégico. 2. Não costumo delegar bem minhas atividades

1.Sinto que estou apagando incêndio, quando deveria ser mais estratégico. 2. Não costumo delegar bem minhas atividades Liderança O perfil do gestor para o século XXI Principais falhas gerenciais 1.Sinto que estou apagando incêndio, quando deveria ser mais estratégico 2. Não costumo delegar bem minhas atividades 3. Tenho

Leia mais

Sistema Rodoviário Tabajara

Sistema Rodoviário Tabajara Universidade Federal do Espírito Santo Departamento de Informática Est. de Informação (INF02827) & Est. de Dados (INF01906) 2 o Trabalho Prático Período: 2008/2 Prof a Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br

Leia mais

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO Pseudocódigo Pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples (nativa a quem o escreve,

Leia mais

Prof. Cláudio Oliveira. Prof. Humberto Zanetti. Coordenador - Fatec Jundiaí. Professor - Fatec Jundiaí Coordenador - Etec de Itatiba

Prof. Cláudio Oliveira. Prof. Humberto Zanetti. Coordenador - Fatec Jundiaí. Professor - Fatec Jundiaí Coordenador - Etec de Itatiba Prof. Cláudio Oliveira Coordenador - Fatec Jundiaí Prof. Humberto Zanetti Professor - Fatec Jundiaí Coordenador - Etec de Itatiba A ideia! Criar uma plataforma de prototipagem de componentes eletrônicos

Leia mais

Parte II Introdução a Linguagens de Programação

Parte II Introdução a Linguagens de Programação Programação de Computadores III Aula 1 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula

Leia mais

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa

Leia mais

Análise Semântica: Verificação de Tipos

Análise Semântica: Verificação de Tipos Análise Semântica: Verificação de Tipos 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

Leia mais

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios CURSO - TADS TURMA 2008.1 2 PERÍODO 3 MÓDULO AVALIAÇÃO MP2 DATA 02/10/2008 SISTEMAS OPERACIONAIS 2008/2 GABARITO COMENTADO SISTEMAS OPERACIONAIS PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida,

Leia mais

Comando Portugol (Visualg) Java

Comando Portugol (Visualg) Java Variável tipo inteiro i: inteiro short i; int i; long i; byte i; Variável tipo real d: real float d; double d; Variável tipo lógico b: logico boolean b; Variável tipo texto s: caractere char s; String

Leia mais

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved.

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved. Programação Folha Prática 3 Lab. 3 Departamento de Informática Universidade da Beira Interior Portugal 2015 Copyright 2010 All rights reserved. LAB. 3 3ª semana EXPRESSÕES E INSTRUÇÕES 1. Revisão de conceitos

Leia mais

Conteúdo programático

Conteúdo programático Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha

Leia mais