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

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

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

Transcrição

1 3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3.1. Compilação de um Programa C O compilador C realiza a compilação do código-fonte de um programa em cinco etapas: edição, pré-processamento, compilação, montagem e ligação. Essas etapas de processamento são ilustradas na Figura 16. Figura 16: Processo de compilação de um programa C Edição A etapa de edição consiste de um programa de edição para editar e/ou corrigir um programa C. Durante esta etapa os arquivos do programa C devem ser então armazenados em um dispositivo de armazenamento secundário, como por exemplo, o disco.

2 Os arquivos dos programas C devem ter a extensão.c Pré-processamento A etapa de pré-processamento é responsável por modificar o código-fonte do programa lexicamente. É nesta etapa que ocorre a suspensão de espaços desnecessários, substituição de macros e a inclusão de outros códigos (através das diretivas de pré-processamento). Esta etapa gera um código chamado de unidade de compilação. É possível realizar apenas a etapa de pré-processamento, através do comando gcc. Para isso, basta utilizar o seguinte comando: gcc E <nome_programa>.c (mostra a unidade de compilação no terminal). Pode-se usar também a opção o par armazenar a saída em um arquivo (gcc E <nome_programa>.c o <nome_unidade>.e) Compilação É na compilação que o compilador faz a análise sintática e semântica da unidade de compilação. Não havendo erro de sintaxe e de semântica o compilador gera o código assembly correspondente. A opção S do gcc realiza a geração do código assembly e permite armazenar em um arquivo com a extensão.s (gcc S <nome_programa>.c) Montagem A etapa de montagem é responsável por gerar o código-objeto. Ou seja, é nessa etapa que os comandos assembly são transformados em linguagem de máquina.

3 A opção c do gcc realiza a geração do código-objeto e permite armazenar em um arquivo com a extensão.o (gcc c <nome_programa>.c) Ligação Essa é a etapa final, onde ocorre a combinação de todos os códigos-objetos que compõem um programa C. O resultado desta etapa é um código executável Estrutura de um Programa C Um programa C consiste em uma função ou várias funções, onde, a forma geral de uma função em C é a seguinte: <tipo de retorno> <nome da função>(<lista de parâmetro>) { instrução1; instrução2;... instrução; return <valor>; } Um programa C precisa ter uma função principal, que deve ser chamada de main, para inicia a execução do programa. Em todo programa C deve existir uma função chamada main. E essa função marca o ponto inicial do programa e a execução do programa só termina quando a função main encerrar. A função main, retornar um valor inteiro e pode ou não possuir parâmetros. Inicialmente vamos considerar a estrutura da função main, sem parâmetro, como mostrado no Programa 1. Programa 1: Primeiro código de um programa C 1 #include <stdio.h> 2 3 int main(void) { 4 printf( Meu primeiro programa!\n ); 5 return 0; 6 }

