Capítulo 1. Linguagens e processadores

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Capítulo 1. Linguagens e processadores"

Transcrição

1 Capítulo Linguagens 1.1. Definição Definição : Uma linguagem L sobre um alfabeto, também designado com frequência por vocabulário, V, é um conjunto de frases, em que cada frase é uma sequência de símbolos pertencentes a V (vocábulos ou palavras). Uma linguagem não admite todas as combinações possíveis dos vocábulos (símbolos do alfabeto). Apenas certas combinações é que dão origem a frases válidas. Normalmente, a linguagem é um conjunto infinito, o que torna a sua enumeração impossível. A definição de uma linguagem é feita em dois passos : 1º) Estabelecer qual o alfabeto a usar; 2º) Indicar as regras que restringem, das combinações possíveis, aquelas que de facto são frases correctas. Relativamente às regras referidas no 2º passo, estas dividem-se em dois conjuntos : As regras sintácticas que definem as formas correctas, estabelecendo as combinações, ou agrupamentos, de símbolos (palavras) possíveis; As regras semânticas definem as condições que têm de ser respeitadas pelos símbolos para que as frases sintacticamente correctas façam sentido, isto é, para que seja possível interpretá-las (compreender e executar a sua mensagem). As regras sintácticas preocupam-se com a estrutura das frases, actuando ao nível das intenções (por ex., indicam que símbolos devem ser usados e a ordem pela qual devem ser escritos). As regras semânticas trabalham ao nível dos valores intrínsecos dos símbolos, ou inferíveis a partir deles, e preocupam-se com o significado das frases (o seu conteúdo semântico), indicando como é que essas frases serão interpretadas. O significado é a informação contida numa frase e é aquilo que realmente nos interessa conhecer para que a comunicação entre dois agentes tenha algum efeito prático.

2 2 Processadores de linguagens 1.2. Linguagens naturais versus linguagens formais Nas linguagens naturais (línguas faladas no dia-a-dia pelos povos) as frases pertencem à linguagem por razões de facto, isto é, porque as pessoas as usam assim mesmo na sua comunicação quotidiana. As regras surgem posteriormente, com o objectivo de sistematizar e ensinar futuramente a linguagem e organizar (estruturar) essas frases. As linguagens artificiais (que são criadas com o propósito de suportar a comunicação Homem/Máquina) só começam a ser usadas depois de o vocabulário ter sido escolhido e de as regras sintácticas e semânticas terem sido estabelecidas. Além disso, as regras que definem as linguagens artificiais são pensadas de modo a garantir a não-ambiguidade dessas linguagens, o que não acontece nas linguagens naturais Como se especifica uma linguagem As linguagens artificiais linguagens de comandos, linguagens de programação, linguagens de interrogação, etc. têm de ter a sua sintaxe e semântica rigorosamente definidas à custa de regras apropriadas. Essas regras devem ser escritas de forma tão sucinta e objectiva quanto possível, para garantir que são interpretadas (compreendidas e usadas) com facilidade e sem ambiguidade por ambos os agentes presentes na comunicação o Emissor, que será geralmente o utilizador humano, e o Receptor, que será o computador. Neste contexto, a mensagem trocada será um comando, um programa ou uma questão. A gramática tem sido universalmente aceite como notação formal para definir linguagens, servindo o duplo propósito de : ensinar como se escrevem, ou produzem, as frases da linguagem (papel gerador); determinar como se podem analisar essas frases (papel reconhecedor). 2. Processadores de linguagens 2.1. Definição Definição : Seja L(G) a linguagem gerada pela gramática G. Um processador para essa linguagem P L(G), é um programa que, tendo conhecimento da gramática G : lê um texto (sequência de caracteres); verifica se esse texto é uma frase válida de L(G); executa uma acção qualquer em função do significado da frase reconhecida. Todos estes programas são caracterizados por serem constituídos por dois grandes módulos : um de análise, em que se faz o reconhecimento do significado do texto fonte; outro de síntese, em que se reage ao significado identificado, produzindo um determinado resultado. São exemplos de processadores de linguagens : compiladores traduzem linguagens de programação de alto nível para código máquina; assemblers traduzem linguagens de programação de baixo nível para código máquina; interpretadores executam os programas logo após o seu reconhecimento : realizam acções, em vez de traduzirem os programas para uma linguagem de baixo nível; tradutores em geral transformam textos escritos numa linguagem qualquer para outra linguagem qualquer; carregadores reconhecem descrições de dados e carregam essa informação para Bases de Dados, ou para estruturas de dados em memória central;

