Compiladores. Simão Melo de Sousa

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

Download "Compiladores. Simão Melo de Sousa"

Transcrição

1 Compiladores Análise Semântica versão α Simão Melo de Sousa Este documento é uma tradução adaptada do capítulo Analyse Sémantique da sebenta Cours de Compilation de Christine Paulin-Morhing e Marc Pouzet ( 1 Introdução A análise semântica trata a entrada sintáctica e transforma-a numa representação mais simples e mais adaptada à geração de código. Esta camada do compilador fica igualmente encarregue de analisar a utilização dos identificadores e de ligar cada uma delas a sua declaração. Nesta situação verificar-se-á que o programa respeita as regras de visibilidade e de porte dos identificadores. É também esperado que esta fase da compilação verifique que cada expressão definida tenha um tipo adequado conforme as regras próprias à linguagem. Neste parte da lição iremos estudar a gestão da tabela dos símbolos que serve para a ligação dos nomes manipulados aos objectos que estes de facto designam. Estudaremos igualmente a tipificação dos programas. Por fim definiremos as noções de gramáticas de atributos que permitam associar valores aos nodos da árvore de derivação sintáctica. 2 Tabela dos símbolos 2.1 Introdução As linguagens de programação manipulam identificadores que são essencialmente símbolos que servem para designar objectos conteúdo dum endereço memória, no caso por exemplo duma variável, pedaços de código no caso de nomes de procedimentos, tipos, etc... A tabela de símbolos arquiva as informações sobre os objectos designados por nomes na linguagem em questão. Esta é actualizada de cada vez que é analisada uma declaração dum novo identificador. De forma semelhante, a tabela é consultada de cada vez que é utilizado um identificador no programa analisado. A tabela de símbolos permite para cada identificador o arquivo das informações associadas ao objecto identificado. Estas podem ser de natureza diversa, como o tipo do 1

2 objecto, uma posição na lista das variáveis declaradas (com a finalidade de calcular o endereço relativo aquando da geração de código), um valor... É igualmente possível coexistirem várias tabelas de símbolos, por exemplo quando existem vários espaços de nomes, como é o caso para linguagens orientadas a objecto (e.g. os packages do java). Classicamente, encontraremos nestas linguagens uma tabela de símbolos para cada espaço de nome. Por exemplo arquivaremos nos diferentes espaços o nome das classes e o nome dos métodos associados. Em linguagens de tipo ML, os tipos, os módulos e os valores podem ser agrupados em tabelas de símbolos diferentes. Um mesmo identificador pode ser utilizado para representar diferentes objectos. Este objectos podem estar arquivados ou referenciados em diferentes tabelas de símbolos. Este situação obriga conhecer a natureza do objecto para determinar em que tabela procurar os seus dados. Este conhecimento é em geral adquirido. Assim este aparente conflito pode ser facilmente resolvido. Um mesmo identificador (variável, procedimento) pode igualmente estar declarado mais do que uma vez na mesma tabela. Aquando da compilação será necessário conhecer precisamente o objecto referenciado por cada identificador. As regras de porte (scope em inglês) dos identificadores que permitirá resolver os conflitos subjacentes. 2.2 Porte dos identificadores Os programas manipulam vários identificadores. Por razões de eficácia, e com a finalidade de melhorara a robustez do código, as linguagens permitam indicar sintácticamente que a utilização de certas variáveis será confinada a uma parte bem determinada do programa, designado de bloco. Assim, fora deste bloco, não será necessário alocar espaço para as variáveis atribuídas ao bloco em questão. Durante a análise semântica, o compilador assegurar-se-á que todas as variáveis utilizadas foram declaradas de forma adequada e são bem visíveis durante as suas utilizações (i.e. as suas utilizações tem lugar no bloco ao qual pertencem). As regras de porte/alcance dos identificadores são específicas a cada linguagem. Por exemplo em C, uma variável é local ao procedimento em que foi declarada, ou é global a todo o programa. Em Pascal, qualquer identificador tem de ser declarado de forma centralizada antes da sua utilização (daí a necessidade da instrução forward para as funções mutuamente recursivas). O corpo dum procedimento pode utilizar variáveis declaradas em qualquer procedimento que o engloba (ele próprio incluído). Em ML, qualquer identificador deve ter sido previamente declarado numa expressão let id =... in... ou let id =... O porte de tal declaração está restrito a expressão associada a expressão a direita do in no caso da declaração local, ou ao resto do programa/módulo em que está definido no segundo caso (ficheiro = módulo em OCaml). Fora do módulo um identificador exportado (i.e. cuja visibilidade fora do módulo é permitida) pode ser acedido através do que se designa por nome qualificado ou seja Nome_do_módulo.identificador. Se existirem directivas de abertura de módulos (por exemplo open em OCaml, import em Java) a qualificação pode ser omitida. Se um identificador é declarado mais do que uma vez o objecto acedido pelo nome qualificado é o ultimo declarado. É no entanto possível aceder a um objecto via o seu nome completamente qualificado. No caso de um nome completamente qualificado poder 2

3 referir dois objectos diferentes, então este fica por designar o último declarado. Uma declaração de função em ML não é por defeito recursiva. Para tal é preciso juntar a palavra chave rec ao let. Em Java, o corpo dum método pode utilizar outros métodos da mesma classe mesmo se a definição destes métodos ocorre posteriormente. Isto obriga ao processamento em bloco das definições de classes. Mais, podemos definir numa classe vários métodos com o mesmo nome. O tipo dos parâmetros permite determinar de forma estática (i.e. em tempo de compilação) o método por aplicar. De uma forma similar, várias classes podem redefinir os mesmos métodos. Se as classes são disjuntas, esta ambiguidade de nome pode ser resolvida por uma verificação dos tipos (i.e. type checking). Se um mesmo identificador está definido numa classe e redefinido numa das suas sub-classes então devese impor coerência entre os tipos dos objectos assim definidos, como no caso dos métodos por exemplos. A escolha do método por executar é geralmente feita de forma dinâmica (na altura da execução). Em algumas situações é possível indicar sintácticamente que método se pretende chamar, como no caso do uso das palavras chaves super ou this. No primeiro caso é assim indicado explicitamente que se pretende invocar o método da classe mãe mesmo se essa foi redefinida na classe activa. 2.3 Representação da tabela de símbolos Deve ser possível após a análise dum programa encontrar toda a informação associada a um identificador. Isto pode ser feito enfeitando (analogia feita ao enfeito da árvore de natal que fica após este trabalho com todo o significado a semântica de natal) a árvore de sintaxe abstracta (ASA). É possível associar a cada utilização dum identificador um apontador para parte da ASA que corresponde a declaração do identificador. Esta associação pode (costuma) igualmente incluir outras informações úteis como, por exemplo, o tipo do objecto referenciado. De facto o cuidado por ter aqui é o compromisso entre utilidade da informação arquivada, o seu tamanho e a frequência da sua utilização. Sem cuidado, a gestão duma tabela de símbolo pode se tornar pesada. Uma outra solução consiste em arquivar as informações sobre um objecto numa tabela e associar um endereço para esta tabela a cada utilização do identificador. Este endereço pode ser um apontador, um inteiro ou um nome único. Ao lado desta estrutura persistente, é necessário gerir uma tabela para a verificação do porte de cada identificador. Esta tabela deve poder informar em qualquer instante desta fase de análise dos dados dos identificadores visíveis. deve ser igualmente possível juntar novos identificadores, determinar rapidamente e facilmente se um dado identificador é visível. De forma semelhante deve ser possível retirar identificadores desta estrutura quando o objecto referenciado deixa de existir ou de ser acessível (um identificador de uma variável local quando se atinge o fim do bloco em que está definido). Consideremos a analise do seguinte programa: 1 let x = ( let y = 2 in y*y + 2*y +1) in x+y Quando começamos a analisar esta expressão, construímos uma tabela dos símbolos visíveis T. Primeiro analisa-se a construção let x = e in e que declara o novo identificador x. Para encontrar informação sobre este identificador, analisa-se o corpo e da definição (aqui let y = 2 in y*y + 2*y +1). Nesta situação devemos então analisar o corpo da 3

4 definição de y ou seja 2. Este processo leva assim a actualização da tabela T em T na qual se acrescentou a entrada y com a informação de que este é, por exemplo, inteiro. Esta declaração torna qualquer informação prévia sobre y em T invisível. Utilizando a tabela T analisamos a expressão y*y + 2*y +1 que é determinada como sendo do tipo inteiro. Ao sair do bloco y*y + 2*y +1, a entrada y na tabela de símbolos deve desaparecer e assim voltamos de T para T. Neste ponto preciso sabe-se que x é inteiro e podemos então juntar esta informação a tabela de símbolos T e proceder a analise de x+y. Com se vê na expressão por analisar e pelas regras de porte em OCaml a ocorrência de y não faz referência à definição interna à definição de x mas sim a uma declaração prévia. No fim desta análise, as diferentes utilizações dos identificadores na ASA devem estar associadas à boa declaração. Estas tabelas devem ser optimizadas porque o número de identificadores pode ser importante e o acesso a informação deve ser rápido. Podem ser implementadas de forma imperativa ou funcional No caso duma representação funcional a analise de visilibilidade poderia se escrever da seguinte forma: function visivel : tabela * asa -> asa_tipada visivel (T,let(x,e,e )) = seja f = visivel(t,e), tip = tipo_de(t,f), T = add ((x,tip),t), f = visivel(t,e ), let(x:tip,f,f ) Este processo funciona se a representação da tabela é funcional, ou seja se a construção de T (junção de (x, tip)) não altere de facto a tabela T. Não é o caso, por exemplo se T for uma tabela de Hash (como é o caso em OCaml). A copia e arquivo da cópia da tabela de hash com o objectivo de a repor caso necessário seria aqui altamente ineficiente. Se optarmos por uma tabela de hash, é assim necessário retirar explicitamente os identificadores dos quais pretendemos apagar o registo. Assim sendo esta tabela por ser global: function visible_imp : asa -> asa_tipada visival_imp (let(x,e,e )) = seja f = visivel_imp(e), tip = tipo_de(f), add x; seja f = visivel_imp(e ), del (x); let(x:tip,f,f ) As tabelas de hash com ligações para listas de entradas (onde os identificadores pertencendo a mesma lista correspondem aos valores com a mesma chave de dispersão (hash key)) são em regra geral boas estruturas para implementar tabelas de símbolos visíveis. De facto quando identificadores com o mesmo nome estão declarados o último esconde naturalmente os anteriores. Isto porque a lista de entradas é gerida como uma pilha. Para retirar um identificador basta eliminar a primeira ocorrência encontrada na tabela (que corresponde ao último inserido). 4

5 É possível introduzir em cada bloco do programa analisado um número arbitrário de identificadores. Na saída de cada bloco devemos poder identificar e remover todos os identificadores da tabela que nele foram introduzidos (estes deixam de ser visíveis). É assim necessário conservar uma pilha dos blocos abertos com a informação, para cada bloco aberto, dos identificadores que este introduz. Este processo pode ser feito de forma funcional arquivando uma pilha de listas de identificadores ou de forma mais imperativa interligando o conjunto de identificadores introduzidos num mesmo bloco na tabela dos símbolos visíveis e guardando num estrutura (uma pilha por exemplo) o endereço na tabela do último identificador introduzido no bloco activo. 2.4 Representação dos símbolos Quando se analisa os símbolos do programa, é necessário fazer numerosas comparações (igualdades, desigualdades se se utiliza árvores binárias de pesquisa). Para tal é pertinente utilizar uma representação eficiente dos identificadores com por exemplo uma codificação com base em inteiros. Neste caso é interessante dispor duma tabela de dispersão (hash table) onde se arquiva a associação entre inteiro - identificador. Em termos de requisitos, (a) esta associação deve ser única, isto é, um inteiro representa um único identificador; (b) esta tabela deve poder devolver o identificador representado por um inteiro e viceversa; (c) a gestão desta tabela não deve sobrecarregar computacionalmente o processo de analise. 5

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO ANO: 10.º Curso Profissional Técnico de Informática de Gestão Disciplina: Linguagens de Programação ANO LECTIVO: 2008/2009 p.1/13 Módulo 1 Algoritmia 1 - Introdução à Lógica de Programação Lógica Sequência

Leia mais

AULA 3 Alocação dinâmica de memória: Ponteiros

AULA 3 Alocação dinâmica de memória: Ponteiros UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 3 Alocação dinâmica de memória: Ponteiros Estrutura de Dados 1 Variáveis X Ponteiros VARIÁVEL - Estrutura para armazenamento

Leia mais

Linguagens de Programação:

Linguagens de Programação: Capítulo I : Noções Gerais 11 Linguagens de Programação: Como comunicar com o computador? Linguagem Máquina: Conjunto básico de instruções, em código binário, características de cada computador, correspondentes

Leia mais

Programação de Computadores I. Linguagem C Função

Programação de Computadores I. Linguagem C Função Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão MC3305 Algoritmos e Estruturas de Dados II Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão Prof. Jesús P. Mena-Chalco [email protected] 2Q-2015 1 Custo de um algoritmo

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

Leia mais

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3.1. Compilação de um Programa C O compilador C realiza a compilação do código-fonte de um programa em cinco etapas: edição, pré-processamento, compilação,

Leia mais

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Variáveis Indexadas Pedro O.S. Vaz de Melo Por que índices são importantes? Como uma loja de sapatos artesanais deve guardar os seus produtos? 1 2 3 4 Tamanhos entre

Leia mais

Introdução. Software Básico Aula 3. Prof. Dr. Rogério Vargas.

Introdução. Software Básico Aula 3. Prof. Dr. Rogério Vargas. Introdução Software Básico Aula 3 Prof. Dr. Rogério Vargas http://rogerio.in Provocação Você já se perguntou como é que os programas que você escreve são traduzidos em instruções executáveis pelas estruturas

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Tipos de dados estruturados Tipos estruturados vectores matrizes Estruturas (registos) Vectores e matrizes são estruturas homogéneas. Uma estrutura homogénea é uma sequência linear de elementos de mesmo

Leia mais

Montadores e Compiladores

Montadores e Compiladores Montadores e Compiladores Prof. Idevar Gonçalves de Souza Júnior Conteúdo Programático Resumido Revisão da Arquitetura de Computadores Introdução a Teoria das Linguagens Compilação e Interpretação Análise

Leia mais

Prova Modelo. Nome: Número:

Prova Modelo. Nome: Número: Arquitectura de Computadores (2008/2009) Licenciatura em Engenharia Informática Prova Modelo 27 de Abril de 2009 Duração: 56 min. + 5 min. de tolerância Nome: Número: Isto trata-se de uma prova modelo

Leia mais

COMPUTAÇÃO. O estudante deve ser capaz de apontar algumas vantagens dentre as seguintes, quanto à modalidade EaD:

COMPUTAÇÃO. O estudante deve ser capaz de apontar algumas vantagens dentre as seguintes, quanto à modalidade EaD: COMPUTAÇÃO QUESTÃO DISCURSIVA 1 O estudante deve ser capaz de apontar algumas vantagens dentre as seguintes, quanto à modalidade EaD: (i) flexibilidade de horário e de local, pois o aluno estabelece o

Leia mais

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto; Módulo 7 UML Na disciplina de Estrutura de Sistemas de Informação, fizemos uma rápida passagem sobre a UML onde falamos da sua importância na modelagem dos sistemas de informação. Neste capítulo, nos aprofundaremos

Leia mais

Recursos Humanos 2007. Recursos Humanos 2007

Recursos Humanos 2007. Recursos Humanos 2007 Recursos Humanos 2007 Descritivo completo Optimize a selecção e recrutamento, proceda à correcta descrição de funções, execute as avaliações de desempenho e avalie as acções de formação. Tenha uma gestão

Leia mais

INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing

INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing INFORMÁTICA PARA GESTÃO II Curso Superior de Gestão de Marketing Docente (Teóricas): Eng.º Vitor M. N. Fernandes Web: http://www.vmnf.net/ipam Mail: [email protected] Aula 10 Sumário Relacionamentos entre

Leia mais

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Recursividade Pedro O.S. Vaz de Melo Problema Implemente uma função que classifique os elementos de um vetor em ordem crescente usando o algoritmo quicksort: 1. Seja

Leia mais

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: HTTP porto 80

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: HTTP porto 80 Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: Cliente Web browser HTTP porto 80 Servidor web JDBC RMI XML... Base de Dados Aplicação em Java...

Leia mais

Os conceitos aprendidos são fundamentais, essenciais para escrever um programa macro. Mas o que é um programa macro?

Os conceitos aprendidos são fundamentais, essenciais para escrever um programa macro. Mas o que é um programa macro? Resumo. O uso de uma variável é necessário quando você não sabe ainda um valor ou uma função, ou seja, quando há uma situação de mudança que impede a determinação direta destes valores. Uma variável pode

Leia mais

Maratona de Programação - Dicas Para Iniciantes

Maratona de Programação - Dicas Para Iniciantes Sumário Maratona de Programação - Dicas Para Iniciantes Prof. Josué Pereira de Castro Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Informática Cascavel, 2009 Sumário Sumário 1 Conceitos

Leia mais

Aplicações Informáticas A

Aplicações Informáticas A Curso Tecnológico de Informática 11º Ano Aplicações Informáticas A - PLANIFICAÇÃO ANUAL - SETEMBRO 2006 UNIDADE 1 TEMA: INTRODUÇÃO À ANÁLISE DE SISTEMAS OBJECTIVOS Aferir sobre a análise de sistemas Reconhecer

Leia mais

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz Algoritmos e Programação : Conceitos e estruturas básicas Hudson Victoria Diniz Relembrando... Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar

Leia mais

Documento Geral Explicativo. GS1 Portugal

Documento Geral Explicativo. GS1 Portugal GS1 Portugal Sumário Plataforma Registo Nacional de Códigos... 3 Enquadramento... 3 Criar Produto... 6 Código Interno... 6 Escolher imagem... 6 Visibilidade na plataforma SyncPT... 7 Guardar e/ou Atribuir...

Leia mais

Exame de Equivalência à Frequência do Ensino Secundário

Exame de Equivalência à Frequência do Ensino Secundário Exame de Equivalência à Frequência do Ensino Secundário INFORMAÇÃO EXAME DE APLICAÇÕES INFORMÁTICAS B 2016 12º ANO DE ESCOLARIDADE (DECRETO-LEI N.º 139/ 2012, DE 5 DE JULHO) Prova 163 Escrita e Prática

Leia mais

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: [email protected]

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: [email protected] Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem

Leia mais

Metodologias de Programação

Metodologias de Programação Metodologias de Programação Bloco 1 José Paulo 1 Formador José António Paulo E-mail: [email protected] Telemóvel: 96 347 80 25 Objectivos Iniciar o desenvolvimento de raciocínios algorítmicos Linguagem

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Programação Orientada a objetos Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do

Leia mais

1.1. Definição do Problema

1.1. Definição do Problema 13 1 Introdução Uma das principais preocupações de área de engenharia de software diz respeito à reutilização [1]. Isso porque a reutilização no contexto de desenvolvimetno de software pode contribuir

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS Material da Prof. Ana Eliza Dados e comandos, para serem processados, devem estar na memória do computador. Memória Definição:

Leia mais

Capítulo VI Circuitos Aritméticos

Capítulo VI Circuitos Aritméticos Capítulo VI Circuitos Aritméticos Introdução No capítulo anterior estudamos a soma e subtração de números binários. Neste capítulo estudaremos como as operações aritméticas de soma e subtração entre números

Leia mais

ESTUDO DE UM CIRCUITO RC COMO FILTRO

ESTUDO DE UM CIRCUITO RC COMO FILTRO Departamento de Física da Faculdade de Ciências da Universidade de Lisboa T6 Física Experimental I - 2007/08 ESTUDO DE UM CIRCUITO RC COMO FILTRO 1. Objectivo Estudo do funcionamento, em regime estacionário,

Leia mais

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt A lista é individual e deve ser escrita à mão. 1) Uma importante