4 A primeira linha do Programa 1 não é uma instrução da linguagem C (não tem ponto-e-vírgula no final), ela é uma diretiva de pré-processamento (#include <stdio.h>), necessária para o compilador verificar a referência à função printf. A diretiva de pré-processamento include é responsável por incluir um arquivo no código-fonte, antes da compilação. Ou seja, o compilador substitui a linha contendo essa diretiva pelo conteúdo de arquivos-cabeçalho antes de compilar o programa. As diretivas de pré-processamento é iniciada pelo símbolo # e não fazem parte da linguagem C e só servem para auxiliar no desenvolvimento do código-fonte. A função main está definida nas linhas 2 a 6. Na linha 4 existe uma chamada a função printf (O resultado dessa chamada é a impressão dos caracteres entre aspas Meu primeiro programa!). O comando da linha 5, retorna para o sistema operacional o valor 0 (zero) e interrompe a execução do programa Biblioteca Padrão A linguagem C disponibiliza um conjunto de bibliotecas (conjunto de funções) para serem incorporadas aos programas dos usuários. Onde as funções dessas bibliotecas são declaradas em arquivos-cabeçalhos, que são organizados por finalidade ou área de aplicação. As funções de entrada (scanf) e saída (printf) são declaradas no arquivo-cabeçalho chamado stdio.h e as funções matemáticas são declaradas no arquivo-cabeçalho math.h Arquivos-cabeçalhos do Sistema Os arquivos-cabeçalhos do sistema contêm as declarações das variáveis e funções dos objetos armazenados na biblioteca padrão. Os arquivos-cabeçalhos do sistema são referenciados entre chaves angulares (< e >), para que o compilador interprete como uma referência a um arquivo-cabeçalho do sistema. Os arquivoscabeçalhos do sistema são criados durante a instalação do compilador.

5 Arquivos-cabeçalhos do usuário Os arquivos-cabeçalhos do usuário são declarações de funções e variáveis desenvolvidas pelo usuário (programador) e que ele deseja que elas sejam disponibilizadas para outros programas. O compilador interpreta uma referência a um arquivo-cabeçalho do usuário através de aspas duplas ( ) Comandos de Compilação O comando mais simples do compilador gcc, mostrado abaixo, realiza todas as etapas da compilação, bastando somente relacionar o código-fonte, do programa C, que quer compilar e gera um código executável com o nome a.out. gcc <nome_programa>.c Dica Compilando o programa com a opção de compilação o (gcc <nome_programa>.c o <nome_executavel>) faz o código executável ser armazenado em um arquivo executável. A Tabela 2 apresenta alguns dos comandos de compilação do gcc usados para compilar programas C. gcc prog.c Tabela 2: Alguns comandos de compilação do compilador gcc. Comandos Descrição gcc prog.c aux.c io.c gcc prog.c o exe gcc prog.c aux.c io.c o exe Compila o programa prog.c e gera um executável a.out. Compila o programa prog.c e os códigos distribuídos aux.c e io.c e gera um executável a.out. Compila o programa prog.c e gera um executável exe. Compila o programa prog.c e os códigos distribuídos aux.c e io.c e gera um executável exe.

6 3.4. Laboratório: Compilando o Primeiro Programa C Este laboratório tem como finalidade mostrar como pode ser feita a compilação de um programa C. Um programa em C é dividido em vários arquivos, que são usados para formar um único arquivo executável. Compilar um programa C significa transformar o código-fonte em uma linguagem que será entendida e interpretada pelo sistema computacional alvo. O objetivo deste laboratório é mostrar através de um exemplo, algumas maneiras de compilar um programa em C Programa Exemplo Digite o código-fonte apresentado no Programa 1, da seção 3.2, em um arquivo texto e salve com o nome primeiro_programa.c. O Programa 1, faz uso de uma biblioteca padrão (biblioteca de entrada/saída) stdio.h, necessária para o compilador verificar a referência à função printf, causando a impressão do argumento passado a essa função. Recomendação O código deve ser digitado da mesma forma, ou seja, todos os caracteres devem ser digitados da forma mostrada, respeitando o uso de maiúsculas e minúsculas e colocando o ponto e vírgula no final de cada instrução. Pois, é muito comum programadores iniciantes esquecerem os caracteres como: chaves, aspas e ponto e vírgula. Outros detalhes desse código serão discutidos apenas nos capítulos subsequentes. Dica Cuidado para que o nome do arquivo-fonte criado não tenha extensões escondidas. Alguns editores de texto (Windows) costumam colocar a extensão.txt no nome do arquivo, fazendo o arquivo ficar com o nome primeiro_programa.c.txt Compilação Em um terminal, e no mesmo diretório em que se encontra o arquivo primeiro_programa.c, digite o comando:

7 gcc primeiro_programa.c o primeiro_programa Esse comando ira compilar o código-fonte. E a compilação dever ocorrer sem mensagem de erro e o programa executável terá o nome primeiro_programa. Execute o programa, e observe a impressão da mensagem: Meu primeiro programa! no terminal, como mostra a Figura 17. Figura 17: Execução do primeiro programa C Dica Se o comando gcc não puder ser executado, é possível que o seu ambiente não esteja identificando o local onde o compilador está instalado. Geralmente o problema está relacionado à variável de ambiente (PATH). O Uso do ponto seguido da barra inclinada é usado para executar o programa, em sistemas em que o diretório local não faz parte do caminho-padrão dos arquivos executáveis (Linux). Mas em alguns sistemas como o Windows, basta digitar primeiro_programa.

8 Exercícios 1. Descreva e explique cada etapa do processo de compilação. 2. Quais são as extensões do código-fonte, código-objeto e código assembly? 3. O que cada comando de compilação abaixo faz: a) gcc c programa_a.c b) gcc programa_b.c o programa_b.exe c) gcc E programa_c.c d) gcc S programa_d.c e) gcc programa_e.o f) gcc programa_f.s o programa_f 4. O que será impresso pelo programa a seguir? 1 #include <stdio.h> 2 int main(void){ 3 printf( Fundamentos de programação usando C ); 4 return 0; 5 } 5. Quantas funções são chamadas no interior da função main do programa da questão anterior? 6. Utilize o compilador gcc para gerar o assembly do programa a seguir: 1 #include <stdio.h> 2 int main(void){ 3 int x; 4 x = 2; 5 return 0; 6 } 7. O seguinte programa pode ter um erro de tempo de execução em: 1 #include <stdio.h> 2 int main(void){ 3 printf( Fundamentos de programação usando C ); 4 return 0; 5 }