3 Processadores de linguagens 3 pesquisadores reconhecem questões ( query ) e pesquisam em Bases de Dados para mostrarem as respostas encontradas; filtros reproduzem, à saída, o texto que receberam à entrada, depois de lhe retirarem certas palavras (ou blocos), ou expandirem palavras (por ex., abreviaturas, ou comandos de inclusão de outros ficheiros), ou simplesmente transformarem palavras (por ex., convertendo para maiúsculas) um caso prático bem conhecido deste tipo de processadores de linguagens é o pré-processador de C; processadores de documentos usados para diversos tipos de manipulação de documentos como, por ex., formatação (caso dos programas LATEX e BIBTEX). Em termos cronológicos, os primeiros processadores de linguagens foram os assemblers, compiladores e interpretadores, todos destinados ao reconhecimento e tradução/execução de linguagens de programação. Actualmente, é mais frequente desenvolverem-se os outros tipos de processadores cujo campo de aplicação é cada vez maior Tarefas Da definição anterior resulta, desde já, a divisão do processamento em duas partes : reconhecimento e reacção. A primeira parte é sempre realizada da mesma forma (qualquer que seja o processador da linguagem) e costuma subdividir-se nas três tarefas seguintes : análise léxica responsável pela leitura sequencial dos caracteres que formam o texto fonte, pela sua separação em palavras e pelo reconhecimento dos vocábulos (símbolos terminais) representados por cada palavra; análise sintáctica encarregue de agrupar os símbolos terminais verificando se formam uma frase sintacticamente correcta, isto é, composta de acordo com as regras sintácticas da linguagem; análise semântica destinada a verificar se as regras semânticas da linguagem são satisfeitas e a calcular os valores associados aos símbolos, de modo a poder conhecer-se o significado completo da frase. A segunda parte não se costuma dividir mais, para não ter de se pormenorizar em que consiste a acção de transformação do significado. Os módulos que irão implementar cada uma das fases de análise e de síntese têm de comunicar entre si. Assim, o analisador léxico passa ao analisador sintáctico os símbolos terminais que reconheceu no texto fonte, enquanto o analisador sintáctico envia ao analisador semântico uma representação interna da forma (estrutura sintáctica) da frase (usando uma árvore de derivação para suportar essa representação); por fim, o analisador semântico passa ao transformador uma árvore de sintaxe decorada que representa o significado da frase Estratégias de processamento Para resolver o problema da reacção, ou transformação da frase de entrada no resultado final, existem duas grandes estratégias diferentes, que são as seguintes : Tradução Orientada pela Sintaxe; Tradução Orientada pela Semântica. A primeira é a mais antiga e a mais usada, e onde todo o processamento é controlado pelo analisador sintáctico : este módulo vai pedindo o próximo símbolo do texto fonte e, à medida que vai progredindo no reconhecimento, vai fazendo, intercaladamente, a análise semântica e a transformação. Não há uma separação nítida entre todas as tarefas e nunca se chega a construir integralmente a árvore de sintaxe decorada, nem tão pouco a árvore de derivação.

4 4 Processadores de linguagens A segunda abordagem tem vindo a ganhar adeptos, à medida que os recursos máquina aumentam e o seu preço baixa, tendo actualmente uma grande importância. Aqui, todas as tarefas referidas são executadas separadamente, não se distinguindo nenhuma em relação às outras. Além disso, a árvore de derivação é construída explicitamente para todas as restantes etapas trabalharem sobre a árvore de sintaxe decorada. Estas duas abordagens não diferem só na estratégia de representação da informação em memória e na técnica de desenvolvimento dos algoritmos, mas também, e sobretudo, no formalismo de especificação usado para descrever o processador de linguagem : no primeiro caso, recorre-se à gramática tradutora, na segunda, usa-se a gramática atributiva. Enquanto que a Tradução Orientada pela Sintaxe é mais simples de especificar e menos exigente em termos de requisitos de hardware e de software, a Tradução Orientada pela Semântica corresponde a um maior rigor na descrição formal do processador a desenvolver e trás vantagens do ponto de vista da programação Compiladores Os compiladores são ferramentas fundamentais na informática, que transcrevem um texto escrito numa linguagem fonte ( source ) para um texto equivalente escrito numa linguagem alvo ( target ). Texto fonte Compilador Texto alvo Mensagens Figura 1. O compilador visto pelo utilizador. Definição : Um compilador é um processador de linguagens construído propositadamente para reconhecer programas, escritos em linguagens de programação de alto nível, para os traduzir para código binário, ou código máquina, que é uma linguagem de programação de baixo nível directamente reconhecida e executada por um determinado computador (designado por máquina objecto ou máquina final). Definição : Um transcompilador ( cross-compiler ) aceita um texto escrito numa linguagem de alto nível e produz um texto escrito noutra linguagem de alto nível (é um caso particular dos compiladores). As vantagens dos transcompiladores está na rápida implementação do compilador. As desvantagens está em que os programas gerados são mais lentos e ocupam maior espaço de memória. Sobre os compiladores devem salientar-se os seguintes factos : O texto fonte é um programa escrito numa linguagem que permite estruturar as instruções e usar estruturas de dados; O código final (objecto) é código máquina; Existe um grande desnível entre a complexidade das instruções na linguagem fonte e na linguagem objecto. Os compiladores introduzem problemas específicos na análise semântica e na tradução que, neste caso, tem o nome próprio de geração de código.