Leia mais

Módulo IV Programação Visual Basic. Programação

Módulo IV Programação Visual Basic. Programação Módulo IV Visual Basic 1 Vamos considerar os seguintes elementos e estruturas fundamentais que são habitualmente usados em programação: Tipos de Dados Operadores Atribuições Entrada e Saída de Dados Estruturas

Leia mais

Modelo de Entidade-Relação (ER)

Modelo de Entidade-Relação (ER) Modelo de Entidade-Relação (ER) Autores como Peter Chen ou Bachman sugerem um modelo que facilite a criação do modelo conceptual. Este modelo Entity Attribute Relation Ship (Entidade- Relação, ou abreviadamente

Leia mais

Informática Aplicada

Informática Aplicada Informática Aplicada Aula 1 Introdução Diogo Pinheiro Fernandes Pedrosa Departamento de Ciências Exatas e Naturais Universidade Federal Rural do Semi-Árido Introdução Informática informação aplicada; Pressupõe

Leia mais

Verificação e validação

Verificação e validação UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Verificação e validação Engenharia de Software 2o. Semestre de 2005

Leia mais

O AMBIENTE DELPHI. Programação de Computadores.

O AMBIENTE DELPHI. Programação de Computadores. O AMBIENTE DELPHI Programação de Computadores Profº.: Cristiano Vieira [email protected] A IDE (Integrated Development Environment) do Delphi consiste em quatro partes principais: JanelaPrincipal(1)

Leia mais

Implementação do Relatório de Falhas em SAP-PM

Implementação do Relatório de Falhas em SAP-PM Implementação do Relatório de Falhas em SAP-PM Este artigo pretende apresentar um projecto de implementação do relatório de falhas no módulo PM do SAP. O conceito básico que presidiu ao desenvolvimento

Leia mais

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014 Objetivos 7. Funções de Lógica Combinacional Fazer distinção entre meio-somadores e somadores-completos Usar somadores-completos para implementar somadores binários em paralelo Explicar as diferenças entre

Leia mais

2. Tipos Abstratos de Dados

2. Tipos Abstratos de Dados 2. Tipos Abstratos de Dados Um Tipo Abstrato de Dados especifica uma classe de dados definida pelo usuário em termos de suas propriedades abstratas Esta especificação do TAD descreve o comportamento de

Leia mais

Ficheiros binários 1. Ficheiros binários

Ficheiros binários 1. Ficheiros binários Ficheiros binários 1 Ficheiros binários 1. Considere que dispõe de ficheiros binários cujo conteúdo é constituído por uma ou mais estruturas como a indicada a seguir struct registo { }; int ref; float

Leia mais

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira Tipos de problemas de programação inteira (PI) Programação Inteira Pesquisa Operacional I Flávio Fogliatto Puros - todas as variáveis de decisão são inteiras Mistos - algumas variáveis de decisão são inteiras

Leia mais

SISTEMAS DIGITAIS MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL

SISTEMAS DIGITAIS MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL Setembro de MEMÓRIAS - SUMÁRIO: MEMÓRIAS INTEGRADAS RAM ROM PROM EPROM LÓGICA PROGRAMÁVEL PLAs PALs FPGAs Setembro de MEMÓRIAS - MEMÓRIAS Na sequência do estudo

Leia mais

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores Parte 1 Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante

Leia mais

Algoritmo e Pseudo-código

Algoritmo e Pseudo-código Departamento de Sistemas de Computação Universidade de São Paulo Algoritmo e Pseudo-código Responsável Prof. Seiji Isotani ([email protected]) Objetivos do Curso Desenvolver o Pensamento Computacional

Leia mais

Informação-Prova de Equivalência à disciplina de: Aplicações Informáticas B. 1. Introdução. Ensino Secundário. Ano letivo de 2011/12

Informação-Prova de Equivalência à disciplina de: Aplicações Informáticas B. 1. Introdução. Ensino Secundário. Ano letivo de 2011/12 Informação-Prova de Equivalência à disciplina de: Aplicações Informáticas B Ensino Secundário Ano letivo de 2011/12 1. Introdução O presente documento visa divulgar as características da prova de exame

Leia mais

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com [email protected] SQL A Structed Query Language foi desenvolvida em 1974 nos laboratório da IBM em San José na Califórnia,

Leia mais

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DA RESPESCAGEM DO 2 o TESTE

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DA RESPESCAGEM DO 2 o TESTE INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos Ano Lectivo de 2006/2007 2 o Semestre RESOLUÇÃO DA RESPESCAGEM DO 2 o TESTE I. (2,0+2,0+2,0 = 6,0 val.) 1) Calcule o valor óptimo da função objectivo

