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

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

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

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

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

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Gramáticas e Definições básicas 1 2 Gramáticas e Linguagens 4 2.1 Gramáticas

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

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

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

Compiladores. Otimização de código

Compiladores. Otimização de código Compiladores Otimização de código Otimização de código Recebe uma representação intermediária e produz como saída código de máquina eficiente Parser Checagem Estática Geração de código intermediário Otimização

Leia mais

Compiladores. Otimização de Código

Compiladores. Otimização de Código Compiladores Otimização de Código Cristiano Lehrer, M.Sc. Atividades do Compilador Arquivo de origem Arquivo de destino Análise Otimização Geração de Código Intermediário Geração de Código Final Síntese

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

Tratamentos Tempo de Armazenamento T F secagem 0 mês 6 meses ( C) (m 3 /minuto/t) (hora) D 1 D 2 D 3 Médias D 1 D 2 D 3 Médias 42 26,9 0 10,4 10,8

Tratamentos Tempo de Armazenamento T F secagem 0 mês 6 meses ( C) (m 3 /minuto/t) (hora) D 1 D 2 D 3 Médias D 1 D 2 D 3 Médias 42 26,9 0 10,4 10,8 Tratamentos Tempo de Armazenamento T F secagem 0 mês 6 meses ( C) (m 3 /minuto/t) (hora) D 1 D 2 D 3 Médias D 1 D 2 D 3 Médias 42 26,9 0 10,4 10,8 10,9 10,7 12,8 11,6 12,0 12,1 4 11,1 10,6 10,9 10,9 13,1

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

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

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

Fluxograma. Conjunto de símbolos utilizados em fluxogramas 27 Símbolo Nome Terminador Seta de fluxo Entrada de dados Atribuição Saída de dados Desvio condicional Declaração Fluxograma Descrição Indica o início e o fim do fluxo do algoritmo. Indica o sentido do

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

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

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

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

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

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

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Introdução a Linguagem C Princípios de Programação em C Gil Eduardo de Andrade Conceitos Iniciais: Linguagem C Introdução É uma linguagem estruturada; Foi desenvolvida na década

Leia mais

Linguagens de Programação

Linguagens de Programação 68 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas instruem o computador a realizar

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

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

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

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

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

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

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

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

Estruturas de Repetição. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Estruturas de Repetição. Prof. Paulo Cesar F. de Oliveira, BSc, PhD Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Recapitulação 2 ² Estruturas vistas até agora ² Sequencial algoritmo exemplo var declaração de variáveis inicio comando 1 comando 2... comando n fimalgoritmo

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 - O NÍVEL DA LINGUAGEM DE MONTAGEM 1. INTRODUÇÃO É relativamente fácil compreender os fundamentos da programação de computadores, sob o ponto de vista da inteligibilidade dos comandos de alto

Leia mais

7. Estrutura de Decisão

7. Estrutura de Decisão 7. Estrutura de Decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica. A classificação

Leia mais

Gramá3ca Livre de Contexto (GLC)

Gramá3ca Livre de Contexto (GLC) Linguagens Formais e Autômatos Gramá3ca Livre de Contexto (GLC) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hep://dcc.ufmg.br/~nvieira) Sumário Gramá4cas livres de

Leia mais

ANEXO I-i PLANILHA DE AVALIAÇÃO DE PREÇOS LOTE 1

ANEXO I-i PLANILHA DE AVALIAÇÃO DE PREÇOS LOTE 1 ANEXO I-i PLANILHA DE AVALIAÇÃO DE PREÇOS RAZÃO SOCIAL - NOME FANTASIA - LOTE 1 Quantidade Preço Final Quantidad e CATEGORIA C1 Avaliação Final de Preços por Porta/ Preço Final Quantidade Preço Final 512Kbps

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

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

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

Expressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Expressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Expressão é uma frase de um programa que ao ser avaliada retorna um valor Tipos Literais Agregados Chamadas de Funçã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

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

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação: estruturas de repetição 1 Imagine um algoritmo para calcular a média de uma quantidade desconhecida de números Para

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

Compiladores. Análise léxica. Plano da aula. Vocabulário básico. Motivação para análise léxica. Estrutura de um compilador

Compiladores. Análise léxica. Plano da aula. Vocabulário básico. Motivação para análise léxica. Estrutura de um compilador Estrutura de um compilador Compiladores Análise lexical (1) Expressões Regulares 1 2 Plano da aula 1. Motivação do uso de E.R. e definições Linguagens, tokens, lexemas... 2. Regras de formação e exemplos

Leia mais

Introdução à Lógica de Programação (cont.)

Introdução à Lógica de Programação (cont.) Operadores Introdução à Programação (cont.) Luis Otavio Alvares Adaptado de slides das profas. Vania Bogorny, Patrícia Jaques e Mônica Py Usados para incrementar, decrementar, comparar e avaliar dados,

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

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

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

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

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

Curso de C para Engenharias

Curso de C para Engenharias Aula 4 Cristiano Dalbem Dennis Balreira Gabriel Moreira Miller Biazus Raphael Lupchinski Universidade Federal do Rio Grande do Sul Instituto de Informática Grupo PET Computação Sintaxe Funções Exemplos

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

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

Circuitos Digitais Segunda Lista de Exercícios

Circuitos Digitais Segunda Lista de Exercícios Circuitos Digitais Segunda Lista de Exercícios Observação: o início da lista é composto dos problemas recomendados do livro-texto. exercícios nas últimas duas páginas da lista são novos (não estão no livro-texto).

Leia mais

Relatório de Versões Versão 3.52

Relatório de Versões Versão 3.52 Relatório de Versões Versão 3.52 Alterações Realizadas Nº Descrição TELA PRINCIPAL: 1 Tela Principal Botão de Relação de Fundos: Novo item de informação na tela principal para indicar o nome da Conexão