9 8. Escreva um programa que imprima no terminal a seguinte saída: A diretiva #include é: a) Uma instrução da linguagem C. b) Uma instrução do compilador gcc. c) Uma instrução do pré-processamento. d) Uma instrução do sistema operacional e) Uma instrução do editor de texto. 10. Os arquivos-cabeçalhos incluídos pela diretiva #include servem para: a) Auxiliar o compilador a compilar o código-fonte. b) Auxiliar o programador na escrita do programa C. c) Executar instruções. d) Incluir programas no código-fonte do programa C. e) Nomear arquivos escondidos.

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

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

Leia mais

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

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

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de ção I Curso de Sistemas de Informação Karla Donato Fook karladf@ifmaedubr DESU / DAI 2016 O que é um programa de computador? 2 1 de computador E_1 E_n Resultado Entrada(s) Processamento Saída(s)

Leia mais

Montadores e Compiladores

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

Leia mais

TUTORIAL MATLAB Victor Breder 2016

TUTORIAL MATLAB Victor Breder 2016 TUTORIAL MATLAB Victor Breder 2016 1. INTERFACE A. Caminho de trabalho Mostra o caminho pasta raiz que será considerada para executar scripts e funções criados pelo usuário. B. Pasta de trabalho Mostra

Leia mais

Tipos Abstratos de Dados (TAD)

Tipos Abstratos de Dados (TAD) Instituto de C Tipos Abstratos de Dados (TAD) Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Módulos e Compilação em separado

Leia mais

Linguagens de Programação:

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

Leia mais

Conhecendo a Linguagem de Programação C

Conhecendo a Linguagem de Programação C Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

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

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

Leia mais

Introdução. Algoritmos

Introdução. Algoritmos Introdução Aqui introduzimos o funcionamento básico dos computadores e ensinamos como podemos utilizá-los e programá-los para realizar tarefas de nosso interesse. Algoritmos Um algoritmo é uma seqüência

Leia mais

Linguagem de Programação C. Prof. Fabrício Olivetti de França

Linguagem de Programação C. Prof. Fabrício Olivetti de França Linguagem de Programação C Prof. Fabrício Olivetti de França Linguagem C 2 Linguagem C Imperativo e estruturado Pequeno conjunto de palavras-chaves, operadores, etc. Tipagem estática, porém fraca Permite