Leia mais

Teste de Funções por Cobertura do Grafo de Fluxo de Controle

Teste de Funções por Cobertura do Grafo de Fluxo de Controle Teste de Funções por Cobertura do Grafo de Fluxo de Controle Programação II Universidade de Lisboa Faculdade de Ciências Departamento de Informática Licenciatura em Tecnologias da Informação Vasco Thudichum

Leia mais

Universidade Federal da Paraíba Centro de Informática Departamento de Informática

Universidade Federal da Paraíba Centro de Informática Departamento de Informática Universidade Federal da Paraíba Centro de Informática Departamento de Informática Disciplina: Introdução à Programação Horário: T08002, I08002 Sala: CISB01 T10002, I10002 Sala: CI304 Número de Créditos:

Leia mais

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão Arquitetura TCP/IP Apresentado por: Ricardo Quintão Roteiro Conexões Inter-redes Serviço Universal Rede Virtual (inter-rede ou internet) Protocolos para ligação inter-redes (TCP/IP) Divisão em camadas

Leia mais

MANUAL DO USUÁRIO SIMPLEX. Prof. Erico Fagundes Anicet Lisboa, M. Sc.

MANUAL DO USUÁRIO SIMPLEX. Prof. Erico Fagundes Anicet Lisboa, M. Sc. MANUAL DO USUÁRIO SIMPLEX Prof. Erico Fagundes Anicet Lisboa, M. Sc. [email protected] Versão digital disponível na internet http://www.ericolisboa.eng.br RIO DE JANEIRO, RJ - BRASIL DEZEMBRO DE

