Capítulo 1. Linguagens e processadores

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II O seguinte exercício contempla um processo com três estágios. Baseia-se no Inquérito de Satisfação Fase II, sendo, por isso, essencial compreender primeiro o problema antes de começar o tutorial. 1 1.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Hans J. Vermeer Skopos and commission in translational action

Hans J. Vermeer Skopos and commission in translational action Hans J. Vermeer Skopos and commission in translational action 1 Synopsis? Introdução de conceitos importantes para a Skopostheorie de Vermeer: Skopos - termo técnico para o objectivo ou propósito da tradução;

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

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

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

Referencial do Módulo B

Referencial do Módulo B 1 Referencial do Módulo B Liga, desliga e reinicia correctamente o computador e periféricos, designadamente um scanner; Usa o rato: aponta, clica, duplo-clique, selecciona e arrasta; Reconhece os ícones

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

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

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3

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

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

PARLAMENTO EUROPEU. Comissão dos Assuntos Jurídicos. 10.6.2005 PE 360.003v01-00

PARLAMENTO EUROPEU. Comissão dos Assuntos Jurídicos. 10.6.2005 PE 360.003v01-00 PARLAMENTO EUROPEU 2004 ««««««««««««Comissão dos Assuntos Jurídicos 2009 10.6.2005 PE 360.003v01-00 ALTERAÇÕES 1-17 Projecto de recomendação para segunda leitura Michel Rocard Patenteabilidade das invenções

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

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

AMBIENTE DE PROGRAMAÇÃO PYTHON

AMBIENTE DE PROGRAMAÇÃO PYTHON Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004 FICHA 1 AMBIENTE DE PROGRAMAÇÃO PYTHON 1.1. Objectivos

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

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

UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE

UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMPILADORES PROFESSOR: JOHNI DOUGLAS MARANGON Back-End Compilação 1. Compilação etapa Back-end

Leia mais

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO Geração de código Ivan Ricarte 2008 Sumário Geração de código intermediário Código de três endereços Notação pós-fixa Otimização de código Heurísticas de otimização Geração de código em linguagem simbólica

Leia mais

Política WHOIS do Nome de Domínio.eu

Política WHOIS do Nome de Domínio.eu Política WHOIS do Nome de Domínio.eu 1/7 DEFINIÇÕES Os termos definidos nos Termos e Condições e/ou nas Normas de Resolução de Litígios do domínio.eu são utilizados no presente documento em maiúsculas.

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

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

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

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

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

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

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático Programação III / Estruturas de Dados Enunciado do Trabalho Prático 1. Objectivo Pretende-se implementar uma base de dados que sirva para ajudar uma agência de viagens a planear as viagens a realizar pelos

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Manual do Gestor da Informação do Sistema

Manual do Gestor da Informação do Sistema Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Informação do Sistema João Braga

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

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

Começo por apresentar uma breve definição para projecto e para gestão de projectos respectivamente.

Começo por apresentar uma breve definição para projecto e para gestão de projectos respectivamente. The role of Project management in achieving Project success Ao longo da desta reflexão vou abordar os seguintes tema: Definir projectos, gestão de projectos e distingui-los. Os objectivos da gestão de

Leia mais

Algumas vantagens da Teoria das Descrições Definidas (Russel 1905)

Algumas vantagens da Teoria das Descrições Definidas (Russel 1905) Textos / Seminário de Orientação - 12 de Março de 2005 - Fernando Janeiro Algumas vantagens da Teoria das Descrições Definidas (Russel 1905) Assume-se que o objecto de uma teoria semântica é constituído

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

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

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Autómatos Finitos Determinísticos

Autómatos Finitos Determinísticos Ficha 2 Autómatos Finitos Determinísticos 2.1 Introdução Se olharmos, de forma simplificada, para um computador encontramos três componentes principais: a) A unidade de processamento central b) As unidades

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

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

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

Prova de Aferição de Matemática

Prova de Aferição de Matemática PROVA DE AFERIÇÃO DO ENSINO BÁSICO A PREENCHER PELO ALUNO Nome A PREENCHER PELO AGRUPAMENTO Número convencional do Aluno Número convencional do Aluno A PREENCHER PELA U.A. Número convencional do Agrupamento

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

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

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

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para

Leia mais

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

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1. Departamento de Engenharia Informática 2008/2009 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1

COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 Oficina do Correio Para saber mais sobre Correio electrónico 1. Dicas para melhor gerir e organizar o Correio Electrónico utilizando o Outlook Express Criar Pastas Escrever

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais

Leia mais

Procedimentos para a divulgação de eventos no site da ECUM

Procedimentos para a divulgação de eventos no site da ECUM Procedimentos para a divulgação de eventos no site da ECUM Pressupostos introdutórios 3 Descrição da tarefa 4 Autenticação/Login 4 Página de entrada 4 Criar um novo evento 5 Colocar um evento em destaque

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

CAP. I ERROS EM CÁLCULO NUMÉRICO

CAP. I ERROS EM CÁLCULO NUMÉRICO CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste Unidade VI Validação e Verificação de Software Teste de Software Profa. Dra. Sandra Fabbri Conteúdo Técnicas de Teste Funcional Estrutural Baseada em Erros Estratégias de Teste Teste de Unidade Teste de

Leia mais

Veja abaixo um exemplo de um endereço IP de 32 bits: 10000011 01101011 00010000 11001000

Veja abaixo um exemplo de um endereço IP de 32 bits: 10000011 01101011 00010000 11001000 4 Camada de Rede: O papel da camada de rede é transportar pacotes de um hospedeiro remetente a um hospedeiro destinatário. Para fazê-lo, duas importantes funções da camada de rede podem ser identificadas:

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

1 Code::Blocks Criação de projetos

1 Code::Blocks Criação de projetos Programação MEEC Índice 1Code::Blocks Criação de projetos...1 2Code::Blocks Localização do projeto...5 3Code::Blocks Abertura de projetos já existentes...7 4Code::Blocks Funcionamento...8 5Code::Blocks

Leia mais

Geração e Otimização de Código

Geração e Otimização de Código Geração e Otimização de Código 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 Estrutura geral de

Leia mais