1. Introdução. 2. Compiladores 3. A Linguagem C do CCS Bibliografia. Teresina C vs Assembly
|
|
- Airton Ferreira Lage
- 8 Há anos
- Visualizações:
Transcrição
1 Universidade Federal do Piauí Centro de Tecnologia Departamento de Engenharia Elétrica Linguagem C Prof. Marcos Zurita zurita@ufpi.edu.br Teresina Introdução 1.1. C vs Assembly 2. Compiladores 3. A Linguagem C do CCS Bibliografia 2
2 1. Introdução 3 C vs Assembly Código Assembly Gera um código compilado enxuto Veloz Controle total sobre as operações Códigos fonte extensos Difícil de programar Difícil de entender Difícil manutenção Grande dependência do hardware Baixo reaproveitamento de código Impossibilidade de migração para outros µc s 4
3 Código C Código compilado quase tão enxuto quanto ASM Quase tão veloz quanto ASM Abstração das operações em baixo nível Códigos-fonte enxutos Fácil de programar Fácil de entender Fácil manutenção Baixa dependência do hardware Bom reaproveitamento de código Possibilidade de integração com ASM Menor velocidade em operações críticas 5 Como Projetar Sistemas com Microcontroladores Despeça-se da sua família e de seus pais por alguns dias... Abasteça seu mascote com boas reservas de ração Estude o dispositivo que será controlado pelo microcontrolador. 6
4 Escolha o que melhor atende aos requisitos de funcionamento do sistema desejado. Examine todos os microcontroladores de que você dispõe (n de E/S, conversores, temporizadores, etc.) Projete e, se possível, construa um protótipo do sistema que será controlado pelo uc, incluindo periféricos que serão utilizados na aplicação real. 7 Escreva o programa em uma linguagem de alto nível para programar o uc. Escolha também um simulador para auxiliar o desenvolvimento. Com alguns pucos cliques o programa inteiro se converte em algo compreensível pelo uc. Utilize um gravador para programa-lo. 8
5 Agora o uc já está suficientemente maduro para começar a dar retorno a sociedade! Coloque o chip programado no sistema, respire fundo e ligue-o! Feito! Desfrute o sucesso da empreitada e comece a pensar em novos projetos Compiladores 10
6 Alguns Compiladores para PIC Assembly MPASM (compilador) MPLAB (depuração, emulação e gravação) C PicAnt pico-c PIXIE C2C CC5x Hi-Tech PICC MikroC CCS 11 O Compilador CCS C Suporta toda linha de µc s PIC (PIC12, 14, 16 e 18) Integração com o MPLAB Compatibilidade com ANSI e ISO Gera códigos eficientes Grande diversidade de bibliotecas e funções Grande portabilidade de código Implementação natural de ponto flutuante Assistente de criação de código Geração automática de código ASM e relatórios Grande nível de abstração no uso de: Delays Comunicação serial LCD 12
7 3. A Linguagem C do CCS 13 A Linguagem do CCS C Variáveis e tipos de dados Operadores Estruturas de condição Estruturas de repetição Funções 14
8 Variáveis e Tipos de Dados Tipos nativos da linguagem C char int float void Tipos específicos do compilador CCS C int1 int8 int16 int32 boolean byte 15 Modificadores de Tipo Alteram o tamanho ou a forma com que os tipos são tratados. signed unsigned short long 16
9 Tipos Disponíveis no CCS C 17 Uso de Variáveis int cont; // contador de 8 bits unsigned int ciclo, j; // ciclos de maquina float tensao; // tensao lida cont = 0; ciclo = 1; j = ciclo + 1; tensao = 3.496; 18
10 Matrizes Definem um conjunto de elementos do mesmo tipo (tamanho fixo): int v[10]; // conj. de 10 inteiros Cada elemento deste conjunto pode ser acessado através de seu índice no conjunto (1º elemento = índice 0): b = v[2]; // recebe o 3º elemento v[0] = 34; // atribui 34 ao 1º elemento 19 Matrizes Multidimensionais São associações de matrizes unidimensionais (vetores). int p[16][16]; // matriz bidimensional 16x16 int1 q[2][4]; // matriz bidimensional 2x4 p[0][0] = 200; // atribui 200 ao elemento 0,0 p[0xf][0xf] = 0; // atribui 0 ao elemento 15,15 q = 0,0,1,0 // preenche toda a matriz 1,1,0,0; 20
11 Strings Tratam-se de um conjunto de caracteres. Podem ser declaradas na forma de vetores ou de ponteiros. Quando declaradas sob a forma de vetor, devem ter sempre o tamanho do número máximo de caracteres + 1. char msg[14]; // string de ate 13 caracteres char mes[2][4]; // vetor de strings de 3 caracteres msg = Transmitancia ; // preenche 13 caracteres mes = Jan, Fev ; 21 Casting - Conversão de Tipos Casting é um recurso para forçar o compilador a tratar uma variável (ou expressão) como sendo de um tipo diferente daquele que foi declarado no programa. Seu uso pode ser necessário em operações envolvendo variáveis de tipos diferentes. Sintaxe: (tipo_destino) expressao_a_ser_convertida; Exemplo: int16 adc; // variável tipo int float tensao; // variável tipo float adc = faz_conversao_ad(); // adc está entre 0 e 1023 tensao = (float)adc/1023; // converte adc para float 22
12 O uso de casting requer alguns cuidados que devem ser observados pelo programador: Casting de uma expressão com sinal para uma variável sem sinal: pode gerar resultados inesperados caso o valor seja negativo (ex.: int para unsigned int); Casting de uma variável/expressão cujo número de bits é maior que o da variável de destino: o resultado será truncado, isto é, todos os bits de ordem superior ao de maior ordem da variável de destino serão desprezados (ex.: int16 para int8); Casting de um número para um um caractere não gera o caractere do número (i.e., (char)5 '5'), o invés disto resultará num caractere cujo valor ASCII corresponde ao número dado. 23 Casting de um ponto flutuante (float) para um tipo inteiro (int, int16 ou int32), pode gerar resultados inesperados: Caso o valor contido seja maior do que o aceitável pela variável de destino, mesmo que ela seja um tipo int32 (float pode comportar até 3.4x10 38 enquanto um int32 sem sinal vai até 4.29x10 9 ); Float é um tipo com sinal, logo, sujeito aos mesmos problemas de conversão para tipos sem sinal, caso o valor contido seja negativo. A conversão desejável pode requerer arredondamento, o que não é feito pelo cast. Ex.: int k; // variável tipo int float ganho=5.99; // variável tipo float k = (int)ganho; // k vale 5 e não 6! 24
13 Variáveis Globais e Locais Globais São acessíveis em qualquer ponto do programa. Só são destruídas no encerramento do programa. Locais Só são acessíveis dentro da função onde foram declaradas. São destruídas no encerramento da função. 25 Ex.: Variável global vs local #include <stdio.h> int x = 3; // variável global void main () int y = -10; // variável local x = x + y; printf( Soma = %i, x); 26
14 Modificador Static Obriga o compilador a manter a variável numa posição fixa da memória. Evita que a variável seja destruída no encerramento da função. São inicializadas com 0; 27 Ex.: Modificador Static #include <stdio.h> int x = 3; // variável global byte incrementa() static byte ciclo; // variável local estática return ciclo++; void main() x = x + incrementa(); x = (x + 2) * incrementa(); printf( Coisa = %x, x); 28
15 Ponteiros Ponteiro é uma variável que contém o endereço de outra variável. Podem ser utilizados para alocação dinâmica, podendo substituir matrizes com mais eficiência (por não ter tamanho fixo). Sintaxe: tipo *nome_do_ponteiro; A manipulação de ponteiros requer dois operadores: & - Retorna o endereço apontado pelo ponteiro; * - Retorna o conteúdo armazenado no endereço apontado pelo ponteiro. 29 Ex.: Ponteiros int *ptr; // ptr é um ponteiro para int int x = 10; // x é uma variável tipo int int y = 25; // y é uma variável tipo int ptr = &x; // ptr agora aponta para x printf( x=%i\n, *ptr); // imprime x=10 ptr = &y; // ptr agora aponta para x printf( y=%i\n, *ptr); // imprime y=20 30
16 Constantes Valores mantidos fixos na memória durante toda a execução do programa. Todo valor atribuído explicitamente no código é potencialmente um candidato a ser convertido em constante. Podem assumir qualquer um dos tipos nativos do C, e serem declaradas como hexadecimais, octais, strings e constantes de controle (barra invertida). Devem ser declaradas em caixa alta (por convenção). 31 Ex.: Constantes #include <stdio.h> #define COISA 25 //const. tipo int #define OUTRA_COISA é outra coisa //const. tipo string #define MAIS_COISA 15.32F //const. tipo float void main() float j = 0.0; char msg[15] = OUTRA_COISA ; j = j + COISA + MAIS_COISA; printf( Coisas = %f, j); 32
17 Expressões Constantes Formato Descrição 123 Número decimal inteiro 12.3 Número decimal em ponto flutuante 0123 Número octal 0x123 Número hexadecimal 0b0101 Número binário 'T' Caractere '\012' Caractere octal '\x12' Caractere hexadecimal '\c' Caractere especial, onde \c pode ser: \n Nova linha \r Retorno de carro \t Tabulação \b Retrocesso (Backspace) \f Salta Formulário \' Aspas simples \ Aspas duplas \\ Barra invertida 33 Operadores Aritméticos Usados para desenvolver expressões matemáticas. Podem ser binários ou unários. Operador Descrição + Soma (inteira e ponto flutuante) - Subtração ou troca de sinal (inteira e ponto flutuante) * Multiplicação (inteira e ponto flutuante) / Divisão (inteira e ponto flutuante) Resto de divisão (de inteiros) ++ Incremento (inteiro e ponto flutuante) -- Decremento (inteiro e ponto flutuante) 34
18 Ex.: Operadores Aritméticos void main() int x = 10, y = 18, z = 4; float f = 13.0f; x = y + z; // x = 22 y = 23 / 2; // y = 11 f = 23.0 / 2; // f = 11.5 z = 24 % 5; // z = 4 x++; // x = 15 z--; // z = 3 printf( x = %i\n, x); printf( y = %i\n, y); printf( z = %i\n, z); printf( f = %f\n, f); 35 Operadores Relacionais e Lógicos Comparação Entre Valores Operador Descrição > >= < <= ==!= Realizam Operações Lógicas (V ou F) Operador Descrição &&! 36
19 Operadores de Bits Manipulam bits em valores inteiros. Operador Descrição >> << ~ & ^ 37 Ex.: Operadores de Bits byte sm = 0b ; // sm = 140 byte x, y, z, k; // z = ~sm; // y agora vale 0b x = sm >> 3; // x agora vale 0b y = sm << 2; // y agora vale 0b k = x y; // k agora vale 0b k = x & y; // k agora vale 0b k = x ^ y; // k agora vale 0b
20 Registros em C (struct) Um registro é um conjunto de variáveis agrupadas em uma mesma referência. Podem conter variáveis de tipos distintos. As variáveis contidas podem ter seu tamanho em bits alterado através do modificador :. Sintaxe: struct nome_estrutura tipo1 nome_var1 [:bits]; tipo2 nome_var2 [:bits]; (...) tipon nome_varn [:bits]; nome_var; 39 Ex.: Registros em C (struct) struct lcd_pin // cria a estrutura lcd_pin int1 enable; // bit 0: campo enable int1 rs; // bit 1: campo rs int1 rw; // bit 2: campo rw int1 unused; // bit 3: campo unused int data:4; // bits 4-7: campo data (4 bits) lcd; // lcd : variável do tipo lcd_pin char c, ch; struct lcd_bk lcd_pin; // lcd_bk é do tipo lcd_pin lcd.data = 0x9; c = lcd.data; ch = 'a'; lcd_bk.enable = 0; lcd_bk.data = ch; 40
21 Uniões em C (union) Permite a criação de variáveis capazes de suportar diferentes tipos de dados num mesmo espaço de memória. Ocupa na memória apenas o tamanho da maior variável declarada. O tamanho das variáveis pode ser alterado por :. Sintaxe: union nome_uniao tipo1 nome_var1 [:bits]; tipo2 nome_var2 [:bits]; (...) tipon nome_varn [:bits]; nome_var; 41 Ex.: Uniões em C (union) union d_ifc // Cria a união d_ifc de 32 bits int32 i24:24; // -pode conter um inteiro de 24 bits float f; // ou pode conter um float char c[3]; // ou pode conter 3 caracteres dado; // dado : variável do tipo d_ifc dado.i24 = 0x2A5; // dado contém um inteiro de 24 bits dado.f = 3.15; // dado contém agora um float dado.char = 'pi'; // dado contém agora uma string Note que dado ora contém um inteiro de 24 bits, ora contém um float (32b) ora contém uma string, embora a união ocupe 32 bits de memória durante todo tempo. Cabe ao programador o conhecimento de qual tipo de variável foi armazenada mais recentemente na união. 42
22 Enumerações (Enum) Uma enumeração é uma lista de constantes inteiras. Sintaxe: enum nome_enum id1 [=v1], id2 [=v2], idn [=vn]; Por padrão, o primeiro identificador tem valor zero, sendo o valor de cada identificador subsequente, o valor do identificador anterior + 1. enum semaforo VERDE, AMARELO=2, VERMELHO; // VERDE=0, AMARELO=2, VERMELHO=3 enum udcm UNIDADE=1, DEZENA=10, CENTENA=100, MILHAR=1000; // UNIDADE=1, DEZENA=10, CENTENA=100, MILHAR=1000 valor = m*milhar + c*centena + d*dezena + u*unidade; estado = VERDE; 43 Definição de Tipos (typedef) Typedef permite criar um novo tipo de variável, além dos tipos nativos da linguagem (int, char, float, etc). Sintaxe: typedef [tipo_qualificador] [nome_tipo] [declaração]; Exemplo: typedef int8 porta; // cria um novo tipo chamado porta porta pa, pb; // as variáveis pa e pb são do tipo porta pa = pb = 0x00; Neste exemplo, porta é um sinônimo para int8. 44
23 Ex.2: Definição de Tipos (typedef) typedef struct coord // cria um novo tipo chamado coord int32 pos_x:24; int32 pos_y:24; ; float passo_x, passo_y; void main() coord coord_ini, coord_fin; // novo tipo sendo usado! // instruções... passo_x = (coord_fin.x - coord_ini.x)/100; passo_y = (coord_fin.y coord_ini.y)/100; // mais instruções Estrutura de Condição if Executa um comando ou um bloco de comandos caso a condição testada seja verdadeira. void main() int x = 10, y = 18; if (x >= 10) y = 0; x = 0; else y++; x++; 46
24 Estrutura de Condição switch Comparação de diversos valores de uma mesma variável. switch (tecla) case 0: y = 1; break; case 1: y = 10; break; case 2: y = 100; x = 0; break; default: y++; 47 Estrutura de Repetição for Repetição condicional de uma instrução ou bloco for (i = 0; i < 5; i++) y = y * y; for (i = 12; y < 100 < 5; i--) y = y * 2; 48
25 Estrutura de Repetição while Executa teste antes de executar o bloco while (y!= 13) y++; x--; while (1) // loop infinito... // codigo 49 Estrutura de Repetição do-while Executa teste após executar o bloco. do y++; x--; while (y!= 13) 50
26 Funções Conjunto de rotinas agrupadas de modo a realizar uma determinada tarefa. Melhor maneira de abstrair e agrupar trechos de código que se repetem. Definida por um nome, um tipo de retorno, argumentos e corpo. Os argumentos são opcionais, e o retorno, quando não for necessário, deve ser void. 51 E.: Funções void printhelloword() printf( Hello World! ); int16 soma(int8 a, int8 b) return a + b; void main() int16 s = soma(5, 14); printf( soma = %l\n, s); printhelloword(); 52
27 Operador Ternário Também conhecido como operador de expressão condicional. É uma forma compacta da estrutura if-else. Sintaxe: condicao? expressao1 : expressao2; Exemplo: minimo = (x<y)? x : y; //retorna o menor argumento // o código acima equivale a: if (x<y) minimo = x; else minimo = y; 53 Macros De maneira semelhante a declaração de constantes, macros são um recurso de substituição textual de trechos de código, comportando-se de maneira semelhante a pequenas funções. Sintaxe: #define nome_macro(arg1, arg2,..., argn) expressao; Exemplo: #define min(x,y) ((x<y)?x:y) //retorna o menor argumento int a, b, c, d, menor; // instruções... d = min(a,b); // gera o código d=((a<b)?a:b); menor = min(d,c); // gera o código menor=((d<c)?d:c); 54
28 Milan Verle, PIC Microcontrollers - Programming in C, 1a Ed., MikroElektronika, Microchip Tec. Inc., 8-bit PIC Microcontrollers, Data Sheet, Microchip Tec. Inc., PIC16F87XA - 28/40/44-Pin Enhanced Flash Microcontrollers, Data Sheet, Custom Computer Services Inc., C Compiler Reference Manual, Andrew S. Tanenbaum, Organização Estruturada de Computadores, 5a Ed., Pearson,
Algoritmos 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 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 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 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 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 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 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 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 maisSistemas Microcontrolados
Sistemas Microcontrolados Aula 4: Programação em C para PIC Marco Jose da Silva mdasilva@utfpr.edu.br Compiladores C para PICs C18 HI-TECH CCS IAR MikroC http://www.microchip.com/ http://www.htsoft.com/
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 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 maisResumo da Introdução de Prática de Programação com C. A Linguagem C
Resumo da Introdução de Prática de Programação com C A 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
Leia maisINTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO
INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita
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 maisProgramação Básica em Arduino Aula 2
Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas
Leia maisEstruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
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 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 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 maisProgramação: Tipos, Variáveis e Expressões
Programação de Computadores I Aula 05 Programação: Tipos, Variáveis e Expressões José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/56 Valores Valor é uma entidade
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 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 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 maisConceitos Básicos de C
Conceitos Básicos de C Bibliografia Problem Solving & Program design in C, Jeri R. Hanly e Elliot B. Kpffman, 3 a edição Data Structures and Algorithm Analysis in C, Mark Allen Weiss, 2 a edição, Addison-Wesley,
Leia maisLaboratório de Programação. Prof. Oscar Luiz Monteiro de Farias fariasol@gmail.com
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias fariasol@gmail.com Ementa: Equivalente ao sumário do livro: The C Programming Language, Second edition. Autores: Brian W. Kernighan, Dennis
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 maisMC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados
MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados 1. Objetivos Falar sobre programa de computador, diferenciando programa em linguagem de máquina, de programa em
Leia mais2. Constantes e Variáveis
2. Constantes e Variáveis Neste capitulo veremos como os dados constantes e variáveis são manipulados pela linguagem C. O que são constantes inteiras, reais, caracteres e strings. Quais são as regras de
Leia maisCurso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária
1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste
Leia maisComponentes da linguagem C++
Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras
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 maisUniversidade Federal de Uberlândia Faculdade de Computação. A Linguagem C
Universidade Federal de Uberlândia Faculdade de Computação A Linguagem C Prof. Renato Pimentel 1 Programação Quando queremos criar ou desenvolver um software para realizar determinado tipo de processamento
Leia maisAULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme
AULA 2: INTRODUÇÃO A LINGUAGEM DE C Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Agenda Introdução a linguagem C Compiladores Variáveis IDEs Exemplos Exercícios Introdução A Linguagem C
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 de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia mais2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Leia maisAlgoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31
APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados
Leia maisPROGRAMA DE DISCIPLINA
PROGRAMA DE DISCIPLINA Disciplina: Introdução à Programação Carga horária total: 60 Carga horária teórica: 0 Carga horária prática: 60 Código da Disciplina: CCMP0041 Período de oferta: 2010.2 Turma: CA
Leia maisAula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>
Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras
Leia maisPROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem
Leia maisOperaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Operações com Strings Introdução a Ponteiros e Funções Profa Rosana Braga 1 Strings Strings são seqüências de caracteres
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 maisSintaxe Básica de Java Parte 1
Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa 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 maisIntrodução à Linguagem C
Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 Linguagem C: Desenvolvida por Dennis Ritchie nos laboratórios da AT&T Bell (EUA) no início dos anos 70; Algol
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 maisArquitetura de Computadores. Tipos de Instruções
Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada
Leia maisEstrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org
Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,
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 maisProgramação Estruturada I
Programação Estruturada I Introdução a Linguagem C Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2 1 thiago.tavares@ifsuldeminas.edu.br 2 mateus.santos@ifsuldeminas.edu.br Última Atualização:
Leia maisPROGRAMA DE DISCIPLINA
PROGRAMA DE DISCIPLINA Disciplina: INTRODUÇÃO À PROGRAMAÇÃO Carga horária total: 60 h Carga horária teórica: 30 h Carga horária prática: 30 h Código da Disciplina: CCMP0041 Período de oferta: 2015.2 Turma:
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 maisConceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações
Leia maisAlgoritmos e Programação _ Departamento de Informática
16 ARQUIVOS Um arquivo corresponde a um conjunto de informações (exemplo: uma estrutura de dados-registro), que pode ser armazenado em um dispositivo de memória permanente, exemplo disco rígido. As operações
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 maisProgramas simples em C
Programas simples em C Problema 1. Escreve um programa em C que dados dois inteiros indique se são iguais ou qual o maior. Utilizar a construção em 5 etapas... quais? 1. Perceber o problema 2. Ideia da
Leia maisINF 1620 P1-10/04/02 Questão 1 Nome:
INF 1620 P1-10/04/02 Questão 1 Considere uma disciplina que adota o seguinte critério de aprovação: os alunos fazem duas provas (P1 e P2) iniciais; se a média nessas duas provas for maior ou igual a 5.0,
Leia maisOPERADORES 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
Leia maisHello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento
Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double
Leia maisProgramação em C++: Introdução
Programação em C++: Introdução J. Barbosa J. Tavares Visualização Científica Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo
Leia maisEdwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++
Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Belo Horizonte 2009 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4
Leia maisResumo da Matéria de Linguagem de Programação. Linguagem C
Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis
Leia maisLINGUAGEM 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 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 maisCapítulo 2. Fundamentos de Java
Capítulo 2. Fundamentos de Java 1/52 Índice 2.1 - Variáveis Tipos Escopo Inicialização Casting Literais 2.2 - Operadores Aritméticos Relacionais Bit a Bit De atribuição 2.3 - Expressões, statements e blocos
Leia maisIntrodução a POO. Introdução a Linguagem C++ e POO
Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes
Leia maisIntrodução a C Tipos de Dados Variáveis Operadores
Introdução a C Tipos de Dados Variáveis Operadores INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 introdução a C tópicos ciclo de desenvolvimento sistemas numéricos tipos 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 maisTipo de Dados em Linguagem C
Tipo de Dados em Linguagem C Principais tipos de dados em C int : tipo de dados inteiros (exemplo: 1, -3, 100, -9, 18, etc.) float : tipo de dados reais (exemplo: 1.33, 3.14, 2.00, -9.0, 1.8, etc.) Ocupa
Leia maisJava. 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
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 maiswww.vwsolucoes.com Copyright 2013 VW Soluções
1 1. Especificação técnicas: Dimensões do módulo 4EA2SA v1.0: 100 mm x 56 mm Peso aproximado: xxx gramas (montada). Alimentação do circuito : 12 ou 24Vcc Tipo de comunicação: RS232 ou RS485 Tensão de referencia:
Leia maisJosé Romildo Malaquias 2011-1
Programação de Computadores I Aula 08 Programação: Estruturas de Repetição José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/58 Motivação Como imprimir os três
Leia maisCONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa
CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Leia maisCurso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura
UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.
Leia maisTécnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB
Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEFINIDOS PELO USUÁRIO Prof. Protásio DEE UFPB 1 Estruturas É uma coleção de variáveis que são referenciadas sob um único nome. Uma estrutura fornece
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 maisOs 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
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 maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dos dispositivos
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisLinguagens de Programação I
Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler
Leia maisRegistros. Técnicas de Programação. Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes
Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes Registros Técnicas de Programação Baseado no material do Prof. Rafael Vargas Mesquita Conceito de Registro (Struct) Vetores e Matrizes
Leia maisnúmero 32.767: 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Por exemplo, tendo o seguinte binário com sinal (em vermelho indica positivo): 0 0 0 0 0 0 1 1 = 3
Os cinco tipos básicos de dados e seus modificadores Em C temos os tipos de dados básicos char (caractere), int (inteiro), float (ponto flutuante), double (ponto flutuante de dupla precisão) e void (sem
Leia maisCriar a classe Aula.java com o seguinte código: Compilar e Executar
Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void
Leia maisAlgoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)
Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados) Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação
Leia maisRevisão da Linguagem C Prof. Evandro L. L. Rodrigues
SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos
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 maisLinguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação
Leia maisFaculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação
FaculdadedeCiências UniversidadeAgostinhoNeto DepartamentodeMatemáticaeEngenhariaGeográfica CiênciasdaComputação ProgramaçãoII SegundaParte Adaptado de um original dos docentes de ISCTE Objectivos Os alunos
Leia mais20 Caracteres - Tipo char
0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,
Leia maisPara testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:
Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade
Leia maisProgramação de Computadores I. Ponteiros
Ponteiros Prof. Edwar Saliba Júnior Outubro de 2012 Unidade 13 Ponteiros 1 Identificadores e Endereços Na linguagem C, uma declaração de variável faz associação entre um identificador e endereços de memória;
Leia maisFundamentos de Programação II. Introdução à linguagem de programação C++
Fundamentos de Programação II Introdução à linguagem de programação C++ Prof. Rafael Henrique D. Zottesso Material cedido por Prof. Msc. Everton Fernando Baro Agenda IDE HelloWorld Variáveis Operadores
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou
Leia mais