Leia mais

Introdução a Funções

Introdução a Funções Introdução a Funções Funções Matemáticas função é uma relação de um ou vários valores de argumentos de entrada em um ÚNICO resultado de saída. y z Fig I f(x) = x 2 x = 2 f(x) = 4 x z = f(x,y) = x 2 +y

Leia mais

Sistemas Digitais Ficha Prática Nº 7

Sistemas Digitais Ficha Prática Nº 7 Departamento de Sistemas Digitais Ficha Prática Nº 7 Implementação de um conversor analógico/ digital tipo Flash: com Codificador e com Descodificador Grupo: Turma: Elementos do Grupo: 1. Introdução Os

Leia mais

Tipos de Banco de Dados - Apresentação

Tipos de Banco de Dados - Apresentação Tipos de Banco de Dados - Apresentação Assunto: Tipo de Banco de Dados Professor: Altair Martins de Souza Disciplina: Banco de Dados Colégio Padre Carmelo Perrone 2 Ano - 2015 Tipos de Banco de Dados -

Leia mais

Forma Normal de Boyce-Codd

Forma Normal de Boyce-Codd Teste de Preservação de Dependências Para verificar se α β é preservada na decomposição R em R 1, R 2,..., R n aplica-se o seguinte teste: res := α enquanto (houver alterações em res) faz para cada R i