5 Processadores de linguagens 5 Um compilador é especifico de um determinado computador, pois o compilador produz código binário (ou Assembly), o qual varia de marca para marca e de modelo para modelo. Sempre que se pretende traduzir uma linguagem fonte para que os programas sejam executados numa máquina diferente, é necessário adaptar ( retarget ) o gerador de código. O desnível que existe entre a complexa estrutura da linguagem fonte e a enorme simplicidade da linguagem máquina, tem como consequência uma grande dificuldade na definição dos esquemas de tradução que efectuam a correspondência entre as construções fonte e as sequências de instruções máquina. Além disso, esses esquemas de tradução são dependentes do computador escolhido como objecto da tradução. Pelas razões expostas, é normal criar-se uma representação intermédia que deve manter a mesma semântica do programa fonte e permitir algumas optimizações. A linguagem escolhida para código intermédio constitui uma representação do código final, ou seja, não engloba detalhes, como a gestão de registos e de memória, da máquina onde será executado o código final. A tradução da linguagem fonte para essa linguagem intermédia evita, assim, problemas como a necessidade de gerir registos (que aparecem nos computadores reais em número limitado e com utilizações específicas) e a necessidade de escolher entre instruções alternativas para realizar a mesma operação. Com a introdução duma linguagem intermédia, a tarefa de geração de código é dividida em duas subtarefas : geração de código intermédio em que o significado da frase de entrada é reescrito na linguagem intermédia, sendo resolvidas questões como a linearização das estruturas de controlo e a atribuição de um modo de acesso à variável, de um endereço inicial na memória e reserva do espaço necessário para guardar um valor do tipo declarado para a variável; geração de código final responsável pela tradução do código intermédio para código máquina, sendo então feita a selecção das melhores instruções máquina e a utilização/gestão dos registos efectivamente existentes no computador objecto. Para além dos requisitos especiais que a análise semântica e a geração de código têm de satisfazer, a implementação de um compilador requer o desenvolvimento de outros módulos próprios e muito importantes para o sucesso do programa final, como sejam : para fazer o tratamento dos identificadores módulo que tem de permitir recolher toda a informação associada a cada identificador que surge no programa fonte, armazenando-a no momento em que o identificador é declarado, ou surge pela primeira vez, para poder ser consultada cada vez que é usado; para fazer o tratamento de erros módulo que, depois de detectado um erro, se encarregue de o reportar ao programador e assegurar a sua correcção/recuperação; para fazer a optimização do texto fonte e do texto final (objecto) gerado dois módulos que conduzam à produção dum código máquina bastante eficiente em termos de tamanho, de rapidez de execução e de requisitos de memória. A optimização é uma etapa complementar à geração de código (intermédio e final), que actua frequentemente em simultâneo com esta, tendo por objectivo a produção de programas mais eficientes (quer em espaço de memória quer em tempo de execução), mas mantendo sempre a correcção do código optimizado. A optimização do código pode ser classificada de acordo com a área de código a optimizar : Local sendo cada instrução observada individualmente; Bloco sendo observada uma sequência de instruções denominada bloco básico; Global sendo observada uma janela do programa.