Leia mais

Orientação a Objetos

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

Leia mais

Introdução ao reconhecimento de padrões e expressões regulares; Aprendizagem dos conceitos através da realização de alguns exercícios;

Introdução ao reconhecimento de padrões e expressões regulares; Aprendizagem dos conceitos através da realização de alguns exercícios; Capítulo 1 Introdução ao Flex Objectivos: Familiarização com a ferramenta FLEX; Introdução ao reconhecimento de padrões e expressões regulares; Aprendizagem dos conceitos através da realização de alguns

Leia mais

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

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

Leia mais

BEMATECH PDV - CONFIGURAÇÃO

BEMATECH PDV - CONFIGURAÇÃO BEMATECH PDV - CONFIGURAÇÃO Para configurar o PDV abra a pasta C:\PDVARQ e execute o aplicativo SETUPPDV.EXE. Entre com o usuário e a senha do SUPERVISOR. Entre com o usuário e a senha do SUPERVISOR. Será

Leia mais

Introdução a Funções

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

Leia mais

Ambiente de desenvolvimento

Ambiente de desenvolvimento Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa

Leia mais

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho O que é Microsoft Excel? Microsoft Excel O Microsoft Excel é um programa para manipulação de planilhas eletrônicas. Oito em cada dez pessoas utilizam o Microsoft Excel pra trabalhar com cálculos e sistemas

Leia mais

MANUAL SERVIÇOS E AGENDAMENTO

MANUAL SERVIÇOS E AGENDAMENTO MANUAL SERVIÇOS E AGENDAMENTO Versão 1.0 Novembro 2013 ÍNDICE 1 SERVIÇOS NO AUTOSYSTEM...3 2 CRIAR SERVIÇO E AGENDAR TAREFA...3 2.1 Criar Serviço e Agendar Tarefas no Ubuntu-LINUX...4 2.1.1 Como Usar o

Leia mais

TUTORIAL DO SISTEMA CE MERCANTE

TUTORIAL DO SISTEMA CE MERCANTE TUTORIAL DO SISTEMA CE MERCANTE Atualizado em: 06/2013 Atualizado por: Amilton José dos Santos Junior Versão: 1.0 1 Sistema desenvolvimento para auxiliar as Comissárias de Despacho, Agentes de Carga e

Leia mais

Admistração de Redes de Computadores (ARC)

Admistração de Redes de Computadores (ARC) Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br Shell Quem usa Linux conhece

Leia mais

O AMBIENTE DELPHI. Programação de Computadores.

O AMBIENTE DELPHI. Programação de Computadores. O AMBIENTE DELPHI Programação de Computadores Profº.: Cristiano Vieira cvscaminha@hotmail.com A IDE (Integrated Development Environment) do Delphi consiste em quatro partes principais: JanelaPrincipal(1)

Leia mais

Sistemas Distribuídos Capítulo 4 - Aula 5

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

Leia mais

Departamento de Engenharia Informática. Sistemas Operativos 1. Utilitário Make

Departamento de Engenharia Informática. Sistemas Operativos 1. Utilitário Make Departamento de Engenharia Informática Sistemas Operativos 1 Utilitário Make Março 2003 1. Modelo de Compilação da Linguagem C Compilar um programa muito simples em C requer, pelo menos, o ficheiro de

Leia mais

Fundamentos de Arquitetura e Organização de Computadores

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

Leia mais

Administração de Redes. Permissões gnu/linux

Administração de Redes. Permissões gnu/linux Administração de Redes Permissões gnu/linux As permissões são um dos aspectos mais importantes do Linux (na verdade, de todos os sistemas baseados em Unix). Elas são usadas para vários fins, mas servem

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais Introdução aos Sistemas Operacionais Prof. M.e Helber Wagner da Silva helber.silva@ifrn.edu.br Maio de 2014 Roteiro Introdução Estrutura e Funções do Sistema Operacional Sistemas Operacionais existentes