Leia mais

Como utilizar o ScadaBR para monitorar os sensores da linha Comet.

Como utilizar o ScadaBR para monitorar os sensores da linha Comet. Como utilizar o ScadaBR para monitorar os sensores da linha Comet. Para acessar os dados dos monitores de temperatura da linha Comet utilizando a solução open source ScadaBR, basta seguir a rotina abaixo.

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

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Revisão Aula Anterior Estruturas de Decisão (If e Switch)

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Revisão Aula Anterior Estruturas de Decisão (If e Switch) CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 Revisão Aula Anterior Estruturas de Decisão (If e Switch) Revisão Comandos básicos no terminal: Para verificar os arquivos que estão em uma pasta usa-se ls: Para acessar

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

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

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Exercício - Seleção Escreva um algoritmo que leia o ano, mês e dia que uma pessoa nasceu

Leia mais

VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior vilson.junior@ifsc.edu.br Felipe Schneider Costa felipe.costa@ifsc.edu.

VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior vilson.junior@ifsc.edu.br Felipe Schneider Costa felipe.costa@ifsc.edu. VisuALG Estruturas de Repetição Professores: Vilson Heck Junior vilson.junior@ifsc.edu.br Felipe Schneider Costa felipe.costa@ifsc.edu.br O Problema. Estruturas de Repetição: Introdução; Repita ate; Exemplo;

Leia mais

Noções sobre Objetos e Classes

Noções sobre Objetos e Classes Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão

Leia mais

Síntese. Compiladores. Geração de código intermediário. Linguagens Intermediárias. Modelo Clássico. Linguagens Intermediárias. Código intermediário

Síntese. Compiladores. Geração de código intermediário. Linguagens Intermediárias. Modelo Clássico. Linguagens Intermediárias. Código intermediário Síntese Compiladores Código intermediário 1 Os assuntos apresentados trazem respostas às perguntas seguintes: 1. Pode a memória ser alocada dinamicamente? 2. Pode a memória ser liberada explicitamente?

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

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

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

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

QUALIFICAÇÃO TÉCNICA EM DESENVOLVIMENTO DE SISTEMAS

QUALIFICAÇÃO TÉCNICA EM DESENVOLVIMENTO DE SISTEMAS Desenvolvimento De Sistemas - Lógica De Programação. 1. Lógica de Programação I 1.1 Introdução á Lógica de Programação 1.2 O que é lógica? 1.3 Lógica Matemática 1.4 Lógica de Programação 1.5 Seqüência

Leia mais

INSTITUTO SUPERIOR DE CIÊNCIAS DO TRABALHO E DA EMPRESA. Filas de mensagem

INSTITUTO SUPERIOR DE CIÊNCIAS DO TRABALHO E DA EMPRESA. Filas de mensagem Página 1 de 5 INSTITUTO SUPERIOR DE CIÊNCIAS DO TRABALHO E DA EMPRESA Sistemas Operativos ETI - IGE Filas de mensagem 2º Semestre 2003/2004 Aula 04 1. Criar uma fila de mensagens. Mandar uma mensagem.

Leia mais

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Criar a classe Aula.java com o seguinte código: Compilar e Executar Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void

Leia mais

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto 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 UNIX. O C é derivado de uma outra linguagem: o B,

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

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

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

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

Aluísio Eustáquio da Silva

Aluísio Eustáquio da Silva 1 Aluísio Eustáquio da Silva SciLab Programável Material didático usado em aulas de Programação de Computadores, Algoritmos e Lógica de Programação Betim Maio de 2012 2 PROGRAMAÇÃO O SciLab permite que

Leia mais

1.6. Tratamento de Exceções

1.6. Tratamento de Exceções Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER

Leia mais

Fig.1: Ilustração de Estrutura de Dados Fonte: Internet

Fig.1: Ilustração de Estrutura de Dados Fonte: Internet ATENÇÃO: LOCAL DE ALTERAÇÃO/ACRESCIMO!!!! 5. Estruturas de Dados Geralmente, os algoritmos são elaborados para manipulação de dados e quando estes dados estão organizados de forma coerente, representam

Leia mais

Aplicativo para controle de vendas e estatísticas através da Internet. Carlos Alberto Zago

Aplicativo para controle de vendas e estatísticas através da Internet. Carlos Alberto Zago Aplicativo para controle de vendas e estatísticas através da Internet Carlos Alberto Zago Roteiro Introdução Comércio Eletrônico Ferramentas Personal Web Server A Linguagem PHP MySQL Desenvolvimento do

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Faculdade de Computação Aula Revisão Marcelo Zanchetta do Nascimento Material elaborado pela Profa. Ana Carolina Lorena - UNIFESP Desenvolvimento de Software ANÁLISE IMPLEMENTAÇÃO

Leia mais

Algoritmo e Programação

Algoritmo e Programação Algoritmo e Programação Professor: José Valentim dos Santos Filho Colegiado: Engenharia da Computação Prof.: José Valentim dos Santos Filho 1 Ementa Noções básicas de algoritmo; Construções básicas: operadores,

Leia mais

Novas Tecnologias no Ensino da Matemática

Novas Tecnologias no Ensino da Matemática UFF Novas Tecnologias no Ensino da Matemática 1 Novas Tecnologias no Ensino da Matemática Humberto José Bortolossi http://www.professores.uff.br/hjbortol/ Lista 8 ATIVIDADE 1 Uma outra maneira de se poupar

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

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

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 Introdução a linguagem C Estruturas de decisão Introdução à Linguagem C Linguagem compilada. Desenvolvida sobre os paradigmas de programação procedural. Uma das linguagens

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

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

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