6 6 Processadores de linguagens Para resumir tudo quanto se disse acerca da arquitectura de um compilador e suas diferenças relativas aos processadores de linguagens gerais, apresenta-se na figura 2 um diagrama que esquematiza este processo. Programa fonte Análise léxica Análise sintáctica Análise semântica Tabela de símbolos Geração de código intermédio Geração de código Optimização de código Programa alvo Figura 2. Etapas de um compilador Assemblers Os assemblers são funcionalmente muito parecidos com os compiladores, na medida em que traduzem um programa fonte para código máquina. A diferença reside no facto de que o texto de entrada, nos assemblers, não é escrito numa linguagem de alto nível, mas sim numa linguagem de mnemónicas estruturalmente tão simples quanto um programa em linguagem máquina. Por isso, não só o reconhecimento das frases se torna muito fácil, como também os esquemas de tradução são simples e intuitivos, e o processo de tradução muito directo. Na verdade, o assembler pouco difere do módulo de geração de código final igual ao dos compiladores Interpretadores Estes processadores não geram um texto de saída, mas sim executam as instruções do programa fonte logo que o reconhecem. A execução é feita sobre a representação intermédia de código, tipicamente numa notação em árvore. O uso de interpretadores é muito conhecido pelos programadores das linguagens Basic, Lisp e Prolog, as quais constituem os exemplos mais vulgares desta técnica de processamento. As vantagens dos interpretadores são : fácil de implementar, assegura maior rapidez no ciclo edição/compilação/execução, permitem testar/alterar programas à medida que são executados. As desvantagens são : acesso limitado a rotinas, inviáveis em projectos de larga escala. O interpretador não tem de se preocupar com questões de optimização e geralmente processa linguagens de programação menos ricas estruturalmente do que o compilador.

7 Processadores de linguagens 7 Programa fonte Interpretador Saída Dados 2.7. Tratamento de erros Figura 3. Arquitectura do interpretador. Ao desenvolver-se processadores de linguagens reais, a capacidade destes para tratar os erros é de enorme importância para a sua aceitação, pelo utilizador final, como ferramenta de trabalho. Portanto, se forem detectados erros ao analisar uma frase, esta não deve simplesmente ser rejeitada como não pertencente à linguagem em causa e o processamento terminar por aí. Definição : No contexto do processamento de linguagens, entende-se por tratamento de erros o processo que é desencadeado pelo reconhecedor logo após a detecção de um erro na frase que está a ser analisada. A reacção compreende duas grandes tarefas : a sinalização do erro, ou notificação enviada ao utilizador alertando-o para o facto de se ter encontrado uma violação a uma das regras que fazem da sequência de símbolos fonte uma frase válida da linguagem; a correcção/recuperação que permite superar a falta detectada e prosseguir a análise, até à aceitação da frase ou até à detecção de novo erro. A detecção de um erro é uma tarefa inerente à análise, ou seja, indissociável do reconhecimento. Quando um processador está a analisar uma frase, tentando verificar se ela foi correctamente escrita, de acordo com a gramática da linguagem, são três as razões que podem levar à detecção de um erro : o aparecimento de caracteres inválidos que impedem a identificação de qualquer símbolo terminal pertencente ao alfabeto da linguagem erro léxico; o aparecimento dum símbolo terminal (válido) combinado com os seus vizinhos de forma inválida (ou por estar trocado com outro, ou por não ser permitido naquele ponto, ou ainda por omissão dum símbolo anterior), impedindo o reconhecimento de uma subfrase aceitável erro sintáctico; o aparecimento dum símbolo terminal que, apesar de ser válido e surgir numa posição correcta, infringe as regras de tipo, ou concordância, que têm de ser verificadas para se poder identificar completamente o significado da frase erro semântico. Estas situações correspondem ao desrespeito pelas regras sintácticas, ou pelas regras semânticas, ou ainda pelas regras ortográficas que definem a linguagem em causa. Note-se que uma frase pode ainda conter erros de uma outra classe erros lógicos que surgem quando a frase, apesar de estar bem formada sintacticamente e semanticamente, não traduz correctamente a ideia, ou vontade, do seu emissor (por exemplo, quando um programa implementa um algoritmo incorrectamente). Este tipo de erro não é tratado automaticamente, pois um processador de linguagens não é capaz de os detectar. A sinalização do erro é de importância crucial para que o programador possa localizar o foco de problemas, interpretá-los e corrigi-los definitivamente. Por isso, a mensagem a ser enviada deve, no mínimo, indicar : a posição (linha e coluna, em relação ao texto fonte) onde o símbolo de erro foi encontrado; o símbolo de erro; a causa provável que justifica esse erro (diagnóstico) : podem indicar-se os símbolos de que o processador de linguagens estava à espera, ou a concordância que era pretendida.