Leia mais

M A N U A L D O ADMINISTRADOR DO PORTAL

M A N U A L D O ADMINISTRADOR DO PORTAL M A N U A L D O ADMINISTRADOR DO PORTAL Versão 1.1 Sumário Introdução 1 Sobre o Administrador do Portal 1 Categorias de informação 2 Link adicional 3 Lista de arquivos 5 Anexos da licitação 9 Anexos do

Leia mais

PROGRAMAÇÃO LINEAR. Formulação de problemas de programação linear e resolução gráfica

PROGRAMAÇÃO LINEAR. Formulação de problemas de programação linear e resolução gráfica PROGRAMAÇÃO LINEAR Formulação de problemas de programação linear e resolução gráfica A programação linear surge pela primeira vez, nos novos programas de Matemática A no 11º ano de escolaridade. Contudo

Leia mais

Programação de CPLDs no ambiente ISE 4.2i da Xilinx

Programação de CPLDs no ambiente ISE 4.2i da Xilinx Programação de CPLDs no ambiente ISE 4.2i da Xilinx O presente documento resume os passos necessários para programar um Complex Programmable Logic Device (CPLD) usando o editor de esquema eléctrico e a

Leia mais

Métodos Formais. Agenda. Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções. Relações e Funções

Métodos Formais. Agenda. Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções. Relações e Funções Métodos Formais Relações e Funções por Mauro Silva Agenda Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções MF - Relações e Funções 2 1 Relações Binárias Definição

