Conceitos de Linguagens de Programação
|
|
- Thiago Rico Dreer
- 6 Há anos
- Visualizações:
Transcrição
1 Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Conceitos de Linguagens de Programação Aula 07 (rogerio@prudente.unesp.br) Aula 7 Implementação de Subprogramas 2 1
2 Semântica Geral de Chamadas e Retornos Definição As operações de chamada e retorno de uma linguagem são conhecidas como linkagem de subprogramas 4 3 Implementando subprogramas Simples Semântica de chamada: 1. Salva o status de execução do chamador 2. Faz a passagem de parâmetros 3. Passa o endereço de retorno para o chamado 4. Transfere o controle para o chamado 2
3 Implementando subprogramas Simples Semântica de Retorno: 1. Se passagem-por-valor-resultado são usadas, move os valores correntes dos parâmetros para os seus respectivos pares 2. Se é uma função, move o valor funcional a um lugar que o chamador possa ter acesso 3. Restaura o status da execução do chamador 4. Transfere o controle de volta ao chamador 5 Registro de Ativação Registro de ativação O formato, ou leiaute, da parte não codificada de um subprograma em execução é chamado de registro de ativação Uma instância de um registro de ativação é um exemplo concreto de um RA (coleção de dados para a ativação de um subprograma em particular) 6 3
4 Implementando subprogramas Simples Armazenamento Requerido: Status do chamador, parâmetros, endereço de retorno, e valor funcional (se for função) 7 Código e RA de um programa Dados + Código Compilação separada 4 unidades Linker 8 4
5 Implementando Subprogramas com Variáveis Locais Stack-Dynamic Mais complicado porque: O compilador deve gerar código para causar a alocação implícita e liberação de variáveis locais Recursão deve ser suportada (adiciona a possibilidade de múltiplas ativações de um subprograma) Passagem de parâmetro Escopo estático e subprogramas aninhados 9 Exemplo de RA Static link 10 5
6 Implementando Subprogramas com Variáveis Locais Stack-Dynamic O RA é estático, mas o tamanho pode ser dinâmico O dynamic link aponta para o topo do RA do chamador Uma instância de RA é dinamicamente criada quando um subprograma é chamado Exemplo de uma função em C void sub(float total, int part) { } int list[5]; float sum; [4] [3] [2] [1] [0] 6
7 Um exemplo em C sem recursão void A(int x) { int y;... C(y);... } void B(float r) { int s, t;... A(s);... } void C(int q) {... } void main() { float p;... B(p);... } 13 Conteúdo da Pilha Note that: main calls B B calls A A calls C 14 7
8 Implementando Subprogramas em Linguagens baseadas em ALGOL A coleção de dynamic links na pilha em um dado tempo é chamado de dynamic chain, ou call chain Variáveis locais pode ser acessadas por seus offset a partir do início do RA. Este offset é chamado de local_offset O local_offset de uma variável local pode ser determinado pelo compilador 15 Recursão O RA usado no exemplo anterior suporta recursão, e.g. int factorial(int n) { < if (n <= 1) return 1; else return (n * factorial(n - 1)); < } void main() { int value; value = factorial(3); < } 16 8
9 RA para factorial 17 Subprogramas Aninhados Algumas linguagens non-c-based que usam escopo estático (Fortran 95, Ada, JavaScript) usam variáveis locais stack-dynamic e permitem subprogramas ser aninhados Observação: todas variáveis que podem ser não localmente acessadas residem em alguma instância de registro de ativação na pilha Processo para localizar uma referência não-local: 1. Encontre o registro de ativação correto 2. Determine o offset dentro da instância do RA 18 9
10 Localizando uma Referência Não- Local Encontrar o offset: fácil Encontrar a instância de RA correta: Regras de semântica estática garantem que todas variáveis não-locais que podem ser referenciadas sejam alocadas em alguma instância do registro de ativação, que está na pilha, quando uma referência é feita 19 Subprogramas Aninhados Técnica - Static Chains Uma static chain é uma cadeia de links estáticos que conecta certas instâncias de registro de ativação O static link em uma instância de RA para um subprograma A aponta para uma das instâncias de RAs de ancestrais estáticos de A A static chain de uma instância de RA conecta a todas as instâncias de seus ancestrais 20 10
11 Static Chains (continuação) Para encontrar a declaração para uma referência a uma variável não-local: É possível percorrer a static chain até que a instância de registro de ativação (IRA) que contém a variável seja encontrada (nomes de variáveis armazenados na IRA) Definição: static_depth é um inteiro associado com o escopo estático cujo valor é a profundidade do aninhamento no escopo 21 Static Chains (continuação) main static_depth = 0 A static_depth = 1 B static_depth = 2 C static_depth =
12 Static Chains (continuação) Definição: O chain_offset ou nesting_depth de uma referência não-local é a diferença entre static_depth da referência e o contido no escopo onde foi declarado Uma referência pode ser representada pelo par (chain_offset, local_offset) onde local_offset é o deslocamento no IRA da variável sendo referenciada 23 Exemplo em Pascal 24 program MAIN_2; var X : integer; procedure BIGSUB; var A, B, C : integer; procedure SUB1; var A, D : integer; begin { SUB1 } A := B + C; < end; { SUB1 } procedure SUB2(X : integer); var B, E : integer; procedure SUB3; var C, E : integer; begin { SUB3 } SUB1; E := B + A: < end; { SUB3 } begin { SUB2 } SUB3; A := D + E; < end; { SUB2 } begin { BIGSUB } SUB2(7); end; { BIGSUB } begin BIGSUB; end. { MAIN_2 } 12
13 Exemplo em Pascal Seqüência de chamada para MAIN_2 MAIN_2 chama BIGSUB BIGSUB chama SUB2 SUB2 chama SUB3 SUB3 chama SUB1 25 Conteúdo da Pilha: posição
14 Exemplo em Pascal Posição 1 em SUB1: A - (0, 3) B - (1, 4) C - (1, 5) Posição 2 em SUB3: E - (0, 4) B - (1, 4) A - (2, 3) Posição 3 em SUB2: A - (1, 3) D - error E - (0, 5) Subprogramas aninhados Manutenção da Static Chain Na chamada (assumindo que não há parâmetros que sejam subprogramas e sem passagem de parâmetros por nome): O IRA deve ser construída O dynamic link é um ponteiro para o topo da pilha (anterior) O static link deve apontar para o mais recente IRA do ancestral estático (na maioria das situações) Dois métodos: 1. Busca a dynamic chain até o primeiro IRA para o ancestral estático (fácil, mas lento) 14
15 29 Subprogramas aninhados 2. Tratar chamadas e definições como referências a variáveis e definições (o compilador computa o nesting depth, ou número de escopos entre o chamador e o procedimento que declarou o procedimento chamado; armazena esse nesting depth e envia para o chamado) Veja MAIN_2 o conteúdo da pilha. A chamada para SUB1 em SUB3, esse nesting depth é 1, que é enviado para SUB1 com o chamado. O static link na nova IRA para SUB1 aponta para IRA que é apontada para o segundo static link na static chain para a IRA para SUB3 Exemplo em Pascal 30 program MAIN_2; var X : integer; procedure BIGSUB; var A, B, C : integer; procedure SUB1; var A, D : integer; begin { SUB1 } A := B + C; < end; { SUB1 } procedure SUB2(X : integer); var B, E : integer; procedure SUB3; var C, E : integer; begin { SUB3 } SUB1; E := B + A: < end; { SUB3 } begin { SUB2 } SUB3; A := D + E; < end; { SUB2 } begin { BIGSUB } SUB2(7); end; { BIGSUB } begin BIGSUB; end. { MAIN_2 } Veja MAIN_2 o conteúdo da pilha. A chamada para SUB1 em SUB3, esse nesting depth é 1, que é enviado para SUB1 com o chamado. O static link na nova IRA para SUB1 aponta para IRA que é apontada para o segundo static link na static chain para a IRA para SUB3 15
16 Subprogramas aninhados Avaliação do Método de Static Chain Problemas: 1. Uma referência não-local é lenta se o número de escopos entre a referência e a declaração da variável referenciada é grande 2. Código time-critical é difícil pois os custos de referência a variáveis não locais não são iguais e podem mudar com atualizações de código ou manutenções (corretivas ou adaptativas) Subprogramas aninhados Técnica 2 - Displays Ideia: Colocar os static links em uma pilha separada, chamada de display. As entradas no display são ponteiros para IRA s que têm as variáveis no ambiente de referência Representa referências como (display_offset, local_offset) Onde display_offset é o mesmo que chain_offset 16
17 Displays (continuação) Mecanismos de referência: Usar o display_offset para obter o ponteiro no display para o IRA com a variável Usar o local_offset para obter a variável dentro do IRA 33 Displays (continuação) Manutenção do Display (assumindo que não haja parâmetros que são subprogramas e sem passagem de parâmetros por nome) Note que display_offset depende apenas de static depth do procedimento cujo IRA está sendo construído. É exatamente a static_depth do procedimento Há k+1 entradas no display, onde k é a static depth da unidade de código em execução (k=0 é o principal) 34 17
18 Displays (continuação) Para uma chamada ao procedimento P com uma static_depth k: a. Armazene, na nova IRA, uma cópia do ponteiro do display na posição k b. Coloque o link para a IRA para P na posição k no display Na saída, coloque o ponteiro do display salvo (do IRA) de volta no display da posição k 35 Displays (continuação) Para ver que isso funciona: Faça Psd ser a static_depth de P, e Qsd ser a static_depth de Q Assuma que Q chama P Há 3 casos possíveis: 1. Qsd = Psd 2. Qsd < Psd 3. Qsd > Psd 36 18
19 Subprogramas aninhados O display pode ser mantido em registros acelera o acesso e manutenção Comparando Static Chain e Display 1. Referências a locais Sem diferença significativa 2. Referências a não-locais Se um nível de diferença, são iguais Se mais longe, display é mais rápido Display é melhor para códigos time-critical, pois todos os acesso a não-locais custam o mesmo 37 Subprogramas aninhados 3. Procedure calls Para um ou dois níveis de profundidade, static chain é mais rápido Caso contrário, display é mais rápido 4. Retorno de procedimentos Ambos têm tempo fixo, mas static chain é um pouco mais rápido Geral: Static chain é melhor, a menos que o display possa ser mantido em registros 38 19
20 Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Linguagens com Escopo Dinâmico Implementando Escopo Dinâmico 1. Deep Access referências não-locais são encontradas pela busca nas IRA na dynamic chain Tamanho da cadeia não pode ser estaticamente determinada Toda IRA deve ter nomes de variáveis 40 20
21 Conteúdo da Pilha para programa de escopo dinâmico 41 Implementando Escopo Dinâmico 2. Acesso superficial coloca coisas locais em um lugar central Métodos: a. Uma pilha para cada nome de variável b. Tabela central com uma entrada para cada nome de variável 42 21
22 Usando Acesso Superficial para implementar Escopo Dinâmico Os nomes nas células da pilha indicam as unidades do programa em que as variáveis foram declaradas 43 22
UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais
UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais
Leia maisSISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios
SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes (soufes@gmail.com) 3ª. Lista de Exercícios Data
Leia maisProgramação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada
Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.
Leia maisCurso C: Ponteiros e Arrays
Universidade de Brasília Departamento de Ciência da Computação Curso C: Ponteiros e Arrays Prof. Ricardo Pezzuol Jacobi rjacobi@cic.unb.br Ponteiros um ponteiro Ž uma vari vel que contžm o endere o um
Leia maisInteligência Artificial
Inteligência Artificial Aula 7 Programação Genética M.e Guylerme Velasco Programação Genética De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?
Leia maisTópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza
Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados Prof. Hugo Souza Após vermos uma breve contextualização sobre esquemas para bases dados e aprendermos
Leia maisENG1000 Introdução à Engenharia
ENG1000 Introdução à Engenharia Aula 09 Vetores e Matrizes Edirlei Soares de Lima Introdução Até agora nós temos usado variáveis simples para armazenar valores usados por nossos
Leia maisINF1007: Programação 2 9 Tipos Abstratos de Dados. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 9 Tipos Abstratos de Dados (c) Dept. Informática - PUC-Rio 1 Tópicos Módulos e compilação em separado Tipo abstrato de dados Exemplo 1: TAD Ponto Exemplo 2: TAD Círculo Exemplo 3:
Leia maisLinguagens de Programação Aula 10
Linguagens de Programação Aula 10 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada As sentenças de controle das LP imperativas ocorrem em diversas categorias: seleção, seleção múltipla, iteração
Leia maisNivel de Linguagem de Montagem (Assembly)
Nivel de Linguagem de Montagem (Assembly) Orlando Loques setembro 2006 Referências: Structured Computer Organization (capítulo 7), A.S. Tanenbaum, (c) 2006 Pearson Education Inc Computer Organization and
Leia maisProgramaçã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 maisSistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br
Sistemas Operacionais Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br Tipos de Sistemas Operacionais De Sistemas Embarcados (PalmOS,WinCE,WinXPEmbbeded,Linux) Hardware simples, especifico
Leia maisANÁLISE DE CIRCUITOS I ( AULA 03)
ANÁLISE DE CIRCUITOS I ( AULA 03) 1.0 O CAPACÍMETRO É o instrumento usado para medir o valor dos capacitores comuns e eletrolíticos. Há dois tipos de capacímetro: o analógico (de ponteiro) e o digital
Leia maisBanco de Dados I. Prof. Edson Thizon ethizon@bol.com.br
Banco de Dados I Prof. Edson Thizon ethizon@bol.com.br Conceitos Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito Banco de dados (BD) Conjunto de dados interrelacionados
Leia maisFastCube 2.0 Programmer Manual
FastCube 2.0 Programmer Manual I FastCube 2.0 Programmer Manual Table of contents Chapter I Arquitetura do FastCube 2 2 Chapter II Utilizaçã o dos componentes do FastCube 5 1 Salvar... e carregar um cubo
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que
Leia mais2 Segmentação de imagens e Componentes conexas
Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Informática (DAINF) Algoritmos II Professor: Alex Kutzke (alexk@dainf.ct.utfpr.edu.br) Especificação do Primeiro Trabalho Prático
Leia maisLinguagem de Programação
Linguagem de Programação Aula 2 Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno O que
Leia maisMétodo de ordenação - objetivos:
Método de ordenação - objetivos: Corresponde ao processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. Facilitar a recuperação posterior de itens do conjunto ordenado. São
Leia maisSubprogramas. Linguagens de Programação. Marco A L Barbosa
Subprogramas Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl
Leia maisMDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)
MDS II Aula 04 Concepção Requisitos Diagrama de Casos de Uso (Use Cases) 55 DIAGRAMA DE CASOS DE USO BENEFÍCIOS DOS CASOS DE USO ILUSTRAR POR QUE O SISTEMA É NECESSÁRIO OS REQUISITOS DO SISTEMA SÃO COLOCADOS
Leia maisConceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações
Leia maisDo 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 maisUnidade 1: O Computador
Unidade : O Computador.3 Arquitetura básica de um computador O computador é uma máquina que processa informações. É formado por um conjunto de componentes físicos (dispositivos mecânicos, magnéticos, elétricos
Leia maisModelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves
Tópicos Apresentação Entidade, Atributo e Relacionamento Cardinalidade Representação simbólica Generalizações / Especializações Agregações Apresentação O Modelo Entidade-Relacionamento tem o objetivo de
Leia maisManual de Programação TED1000 versão TC100 Ethernet
Manual de Programação TED1000 versão TC100 Ethernet Indice: Configurações iniciais...2 Configuração de IP...2 Teclas especiais...2 Cabo de rede...2 Programação...3 Abrindo a comunicação (abreip)...3 Enviando
Leia maisII Semana de Ciência e Tecnologia do IFMG campus Bambuí II Jornada Científica 19 a 23 de Outubro de 2009
SOFTWARE DE CONTROLE DE USO DOS LABORATÓRIOS DO DEPARTAMENTO DE CIÊNCIAS AGRÁRIAS DO IFMG CAMPUS BAMBUÍ Alex Daniel CASTANHA ¹; Bruno FERREIRA ² ¹ Estudante do Curso Superior de Tecnologia em Análise e
Leia maisManual de Utilização. Ao acessar o endereço www.fob.net.br chegaremos a seguinte página de entrada: Tela de Abertura do Sistema
Abaixo explicamos a utilização do sistema e qualquer dúvida ou sugestões relacionadas a operação do mesmo nos colocamos a disposição a qualquer horário através do email: informatica@fob.org.br, MSN: informatica@fob.org.br
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 uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante
Leia maisComputadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 7: 29 de abril de 2010 1 2 Subrotinas Um procedimento ou função é uma subrotina armazenada que executa uma tarefa específica baseada nos parâmetros de entrada
Leia maisIntrodução à orientação a objetos
Universidade Federal de Juiz de Fora PET Elétrica Introdução à orientação a objetos Tutor: Francisco José Gomes Aluno: João Tito Almeida Vianna 18/05/2013 1 Programação Estruturada x Orientação a objetos
Leia maisMicroprocessadores. Memórias
s António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Arquitectura de Microcomputador Modelo de Von Neumann Barramento de Endereços µprocessador Entrada/Saída Barramento
Leia maisUNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS
ESTUDO DE CASO I Uma das operações oferecidas pelos sistemas bancários para seus clientes é a emissão de extratos da conta corrente ou do cartão de crédito. Esses relatórios permitem que o cliente possa
Leia maisIntrodução à Informática
Introdução à Informática Alexandre Meslin (meslin@nce.ufrj.br) Objetivo do Curso Apresentar os conceitos básicos de informática, de software e de hardware. Introduzir os conceitos relativos à representação
Leia maisO Cálculo λ sem Tipos
Capítulo 2 O Cálculo λ sem Tipos 21 Síntaxe e Redução Por volta de 1930 o cálculo lambda sem tipos foi introduzido como uma fundação para a lógica e a matemática Embora este objectivo não tenha sido cumprido
Leia maisIntrodução à Programação de Computadores Parte I
Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado
Leia maisHardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização
Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Sistema de
Leia maisInformática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1
Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisTECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2 Dados de identificação do Acadêmico: Nome: Login: CA: Cidade:
Leia maisOrganização e Arquitetura de Computadores. Ivan Saraiva Silva
Organização e Arquitetura de Computadores Hierarquia de Memória Ivan Saraiva Silva Hierarquia de Memória A Organização de Memória em um computador é feita de forma hierárquica Registradores, Cache Memória
Leia maisEngenharia de Software II
Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software
Leia maisMódulo de Equações do Segundo Grau. Equações do Segundo Grau: Resultados Básicos. Nono Ano
Módulo de Equações do Segundo Grau Equações do Segundo Grau: Resultados Básicos. Nono Ano Equações do o grau: Resultados Básicos. 1 Exercícios Introdutórios Exercício 1. A equação ax + bx + c = 0, com
Leia maisAula 11: Desvios e Laços
Aula 11: Desvios e Laços Nesta aula explicaremos alguns comandos que podem alterar o fluxo dos seus programas em JavaScript. Você aprenderá a estrutura dos comandos de desvios e laços. Entenderá como funcionam
Leia maisUNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8
unesp UNIVERSIDADE ESTADUAL PAULISTA Apostila Pascal Ed 2006 Prof Dr Galeno José de Sena DMA/FEG CAPÍTULO 8 ARQUIVOS DE DADOS EM PASCAL: ARQUIVOS SEQUENCIAIS - UMA INTRODUÇÃO 81 ARQUIVOS SEQUENCIAL E DIRETO
Leia maisÁrvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão
Árvores 1 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos! árvore genealógica! diagrama hierárquico de uma organização! modelagem de algoritmos! O conceito de árvores está
Leia maisAnálises Geração RI (representação intermediária) Código Intermediário
Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O
Leia maisMÓDULO 2 Topologias de Redes
MÓDULO 2 Topologias de Redes As redes de computadores de modo geral estão presentes em nosso dia adia, estamos tão acostumados a utilizá las que não nos damos conta da sofisticação e complexidade da estrutura,
Leia maisGUIA SOBRE A APLICAÇÃO DOS ASPECTOS LINGUÍSTICOS DA CARTILHA DE ADESÃO À AGENCE UNIVERSITAIRE DE LA FRANCOPHONIE
GUIA SOBRE A APLICAÇÃO DOS ASPECTOS LINGUÍSTICOS DA CARTILHA DE ADESÃO À AGENCE UNIVERSITAIRE DE LA FRANCOPHONIE Adotado pelo conselho associativo da Agence universitaire de la Francophonie 13 de setembro
Leia maisConteúdo programático
Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha
Leia maisProgramação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009
Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome
Leia maisMódulo de Contrato Agora OS
Módulo de Contrato Agora OS O módulo de contrato irá permitir fazer o acompanhamento e cobrança de contratos através da criação de índices personalizados pelo cliente. Exemplo: Contrato de prestação de
Leia maisCRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access
CRIAÇÃO DE TABELAS NO ACCESS Criação de Tabelas no Access Sumário Conceitos / Autores chave... 3 1. Introdução... 4 2. Criação de um Banco de Dados... 4 3. Criação de Tabelas... 6 4. Vinculação de tabelas...
Leia maisBANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com
BANCO DE DADOS I AULA 2 Willamys Araújo willamysaraujo7@gmail.com Modelagem de Dados Modelagem de dados é o estudo das informações existentes em um contexto sob observação para a construção de um modelo
Leia mais10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções...
10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10 4 10. CPU (CENTRAL PROCESSOR UNIT) Como vimos no capítulo
Leia maishttp://www.ic.uff.br/~boeres/fac.html! Conteúdos: Debora, Edcarllos, livros! slides disponíveis!
http://www.ic.uff.br/~boeres/fac.html! 1 Conteúdos: Debora, Edcarllos, livros! slides disponíveis! Unidade central de Processamento realiza operações básicas codificadas em 0s e 1s instrução contém código
Leia maisMacros e Programação VBA
SI Macros e Programação VBA 1/ 15 Macros e Programação VBA Sistemas de Informação MIEM / MIEIG SI Macros e Programação VBA 2/ 15 O que são macros? São sequências de instruções simples cujo objectivo é
Leia maisSistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26
Sistemas de Objetos Distribuídos Revisão Java e Java ORBs Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosRevisão Java e
Leia maisRedes de Computadores
Nível de rede Inst tituto de Info ormátic ca - UF FRGS Redes de Computadores Nível de rede Aula 6 Aplicação Apresentação Sessão Transporte Rede Enlace Físico Protocolo nível de aplicação Protocolo nível
Leia mais1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18
ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados
Leia maisExercício de Estrutura de dados. Java Fila
Exercício de Estrutura de dados Java Fila Obs.: Esse projeto foi um exercício realizado em sala de aula da matéria de Estrutura de dados com o Profº Frederico Augusto Siqueira Gentil Aqui está sendo relatado
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 2 Princípios de Programação Prof. Belarmino Linguagem de Computadores Internamente os computadores usam instruções e armazenam os dados no formato numérico binário
Leia maisEGEA ESAPL - IPVC. Resolução de Problemas de Programação Linear, com recurso ao Excel
EGEA ESAPL - IPVC Resolução de Problemas de Programação Linear, com recurso ao Excel Os Suplementos do Excel Em primeiro lugar deverá certificar-se que tem o Excel preparado para resolver problemas de
Leia maisIntrodução. Aula 02. Estrutura de Dados II. UFS - DComp Adaptados a partir do material da Profa. Kenia Kodel Cox
Introdução Estrutura de Dados II Aula 02 UFS - DComp Adaptados a partir do material da Profa. Kenia Kodel Cox 1 Estrutura de Dados estuda o que? 2 A programação habilita os computadores a cumprirem imensa
Leia maisMídias Discretas. Introdução à Ciência da Informação
Mídias Discretas Introdução à Ciência da Informação Mídias Discretas Mídias discretas (estáticas) Texto Gráficos e Imagens Estáticas Caracteres são convertidos para uma representação com um número fixo
Leia maisAlgoritmos 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 maisSimulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
Leia maisIntroduçã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 honoratonunes@gmail.com RESUMO DA AULA SUB-ROTINAS: Procedimentos Funções Escopo de variáveis Parâmetros Prof. José Honorato
Leia maisTQS - SISEs Parte 10 Fundações em bloco sobre 3 estacas sem baldrame e sobre 1 estaca com baldra
Palavras-chave: SISEs, bloco sobre estacas, pórtico espacial, baldrames. Seguindo o assunto da Interação entre estrutura, fundação e solo, vamos apresentar agora out ras duas possíveis soluções, tendo
Leia maisDESENHO TÉCNICO ( AULA 03)
Sólidos Geométricos DESENHO TÉCNICO ( AULA 03) Você já sabe que todos os pontos de uma figura plana localizam-se no mesmo plano. Quando uma figura geométrica tem pontos situados em diferentes planos, temos
Leia maisOI CLOUD SEJA BEM-VINDO!
OI CLOUD SEJA BEM-VINDO! O QUE É O OI CLOUD? O Oi Cloud é um serviço de armazenamento, compartilhamento e sincronização de arquivos. Esses arquivos ficarão acessíveis a partir de qualquer dispositivo,
Leia maistipo e tamanho e com os "mesmos" elementos do vetor A, ou seja, B[i] = A[i].
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA SUL-RIO- GRANDENSE CAMPUS SAPUCAIA DO SUL PROFESSOR: RICARDO LUIS DOS SANTOS EXERCÍCIO DE REVISÃO E FIXAÇÃO DE CONTEÚDO - ARRAYS 1. Criar um vetor A
Leia maisSolicitação de Cadastramento de Instituição de Pesquisa ou Empresa (a partir da versão
Manual SAGe v 2.2 Solicitação de Cadastramento de Instituição de Pesquisa ou Empresa (a partir da versão 12.10.04.03) Conteúdo Introdução... 2 Cadastro de Instituições Brasileiras... 2 Solicitando o cadastramento
Leia maisProgramação para Web HTML - Parte 2
Programação para Web HTML - Parte 2 Professor: Harlley Lima E-mail: harlley@decom.cefetmg.br Departamento de Computação Centro Federal de Educação Tecnológica de Minas Gerais Belo Horizonte, 2 de março
Leia maisepucc.com.br SAIBA COMO INCLUIR INFORMAÇÕES DE COLABORADORES, CENTROS DE CUSTO E RATEIO DE DESPESAS
epucc.com.br SAIBA COMO INCLUIR INFORMAÇÕES DE COLABORADORES, CENTROS DE CUSTO E RATEIO DE DESPESAS O PUCC permite que uma tabela com o nome dos Colaboradores e seus respectivos Departamentos e/ou Centros
Leia maisJava RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
Leia maisOrganização de Computadores 1
Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento
Leia maisAULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL
BANCO DE DADOS GERENCIAL 1 AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS Um banco de dados é uma coleção de dados (ou informações) organizadas de forma lógica, e que
Leia maisExperiência 04: Comandos para testes e identificação do computador na rede.
( ) Prova ( ) Prova Semestral ( ) Exercícios ( ) Prova Modular ( ) Segunda Chamada ( ) Exame Final ( ) Prática de Laboratório ( ) Aproveitamento Extraordinário de Estudos Nota: Disciplina: Turma: Aluno
Leia maisaplicação arquivo Condições Gerais de Utilização
aplicação arquivo Condições Gerais de Utilização Manual das condições gerais que regulam a utilização dos serviços disponibilizados pela aplicação Arquivo, plataforma de gestão de informação, do Municipio
Leia mais1 Visão Geral. 2 Instalação e Primeira Utilização. Manual de Instalação do Gold Pedido
Manual de Instalação do Gold Pedido 1 Visão Geral Programa completo para enviar pedidos e ficha cadastral de clientes pela internet sem usar fax e interurbano. Reduz a conta telefônica e tempo. Importa
Leia maisProf. Daniela Barreiro Claro
O volume de dados está crescendo sem parar Gigabytes, Petabytes, etc. Dificuldade na descoberta do conhecimento Dados disponíveis x Análise dos Dados Dados disponíveis Analisar e compreender os dados 2
Leia maisMódulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados
Módulo e-rede Magento v1.0 Manual de Instalação do Módulo estamos todos ligados 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 Instruções iniciais 4 4.2 Instalação e
Leia maisTECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I
TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 02: Organização e Arquitetura de Computadores / Lógica Digital (Parte I) O conteúdo deste documento tem por objetivo
Leia maisJava na Prática. Célio Silva Aula 3
Java na Prática Célio Silva Aula 3 Java na Prática Collections List List são listas de coisa ordenadas/não ordenadas, com duplicações permitidas e com um índice Servem para encapsular código de tratamento
Leia maisINTRODUÇÃ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 maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA INF01210 - INTRODUÇÃO À INFORMÁTICA
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA INF01210 - INTRODUÇÃO À INFORMÁTICA MÓDULO V MICROSOFT ACCESS 97 -MATERIAL DO ALUNO- Profa. Maria
Leia maisXML Schema. Vanessa Braganholo. Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo
XML Schema Vanessa Braganholo Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo XML Schema Utilizado para descrever a estrutura de um documento
Leia maisÁlgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial
Álgebra Linear Aplicada à Compressão de Imagens Universidade de Lisboa Instituto Superior Técnico Uma Breve Introdução Mestrado em Engenharia Aeroespacial Marília Matos Nº 80889 2014/2015 - Professor Paulo
Leia maisComandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios
Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios O Método Intuitivo de elaboração de circuitos: As técnicas de elaboração de circuitos eletropneumáticos fazem parte
Leia maisProjeto Manutenção SAP Web e Portal TRT
Anexo VIII SOF 46/11 Projeto Manutenção SAP Web e Portal TRT Versão: 2.00 Índice 1 Introdução... 1.1 Objetivo... 1.2 Escopo... 1.3 Definições, Acrônimos e Abreviações... 1.4 Referências... 2 Gerenciamento
Leia maisI. Conjunto Elemento Pertinência
TEORI DOS CONJUNTOS I. Conjunto Elemento Pertinência Conjunto, elemento e pertinência são três noções aceitas sem definição, ou seja, são noções primitivas. idéia de conjunto é praticamente a mesma que
Leia maisBackup e Recuperação Guia do Usuário
Backup e Recuperação Guia do Usuário Copyright 2008 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada da Microsoft Corporation nos Estados Unidos. As informações contidas neste documento
Leia maisPROCEDIMENTO INSTALAÇÃO SINAI ALUGUEL
1º Passo: Baixar o arquivo http://www.sinaisistemaimobiliario.com.br/instalar/instalador_aluguel.rar. 2º Passo: No SERVIDOR ao qual o sistema deverá ser instalado: a) Criar uma pasta, preferencialmente
Leia maisCurso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES
Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES 2014 1 a QUESTÃO Valor: 1,00 a) (0,30) Defina gramáticas livre de contexto. b) (0,30) Crie uma gramática
Leia maisServidor de Armazenamento em Nuvem
Aula 10 Servidor de Armazenamento em Nuvem Prof. Roitier Campos Gonçalves Cloud Computing modelo tecnológico que habilita de forma simplificada o acesso on-demand a uma rede, a qual possui um pool de recursos
Leia maisProgramação Orientada a Objetos SANTOS, Rafael
Programação Orientada a Objetos SANTOS, Rafael É parte do software, e deve atender os requisitos do usuário Controla o hardware, incluindo periféricos de entrada e saída Usa um conjunto de comandos e regras:
Leia mais