Um compilador é um programa que lê um programa escrito numa dada linguagem, a linguagem objecto (fonte), e a traduz num programa equivalente

Um compilador é um programa que lê um programa escrito numa dada linguagem, a linguagem objecto (fonte), e a traduz num programa equivalente Capítulo 1 Introdução Um compilador é um que lê um escrito numa dada linguagem, a linguagem objecto (fonte), e a traduz num equivalente numa outra linguagem, a linguagem destino Como parte importante neste

Leia mais

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. Linguagem de Programação Uma linguagem de programação é um método padronizado para expressar

Leia mais

ALP Algoritmos e Programação. . Linguagens para Computadores

ALP Algoritmos e Programação. . Linguagens para Computadores ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 1 Linguagens para Computadores. Linguagem binária: Dispositivos

Leia mais

COMPILADORES E INTERPRETADORES

COMPILADORES E INTERPRETADORES Aula 16 Arquitetura de Computadores 12/11/2007 Universidade do Contestado UnC/Mafra Curso Sistemas de Informação Prof. Carlos Guerber COMPILADORES E INTERPRETADORES Um compilador transforma o código fonte

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

Introdução às Linguagens de Programação

Introdução às Linguagens de Programação Introdução às Linguagens de Programação Histórico de Linguagens de Programação O computador não faz nada sozinho Precisamos informar, de forma clara, como ele deve executar as tarefas Ou seja, o computador

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

Projecto de Programação MEEC - 2010/2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores

Projecto de Programação MEEC - 2010/2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores Mestrado Integrado em Engenharia Electrotécnica e de Computadores Programação 2010/2011 Enunciado do projecto O projecto a desenvolver pelos alunos consistirá numa sistema de monitorização do estado de

Leia mais

Análise de Sistemas. Conceito de análise de sistemas

Análise de Sistemas. Conceito de análise de sistemas Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de

Leia mais

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis Ciência da Computação Arq. e Org. de Computadores Máquinas Multiníveis Prof. Sergio Ribeiro Computador digital máquina que resolve problemas executando uma série de instruções. Programa conjunto de instruções

Leia mais

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng. Aula teórica 3 Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java Preparado por eng.tatiana Kovalenko Linguagens de Programação Para escrever programas é necessário

Leia mais

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas) ENIAC Introdução aos Computadores e à ção (Noções Básicas) Introdução aos Computadores e à ção (Noções Básicas) 1 Introdução aos Computadores e à ção (Noções Básicas) 2 O transistor foi inventado em 1947

Leia mais

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto Mestrado Integrado em Engenharia Electrotécnica e de Computadores Programação 2º Semestre 2010/2011 Enunciado do projecto O projecto a desenvolver pelos alunos consistirá numa sistema de monitorização,

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Capítulo 1 Linguagens e processadores

Capítulo 1 Linguagens e processadores 1. Linguagens Capítulo 1 Linguagens e processadores 2. Processamento de Linguagens: DI-UBI 2017/2018 1/28 Linguagens Linguagens Processamento de Linguagens: DI-UBI 2017/2018 2/28 Linguagens 1. Definição

Leia mais

Um sistema SMS 1 simplificado

Um sistema SMS 1 simplificado 1 Introdução Um sistema SMS 1 simplificado Projecto de Redes de Computadores I - 2007/2008 LEIC IST, Tagus Park 10 de Setembro de 2007 Pretende-se com este projecto que os alunos implementem um sistema

Leia mais

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções) Aulas anteriores... Formulação adequada do problema Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução Definição do algoritmo Método de decomposição hierárquica utilizando

Leia mais

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. Conceitos relativos à Informação 1. Informação O que á a informação? Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. 2. Dados Em informática designa-se

Leia mais

Curso Técnico em Redes

Curso Técnico em Redes Curso Técnico em Redes Prof. Airton Ribeiro - 2012 Histórico das Linguagens de Programação O que é? É um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas

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 Programas e Linguagens Para executar uma tarefa

Leia mais

Informática II Cap. 3

Informática II Cap. 3 Cap. 3 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens:

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto APRESENTAÇÃO Os computadores chegaram aos diversos níveis das organizações Nestes contexto: Que linguagem entendem? Que produtos podem usar? Dúvidas

Leia mais

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens: Programas

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Resolução de problemas e desenvolvimento de algoritmos