Leia mais

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA Curso de Sistemas de Informação Disciplina: Algoritmos 1º e 2º Períodos Turmas 216071A, 216071B e 216062 Notas de Aula Aulas 07, 08 e 09. Professor: Edkallenn Aula 07 Variáveis Talvez o conceito de variável

Leia mais

CARTILHA UTILIZAÇÃO DE PEN DRIVES NAS ESTAÇÕES DE TRABALHO DO TJPE NOVAS REGRAS DE UTILIZAÇÃO

CARTILHA UTILIZAÇÃO DE PEN DRIVES NAS ESTAÇÕES DE TRABALHO DO TJPE NOVAS REGRAS DE UTILIZAÇÃO CARTILHA UTILIZAÇÃO DE PEN DRIVES NAS ESTAÇÕES DE TRABALHO DO TJPE NOVAS REGRAS DE UTILIZAÇÃO Cartilha para utilização de pen drives nas estações de trabalho do TJPE Novas regras de utilização 1º Edição

Leia mais

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito

Leia mais

Algoritmo e Pseudo-código

Algoritmo e Pseudo-código Departamento de Sistemas de Computação Universidade de São Paulo Algoritmo e Pseudo-código Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br) Objetivos do Curso Desenvolver o Pensamento Computacional

Leia mais

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

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

Leia mais

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

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

Leia mais

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

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

Leia mais

MANUAL DE UTILIZAÇÃO DO AUTO ATENDIMENTO SETOR PÚBLICO DO BANCO DO BRASIL

MANUAL DE UTILIZAÇÃO DO AUTO ATENDIMENTO SETOR PÚBLICO DO BANCO DO BRASIL PREFEITURA DE JUIZ DE FORA SECRETARIA DA FAZENDA SUBSECRETARIA DO SISTEMA DE CONTROLE INTERNO DEPARTAMENTO DE NORMAS TÉCNICAS MANUAL DE UTILIZAÇÃO DO AUTO ATENDIMENTO SETOR PÚBLICO DO BANCO DO BRASIL DATA:

Leia mais

Dada uma gramática GLC G: Obter G tal que L(G )=L(G) e G seja LL(1); Conforme a conveniência, efetuar eliminação de regras e de recursões à direita, usando a notação EBNF; Criar, para cada símbolo não-terminal

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Evolução e Desempenho dos Computadores Slide 1 Conceitos Arquitetura do Computador Refere-se aos atributos que são visíveis para o programador. Ex: conjunto

Leia mais

Atualizações de Software Guia do Usuário

Atualizações de Software Guia do Usuário Atualizações de Software Guia do Usuário Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada da Microsoft Corporation nos Estados Unidos. As informações contidas neste

Leia mais

Primeiros programas.

Primeiros programas. Primeiros programas. David Déharbe 1 1 Objetivos da aula Revisar as atividades "edição", "compilação", ("correção" e) "execução". Revisar os primeiros elementos de linguagem C já vistos. Aprender a escrever

Leia mais

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

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

Leia mais

Atualização de Software Guia do Usuário

Atualização de Software Guia do Usuário Atualização de Software Guia do Usuário Copyright 2009 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada da Microsoft Corporation nos Estados Unidos. As informações contidas neste

Leia mais

Linux e Computação Científica

Linux e Computação Científica Linux e Computação Científica Sumário Motivação Noções de Sistemas Operacionais Ferramental Computação Científica Motivação Financeira Linux é livre Desempenho Linux gerencia melhor recursos de processdor,

Leia mais

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

Leia mais

Estrutura de Dados Prof. a Mariella Berger. Trabalho 2 - Freecell

Estrutura de Dados Prof. a Mariella Berger. Trabalho 2 - Freecell Estrutura de Dados Prof. a Mariella Berger Trabalho 2 - Freecell 1. Objetivo O objetivo deste trabalho é implementar o jogo Freecell utilizando a estrutura Pilha (stack). Freecell é um jogo de cartas que

