SISTEMAS OPERATIVOS I
|
|
|
- Edison Aleixo Bayer
- 10 Há anos
- Visualizações:
Transcrição
1 Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática SISTEMAS OPERATIVOS I Textos de Apoio às Aulas Práticas Pré-processador, compilador e debugger 2004 Jorge Pinto Leite Sugestões e participações de erros para [email protected]
2 Índice Introdução...1 Programa fonte...1 O processo de compilação...2 Pré-processador... 2 Compilador propriamente dito... 2 Assemblador... 3 Linker... 3 Opções do compilador... 4 Debugger...5 Exercício proposto...8 Jorge Pinto Leite i
3 Introdução A compilação é o processo que permite traduzir em linguagem perceptível pelo computador as instruções que queremos que este execute. Neste capítulo iremos analisar este processo, descrevendo cada uma das suas fases e tomando como base o gcc (GNU C Compiler), um compilador multifacetado que permite a compilação de programas fontes escritos em várias linguagens, nomeadamente C, C++, Objective C, Fortran, etc, estando em desenvolvimento extensões para outras linguagens. Programa fonte O tipo de instrução que um equipamento entende é em linguagem binária, dita executável, a qual não é fácil nem lógica de programar. Uma primeira abordagem foi efectuada com linguagens perceptíveis pelo processador (Assembler), que mau grado ter já um certo interface com o utilizador, continuam a ser pouco intuitivas e complexas, quer de programar, quer de manter. A evolução técnica e as necessidades dos utilizadores levou a sucessivas gerações de linguagens, tendo cada geração mais características avançadas de manipulação de dados e de manuseamento de objectos. Dividem-se assim as linguagens em baixo (as primeiras) ou alto (as últimas) nível. Independentemente do nível de uma determinada linguagem, o que é garantido é que contêm um conjunto de instruções que por si só não são perceptíveis por um equipamento. Duas famílias de linguagens impuseram-se: as interpretadas e as compiladas. As primeiras são traduzidas em linguagem máquina em tempo real, ou seja, cada instrução é traduzida à medida que é executada. Sendo um processo fácil para escrita e validação de um programa, torna-se necessariamente mais lenta na sua execução, pelo que representa actualmente uma menor fatia de mercado. Um exemplo de linguagem interpretada é o Visual-Basic, mas este tipo de linguagens é muito usado em aplicações web (linguagens de scripting em servidores). As segundas são escritas em linguagem perceptível pelo programador, sendo necessário traduzi-las para linguagem máquina, as quais são por sua vez executáveis. Um eventual erro implica a alteração do programa, (re)compilação do mesmo e posterior execução. Um exemplo de linguagem compilada é o C. O programa escrito numa linguagem perceptível pelo utilizador denomina-se por programa fonte. Nos capítulos seguintes usaremos como exemplo o seguinte programa fonte escrito em linguagem C. /* teste.c */ #include <stdio.h> main(void) { int i ; for(i=1 ;i<10 ;i++) Jorge Pinto Leite Página 1 de 8
4 } printf( Valor de i: %i\n,i); exit(0); O processo de compilação Tipicamente há bibliotecas auxiliares das diversas linguagem que, através da sua inclusão num programa fonte, permitem e facilitam o acesso a constantes standard, estruturas, valores pré-definidos, etc. (por exemplo, em C, a instrução para incluir estas bibliotecas é #include <nome-da-biblioteca>). Esta facilidade implica que o compilador deverá, ao encontrar estas instruções especiais, substituí-las pelo conjunto de linhas que compõem cada uma das bibliotecas referidas. Além disso, e principalmente a nível de grandes projectos, há conjuntos de instruções que se repetem, sendo habitual a criação de macros que as contêm, e que serão também chamadas repetidamente no programa fonte. O processo completo de compilação é pois responsável pela tradução destas e doutras ocorrências, pelo que se encontra dividido por várias fases: o Pré-processador o Compilador propriamente dito o Assemblador o Linker Pré-processador O pré-processador tem por função: 1. Detectar qualquer instrução de inclusão e substituí-la pela correspondente biblioteca. 2. Detectar macros utilizadas e expandi-las para o conjunto de tarefas associadas. Podemos analisar esta função recorrendo à opção E do gcc (ver Opções do compilador para algumas das opções do compilador). Para analisarmos o resultado da aplicação do pré-processador no programa teste.c executamos o comando: $ gcc E teste.c o teste.cpp Podemos editar e analisar o conteúdo de teste.cpp, no qual veremos que a alteração consiste na substituição do parágrafo #include <stdio.h> pelo conteúdo desta biblioteca, além doutros caracteres específicos do pré-processador. Compilador propriamente dito O compilador propriamente dito tem por missão ler a saída do pré-processador e criar um programa em código assembler. Este código assembler gerado é o apropriado para o processador do equipamento utilizado. Podemos analisar esta função recorrendo à opção S do gcc (ver Opções do compilador para algumas das opções do compilador): $ gcc S teste.c o teste.asm Jorge Pinto Leite Página 2 de 8
5 Assemblador O assemblador tem por função traduzir o código assembler gerado pelo seu correspondente binário, não executável. Este código binário gerado é o apropriado para o processador do equipamento utilizado. Podemos analisar esta função recorrendo à opção c do gcc (ver Opções do compilador para algumas das opções do compilador): Linker $ gcc c teste.c o teste.bin O linker realiza a concatenação do código binário gerado com as bibliotecas específicas do sistema, a fim de criar um código já executável. Todos os passos anteriormente descriminados são executados sempre que compilamos um programa fonte, só que essa execução é efectuada sem que o utilizador se aperceba. Para compilar um programa e obter o respectivo executável, introduz-se uma linha de comando simples, tal como: $ gcc teste.c o teste.exe Convém ter em conta que o executável pode ser obtido a partir de um qualquer passo intermédio do processo de compilação, através de uma das opções existentes, a x. Esta opção permite indicar ao compilador que tipo de fonte vai encontrar. Como exemplo, poderíamos dar os seguintes comandos, todos com o mesmo resultado final: $ gcc x cpp-output teste.cpp o teste.exe $ gcc x assembler teste.asm o teste.exe Para o passo final, isto é, para efectuar a linkagem, não é necessário indicar ao compilador qual o tipo de ficheiro de input, já que ele o reconhece automaticamente: $ gcc teste.bin o teste.exe Em suma, o processo desencadeado pela linha de comando $ gcc teste.c o teste.exe pode ser efectuado passo a passo e a partir do output anterior através da sequência de comandos: $ gcc E teste.c o teste.cpp $ gcc S x cpp-output teste.cpp o teste.asm $ gcc c x assembler teste.asm o teste.bin $ gcc teste.bin o teste.exe Jorge Pinto Leite Página 3 de 8
6 Opções do compilador Sintaxe: gcc [opções] programa-fonte Opções: -include <ficheiro> Inclui o conteúdo de <ficheiro> antes de outros ficheiro. -imacros <ficheiro> Aceita a definição de macros de <ficheiro>. -iprefix <path> Especifica o caminho para as opções: -iwithprefix <dir> Adiciona <dir> ao final do caminho de inclusão de sistema. -iwithprefixbefore <dir> Adiciona <dir> ao início do caminho de inclusão. -isystem <dir> Adiciona <dir> ao início do caminho de inclusão de sistema. -idirafter <dir> Adiciona <dir> ao final do caminho de inclusão de sistema. -I <dir> Adiciona <dir> ao final do caminho de inclusão. -nostdinc Não procura no caminho de inclusão de sistema. -o Ficheiro de output. Se não for indicado assume a.out. -lang-c Assume que o ficheiro de input é em C. -w Inibe mensagens de warning. -Werror Trata as mensagens de warning como erros. -M Mostra as dependências de make. -MM Como M, mas ignora os system headers. -MD Como M, mas escreve o output num ficheiro.d. -v Mostra a versão. -H Mostra o nome dos header files à medida que são usados. -E Só executa o pré-processador. -S Executa pré-processador e compilador. -c Executa pré-processador, compilador e assembler. -x Altera tipo de ficheiro origem algumas das opções possíveis são cpp-output e assembler. --help Mostra o ficheiro de help. -g Compila para debbuging. Jorge Pinto Leite Página 4 de 8
7 Debugger O processo de debugging, permitindo a execução de um programa de forma controlada, é um processo muitas vezes fundamental para detecção e correcção de falhas de funcionamento. O debugger do GNU é o gdb. Para o poder utilizar é necessário instruir o sistema que pretendemos fazer o debug do programa através da instrução: $ gcc g teste.c o teste.exe que criará, como já se explicou, um ficheiro executável com o nome teste.exe, mas com informação extra através da opção g (função de debbuging). A sua execução é efectuada com o comando: $ gdb teste.exe que iniciará o interface para o utilizador como se observa na Figura 1. picasso.dei.isep.ipp.pt> gcc g o teste teste.c picasso.dei.isep.ipp.pt> gdb teste GNU gdb Rad Hat Linux (5.2-2) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU Ge neral Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as i386-redhat-linux (gdb) Figura 1 A partir deste ponto há um conjunto de comandos passíveis de dar ao gdb que possibilitam a execução do modo pretendido. Alguns dos comandos são: run [argumentos] break ponto delete N info break help comando step next finish Inicia a execução como se tivesse passado os argumentos na linha de comando. Cria um breakpoint no ponto indicado. Ponto pode ser o nome de uma função ou um número de linha. Cada breakpoint é associado a um número identificativo. O comando break main interrompe no início da execução. Quando o programa está em execução e chega a um breakpoint dá-nos uma mensagem. Elimina o breakpoint com o número N. Se este número for omitido elimina todos os breakpoint activos. Mostra todos os breakpoint activos. Dá informação sobre o comando indicado. Executa uma linha do comando e pára na linha Seguinte. Se a linha contiver uma chamada de função, a linha seguinte é a primeira instrução dessa chamada. Igual ao step mas se a linha corrente contiver uma chamada de função executa-a sem mostrar cada uma das suas instruções. Equivalente a uma sucessão de next s até chegar ao final da Jorge Pinto Leite Página 5 de 8
8 continue where print variável display variável quit list função corrente. Executa o programa sem debbuging até ao próximo breakpoint. Faz uma lista das funções que trouxeram o programa até ao ponto em que está actualmente. Mostra o valor actual da variável, actualizando-a à medida que o programa vai decorrendo. Mostra o valor actual da variável, mas não o actualiza à medida que o programa vai decorrendo. Abandona o gdb. Mostra a rotina em execução. É necessário ter em mente que a utilização do debbuging só terá sentido se ao iniciarmos declararmos pelo menos um ponto de suspensão através da instrução break. Sem isto a sua execução, se bem que acompanhada pelo debbuger, será exactamente igual à obtida sem o recurso ao gdb, operação que se observa na Figura 2. (gdb) list 1 #include <stdio.h> 2 main(void) 3 { 4 int i; 5 for(i=1;i<10;i++) 7 exit(0); 8 } (gdb) break main Breakpoint 1 at 0x : file teste.c, line5. <gdb> run Starting program: /users/2/jpl/so1/teste Breakpoint 1, main () at teste.c: 5 for(i=1;i<10;i++) (gdb) Figura 2 Também se deve ter em mente que a utilização do comando step deverá ser evitada, pois devido às bibliotecas de sistema que são implicitamente incluídas pelo linker poderemos ter um vasto conjunto de mensagens de erro se não tivermos acesso às mesmas. Por esse motivo a instrução preferível para analisar e acompanhar o desempenho da rotina é a instrução next, demonstrada na Figura 3. Na mesma figura chama-se ainda a atenção para a instrução display utilizada para acompanharmos a variação de uma variável, no caso, a variável i. Jorge Pinto Leite Página 6 de 8
9 3 { 4 int i; 5 for(i=1;i<10;i++) 7 exit(0); 8 } (gdb) break main Breakpoint 1 at 0x : file teste.c, line5. <gdb> run Starting program: /users/2/jpl/so1/teste Breakpoint 1, main () at teste.c: 5 for(i=1;i<10;i++) (gdb) next (gdb) display i 1: i = 1 (gdb) next Valor de i: 1 5 for(i=1;i<10;i++) 1: i = 1 (gdb) n 1: i = 2 (gdb) Figura 3 Assumindo que o objectivo de execução com o debbuger já tinha sido obtido, poderíamos abandonar a sua execução ou instruir o debbuger para executar até ao fim, como se vê na Figura 4. 1: i = 6 (gdb) r The program beeing debugged has been started already. Start it from the beginning? (y or n) n Program not restarted (gdb) continue Continuing. Valor de i: 7 Valor de i: 8 Valor de i: 9 Program exited normally. (g db) Figura 4 Convém ainda ter em mente que em qualquer altura se pode instruir o debbuger para recomeçar a execução a partir do seu início, como se mostra na Figura 4. Um outro ponto que igualmente se observa nessa figura é que os comandos podem ser abreviados (note-se o comando r que é reconhecido como run). Jorge Pinto Leite Página 7 de 8
10 1: i = 6 (gdb) r The program beeing debugged has been started already. Start it from the beginning? (y or n) n Program not restarted (gdb) continue Continuing. Valor de i: 7 Valor de i: 8 Valor de i: 9 Program exited normally. (gdb) quit picasso.dei.isep.ipp.pt> Figura 5 Finalmente, e como visualizado na Figura 5, abandonaríamos o debbuger através do comando quit. Exercício proposto Escreva o programa seguinte: #include <stdio.h> main(void) { int i, j; for(i=1;i<=10;i++) for(j=i+1;j<=i+10;j++) printf( Valor de i: %i Valor de j: %i\n,i,j); } a) Compile o programa utilizando as várias opções de criação de código intermédio do compilador, e observe o output gerado. b) Compile o programa por forma a poder executá-lo com o debbuger c) Execute o programa com o debugger e analise a variação das variáveis i e j Jorge Pinto Leite Página 8 de 8
Usando emacs, vim e gdb. Um guia BEM básico
Usando emacs, vim e gdb Um guia BEM básico Fábio Augusto Salve Dias [email protected] Emacs Editor MACroS http://www.gnu.org/software/emacs/ Disponível para inúmeras plataformas Versátil e expansível
O Processo de Programação
Programação de Computadores I Aula 04 O Processo de Programação José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/23 Algoritmo Um algoritmo é uma seqüência de
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
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
Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores
Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação
INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)
Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E 33 2015-2 1 AULA TEÓRICA 2
LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes [email protected]
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes [email protected] Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
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
Nota de Aula: Utilização da IDE Code::Blocks
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO CAMPUS SÃO LUÍS MONTE CASTELO DEPARTAMENTO ACADÊMICO DE INFORMÁTICA SISTEMAS DE INFORMAÇÃO DISCIPLINA: LINGUAGEM DE PROGRAMAÇÃO I PROFESSOR:
Algoritmos e Programação Estruturada
Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.
Introdução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
A Linguagem Pascal e o Ambiente de Programação Dev-Pascal. Introdução à Ciência da Computação I
A Linguagem Pascal e o Ambiente de Programação Dev-Pascal Introdução à Ciência da Computação I Março/2004 Introdução (1 de 3) Homenagem a Blaise Pascal, filósofo e matemático do século XVII. Desenvolvida
ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2005/2006. 0.5 Valores
ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA INTRODUÇÃO À PROGRAMAÇÃO (ENG. INFORMÁTICA) COMPUTADORES E PROGRAMAÇÃO I (ENG. ELECTROTÉCNICA) 2005/2006 TRABALHO PRÁTICO Nº
Guião de Introdução ao Eclipse IDE Índice
Índice 1. Introdução... 2 1.1. O que é um ambiente de desenvolvimento (IDE)?... 2 1.2. Visão geral sobre o Eclipse IDE... 2 2. Iniciar o Eclipse... 3 2.1. Instalação... 3 2.2. Utilizar o Eclipse... 3 3.
Manual de instalação e utilização do software de decriptografia GnuPG (Gnu Pricavy Guard)
Manual de instalação e utilização do software de decriptografia GnuPG (Gnu Pricavy Guard) 1. Objetivo Definir os procedimentos básicos visando a modificação da sistemática atualmente utilizada na remessa
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
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
Curso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente:
Trabalho elaborado por: Carlos Palma nº5608 Curso de Eng. Informática Linguagens de Programação C Sharp University Data Processing (C Sharp Universidade de Processamento de Dados) Docente: José Jasnau
Algoritmos e Programação (Prática) Profa. Andreza Leite [email protected]
(Prática) Profa. Andreza Leite [email protected] 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
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
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
Introdução. Capítulo 1. 1.1. Breve sinopse
Capítulo 1 Introdução 1.1. Breve sinopse O C é uma linguagem de programação criada por Dennis Ritchie no início da década de 70 do século XX. É uma linguagem de complexidade baixa, estruturada, imperativa
Introdução aos Algoritmos e Estruturas de Dados 2011/2012
INSTITUTO SUPERIOR TÉCNICO Introdução aos Algoritmos e Estruturas de Dados 2011/2012 Enunciado do 2 o Projecto Data de entrega: 11 de Novembro de 2011 às 23h59 1 Introdução O EuroMilhões é uma lotaria
Módulo 3936 ASP.NET. Financiado pelo FSE
EISnt Centro de Formação Profissional, Engenharia Informática e Sistemas, Novas Tecnologias, Lda Avª D. João I, nº 380/384 Soutelo 4435-208 Rio Tinto Portal Internet : www.eisnt.com E-Mail : formaçã[email protected]
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,
O que é o JavaScript?
JavaScript Introdução O JavaScript é utilizado por milhões de páginas na web para melhorar o design, validar forms, e muito mais O JavaScript foi inicialmente desenvolvido pela Netscape e é a linguagem
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
Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C
Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Continuando as aulas sobre os fundamentos
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
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:
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
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
Relatório de Instalação do Windows 2003 Server
Curso Profissional de Gestão e Programação de Sistemas Informáticos Relatório de Instalação do Windows 2003 Server Instalação do Windows 2003 Server quarta-feira, 3 de dezembro de 2013 Índice Introdução...
5. Métodos ágeis de desenvolvimento de software
Engenharia de Software 5. Métodos ágeis de desenvolvimento de software Nuno Miguel Gil Fonseca [email protected] Desenvolver e entregar software o mais rapidamente possível é hoje em dia um dos
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
Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada
5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação 9099 : Bioengenharia 10135 : Ciências Biomédicas Cap. 4 Algoritmos e Estruturada Module Introduction Algoritmos e Estruturada Objectivos:
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:
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
Programação de Computadores I. Conhecendo a IDE Code::Blocks
Code::Blocks Conhecendo a IDE Programação de Computadores I Professor: Edwar Saliba Júnior Conhecendo a IDE Code::Blocks Apresentação: 1) Abra a IDE (Integrated Development Environment), ou seja, o Ambiente
Transição de POC para SNC
Transição de POC para SNC A Grelha de Transição surge no âmbito da entrada em vigor, no ano de 2010, do Sistema de Normalização Contabilística (SNC). O SNC vem promover a melhoria na contabilidade nacional,
Bases de Dados. Lab 1: Introdução ao ambiente
Departamento de Engenharia Informática 2010/2011 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo
Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP
AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de
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
Curso de Programação Computadores
3 O Primeiro Programa em C Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 3 O Primeiro Programa em C 3.1 - Introdução Depois dos conceitos
MICROSOFT POWERPOINT
MICROSOFT POWERPOINT CRIAÇÃO DE APRESENTAÇÕES. O QUE É O POWERPOINT? O Microsoft PowerPoint é uma aplicação que permite a criação de slides de ecrã, com cores, imagens, e objectos de outras aplicações,
Laboratório 3 Compilador e IDE. Departamento de Sistemas e Informática. Disciplina de Introdução à Programação Ano Lectivo 2006/2007
Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Laboratório 3 Compilador e IDE Disciplina de Introdução à Programação Ano Lectivo 2006/2007 DSI Escola
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
3 Revisão de Software
1 3 Revisão de Software O software é indispensável para a utilização do hardware. Sem o software para utilizar o computador precisaríamos ter um profundo conhecimento do hardware. Alguns softwares são
LEI Sistemas de Computação 2011/12. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença
LEI Sistemas de Computação 2011/12 Níveis de Abstração TPC4 e Guião laboratorial Luís Paulo Santos e Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------
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
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
Universidade Federal de Minas Gerais Escola de Engenharia Departamento de Engenharia Eletrônica
Universidade Federal de Minas Gerais Escola de Engenharia Departamento de Engenharia Eletrônica Disciplina: Automação em Tempo Real (ELT012) Data: 17/04/2008 Professor: Luiz T. S. Mendes Guia prático para
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...
O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura.
Universidade de Aveiro Departamento de Engenharia Mecânica Informática Industrial 2010/2011 5 PROTOCOLO DE COMUNICAÇÃO MODBUS 5.1 Protocolo de comunicação MODBUS Este protocolo foi proposto em 1979 pela
Engenharia de Software Sistemas Distribuídos
Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 FEARSe Requisitos para a 1 a entrega 18 de Março de 2010 1 Introdução O projecto conjunto das disciplinas de Engenharia de Software
Licenciatura em Engenharia Informática Departamento de Engenharia Informática Instituto Superior de Engenharia do Porto
Licenciatura em Engenharia Informática Departamento de Engenharia Informática Instituto Superior de Engenharia do Porto Sandra Manuela Lemos Machado Versão 2 Março 2002 Criticas e sugestões: [email protected]
Instalação do software cygwin
Instalação do software cygwin O software cygwin permite instalar no sistema operativo Windows um conjunto de programas e ferramentas que reproduzem de forma muito aproximada o ambiente usualmente encontrado
Processamento de dados XML
Processamento de dados XML César Vittori [email protected] Outubro de 2000 Resumo Considerações no desenvolvimento de software para processar dados XML. Processamento de uma DTD para interpretar marcação
IFTO LÓGICA DE PROGRAMAÇÃO AULA 01
IFTO LÓGICA DE PROGRAMAÇÃO AULA 01 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://manoelcampos.com mcampos at ifto.edu.br Versão
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,
UFSM Introdução ao Dev-C++ Profa. Patrícia Pitthan. Introdução ao Dev-C++
Introdução ao Dev-C++ O Dev-C++ oferece um ambiente que integra um editor de textos a um compilador para linguagem C. O compilador usado pelo Dev-C++ é o gcc (Gnu C Compiler). 1) Primeiro programa Para
Editor Eclipse para Programas F
Editor Eclipse para Programas F Guia de instalação e utilização Instalação no Windows (XP/Vista) Comece por descarregar a aplicação de instalação setupcp2008.exe do endereço http://www.math.ist.utl.pt/~jabr/cp/
Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011
Manual de backup do banco de dados PostgreSQL - Versão 2 Setembro-2011 E-Sales Oobj Tecnologia da Informação Av. D, n. 246, Qd. A-04, Lt.02, Ap. 02, Jardim Goiás Goiânia/GO, CEP: 74805-090 Fone: (62) 3086-5750
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,
Hugo Pedro Proença, 2007
Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações
Software Básico (INF1018)
Software Básico (INF1018) http://www.inf.puc-rio.br/~inf1018 Noemi Rodriguez ([email protected]) Ana Lúcia de Moura ([email protected]) 1 Objetivo do curso Entender como funciona um computador típico,
LEI Sistemas de Computação 2014/15. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença
LEI Sistemas de Computação 2014/15 Níveis de Abstração TPC4 e Guião laboratorial Luís Paulo Santos e Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------
MC-102 Aula 01. Instituto de Computação Unicamp
MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2015 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos
Linguagem de Programação I
Linguagem de ção I Curso de Sistemas de Informação Karla Donato Fook karladf@ifmaedubr DESU / DAI 2015 O que é um programa de computador? 2 1 de computador E_1 E_n Resultado Entrada(s) Processamento Saída(s)
Construção Páginas de Internet
Construção Páginas de Internet Definir um Site no Frontpage Objectivos da sessão: No final da sessão os formandos deverão ser capazes de: Saber o que são os metadados do Frontpage; Distinguir entre Sites
Tarefa Orientada 2 Visual Studio 2005 e Visual C#
Tarefa Orientada 2 Visual Studio 2005 e Visual C# Nesta tarefa é proposta a realização de um conjunto de actividades que têm como finalidade a familiarização com o programa e adquirir alguma destreza na
Engenharia de Software
Engenharia de Software Objectivos Indicação onde são utilizados os computadores Primeiro programa em C++ Etapas básicas do desenvolvimento de programas Projecto centrado nos objectos Classes e programação
MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores
MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores 1. Objetivos Situar a atividade de programação de computadores Apresentar conceitos fundamentais relativos
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
Introdução ao PHP. Prof. Késsia Marchi
Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext
Conceitos básicos da linguagem C
Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por
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
Usando o simulador MIPS
Usando o simulador MIPS O objetivo desta aula prática será a utilização do simulador MipsIt para executar programas escritos em linguagem de máquina do MIPS. 1 Criando um projeto Cada programa a ser executado
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
Tarefa Orientada 15 Manipulação de dados
Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE
Aplicações de Escritório Electrónico
Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho
OPERADORES E ESTRUTURAS DE CONTROLE
OPERADORES E ESTRUTURAS DE CONTROLE 3.1 Operadores Os operadores indicam o tipo de operação matemática que será executada gerando novos valores a partir de um ou mais operadores. São muito utilizados em
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
Capítulo 2: Introdução à Linguagem C
Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso
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 [email protected] http://www.brunovilela.webnode.com.br Programas e Linguagens Para executar uma tarefa
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.
Java. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.
Aula 2 Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4. Conceitos O software controla os computadores(freqüentemente conhecido
Manual de Utilizador. CNCVisual. Julho de 2006. Âmbito do Projecto de 5º Ano de Engenharia Mecânica. Autor: Bruno Lameiro
Manual de Utilizador CNCVisual Julho de 2006 Âmbito do Projecto de 5º Ano de Engenharia Mecânica Autor: Bruno Lameiro Introdução: A existência do manual de utilizador da aplicação CNCVisual tem como objectivo
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado
Escola Básica e Secundária de Velas Planificação de TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC Curso Profissional de Técnico de Secretariado 10º C MÓDULO 1 FOLHA DE CÁLCULO Microsoft Excel Conteúdos
Professora Martha Spalenza Professora de Informática da Faetec
Ambiente de Desenvolvimento JCreator Como criar um programa utilizando o JCreator O kit de programas da linguagem Java fornecido pela Sun Microsystems, a criadora do Java, compõe-se do compilador (o gerador