Resolução de problemas e desenvolvimento de algoritmos SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de

Leia mais

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Interrupções. As interrupções são casos especiais de chamadas de procedimentos. Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação O QUE É UM PROGRAMA? Para executar uma dada tarefa é geralmente necessário entender o sistema onde ela é realizada. Por exemplo, para fazer um bolo temos um sistema composto por: Ingredientes Cozinheiro

Leia mais

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta

Leia mais

Algoritmos e Programação I

Algoritmos e Programação I Algoritmos e Programação I Introdução a Computação Prof. Fernando Maia da Mota mota.fernandomaia@gmail.com CPCX/UFMS Fernando Maia da Mota 1 Computadores são dispositivos que só sabem fazer um tipo de

Leia mais

Construção de Compiladores. Construção de Compiladores. Motivação. Motivação. Contexto Histórico. Classificações: Gerações 09/03/2010

Construção de Compiladores. Construção de Compiladores. Motivação. Motivação. Contexto Histórico. Classificações: Gerações 09/03/2010 Construção de Compiladores Prof. Raimundo Santos Moura (http://www.ufpi.br/rsm) Construção de Compiladores Livro-Texto: AHO, Alfred V.; ULLMAN, Jeffrey D.; SETHI, R. Compiladores: princípios, técnicas

Leia mais

De Arte a Ciência: Regras para o Desenho de Software

De Arte a Ciência: Regras para o Desenho de Software De Arte a Ciência: Regras para o Desenho de Software Neste artigo é apresentado um conjunto de regras de desenho um padrão de desenho universal associado ao princípio fundamental e aos requisitos axiomáticos.

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores INTRODUÇÃO AOS ALGORITMOS E À PROGRAMAÇÃO DE COMPUTADORES PARTE 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Programas e Programação

Leia mais

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

Introdução à Lógica de Programação Introdução à Lógica de Programação Sistemas Numéricos As informações inseridas em um computador são traduzidos em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha

Leia mais

Sumário. Objectivos Técnicas Casos Notáveis Exemplo Conclusões. Testes de Software 2

Sumário. Objectivos Técnicas Casos Notáveis Exemplo Conclusões. Testes de Software 2 Testes de Software Sumário Objectivos Técnicas Casos Notáveis Exemplo Conclusões Testes de Software 2 Objectivos Verificação o programa está de acordo com a especificação (construímos bem o produto?) Validação

Leia mais

UMA BREVE INTRODUÇÃO AO ESTUDO E IMPLEMENTAÇÃO DE COMPILADORES

UMA BREVE INTRODUÇÃO AO ESTUDO E IMPLEMENTAÇÃO DE COMPILADORES UMA BREVE INTRODUÇÃO AO ESTUDO E IMPLEMENTAÇÃO DE COMPILADORES 1 BRANCO; Guido Aparecido Junior, 2 TAMAE, Rodrigo Yoshio 1-Discente do Curso Sistemas de Informação FAEG/Garça 2-Docente do Curso Sistemas

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 4 SUPORTE AO SISTEMA OPERACIONAL Prof. Luiz Gustavo A. Martins Sistema Operacional (S.O.) Programa responsável por: Gerenciar os recursos do computador. Controlar a execução

Leia mais

INE5317 Linguagens Formais e Compiladores. AULA 2: Es trutura geral dos Compiladores

INE5317 Linguagens Formais e Compiladores. AULA 2: Es trutura geral dos Compiladores INE5317 Linguagens Formais e Compiladores AULA 2: Es trutura geral dos Compiladores bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br

Leia mais

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa ARQUITETURA DE COMPUTADORES 1 Rogério Spindula Rosa 2 EXECUÇÃO DE PROGRAMAS PROGRAMA 3 4 INTRODUÇÃO Hoje é raro escrever um programa diretamente em linguagem de computador em virtude da enorme dificuldade

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

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática 3ºAno Disciplina de Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/2010 GereComSaber Sistema de

Leia mais

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.

Leia mais

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

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

Leia mais

Interface Homem Máquina para Domótica baseado em tecnologias Web

Interface Homem Máquina para Domótica baseado em tecnologias Web Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

Informática I. Aula 6. http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1

Informática I. Aula 6. http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1 Informática I Aula 6 http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Universidade Federal de Uberlândia Faculdade de Computação Conceitos básicos de algoritmos Prof. Renato Pimentel 1 Computação Dados Informações vindas de usuários ou de outras máquinas; Processamento transformação

Leia mais

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2) Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance

Leia mais

Ao conjunto total de tabelas, chamamos de Base de Dados.

Ao conjunto total de tabelas, chamamos de Base de Dados. O QUE É O ACCESS? É um sistema gestor de base de dados relacional. É um programa que permite a criação de Sistemas Gestores de Informação sofisticados sem conhecer linguagem de programação. SISTEMA DE

Leia mais

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO ACCESS 2010 Conceitos Básicos Ficha Informativa Professor : Vanda Pereira módulo didáctico Conceitos Básicos Necessidade das base de dados Permite guardar dados

Leia mais

3. O NIVEL DA LINGUAGEM DE MONTAGEM

3. O NIVEL DA LINGUAGEM DE MONTAGEM 3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal

Leia mais

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2 Estrutura de Repetição. Ex. 2 A ESTRUTURA Enquanto faça{} É MELHOR UTILIZADA PARA SITUAÇÕES ONDE O TESTE DE CONDIÇÃO (V OU F) PRECISA SER VERIFICADO NO INÍCIO DA ESTRUTURA DE REPETIÇÃO.

Leia mais

Unidade de Controlo. Unidade Aritmética e Lógica

Unidade de Controlo. Unidade Aritmética e Lógica Métodos de Programação I Departamento de Matemática, FCTUC 8 Modelo de Organização de um Computador Digital - Modelo de Von Neumann Neste modelo esquemático de organização de um computador digital tradicional

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

Diagrama de transição de Estados (DTE)

Diagrama de transição de Estados (DTE) Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das

Leia mais

Introdução à Programação 2006/07. Computadores e Programação

Introdução à Programação 2006/07. Computadores e Programação Introdução à Programação 2006/07 Computadores e Programação Objectivos da Aula Noção de computador. Organização Interna de um Computador Noção de Sistema Operativo. Representação digital de informação

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,

Leia mais

Tecnologia da Informação. Visão Geral sobre Informática

Tecnologia da Informação. Visão Geral sobre Informática 9/18/2014 1 Tecnologia da Informação Visão Geral sobre Informática Trabalho compilado da internet Prof. Claudio Passos 9/18/2014 2 PROBLEMAS ADMINISTRATIVOS Volume de Informação Tempo de Resposta Aumento

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

Javascript 101. Parte 2

Javascript 101. Parte 2 Javascript 101 Parte 2 Recapitulando O Javascript é uma linguagem de programação funcional Os nossos scripts são executados linha a linha à medida que são carregados. O código que está dentro de uma função

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite

Leia mais

Alberto Manuel Simões, José João Almeida, and Xavier Gomez Guinovart

Alberto Manuel Simões, José João Almeida, and Xavier Gomez Guinovart Memórias de Tradução Distribuídas Alberto Manuel Simões, José João Almeida, and Xavier Gomez Guinovart Departamento de Informática, Universidade do Minho {albie@alfarrabio. jj@}di.uminho.pt Universidade

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

Dicionário de Dados (DD)

Dicionário de Dados (DD) Dicionário de Dados (DD) O dicionário de dados consiste numa lista organizada de todos os elementos de dados que são pertinentes para o sistema. Sem o dicionário de dados o modelo não pode ser considerado

Leia mais

Metodos de Programação

Metodos de Programação Metodos de Programação Métodos de Programação Introdução Informática, Computador, Algoritmo Informática: Ciência do processamento da informação Computador: Máquina que serve para processar informação Algoritmo:

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

Informação Prova de Equivalência à Frequência

Informação Prova de Equivalência à Frequência Ano letivo 2014/2015 Ensino Secundário - 1ª e 2ª Fase Disciplina de ESPANHOL (INICIAÇÃO BIENAL) - 375 Informação Prova de Equivalência à Frequência 1. Introdução O presente documento visa divulgar as características

Leia mais

3. Engenharia de Requisitos

3. Engenharia de Requisitos Engenharia de Software 3. Engenharia de Requisitos Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Fases do desenvolvimento de software que mais erros originam (fonte: "Software Testing", Ron Patton)

Leia mais

Sistemas Distribuídos e Tolerância a Falhas

Sistemas Distribuídos e Tolerância a Falhas Processamento de erros Detectar / Recuperar/ Mascarar 1º passo: Detecção. A detecção de um erro pode ser realizada por mecanismos como: - códigos de detecção de erros, - timeouts - watchdogs - verificações