Leia mais

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br

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

Leia mais

Prova Modelo. Nome: Número:

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

Leia mais

Remoto Serial v. 1.0 Beta 10/8/2003 00:41:04

Remoto Serial v. 1.0 Beta 10/8/2003 00:41:04 Remoto Serial v. 1.0 Beta 10/8/2003 00:41:04 Página: 1 Remoto Serial v. 1.0 Beta Copyright Renie S. Marquet Junho/2003 Este Software é livre para utilização Não comercial. É vedada a utilização para fins

Leia mais

Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes honoratonunes@gmail.com

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

Leia mais

Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos

Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos Referências Programação de Computadores II Cap. 7 Cadeias de Caracteres Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004) Capítulo 7 Livro: Waldemar

Leia mais

9. Tipos Abstratos de Dados

9. Tipos Abstratos de Dados 9. Tipos Abstratos de Dados R. Cerqueira, W. Celes e J.L. Rangel Neste capítulo, discutiremos uma importante técnica de programação baseada na definição de Tipos Abstratos de Dados (TAD). Veremos também

Leia mais

O Sistema de Computação

O Sistema de Computação Departamento de Ciência da Computação - UFF O Sistema de Computação Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br O Sistema de Computação Capítulo 2 Livro do Mário Monteiro Componentes

Leia mais

Introdução à Ciência da Informação

Introdução à Ciência da Informação Introdução à Ciência da Informação Prof. Edberto Ferneda Software 1 Software Níveis de Software Hardware Software Aplicativos Software Tipos de Software Softwares Aplicativos de Sistema (Utilitários) Finalidades

Leia mais

21 Strings. 21.1 O que são strings? 21.2 Leitura de Strings. Ronaldo F. Hashimoto e Carlos H. Morimoto

21 Strings. 21.1 O que são strings? 21.2 Leitura de Strings. Ronaldo F. Hashimoto e Carlos H. Morimoto 21 Strings Ronaldo F. Hashimoto e Carlos H. Morimoto Oobjetivodestaaulaéintroduziroconceitodestrings. Aofinaldessaaulavocêdeverásaber: Descrever o que são strings. Descrever a distinção entre strings evetoresdecaracteres.

Leia mais

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS Linguagem C Introdução à Programação C Introdução à Ciência da Computação I Prof. Denis F. Wolf Origem de C está associada ao sistema Unix Histórico: 1970: Ken Thompson desenvolve B, baseada em BCPL, para

Leia mais

Manual do Usuário SISCOLE - Sistema de Cadastro de Organismos e Laboratórios Estrangeiros

Manual do Usuário SISCOLE - Sistema de Cadastro de Organismos e Laboratórios Estrangeiros Manual do Usuário SISCOLE - Sistema de Cadastro de Organismos e Laboratórios Estrangeiros MANUAL DO USUÁRIO 1. SOBRE O SISTEMA 1.1 Informações básicas Nome: SISCOLE - Sistema de Cadastro de Organismos

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

3 Cadeias de Caracteres

3 Cadeias de Caracteres INF1007: Programação 2 3 Cadeias de Caracteres 05/03/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Caracteres Cadeias de caracteres Leitura de caracteres e cadeias de caracteres Exemplos de funções que

Leia mais

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:

Leia mais

Introdução à Programação Aula 06. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 06. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação ESCOPO DE VARIÁVEIS 2 Escopo de variáveis O escopo de uma variável é

Leia mais

Aula 1 Apresentação do Curso

Aula 1 Apresentação do Curso Departamento de Sistemas de Computação Universidade de São Paulo SSC 502 Laboratório de Introdução a Ciência de Computação I Aula 1 Apresentação do Curso Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br)

Leia mais

Aula 05 Instalação e Uso do Arcabouço. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016

Aula 05 Instalação e Uso do Arcabouço. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016 Aula 05 Instalação e Uso do Arcabouço Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016 Sumário Teste automatizado Instalação do arcabouço. Estrutura de diretórios do arcabouço. Como utilizar

