Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre
|
|
- Tomás Canela Caminha
- 8 Há anos
- Visualizações:
Transcrição
1 Programação MEAer Bertinho Andrade da Costa 2011/2012 1º Semestre Instituto Superior Técnico Introdução ao Pré-Processador Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 1
2 Sumário Introdução ao pré-processador Directivas #include <ficheiro> #include ficheiro #define macro Utilização de ficheiros de include com protótipos do programador Compilação condicional Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 2
3 O pré-processador é uma aplicação que é utilizada antes do compilador e tem como finalidade analisar um ficheiro fonte em C, de modo a executar um conjunto de acções em função das directivas que se encontram no ficheiro com o código fonte. Existem três tipos de acções que são realizadas pelo préprocessador: Inclusão do conteúdo de ficheiros com definições. Definição de macros. Inclusão ou exclusão de código do programa que vai ser compilado. (Normalmente utilizado para obter programas mais rápidos) Pré-processador Compilador Código fonte Código intermédio Código objecto Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 3
4 Na prática, uma directiva corresponde a uma linha que começa com o carácter cardinal # Inclusão de ficheiros: Exemplos: #include <stdio.h> Indica que a linha deve ser substituida pelo conteúdo do ficheiro stdio.h que se encontra no directório standard de includes do compilador #include def.h Indica que a linha deve ser substituida pelo conteúdo do ficheiro def.h que se encontra no directório de trabalho corrente. Nota: Também pode ser especificado o caminho do ficheiro conjuntamente com o nome do ficheiro. Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 4
5 Definição de macros. Uma macro corresponde a um comando tem uma determinada sintaxe que ao ser processada pelo pré-processador gera instruções da linguagem C que são incluidas no código intermédio do programa que vai ser compilado. Existem dois tipos diferentes de macros, o formato simples e o formato parametrizado. A sintaxe do formato simple assume o aspecto seguinte, #define nome descrição NOTA: nome representa o nome da macro, e a descrição (corpo da macro) contém o texto que é utilizado para gerar a(s) instrução(ões) de código C. Após a definição da macro é pode ser utilizada até que seja apagada com, #undef nome Quando o pré-processador encontra o nome da macro no programa fonte gera as instruções da linguagem C aproriadas. No caso mais simples consiste numa operação de substituição do nome da macro pelo corpo da macro. As directivas são definidas numa única linha. (Se for necessário mais de uma linha é necessário utiliza // para continuar a directiva da linha seguinte. Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 5
6 Definição de macros simples. Exemplos: #define EURO Indica que devem ser realizadas substituições do símbolo EURO por ao longo do ficheiro. A utilização do define permite melhorar a legibilidade do código através da atribuição de nomes sugestivos a constantes. #define FALSO 0 #define FLUSH while (getchar()!= \n ) { #define DIMENSAO_VECTOR1 100 #define MSG_ERRO Ocorreu um erro. Atenção: Os comandos das macros não terminam com o ponto e vírgula. Nos exemplos acima quando o pré-processador encontra o nome da macro no código fonte, realiza a acção de substituição do nome da macro pelo respectivo corpo da macro. Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 6
7 Exemplo: Directivas Ficheiro: main.c #include <stdio.h> #include converte.c #define FLUSH while (getchar()!= \n ) { Ficheiro: converte.c #define EURO (200.48) float converte (float escudos) { int main (void) { float escudos; float euros; return (escudos / EURO); printf( Escudos = ); scanf( %f, &escudos); FLUSH euros = converte(escudos); printf( Euros = %.2f, euros); return (0); Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 7
8 Exemplo: O resultado intermédio #include <stdio.h> float converte (float escudos) { return (escudos / (200.48)); int main (void) { float escudos; float euros; printf( Escudos = ); scanf( %f, &escudos); while (getchar()!= \n ) { euros = converte(escudos); printf( Euros = %.2f, euros); return (0); No entanto este modo de desenvolver os programas através da inclusão de todos os ficheiros no ficheiro do main não é a mais correcta. A forma correcta é compilar cada um dos ficheiros de forma separada e depois realizar a sua ligação com o linker. Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 8
9 Definição de macros com parâmetros: #define nome(par1, par2,...) corpo_da_macro O nome de cada parâmetro tem que ser único na macro. O pré-processador efectua a substituição da invocação da macro pelo corpo da macro em que os parâmetros reais sunstituem os parâmetros formais Exemplo:... #define SOMA(x, y) x+y int main (void) { int a=3, b=2, z, w;... int main (void) { int a=3, b=2, z, w; z = SOMA(a, b); w = SOMA(z, 4);... z = a+b; w = z+4;... Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 9
10 Definição de macros com parâmetros: A utilização de macros com parâmetros só é justificada quando se pretende expandir código de modo a evitar o tempo que é gasto na invocação de funções e se conhece os possíveis efeitos laterais da utilização das macros. Atenção que uma macro não é uma função em C, e podem acorrem situações de erros. Considere-se o exemplo seguinte em que o objectivo consiste em calcular 2*(a+b) utilizando a macro SOMA #define SOMA(x, y) x+y int main (void) { int a=3, b=2, z; z = 2*SOMA(a, b); int main (void) { int a=3, b=2, z; z = 2*a+b;... Resultado diferente do pertendido Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 10
11 Compilação condicional No desenvolvimento de programas complexos é usual ser necessário ajustar partes do código em função de características dos computadores. Pense-se por exemplo no sistema operativo Linux que pode correr em computadores com arquitecturas diferentes. A arquitectura de um PC é diferente da arquitectura de um computador Sun, e estas são diferentes da arquitectura dos computadores da Apple. Para evitar ter duplicação de código, o que se faz, é identificar o código fonte que é especifico para uma das máquinas e no momento da compilação seleccionar o código necessário para a máquina pertendida. O pré-processador permite efectuar a selecção automática do código fonte necessário à compilação de um programa. Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 11
12 Compilação condicional Existem diversas directivas do tipo da instrução if else do C que permite seleccionar partes de código fonte que devem faz parte do programa a compilar. Comando #if #endif #else #elif #ifdef #ifndef Descrição Se expressão verdadeira, incluir o código seguinte Terminador da expressão if Permite seleccionar código alternativo Else-if; Permite incluir código com elseif encadeados Inclui código se o nome de uma macro está defindo Inclui código se o nome de uma macro não está definido Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 12
13 Compilação condicional Com a utilização de protótipos, o compilador verifica se a utilização das funções está de acordo com as definições das funções. Nome da função, Números e tipo de argumentos da função Tipo de retorno da função Os protótipos devem ser colocados antes da utilização e ou definição das funções. Como boa prática de programação, os protótipos são colocados num ficheiro de include. Isto permite garantir que o protótipo que se utiliza no ficheiro de definição de um função é igual ao que se utiliza nos ficheiros onde a função é chamada (invocada para execução). Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 13
14 Exemplo1: Ficheiros com protótipos Ficheiro: conv.h /* Prototipo unico para os ficheiros*/ float converte (float escudos); Ficheiro: main.c #include <stdio.h> #include conv.h Ficheiro: converte.c #include conv.h #define EURO (200.48) int main (void) { float converte (float escudos) { float escudos; float euros; return (escudos / EURO); printf( Escudos = ); scanf( %f, &escudos); euros = converte(escudos); printf( Euros = %.2f, euros); return (0); Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 14
15 Exemplo1: Como princípio, os ficheiros que contém os protótipos (cabeçalhos das funções), não deve conter funções em C. Um ficheiro de include com protótipos deve ter a extensão.h, abreviatura de header Um ficheiro com protótipos só deve ser incluido num ficheiro com código fonte uma única vez. Se este princípio não for seguido então ocorrerão problemas na compliação. Para evitar problemas inclusões recursivas utiliza-se a técnica que usa directivas de préprocessamento /* conv.h Ficheiro de prototipos com o prototipo da função converte */ #ifndef _CONV_H #define _CONV_H float converte (float escudos); #endif Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 15
16 Exemplo 2: Compilação dependendo do valor de macros Considere a situação em que tem que desenvolver um programa que faz a manipulação de um vector de números em vírgula flutuante. Suponha que dependendo do tipo de computador podem suceder as situações seguintes: Tipo do vector Dimensão do vector float 10 float 100 double 10 double 100 É ainda necessário imprimir os números de tipo double com em notação científica com 8 casas decimais de precisão, enquanto que os do tipo float deve ser em notação normal com 3 casas decimais. Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 16
17 Exemplo 2: Uma solução possível fazendo uso do pré-processador #include <stdio.h> #define PRECISAO 0 #define MEMORIA 0 #if (PRECISAO) #define REAL double #else #define REAL float #endif #if (MEMORIA) #define MAX 30 #define NUM_POR_LINHA ((MAX)/10) #else #define MAX 10 #define NUM_POR_LINHA ((MAX)/3) #endif /* */ int main (void) { REAL dados[max]; printf("precisao = %d, MEMORIA =%d\n", PRECISAO, MEMORIA); printf("max = %d, NUM_POR_LINHA =%d, SIZEOF(REAL) = %d\n", MAX, NUM_POR_LINHA, sizeof(real)); init_dados(dados, MAX); mostra_dados(dados, MAX, NUM_POR_LINHA); troca_dados(dados, MAX); printf("\n"); mostra_dados(dados, MAX, NUM_POR_LINHA); return (0); void init_dados(real d[], int dim); REAL troca_dados(real d[], int dim); void mostra_dados(real d[], int dim, int num_por_linha); Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 17
18 Exemplo 2: Funções (cont.) /* */ void init_dados(real d[], int dim) { int i; d[0] = 0; for (i=1; i<dim; i++) d[i] =i + d[i-1]/10.0; /* */ REAL troca_dados(real d[], int dim) { int i; /* */ void mostra_dados(real d[], int dim, int num_por_linha) { int i, conta=0; for (i=0; i<dim; i++) { #if PRECISAO printf("d[%2d]=%.8e ", i, d[i]); #else printf("d[%2d]=%6.2f ", i, d[i]); #endif for (i=0; i < dim/2; i++) d[i] = d[dim-1-i]; conta++; if (conta >= num_por_linha) { printf("\n"); conta = 0; Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 18
19 Exemplo 2: (cont.) Output para diversas combinações PRECISAO = 0, MEMORIA =0 MAX = 10, NUM_POR_LINHA =3, SIZEOF(REAL) = 4 d[ 0]= 0.00 d[ 1]= 1.00 d[ 2]= 2.10 d[ 3]= 3.21 d[ 4]= 4.32 d[ 5]= 5.43 d[ 6]= 6.54 d[ 7]= 7.65 d[ 8]= 8.77 d[ 9]= 9.88 d[ 0]= 9.88 d[ 1]= 8.77 d[ 2]= 7.65 d[ 3]= 6.54 d[ 4]= 5.43 d[ 5]= 5.43 d[ 6]= 6.54 d[ 7]= 7.65 d[ 8]= 8.77 d[ 9]= 9.88 PRECISAO = 1, MEMORIA =0 MAX = 10, NUM_POR_LINHA =3, SIZEOF(REAL) = 8 d[ 0]= E+00 d[ 1]= E+00 d[ 2]= E+00 d[ 3]= E+00 d[ 4]= E+00 d[ 5]= E+00 d[ 6]= E+00 d[ 7]= E+00 d[ 8]= E+00 d[ 9]= E+00 d[ 0]= E+00 d[ 1]= E+00 d[ 2]= E+00 d[ 3]= E+00 d[ 4]= E+00 d[ 5]= E+00 d[ 6]= E+00 d[ 7]= E+00 d[ 8]= E+00 d[ 9]= E+00 Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 19
20 Exemplo 2: (cont.) Output para PRECISAO 1 e MEMORIA 1 PRECISAO = 1, MEMORIA =1 MAX = 30, NUM_POR_LINHA =3, SIZEOF(REAL) = 8 d[ 0]= E+00 d[ 1]= E+00 d[ 2]= E+00 d[ 3]= E+00 d[ 4]= E+00 d[ 5]= E+00 d[ 6]= E+00 d[ 7]= E+00 d[ 8]= E+00 d[ 9]= E+00 d[10]= e+01 d[11]= e+01 d[12]= e+01 d[13]= e+01 d[14]= e+01 d[15]= e+01 d[16]= e+01 d[17]= e+01 d[18]= e+01 d[19]= e+01 d[20]= e+01 d[21]= e+01 d[22]= e+01 d[23]= e+01 d[24]= e+01 d[25]= e+01 d[26]= e+01 d[27]= e+01 d[28]= e+01 d[29]= e+01 d[ 0]= E+01 d[ 1]= E+01 d[ 2]= E+01 d[ 3]= E+01 d[ 4]= E+01 d[ 5]= E+01 d[ 6]= E+01 d[ 7]= E+01 d[ 8]= E+01 d[ 9]= E+01 d[10]= e+01 d[11]= e+01 d[12]= e+01 d[13]= e+01 d[14]= e+01 d[15]= e+01 d[16]= e+01 d[17]= e+01 d[18]= e+01 d[19]= e+01 d[20]= e+01 d[21]= e+01 d[22]= e+01 d[23]= e+01 d[24]= e+01 d[25]= e+01 d[26]= e+01 d[27]= e+01 d[28]= e+01 d[29]= e+01 Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 20
21 Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 21
LINGUAGEM C. Estrutura básica de um programa
LINGUAGEM C Estrutura básica de um programa Um programa em linguagem C é constituído por uma sequência de funções (módulos) que em conjunto irão permitir resolver o problema proposto. Estas funções contêm
Leia maiscast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).
Cast (conversão) Um tipo de dado pode ser convertido momentaneamente em outro tipo com um cast. Em linguagem C a sintaxe usada é formada pelo tipo desejado entre parênteses precedendo a expressão a ser
Leia mais#define SIM 1 equivale a definição de constantes; a palavra SIM é substituída por 1 toda vez que é utilizada no programa.
929292929292929292929292929292929292929292929292929292 15- O Pré-Processador C - O compilador C possui um programa chamado pré-processador: executa modificações no código baseado em instruções chamadas
Leia mais5 Apresentando a linguagem C
5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto,
Leia maisConceitos 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
Leia maisLinguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador
Linguagem C Tipos de Dados void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Funções void void pode ser usado em lugar de um tipo, para indicar a ausência de valor
Leia maisProgramação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre
Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática
Leia maisINTRODUÇÃO À LINGUAGEM C++
INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem
Leia maisIntrodução a Computação
Introdução a Computação Aula 02 Introdução a Linguagem C Edirlei Soares de Lima Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para
Leia maisLinguagem C Funções definidas pelo usuário. Lógica de Programação
Linguagem C Funções definidas pelo usuário Lógica de Programação Caro(a) aluno(a), Trabalharemos agora com as funções criadas por vocês na Linguagem C. Bom trabalho!!! Funções C permite que o programador
Leia maisConvertendo Algoritmos para a Linguagem C
onvertendo Algoritmos para a Linguagem Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan O objetivo deste texto é mostrar alguns programas em, dando uma breve descrição de seu funcionamento
Leia maisLinguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.
Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração
Leia maisIntrodução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores
Introdução à Programação Armazenamento de Grande Quantidade de Informação Usando Vetores Armazenando Grande Quantidade de Informação Como armazenar tanta informação? Vetores! 2 Tópicos da Aula Hoje, aprenderemos
Leia maisLinguagem de Programação I
Linguagem de Programação I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Linguagem de Programação C 2 1 Linguagem de Programação C Os programas em C consistem em
Leia maisMódulo 10. Medição do Desempenho
Módulo 10 Medição do Desempenho 1. Introdução Pretende-se com esta aula prática que os alunos se familiarizem com o processo de profiling de programas e que avaliem o impacto no desempenho de um programa
Leia mais15 a Aula Subprogramação /Subalgoritmos Função e Procedimento
FISP 1/6 15 a Aula Subprogramação /Subalgoritmos Função e Procedimento Objetivo: Simplificação e racionalização na elaboração de algoritmos mais complexos Recursos: Estruturação de algoritmos e modularização
Leia maisLinguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação
Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada
Leia maiscompreender a importância de cada estrutura de controle disponível na Linguagem C;
Aula 3 Estruturas de controle Objetivos Esperamos que, ao final desta aula, você seja capaz de: compreender a importância de cada estrutura de controle disponível na Linguagem C; construir programas em
Leia maisElementos de programação em C
Elementos de programação em C Estruturas condicionais Francisco A. C. Pinheiro, Elementos de Programação em C, Bookman, 2012. Visite os sítios do livro para obter material adicional: www.bookman.com.br
Leia maisAlgoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3
Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Laboratório de AEDS 1 Aula 01 Linguagens de Programação Cada linguagem de programação obedece
Leia maisCapí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
Leia maisProf. Vania Gimenez.Notas de aula Lógica de programação- Este material não substitui os livros indicados no site no link bibliografia.
Prof. Vania Gimenez.Notas de aula Lógica de programação- Este material não substitui os livros indicados no site no link bibliografia. ---------------------------------------------------------------- Comandos
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia mais2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10
1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...
Leia maisA linguagem C oferece quatro estruturas de decisão: if, if-else, switch e o operador condicional.
Capítulo 3 Comandos de Decisão A linguagem C oferece quatro estruturas de decisão: if, if-, switch e o operador condicional. O comando if O comando if instrui o computador a tomar uma decisão simples.
Leia maisPROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C 1 Enunciado: a)implementar a função maior que devolve o maior de dois números inteiros passados como parâmetro; b)construir um programa em C que determine o maior de
Leia maisUNIVERSIDADE 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 maisDesenvolvimento de programas em UNIX
4 Desenvolvimento de programas em UNIX Sumário: Fases de desenvolvimento de programas Compiladores Ficheiros em código objecto (.o) Visualização de símbolos dum ficheiro objecto (nm) Unificadores (linkers)
Leia maisCurso de Linguagem C
Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...
Leia maisGFM015 Introdução à Computação Linguagem C / Introdução à Modularização de Programas (uso de subprogramas)
GFM015 Introdução à Computação Linguagem C / Introdução à Modularização de Programas (uso de subprogramas) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/ic UFU/FACOM Programa 1.
Leia maisLÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO
LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Também chamado de estrutura de seleção múltipla (caso). Assim como o if-else, o switch também é uma estrutura de seleção. O if-else realiza o teste
Leia maisAlgoritmos 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.
Leia maisP r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:
Inteligência É a faculdade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. Henri Bergson. WHILE Além dos comandos if-else e switch, o controle de fluxo de um programa pode
Leia maisLTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo
LTP-IV Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Contato e-mail: slago@ime.usp.br home page: www.ime.usp.br/~slago apostila: Linguagem
Leia mais3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação
Lógica de Programação 3. INTRODUÇÃO À LINGUAGEM C Caro Aluno Vamos iniciar o terceiro capítulo da nossa disciplina. Agora vamos começar a aplicar os conceitos vistos nos capítulos anteriores em uma linguagem
Leia mais7. Estrutura de Decisão
7. Estrutura de Decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica. A classificação
Leia maisLinguagem de Programação
Linguagem de Programação Introdução a Linguagem C Princípios de Programação em C Gil Eduardo de Andrade Conceitos Iniciais: Linguagem C Introdução É uma linguagem estruturada; Foi desenvolvida na década
Leia maisProgramando em C++ Histórico da Linguagem C
Programando em C++ Joaquim Quinteiro Uchôa joukim@comp.ufla.br DCC-UFLA, 2002 Programando em C++ p.1/38 Histórico da Linguagem C Linguagem C: 1972 - Laboratório Bells, por Dennis Ritchie, a partir da linguagem
Leia maisOperadores unários de incremento/decremento. Ciclo for
Sumário Operadores unários de incremento/decremento Ciclo for Fernando Mira da Silva 1 Operadores unários de incremento/decremento O incremento/decremento unitário de uma variável é uma operação tão frequente
Leia maisO COMPUTADOR. Introdução à Computação
O COMPUTADOR Introdução à Computação Sumário O Hardware O Software Linguagens de Programação Histórico da Linguagem C Componentes Básicos do Computador O HARDWARE: O equipamento propriamente dito. Inclui:
Leia maisTipos de Dados Simples
Programação 11543: Engenharia Informática 6638: Tecnologias e Sistemas de Informação Cap. 3 Tipos de Dados Simples Tipos de Dados Simples Objectivos: Hierarquia de tipos de dados Tipos de dados simples
Leia mais9.1.2 Laços Controlados por Entrada: Contador
9.1.2 Laços Controlados por Entrada: Contador Exemplo 2- Escreva um algoritmo e um programa em C que dado um Número qualquer, seja calculado e impresso a tabuada desse número. Algoritmo tabuada Variáveis:
Leia maisAlgoritmos e Técnicas de
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Algoritmos e Técnicas de Programação Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br
Leia maisAULA 1 AULA 2. Estudo dirigido para as três primeiras AULAS de LPI Professora ANITA MACIEL 1º ESTUDO DIRIGIDO
1º ESTUDO DIRIGIDO AULA 1 1) Quem desenvolveu a linguagem C e em que década? 2) Cite as sete vantagens da linguagem C? 3) Em 1999, algumas modificações importantes aconteceram. Exemplifique. 4) Cite as
Leia maisApresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como:
Cláudio C. Rodrigues Faculdade da Computação - UFU LINGUAGEM C - 02: ESTRUTURA DE SELEÇÃO CONDICIONAL Faculdade da Computação - UFU 1 Objetivo Apresentar os conceitos básicos e as estruturas de linguagem
Leia maisIntrodução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
Leia maisUniversidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4
Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4 WHILE 1. Faça um comando while equivalente ao descrito abaixo (que realize o mesmo tipo de procedimento e obtenha o mesmo
Leia maisApresentação. Rio de Janeiro, 19 de fevereiro de 2002 Waldemar Celes
Apresentação A disciplina de Estruturas de Dados (ED) está sendo ministrada em sua nova versão desde o segundo semestre de 1998. Trata-se da segunda disciplina de informática oferecida no curso de Engenharia
Leia maisLinguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto
Linguagem C 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 UNIX. O C é derivado de uma outra linguagem: o B,
Leia maisTipo Abstrato de Dados
Tipo Abstrato de Dados David Menotti Algoritmos e Estruturas de Dados II DInf - UFPR Qual a diferença entre um algoritmo e um programa? Algoritmos e Estruturas de Dados Algoritmo: Sequência de ações executáveis
Leia maisQUITETURA AVANÇADA DE SISTEMAS
QUITETURA AVANÇADA DE SISTEMAS ICARDO MENDÃO SILVA RMSILVA AT UAL DOT PT MARÇO 2015 AAS OUTLINE INTRODUÇÃO COMENTÁRIOS VARIÁVEIS OPERADORES IF STATEMENT FUNÇÕES CICLO FOR CICLO WHILE STRINGS LISTAS TUPLAS
Leia maisIntrodução à Programação
Aula Teórica 5: ciclos e funções Getchar e putchar Escrever e ler caracteres A função getchar da biblioteca stdio.h permite de receber exatamente um (1) carácter da o "teclado"ou stdin Definição: int getchar(void)
Leia maisSistemas de Apoio à Decisão
Sistemas de Apoio à Decisão Processo de tomada de decisões baseia-se em informação toma em consideração objectivos toma em consideração conhecimento sobre o domínio. Modelar o processo de tomada de decisões
Leia maisvalor_dolar = converte(valor_compra, taxa_dolar); valor_final = converte(valor_dolar, taxa_real) * 1.0238;
Q1 Q2 Q3 Q4 Questão 1: Os cartões de crédito no Brasil utilizam o Dólar como a moeda de referência para as compras no exterior. Sendo assim, se você realiza uma compra em Buenos Aires, por exemplo, primeiro
Leia maisLinguagem de Programação C
ICMC USP Linguagem de Programação C Aula: Funções em C Prof Alneu de Andrade Lopes MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente em vários subproblemas MODULARIZAÇÃO
Leia maisAlgoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.
Algoritmos e Programação Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.br 2012 Conteúdo e Objetivos da Aula Introdução a Linguagem C Revisão
Leia maisProgramação: Estruturas de seleção
Programação de Computadores I Aula 07 Programação: Estruturas de seleção José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/53 Valores booleanos Os valores booleanos
Leia maisAula 06 - Funções. O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros
O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros Algoritmo e Programação Aula 06 - Funções Colegiado de Engenharia da Computação
Leia maisEstrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como
Leia maisVIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00
Fundamentos da Programação 32 A. Conceito Variáveis contém dados: VIII. VARIÁVEIS de entrada que o computador precisa manipular; de saída que o computador precisa imprimir; e temporários, utilizados de
Leia mais17 - Funções e Procedimentos em C Programação Modular
17 - Funções e Procedimentos em C Programação Modular Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 17
Leia maisQ1 Q2 Q3 Nota. Departamento de Informática - PUC-Rio INF 1005 Programação I P2 20/10/2010. Aluno: Exemplo (apenas um exemplo!):
Matrícula: Departamento de Informática - PUC-Rio Turma: Q1 Q2 Q3 Questão 1) (3.0 pontos) Uma empresa permite que seus funcionários façam chamadas internacionais a partir de seus ramais, mas mantém um registro
Leia maisCapítulo 7 Nível da Linguagem Assembly
Capítulo 7 Nível da Linguagem Assembly Presente em quase todos os computadores modernos. Implementado por tradução. Linguagem fonte => Linguagem alvo. O programa no arquivo fonte não é executado diretamente
Leia maisIntroduçã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
Leia maisVariáveis e Comandos de Atribuição
BCC 201 - Introdução à Programação Variáveis e Comandos de Atribuição Guillermo Cámara-Chávez UFOP 1/47 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c e s s a d o r > < d e c l
Leia maisTarefa Orientada 18 Procedimentos armazenados
Tarefa Orientada 18 Procedimentos armazenados Objectivos: Criar Procedimentos armazenados Chamar procedimentos armazenados Utilizar parâmetros de entrada e de saída Um procedimento armazenado representa
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,
Leia maisAlgoritmo e Técnica de Programação - Linguagem C
Algoritmo e Técnica de Programação Linguagem C Gilbran Silva de Andrade 5 de junho de 2008 Introdução A liguagem C foi inventada e implementada por Dennis Ritchie em um DEC PDP-11 que utilizava o sistema
Leia maisLinguagens de Programação
68 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas instruem o computador a realizar
Leia maisIntrodução à Linguagem C
Prof a.dr a.thatyana de Faria Piola Seraphim (ECO) Prof.Dr.Enzo Seraphim (ECO) Universidade Federal de Itajubá thatyana@unifei.edu.br seraphim@unifei.edu.br Introdução - História A linguagem de programação
Leia maisLP 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 maisATENÇÃO!!! 12-01-2005 Rui Morgado - TLP 2
Ciclos Exercícios ATENÇÃO!!! Depois de executar o exercício no editor da linguagem de programação C, copie o código para o bloco de notas (dê como nome ao ficheiro o n.º do exercício e o seu nome) e guarde
Leia maisEstrutura switch if-else switch switch switch if-else-if switch switch case default break switch switch break Observações: case
Estrutura switch. O comando if-else e o comando switch são os dois comandos de tomada de decisão. Sem dúvida alguma o mais importante dos dois é o if, mas o comando switch tem aplicações valiosas. Sua
Leia maisProgramação com Posix Threads
9 Programação com Posix Threads Revisão: Data: 11-03-2016 Cap. 9 1/6 Programação multi-threaded com Pthreads 9.1. O que é uma thread? Um processo represente a execução pelo sistema operativo dum programa.
Leia maisPrimeiro Curso de Programação em C 3 a Edição
Edson Luiz França Senne Primeiro Curso de Programação em C 3 a Edição Visual Books Sumário Prefácio da Terceira Edição 9 Prefácio da Primeira Edição 11 Aula 1 13 Regras de sintaxe de uma linguagem de programação...
Leia maisUniversidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática
Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]
Leia maisEstruturas de repetição (Ciclos)
Introdução Vamos começar por tentar resolver os seguintes exercícios com base nos conhecimentos Que já temos até agora. Problema 1: Escreva um programa em ANSI-C que escreve os primeiros 10 números inteiros
Leia mais14.1 Vetor - Problemas
Problema 14: Um método de Criptografia consiste em substituir as letras de uma mensagem através do emparelhamento de alfabetos tal como dado abaixo. Construir um programa que codifica mensagens usando
Leia maisUNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO
Curso: Engenharia de Computação e Ciência da Computação Data: 10/09/2013 Disciplina: Programação Estruturada Valor: 3,0 pontos Professor: Henrique Monteiro Cristovão Nota: Aluno: Prova resolvida 4ª Prova
Leia maisOrientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade
Orientação a Objetos Conceitos Iniciais Introdução a Linguagem Java Gil Eduardo de Andrade Conceitos: Orientação a Objeto Introdução Abordagem típica no desenvolvimento de sistemas complexos; Consiste
Leia maisTabela ASCII de caracteres de controle
Caracteres Estruturas de Dados Aula 6: Cadeias de Caracteres 31/03/2010 Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis
Leia maisDepartamento de Informática
Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos época de recurso, 28 de Janeiro de 2009 1º Semestre, 2008/2009 NOTAS: Leia com atenção cada questão antes de responder.
Leia maisEstruturas 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 maisTrabalho 3: Agenda de Tarefas
INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma
Leia maisLinguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.
Linguagem e Técnicas de Programação I Operadores, expressões e funções Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Operadores básicos Toda linguagem de programação, existem
Leia maisAULA 1: PARADIGMAS DE PROGRAMAÇÃO
1 AULA 1: PARADIGMAS DE PROGRAMAÇÃO Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Ementa 2 Programação Imperativa. Programação Paralela e Concorrente. Programação Lógica. Programação Funcional.
Leia maisEstruturas de entrada e saída
capa Estruturas de entrada e saída - A linguagem C utiliza de algumas funções para tratamento de entrada e saída de dados. - A maioria dessas funções estão presentes na biblioteca . - As funções
Leia maisAnálise de complexidade
Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura
Leia maisTécnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos
Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos José Rogado jose.rogado@ulusofona.pt Universidade Lusófona Mestrado Eng.ª Informática e Sistemas de Informação 2013/14 Resumo
Leia maisMC102 Algoritmos e programação de computadores Aula 3: Variáveis
MC102 Algoritmos e programação de computadores Aula 3: Variáveis Variáveis Variáveis são locais onde armazenamos valores na memória. Toda variável é caracterizada por um nome, que a identifica em um programa,
Leia maisPlano de Aula. if(condição) { bloco de comandos; } else { bloco de comandos2; }
Instituto Federal de Santa Catarina - Câmpus Chapecó Ensino Médio Integrado em Informática - Módulo IV Unidade Curricular: Programação Estruturada Professora: Lara Popov Zambiasi Bazzi Oberderfer Plano
Leia maisCurso de C: uma breve introdução
V Semana de Engenharia Elétrica - UFBA Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente, ser utilizado sobre os termos da: Creative Commons License:
Leia maisExercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
Leia maisAlgoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo
Algoritmos e Estruturas de Dados I 01/2013 Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Problema 1 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em
Leia maisO comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/2012 1 / 31
O comando switch c Professores de ALPRO I Faculdade de Informática PUCRS 04/2012 ALPRO I (FACIN) O comando switch 04/2012 1 / 31 Sumário 1 Relembrando... 2 Comando de Seleção (Parte III) Menus e o comando
Leia maisProgramação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada
Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.
Leia mais