Leia mais

Breve Histórico & Conceitos Básicos

Breve Histórico & Conceitos Básicos Breve Histórico & Conceitos Básicos compiladores interpretadores montadores filtros pré-processadores carregadores linkers compilador cruzado (cross-compiler) auto-compilável (bootstraping) auto-residente

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução 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

Perguntas mais frequentes sobre o sistema EudraCT

Perguntas mais frequentes sobre o sistema EudraCT Perguntas mais frequentes sobre o sistema EudraCT 1. Segurança do sistema e confidencialidade P: Como posso ter a certeza de que os dados introduzidos estarão seguros? 2. Configuração do sistema P: Como

Leia mais

Segue-se o estudo da forma como os computadores armazenam e acedem às informações contidas na sua memória.

Segue-se o estudo da forma como os computadores armazenam e acedem às informações contidas na sua memória. 4. Variáveis Para a execução de qualquer tipo de programa o computador necessita de ter guardados os diferentes tipos de dados, já estudados. Esses dados estão guardados na sua memória. Segue-se o estudo

Leia mais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito

Leia mais

UML (Unified Modelling Language) Diagrama de Classes

UML (Unified Modelling Language) Diagrama de Classes UML (Unified Modelling Language) Diagrama de Classes I Classes... 2 II Relações... 3 II. Associações... 3 II.2 Generalização... 9 III Exemplos de Modelos... III. Tabelas de IRS... III.2 Exames...3 III.3

Leia mais

DESENVOLVIMENTO DE SISTEMAS SOFTWARE FASE 1 GRUPO 10. Vítor Martins 47121. Rui Fonseca 47081. David Barbosa 47076. Ricardo Boas 47023

DESENVOLVIMENTO DE SISTEMAS SOFTWARE FASE 1 GRUPO 10. Vítor Martins 47121. Rui Fonseca 47081. David Barbosa 47076. Ricardo Boas 47023 DESENVOLVIMENTO DE SISTEMAS SOFTWARE FASE 1 David Barbosa 47076 Ricardo Boas 47023 Rui Fonseca 47081 Vítor Martins 47121 GRUPO 10 2009/2010 1 Índice 1. Introdução... 2 1.1 Visão Geral do Problema... 2

Leia mais

Manual. Formações Modulares Certificadas. A Relha Cooperativa de Serviços CRL. Formador/a: Ricardo Cabral. Data: 05/2013. N.

Manual. Formações Modulares Certificadas. A Relha Cooperativa de Serviços CRL. Formador/a: Ricardo Cabral. Data: 05/2013. N. Manual Formador/a: Ricardo Cabral Data: 05/2013 Formações Modulares Certificadas Área de Formação: Ciências Informáticas UFCD: 0755 Funcionalidades Avançadas N.º Horas: 25 A Relha Cooperativa de Serviços

Leia mais

Escola Secundária de Emídio Navarro

Escola Secundária de Emídio Navarro Escola Secundária de Emídio Navarro Curso Secundário de Carácter Geral (Agrupamento 4) Introdução às Tecnologias de Informação Correcção da ficha de trabalho N.º 1 1. Refere algumas das principais áreas

Leia mais

Data de adopção. Referência Título / Campo de Aplicação Emissor. Observações

Data de adopção. Referência Título / Campo de Aplicação Emissor. Observações NP ISO 10001:2008 Gestão da qualidade. Satisfação do cliente. Linhas de orientação relativas aos códigos de conduta das organizações CT 80 2008 NP ISO 10002:2007 Gestão da qualidade. Satisfação dos clientes.

Leia mais

Processo de análise estruturada - Abordagem clássica

Processo de análise estruturada - Abordagem clássica Processo de análise estruturada - Abordagem clássica Desenvolver modelo físico actual Modelo físico actual Modelos a desenvolver tendo em conta a abordagem clássica Desenvolver modelo lógico actual Modelo

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e de Computadores 1º ano 2º semestre Trabalho Final Reservas de viagens

Leia mais

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis 1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

O que queremos. Processamento Estatístico da Linguagem Natural. Parsing Morfológico. Regras Simples. Adicionando palavras. Regras Derivacionais

O que queremos. Processamento Estatístico da Linguagem Natural. Parsing Morfológico. Regras Simples. Adicionando palavras. Regras Derivacionais Processamento Estatístico da Linguagem Natural Aula 5 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ O que queremos Algo que faça automaticamente um mapeamento

Leia mais