Leia mais

Edição de Tabelas no QGIS

Edição de Tabelas no QGIS Edição de Tabelas no QGIS 1. Introdução O formato Shapefile, desenvolvido pela empresa ESRI, é o formato mais popular de dados vetoriais geoespaciais para softwares de Sistema de Informações Geográficas

Leia mais

Notas de aula de Lógica para Ciência da Computação. Aula 11, 2012/2

Notas de aula de Lógica para Ciência da Computação. Aula 11, 2012/2 Notas de aula de Lógica para Ciência da Computação Aula 11, 2012/2 Renata de Freitas e Petrucio Viana Departamento de Análise, IME UFF 21 de fevereiro de 2013 Sumário 1 Ineficiência das tabelas de verdade

Leia mais

3 Informações para Coordenação da Execução de Testes

3 Informações para Coordenação da Execução de Testes Informações para Coordenação da Execução de Testes 32 3 Informações para Coordenação da Execução de Testes Diversas ferramentas oferecidas na literatura têm auxiliado na coordenação da execução dos testes

Leia mais

Compiladores II. Fabio Mascarenhas - 2016.2.

Compiladores II. Fabio Mascarenhas - 2016.2. Compiladores II Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/comp2 Objetivo Durante esse curso iremos revisitar as técnicas de implementação de linguagens de programação Veremos novas técnicas

Leia mais

Do alto-nível ao assembly

Do alto-nível ao assembly Do alto-nível ao assembly Compiladores Cristina C. Vieira 1 Viagem Como são implementadas as estruturas computacionais em assembly? Revisão dos conceitos relacionados com a programação em assembly para

Leia mais

Fundamentos de Arquitetura e Organização de Computadores

Fundamentos de Arquitetura e Organização de Computadores Fundamentos de Arquitetura e Organização de Computadores Dois conceitos fundamentais no estudo dos sistemas de computação são o de Arquitetura e Organização de computadores. O termo arquitetura refere-se

Leia mais

Análise e Projeto de Sistemas OO

Análise e Projeto de Sistemas OO Análise e Projeto de Sistemas OO 25 26 27 28 29 30 31 32 35 36 34 Objetos no mundo real Podem ser definidos como objetos, entidades individuais que tenham características e comportamento; Exemplo: Automóvel

Leia mais

CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA. Introdução à Programação em C. Algoritmos: Estruturas de Repetição. Prof. Dr. Galeno.J.

CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA. Introdução à Programação em C. Algoritmos: Estruturas de Repetição. Prof. Dr. Galeno.J. Unesp UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA Introdução à Programação em C Algoritmos: Estruturas de Repetição Prof. Dr. Galeno.J. de Sena Departamento de Matemática

Leia mais

Versão 1.00. Referenciais de FORMAÇÃO. Padel. Menção de formação. Grau

Versão 1.00. Referenciais de FORMAÇÃO. Padel. Menção de formação. Grau Versão 1.00 Referenciais de FORMAÇÃO Padel Menção de formação Grau I Versão 1.00 Referenciais de FORMAÇÃO Padel Menção de formação Grau I Edição: Conteúdos: Data: Instituto Português do Desporto e Juventude,