Leia mais

Exercícios: Vetores e Matrizes

Exercícios: Vetores e Matrizes Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Escreva um programa que leia 10 números

Leia mais

Escrito por Bruno Crivelari Sanches Qui, 01 de Outubro de 2009 23:16 - Última atualização Ter, 13 de Setembro de 2011 12:45

Escrito por Bruno Crivelari Sanches Qui, 01 de Outubro de 2009 23:16 - Última atualização Ter, 13 de Setembro de 2011 12:45 No tutorial anterior vimos como instalar e como criar um programa de teste no visual, agora vamos nos aprofundar um pouco mais no sistema de build do visual. Sobre o Visual C++ 2010 Este artigo foi escrito

Leia mais

Maratona de Programação - Dicas Para Iniciantes

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

Leia mais

1. Estrutura de Dados

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

Leia mais

Aplicativo da Cultura

Aplicativo da Cultura Aplicativo da Cultura Instruções de Uso 1. Como definir um usuário administrador. É considerado um usuário administrador aquele que possui algumas permissões especiais. Apesar disso, ele não poderá incluir

Leia mais

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário!

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! ALGORITMOS E ESTRUTURAS DE DADOS I DCC/UFMG Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário! Pedro O.S. Vaz de Melo May 29, 2013 1 DESCRIÇÃO DO PROBLEMA O objetivo deste trabalho

Leia mais

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C 1 Implementações básicas : a) Implementar a função LerValorValido que verifica se um valor introduzido pelo utilizador pertence ao conjunto limitado por dois dados valores

Leia mais

Backup e Recuperação Guia do Usuário

Backup e Recuperação Guia do Usuário Backup e Recuperação Guia do Usuário Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada da Microsoft Corporation nos Estados Unidos. As informações contidas neste documento

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software Processo de Desenvolvimento de Software Programação Orientada a Objetos Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Processo de Desenvolvimento de Software O desenvolvimento de software é uma

Leia mais

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26 Sistemas de Objetos Distribuídos Revisão Java e Java ORBs Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosRevisão Java e

Leia mais

3.1 - Funções para manipular dados de entrada e saída padrão

3.1 - Funções para manipular dados de entrada e saída padrão 1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado

Leia mais

16. Compilação no Linux

16. Compilação no Linux 16. Compilação no Linux 16.1 Compilador X Interpretador Um código fonte pode ser compilado ou interpretado. Compiladores e interpretadores tratam o código de maneira diferente. Interpretador: Lê o código

Leia mais

MC-102 - Teste de Mesa e Comandos Repetitivos

MC-102 - Teste de Mesa e Comandos Repetitivos MC-102 - Teste de Mesa e Comandos Repetitivos Elaborado por Raoni Teixeira e Editado por Danillo Roberto Pereira Instituto de Computação Unicamp Primeiro Semestre de 2013 Introdução Introdução Pode acontecer

Leia mais

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

FUNDAMENTOS DE WINDOWS INFORMÁTICA / IFRN/PRONATEC 1. O Windows

FUNDAMENTOS DE WINDOWS INFORMÁTICA / IFRN/PRONATEC 1. O Windows Disciplina de Informática Fundamentos de Windows FUNDAMENTOS DE WINDOWS INFORMÁTICA / IFRN/PRONATEC 1 O Windows Mais do que um simples pano de fundo, a Área de Trabalho (desktop, em inglês) é um elemento

Leia mais

Comandos de Desvio 1

Comandos de Desvio 1 Programação de Computadores I UFOP DECOM 2014 1 Aula prática 3 Comandos de Desvio 1 Sumário Resumo Nesta aula você irá resolver problemas que requerem uma decisão com base em um teste, ou condição. Para

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o

Leia mais

Do alto-nível ao assembly

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

Leia mais

Circuito Decodificador BCD para Display de Sete Segmentos