Leia mais

Geração e Otimização de Código (continuação)

Geração e Otimização de Código (continuação) Geração e Otimização de Código (continuação) Representação de código intermediária Código de três endereços, P-código Técnicas para geração de código Otimização de código Prof. Thiago A. S. Pardo 1 Geração

Leia mais

Um Tradutor Dirigido por Sintaxe

Um Tradutor Dirigido por Sintaxe Um tradutor dirigido por sintaxe 1 Um Tradutor Dirigido por Sintaxe Aula introdutória às técnicas de compilação. Ilustra técnicas desenvolvendo um programa Java que traduz instruções de uma linguagem de

Leia mais

Unidade 10 Análise combinatória. Introdução Princípio Fundamental da contagem Fatorial

Unidade 10 Análise combinatória. Introdução Princípio Fundamental da contagem Fatorial Unidade 10 Análise combinatória Introdução Princípio Fundamental da contagem Fatorial Introdução A escolha do presente que você deseja ganhar em seu aniversário, a decisão de uma grande empresa quando

Leia mais

Sistema Operacional. Implementação de Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Implementação de Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Implementação de Processo e Threads O mecanismo básico para a criação de processos no UNIX é a chamada de sistema Fork(). A Figura a seguir ilustra como que o processo e implementado.

Leia mais

Backup. O que é um backup?

Backup. O que é um backup? Backup O que é um backup? No capítulo sobre software conhecemos o conceito de dados, agora chegou o momento de observarmos um procedimento para preservarmos nossos dados. A este procedimento damos o nome

Leia mais

Registo de Representantes Autorizados e Pessoas Responsáveis

Registo de Representantes Autorizados e Pessoas Responsáveis Instrução da Euronext 2-01 Alterado em 4 de Agosto de 2014 Data de Entrada em vigor: 11 de Agosto de 2014 Assunto: Registo de Representantes Autorizados e Pessoas Responsáveis Departamento: Regulation

Leia mais

Versão Portuguesa. Introdução. Instalação de Hardware. Adaptador Ethernet Powerline LC202 da Sweex de 200 Mbps

Versão Portuguesa. Introdução. Instalação de Hardware. Adaptador Ethernet Powerline LC202 da Sweex de 200 Mbps Adaptador Ethernet Powerline LC202 da Sweex de 200 Mbps Introdução Não exponha o Adaptador Ethernet Powerline da Sweex de 200 Mbps a temperaturas extremas. Não exponha o equipamento a luz solar directa

Leia mais

Soluções de gestão de clientes e de impressão móvel

Soluções de gestão de clientes e de impressão móvel Soluções de gestão de clientes e de impressão móvel Manual do utilizador Copyright 2007 Hewlett-Packard Development Company, L.P. Microsoft é uma marca comercial registada da Microsoft Corporation nos

Leia mais

FOLHA DE CÁLCULO ELABORAÇÃO DE GRÁFICOS

FOLHA DE CÁLCULO ELABORAÇÃO DE GRÁFICOS ELABORAÇÃO DE GRÁFICOS Elaboração de gráficos Os gráficos são visualmente atraentes e constituem uma fantástica ajuda para a apresentação e interpretação de dados armazenados numa folha de cálculo. Numa

Leia mais

Normas para a elaboração de um relatório. para a disciplina de projecto integrado. 3.º ano 2.º semestre. Abril de 2004

Normas para a elaboração de um relatório. para a disciplina de projecto integrado. 3.º ano 2.º semestre. Abril de 2004 Normas para a elaboração de um relatório para a disciplina de projecto integrado 3.º ano 2.º semestre Abril de 2004 Instituto Superior de Tecnologias Avançadas Índice Introdução...3 O que é um relatório...3

Leia mais

Algoritmos e Programação II

Algoritmos e Programação II Algoritmos e Programação II Agenda Desenvolver Software Objetos Classes Estudo de algumas Classes da API Estudo de algumas Classes da API Pacotes Criando nossa primeira classe Desenvolver SOFTWARE GAP

Leia mais

Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. Diagrama de Classes

Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. Modelagem de Dados com UML. Diagrama de Classes Diagrama de Classes! Representação dos dados manipulados e armazenados pelos programas de acordo com os conceitos de Orientação a Objetos! Notação fortemente baseada no Diagramas Entidade-Relacionamento

Leia mais

Plano de Ensino PROBABILIDADE E ESTATÍSTICA APLICADA À ENGENHARIA - CCE0292

Plano de Ensino PROBABILIDADE E ESTATÍSTICA APLICADA À ENGENHARIA - CCE0292 Plano de Ensino PROBABILIDADE E ESTATÍSTICA APLICADA À ENGENHARIA - CCE0292 Título PROBABILIDADE E ESTATÍSTICA APLICADA À ENGENHARIA Código da disciplina SIA CCE0292 16 Número de semanas de aula 4 Número

Leia mais

FERRAMENTAS DA QUALIDADE

FERRAMENTAS DA QUALIDADE FERRAMENTAS DA QUALIDADE BRAINSTORMING/BRAINWRITTING Brainstorming Fase1: geração de idéias Fase 2: exploração de idéias Brainwritting Um grupo de participantes, sentados ao redor de uma mesa, tem conhecimento

Leia mais

1. Estrutura de Dados