Circuito Decodificador BCD para Display de Sete Segmentos Prática 5 Linguagem VHDL Prof. Cesar da Costa Circuito Decodificador BCD para Display de Sete Segmentos Um dos métodos mais simples para apresentação de dígitos alfanuméricos, em circuitos digitais, é

Leia mais

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

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

Leia mais

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

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

Leia mais

TOTVS Microsiga Protheus Gestor de Configuração

TOTVS Microsiga Protheus Gestor de Configuração 14/06/2011 Sumário Sumário... 2 1 Conceitos Básicos... 3 1.1 Requisitos Básicos do Sistema... 3 2 Nova Funcionalidade... 4 2.1 Exemplo de Configuração... 4 2.2 Ambientes... 5 2.3 Base de Dados... 5 2.4

Leia mais

Histórico e Evolução da Computação

Histórico e Evolução da Computação Lista de Exercícios Introdução à Informática Professor: Sérgio Salazar Histórico e Evolução da Computação O 1º computador foi o ENIAC, utilizado para montar tabelas para o cálculo de projéteis na 2ª Guerra

Leia mais

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante Microcontroladores e Microprocessadores Conversão de Bases Prof. Samuel Cavalcante Conteúdo Conversão de Qualquer base para Decimal Decimal para Binário Hexadecimal para binário Componentes básicos de

Leia mais

Programação Básica. Estrutura de um algoritmo

Programação Básica. Estrutura de um algoritmo Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse

Leia mais

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Linguagem C Introdução Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Porquê C em AC? A linguagem C fornece um modelo de programação próximo da máquina física

Leia mais

Laboratório de Introdução à Ciência da Computação I

Laboratório de Introdução à Ciência da Computação I Laboratório de Introdução à Ciência da Computação I Aula 1 - Estrutura Sequencial Professores: Vanderlei Bonato (responsável) - vbonato@icmc.usp.br Roberto de M. F. Filho (aluno PAE) - rmdff@icmc.usp.br>

Leia mais

Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD Conversão Visualg à C++ Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Unidade 01-a Algoritmos e Programação Seção 1.1 Visualg 2 Formato do Visualg algoritmo nome do algoritmo // Função: // Autor: // Data:

Leia mais

Introdução à Programação Aula 16. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 16. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 16 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA C É COMPILADO? 2 Compilação de um Programa A compilação

Leia mais

PROVA DE NOÇÕES DE INFORMÁTICA

PROVA DE NOÇÕES DE INFORMÁTICA 16 PROVA DE NOÇÕES DE INFORMÁTICA QUESTÃO 51: Em um computador com o sistema operacional Windows 2000, um usuário possui a seguinte configuração de permissões sobre um arquivo: As opções abaixo representam

Leia mais

4. Estruturas Fundamentais de Programação em C

4. Estruturas Fundamentais de Programação em C 4. Estruturas Fundamentais de Programação em C 4.1. Imprimindo Mensagens e Valores no Monitor de Vídeo A biblioteca de entrada e saída (stdio.h) possui a função printf que imprime mensagens e valores diretamente

Leia mais

Manual Processos Produção

Manual Processos Produção Manual Processos SUPERANDO DESAFIOS Identificação: 12.06a Autora: Laila M G Gechele Doc. VRS. 1.0 Aprovado em: Revisor: Nota de copyright Copyright 2012 Teorema Informática, Guarapuava. Todos os direitos

Leia mais

BC1424 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros, estruturas e alocação de memória

BC1424 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros, estruturas e alocação de memória BC1424 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros, estruturas e alocação de memória Prof. Jesús P. Mena-Chalco 1Q-2016 1 Cloud9 Crie uma conta no c9.io Apenas é requerido criar uma área (máquina

Leia mais

COMPILAÇÃO. Ricardo José Cabeça de Souza

COMPILAÇÃO. Ricardo José Cabeça de Souza COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo

Leia mais