1. Estrutura de Dados 1. Estrutura de Dados Não existe vitória sem sacrifício! Filme Transformers Um computador é uma máquina que manipula informações. O estudo da ciência da computação inclui o exame da organização, manipulação

Leia mais

Gramáticas Livres de Contexto

Gramáticas Livres de Contexto Conteúdo da aula Gramáticas Livres de Contexto Marcelo Johann Trabalho - primeira etapa Definição, código e estrutura Mais elementos e detalhes de lex GLCs Gramática, produção, derivações, árvores Ambíguas,

Leia mais

Herança. Prof. Leonardo Barreto Campos 1

Herança. Prof. Leonardo Barreto Campos 1 Herança Prof. Leonardo Barreto Campos 1 Sumário Introdução; Herança Simples; Tipos de Herança; Classe Abstrata; Conversão de Tipos entre Base e Derivada; Níveis de Herança; Herança Múltipla; Bibliografia;

Leia mais

A Dança do Embaralhamento. Série Matemática na Escola. Objetivos 1. Introduzir a noção de grupo de permutação; 2. Mostrar uma aplicação de MMC.

A Dança do Embaralhamento. Série Matemática na Escola. Objetivos 1. Introduzir a noção de grupo de permutação; 2. Mostrar uma aplicação de MMC. A Dança do Embaralhamento Série Matemática na Escola Objetivos 1. Introduzir a noção de grupo de permutação; 2. Mostrar uma aplicação de MMC. A dança do embaralhamento Série Matemática na Escola Conteúdos

Leia mais

03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral.

03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral. 01. [Sebesta, 2000] Defina sintaxe e semântica. 02. [Sebesta, 2000] A quem se destinam as descrições de linguagem? 03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral. 04. [Sebesta,

Leia mais

Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes [email protected]

Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes honoratonunes@gmail.com Introdução à Programação Funções e Procedimentos Prof. José Honorato F. Nunes [email protected] RESUMO DA AULA SUB-ROTINAS: Procedimentos Funções Escopo de variáveis Parâmetros Prof. José Honorato

Leia mais

Curso Tecnológico de Administração/12.º Nº de anos: 1 Duração: 120 minutos Decreto-Lei n.º 139/2012, de 5 de julho

Curso Tecnológico de Administração/12.º Nº de anos: 1 Duração: 120 minutos Decreto-Lei n.º 139/2012, de 5 de julho Curso Tecnológico de Administração/12.º Prova: Prática Nº de anos: 1 Duração: 120 minutos Decreto-Lei n.º 139/2012, de 5 de julho 1. Introdução O presente documento visa divulgar as características da

Leia mais

Sistemas Distribuídos Capítulo 4 - Aula 5

Sistemas Distribuídos Capítulo 4 - Aula 5 Sistemas Distribuídos Capítulo 4 - Aula 5 Aula Passada Clusters de Servidores Migração de Código Comunicação (Cap. 4) Aula de hoje Chamada de Procedimento Remoto - RPC Fundamentos 1 Chamada de Procedimento

Leia mais

Primeira Prova de Análise e otimização de Código - DCC888 -

Primeira Prova de Análise e otimização de Código - DCC888 - Primeira Prova de Análise e otimização de Código - DCC888 - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é

Leia mais

Programação WEB I Funções

Programação WEB I Funções Programação WEB I Funções Funções As funções podem ser definidas como um conjunto de instruções, agrupadas para executar uma determinada tarefa. Dentro de uma função pode existir uma chamada a outra função.

Leia mais

Programação em JAVA. Subtítulo

Programação em JAVA. Subtítulo Programação em JAVA Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras em

Leia mais

Guia do Controlador Universal de Impressão

Guia do Controlador Universal de Impressão Guia do Controlador Universal de Impressão Brother Universal Printer Driver (BR-Script3) Brother Mono Universal Printer Driver (PCL) Brother Universal Printer Driver (Inkjet) Versão B POR 1 Visão geral

Leia mais

BANCO DE DADOS. Professor: André Dutton

BANCO DE DADOS. Professor: André Dutton BANCO DE DADOS Professor: André Dutton BASES TECNOLÓGICAS Conceito de bases de dados. Modelos conceituais de informações. Modelos de dados: relacional, de redes e hierárquicos. Introdução à teoria relacional:

Leia mais

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS.

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS. INTRODUÇÃO O processo de engenharia de software define quem faz o quê, quando e como para atingir um determinado objetivo. Neste trabalho, iremos dissertar sobre o Rational Unified Process, ou RUP, que

Leia mais

Aula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação

Aula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação Aula Extra Depurador Code::Blocks Monitoria de Introdução à Programação Depurador - Definição Um depurador (em inglês: debugger) é um programa de computador usado para testar outros programas e fazer sua

Leia mais

No arquivo Exames e Provas podem ser consultados itens e critérios de classificação de provas desta disciplina.

No arquivo Exames e Provas podem ser consultados itens e critérios de classificação de provas desta disciplina. INFORMAÇÃO-PROVA GEOMETRIA DESCRITIVA A Novembro de 2016 Prova 708 11.º Ano de Escolaridade (Decreto-Lei n.º 139/2012, de 5 de julho) O presente documento divulga informação relativa à prova de exame final

Leia mais

1. Noção de algoritmo

1. Noção de algoritmo 1. Noção de algoritmo Em português, a palavra algoritmo quer dizer operação ou processo de cálculo, entre outras definições possíveis (Dicionário Brasileiro de Língua Portuguesa, Mirador Internacional,

Leia mais