Sistemas Embarcados Programação Embarcada
|
|
|
- Sabina de Caminha Brandt
- 10 Há anos
- Visualizações:
Transcrição
1 Sistemas Embarcados Programação Embarcada Instituto Federal de Pernambuco Coordenação de Informática/IFPE Anderson L. S. Moreira
2 Sistemas Embarcados Direitos de Licença Attribution ShareAlike 3.0 Você é livre para Copiar, distribuir, mostrar, e adaptar o trabalho Para fazer trabalhos derivados Para fazer uso comercial do trabalho Seguindo certas condições Atribuição. Você deve dar os devidos créditos ao autor original. Compartilhar. Se você altera, transformar ou construir em cima deste trabalho, você deverá distribuir o trabalho resultante somente sobre uma licença idêntica a está. Para qualquer reuso ou distribuição, você deve deixar claro aos outros os termos de licença deste trabalho. Qualquer destas condições podem ser modificadas se você tiver permissão do autor original. Se uso e outros direitos não são afetados pelas regras acima. License text: 16 de maio de 2015 [email protected] 2
3 C EM SISTEMAS EMBARCADOS Sistemas Embarcados 16 de maio de
4 Sistemas Embarcados C em sistemas embarcados C é uma linguagem de programação para sistemas embarcados dada a sua simplicidade e eficiência. 16 de maio de 2015 [email protected] 4
5 Sistemas Embarcados C em sistemas embarcados C não foi originalmente criada para sistemas embarcados, e sim especificamente para mainframes e PC em 1972; Este tipicamente manipulam dados em arquivos como dos tipos inteiro, caracter, etc; Em contraste, sistemas embarcados manipulam bits; Essa aula discute a construção de manipulação de bits na linguagem C. 16 de maio de 2015 [email protected] 5
6 Sistemas Embarcados C em sistemas embarcados A tabela a seguir mostra o uso das linguagens de programação em todos os tipos de sistema. Muitas pessoas questionam que C não esconde muitos detalhes de baixo nível para o desenvolvedor. Porém um mestre em C é um programador excelente em qualquer linguagem 16 de maio de 2015 [email protected] 6
7 Sistemas Embarcados Exercícios # Questão Resposta 1 C e a linguagem relacionada C++ representam as principais linguagens de sistemas embarcados em 80% (segundo pesquisa de 2013). 2 C foi originalmente desenvolvida para sistemas embarcados. 3 A linguagem Assembly é a linguagem principal para metade dos sistemas embarcado. 4 Fluência em C é raramente útil fora do ambiente de sistemas embarcados Verdadeiro Falso Verdadeiro Falso Verdadeiro Falso Verdadeiro Falso 16 de maio de 2015 [email protected] 7
8 TIPOS DE DADOS EM C Sistemas Embarcados 16 de maio de 2015 [email protected] 8
9 Sistemas Embarcados Tipos de dados em C Muitos tipos de dados em C são comumente utilizados para representar inteiros em programas de sistemas embarcados. 16 de maio de 2015 [email protected] 9
10 Sistemas Embarcados Tipos de dados em C A variável cujo valor só pode variar de 0 a 100 poderia ser melhor declarada como: unsigned char; Uma variável cujo valor só pode variar de -999 a 999 pode ser melhor declarada como: signed short; Usando o menor tipo possível garante que o espaço limitado em sistemas embarcados é conservado; 16 de maio de 2015 [email protected] 10
11 Sistemas Embarcados Tipos de dados em C Notem que os tipos de dados unsigned representam números inteiros positivos, enquanto tipos signed representam números inteiros positivos e negativos; Se uma variável é usada para representar uma série de bits (em vez de um número), então um tipo unsigned deve ser usado. 16 de maio de 2015 [email protected] 11
12 Sistemas Embarcados Tipos de dados em C Memória unsigned char numa = 7; unsigned long numb = 7; numa = numa + 1; numb = numb +1; numa numb ULA char: Apenas 1 byte long: 4 bytes char: apenas 1 byte por operação long: 4 operações de byte (move bytes para ULA, faz a conta, move de volta) de maio de 2015 [email protected] 12
13 Sistemas Embarcados Tipos de dados em C Sistemas Embarcados comumente lidam com itens de dados de 1-bit. C NÃO tem o tipo de dados 1-bit!!!; Tipos de dados de 1-bit são tipicamente representados usando o tipo unsigned char como: unsigned char mybitvar; O programador apenas associa a variável 0 ou 1, exe.: mybitvar = 1, mesmo se esta possa ter valores inteiros acima de de maio de 2015 [email protected] 13
14 Sistemas Embarcados Tipos de dados em C O programador apenas atribui a variável com 0 ou 1, exe.:, mybitvar = 1, embora a variável poderia ser atribuída com números inteiros até 255; Verificar se tal variável é 1 ou 0 é geralmente feito sem comparação explícita de 1 ou 0, ao invés disso, é feito como se (mybitvar) se (!mybitvar) 16 de maio de 2015 [email protected] 14
15 Sistemas Embarcados Tipos de dados em C 16 de maio de 2015 [email protected] 15
16 Sistemas Embarcados Tipos de dados em C Em C existem tipos de dados float e double para representar pontos flutuantes como 98,6 ou 6,02 x ; Muitos programadores de sistemas embarcados evitam utilizar tipos de dados extensos; Justamente para manter pequeno, baixo custo e pouco consumo; Mas estes tipos devem ser usados em ambiente de software. Então vale o bom senso e a necessidade. 16 de maio de 2015 [email protected] 16
17 Sistemas Embarcados Tipos de dados em C Uma boa prática de programação em SE é nomear as variáveis com o prefixo em minúscula, indicando o tipo de dado: uc, us e ul unsigned char, short e long; sc, ss e sl signed char, short e long; b para bit; char é chamado desta forma por causa que é comumente usado em programação para desktop para representar um valor inteiro de 8 bits ASCII. char é realmente um inteiro! Em C a opção signed pode ser omitida: char I1 = signed char I1 16 de maio de 2015 [email protected] 17
18 Sistemas Embarcados Tipos de dados em C Infelizmente, embora a largura dos tipos citados são bastante comuns, C define de fato as larguras pelo mínimo das larguras. Pode de modo que um compilador pode por exemplo criar um long como 64 bits; Assim, um programador nunca deve assumir a largura exata: Um programa não deve incrementar uma "unsigned char" e esperar que ele passe além de 255 para 0, pois o char poderia ser de 16 bits. 16 de maio de 2015 [email protected] 18
19 Sistemas Embarcados Tipos de dados em C Outra triste realidade é que C permite que uma variável para ser declarado como um mero tipo int, a largura é dependente do compilador. Devido à imprevisibilidade do int, evite usar o tipo arbitrariamente. Seguindo estas convenções, melhora a portabilidade do código, que é a capacidade de recompilar código para um outro microprocessador sem alterações indesejáveis no comportamento do programa. 16 de maio de 2015 [email protected] 19
20 Sistemas Embarcados Tipos de dados em C A representação de cada um dos tipos de dados é binária. Para um 8-bits unsigned char uci1: 16 de maio de 2015 [email protected] 20
21 Sistemas Embarcados Tipos de dados em C Tipos de dados signed em C usa duas representações complementares. Nível de bit char = 127 Representação interna: Se for -128 = = Lembrando das aulas de arquitetura (representação de números negativos): (magnitude 1) (complementar) = (add 1) (magnitude 128) (complementar) (add 1) 16 de maio de 2015 [email protected] 21
22 Sistemas Embarcados Tipos de dados em C Escolhendo o tipo apropriado Propósito Armazenar a idade de uma pessoa em anos Armazenar a velocidade de um avião Armazenar a carga restante de uma bateria em joules Armazenar em metros a elevação acima/abaixo do nível do mar da terra Declaração da Variável unsigned char age; //~<0, ~>255 unsigned short speed; //~<0, ~>64k unsigned long energy; //~<0, ~> 4Gig signed short elevation; //pode ser < 0, ~>32k ou <-32k 16 de maio de 2015 [email protected] 22
23 Sistemas Embarcados Exercícios # Questão Resposta 1 Quantos bits é um unsigned char? 8 2 Quantos bits é um signed char? 8 3 Como é 15 em 8-bits binário? Como são os bits armazenados na memória para unsigned char x = 5? 5 Como são os bits armazenados na memória para unsigned char x = 199? de maio de 2015 [email protected] 23
24 Sistemas Embarcados Exercícios # Questão Resposta 6 Defina uma variável volts que tem uma extensão de -100 até +100 (inteiros apenas). Finalize com ; 7 Defina uma variável altura que irá manter a altura de um humano em metros. 8 Defina uma variável birthyear que irá manter o ano de nascimento de uma pessoa. Extensão de 1 D.C até hoje. 9 Defina uma variável distmoon que irá manter a distância em quilômetros da lua até a terra em um determinado dia. 10 Defina uma variável botao que irá indicar quando um botão é pressionado ou não. signed char volts; unsigned char altura; unsigned short birtyear; unsigned long distmoon; unsigned char botao; 16 de maio de 2015 [email protected] 24
25 RIMS E/S Sistemas Embarcados 16 de maio de
26 Sistemas Embarcados Definição de variáveis de E/S implícita no RIMS No RIMS, cada entrada e saída do microcontrolador (E/S) é implicitamente definida como uma variável global: unsigned char A0; unsigned char A1;..., unsigned char B0; etc. Um item tem intenção de representar um bit simples, como B0 em RIMS que apresenta apenas dois valores 1 ou 0; RIMS define duas variáveis globais adicionais: A representa uma entrada de 8-bits como um número decimal B é uma saída de 8-bits 16 de maio de 2015 [email protected] 26
27 Sistemas Embarcados Definição de variáveis de E/S implícita no RIMS Variáveis globais implicitamente definida são lugares no ambiente de programação de microcontroladores, habilitando acesso a pinos de E/S como também a recursos do microcontrolador. No caso do RIMS o arquivo RIMS.h contém as definições de A e B. 16 de maio de 2015 [email protected] 27
28 Sistemas Embarcados Definição de variáveis de E/S implícita no RIMS bits agrupados nativos como A e B permite ao programador tratar as E/S do RIMS de 8 bits como números decimais de 8-bits ; A pode representar um número 12 que vem de um sensor de temperatura como um número binário de 8- bits ; O programador pode usar A em uma comparação aritmética como A > 15 ou como um cálculo newtemp = A+5. O programador pode escrever um número B como B = 15 que irá causar o aparecimento no RIMS como ; Pode escrever também B = A. 16 de maio de 2015 [email protected] 28
29 Sistemas Embarcados Definição de variáveis de E/S implícita no RIMS Como B é uma variável global, o programa pode ler e escrever diretamente nesta; No entanto a entrada A é automaticamente escrita pelo microcontrolador e nunca deverá ser escrita por um programa, apenas lida; No RIMS escrever em A resulta em um runtime error 16 de maio de 2015 [email protected] 29
30 Sistemas Embarcados Observação A palavra reservada const, acrônimo para constante, pode preceder qualquer declaração de variável, como: const unsigned char i1 = 5 ; O valor de uma variável constante NÃO podem ser alteradas pelo código posteriormente e, portanto, pode ajudar a evitar erros futuros; Uma constante variável deve ser inicializada quando declarada. No exemplo 5 é uma constante e i1 é uma constante variável. 16 de maio de 2015 [email protected] 30
31 Sistemas Embarcados Definição de variáveis de E/S implícita no RIMS CUIDADO: Os microcontroladores diferem em como eles tratam variáveis de entrada e saída, especialmente por causa da maioria dos microcontroladores permite cada pino ser configurado tanto como entrada como saída. O programador deve ler cuidadosamente o datasheet ou as instruções. 16 de maio de 2015 [email protected] 31
32 Sistemas Embarcados Exercícios # Questão Resposta 1 Inicialize o primeiro pino de saída do RIMS para 1. B0=1; 2 Inicializa as 8 saídas de bits do RIMS para o decimal 0. B=0; 3 Inicializa a primeira saída do RIMS para a última entrada do RIMS B0=A7; 4 Inicializa as saídas do RIMS com as entradas menos 1. Trate como um número decimal. B=A-1; 16 de maio de 2015 [email protected] 32
33 Sistemas Embarcados Exercícios # Questão Resposta 5 Inicialize A7 com 1. Não é possível 6 Inicializa as 8 saídas de bits do RIMS para o decimal 0. X = B7; 7 Escreva uma expressão (sem parênteses) que avalia se verdadeiro se A5 é 1. if ( A5 ou A5 ==1 ) { x = B0; } 16 de maio de 2015 [email protected] 33
34 HEXADECIMAL Sistemas Embarcados 16 de maio de
35 Sistemas Embarcados Hexadecimal Comumente um item 8-bit unsigned não é usado como um número, mas sim como oito bits distintos.; Por exemplo, se as oito saídas do RIMS estão conectadas a oito lâmpadas e o programador quer acender todas, este pode escrever B = 255 (por causa que 255 é ); No entanto, 255 não convém diretamente a intenção do programador. O programador pode escrever B = b ou algo semelhante, mas C infelizmente não tem suporte a binário. Mas, felizmente, C suporta as constantes hexadecimais, que estão mais próximos do ideal. 16 de maio de 2015 [email protected] 35
36 Sistemas Embarcados Hexadecimal Hexadecimal ou hex é um número de base 16 onde cada dígito pode ter o valor de 0, 1,..., 8, 9, A, B, C,..., F. A é 10, B é 11, C é 12 e assim vai de maio de 2015 [email protected] 36
37 Sistemas Embarcados Exercícios 16 de maio de
38 Sistemas Embarcados Exercícios 16 de maio de
39 Sistemas Embarcados Exercícios 16 de maio de
40 Sistemas Embarcados Exercícios 16 de maio de
41 Sistemas Embarcados Hexadecimal Na linguagem C, uma constante em hex é precedido por 0x. 0xFF representa b Cada digito hexadecimal corresponde a 4 bits (nibble) B = 0xFF inicializa todas as saídas do RIMS para 1 0xFF é mais claro que 255; B = 0xAA inicializa todas as saídas para (170d) 16 de maio de 2015 [email protected] 41
42 Sistemas Embarcados Hexadecimal Boas práticas em SE! Sempre usem hexadecimal do que os números decimais quando tenham a intenção de escrever um padrão; Mesmo quando o padrão em decimal para binário é conhecido para evitar futuras confusões: Para inicializar todas as saídas com zero B = 0x00 melhor que B = 0. B0 com 1 e B1-B7 com 0 use B = 0x01 1 byte 8 bits 1 palavra 16 bits 1 palavra dupla 32 bits 1 palavra quadrupla 64 bits 16 de maio de 2015 [email protected] 42
43 Sistemas Embarcados Hexadecimal binário (62) 16 de maio de
44 Sistemas Embarcados Hexadecimal binário (62) 16 de maio de
45 Sistemas Embarcados Hexadecimal binário (62) 16 de maio de
46 Sistemas Embarcados Hexadecimal binário (62) bits desejados hexa (62) 240 não condiz com os bits desejados 0xFF é melhor 1 digito hex para cada 4 dígitos binário (por causa 2^4 é 16) 16 de maio de 2015 [email protected] 46
47 Sistemas Embarcados Exercícios # Questão Resposta 1 Inicialize o primeiro pino de saída do RIMS para 1 B0=1; 2 Inicialize o primeiro pino de saída do RIMS para 1 e os demais para 0. B=0x01; 3 Inicialize o último pino do RIMS para 1 e os demais para 0. B=0x80; 4 Inicializa todas as saídas do RIMS para 1. B=0xFF; 16 de maio de 2015 [email protected] 47
48 Sistemas Embarcados Exercícios # Questão Resposta 5 Inicialize as saídas do RIMS para B=0x55; 6 Preencha o espaço em branco da expressão para detectar que todas as 8 entradas do RIMS são 1s. A == 7 Qual expressão detecta que o primeiro pino do RIMS é 1? 0xFF; A0 ou A0==1; 8 Qual expressão detecta que A0 é a única entrada do RIMS é 1? A==0x01; 16 de maio de 2015 [email protected] 48
49 Sistemas Embarcados Simples exemplo hexadecimal 16 de maio de
50 Sistemas Embarcados Esquemático 16 de maio de
51 Sistemas Embarcados Uma possível solução 16 de maio de
52 Sistemas Embarcados Exercício Considere um display de 7 segmentos de um SE com um discador que está conectado e pode inicializar as entradas de A3...A0 com os binários de 0 a 9 e para as saídas de B6...B0. Responda: Qual saída de B deverá ser inicializada para o caso 3? B0 B2 B3 B5 B6 Para qual valor deverá ser B inicializado para o caso 3? 0x6D Complete caso seja o esquema utilizando a função case. 16 de maio de 2015 [email protected] 52
53 Sistemas Embarcados Exercício de Nota Escreva um programa em C no RIMS que repetidamente executa B = 7. Note que as saídas B2, B1 e B0 tornam-se 1, porque 7 = (perceba que 7 aparece na abaixo dos pinos de saída no RIMS). Depois, inicialize os switches de entrada A3=1, A2=0, A1=0 e A0=1 com as outras entradas em 0 e note que 9 aparece. Por que? Escreva e execute um programa no RIMS que inicializa B igual a A + 1; Escreva um programa no RIMS que inicializa B=300. O que acontece? E porque? Um carro tem um sensor que inicializa A com o peso do passageiro (se o passageiro pesar 59 kg, A7...A0 = ). Isso é importante pois alguns carros só acionam o airbag com pelo mínimo. Escreva um programa no RIMS que habilita o sistema de airbag do carro (B0=1) se o peso do passageiro for igual ou maior que 48 kg. Também ligue uma luz Airbag off (B1=1) se peso > 2,5 kg mas peso < 48 kg. 16 de maio de 2015 [email protected] 53
54 Sistemas Embarcados Dúvidas? 16 de maio de
55 Sistemas Embarcados Programação Embarcada Instituto Federal de Pernambuco Coordenação de Informática/IFPE Anderson L. S. Moreira
Introdução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
MC102 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,
Programaçã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
Curso: 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
LÓ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
REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade
REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização
Linguagem 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
Linguagem 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
Componentes 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
PROGRAMAÇÃ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
Linguagens 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
Sistemas de numeração
E Sistemas de numeração Aqui estão apenas números ratificados. William Shakespeare A natureza tem algum tipo de sistema de coordenadas geométrico-aritmético, porque a natureza tem todos os tipos de modelos.
Programaçã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
Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS
Ciência da Computação Sistemas de Numeração e Conversões Prof. Sergio Ribeiro Material adaptado das aulas do Prof. José Maria da UFPI Conteúdo Conversões de binário para decimal. Conversões de decimal
ULA Sinais de Controle enviados pela UC
Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento
2. 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...
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 [email protected] www.univasf.edu.br/~jorge.cavalcanti
Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I. 2002 Juliana F. Camapum Wanderley
Organização e Arquitetura de Computadores Aula 10 Ponto Flutuante Parte I 2002 Juliana F. Camapum Wanderley http://www.cic.unb.br/docentes/juliana/cursos/oac OAC Ponto Flutuante Parte I - 1 Panorama Números
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Conceitos Básicos 1-1 BITs e BYTEs Bit = BInary digit = vale sempre 0 ou elemento básico de informação Byte = 8 bits processados em paralelo (ao mesmo tempo) Word = n bytes (depende do processador em questão)
INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO
Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele
Representação de Dados (inteiros não negativos)
Representação de Dados (inteiros não negativos) 1 Memória Armazena instruções e dados durante a execução de um programa A memória principal pode ser vista como um array de bytes, cada um com seu endereço
Roteiro 1: Dados, variáveis, operadores e precedência
1. Introdução Universidade Federal do ABC Disciplina: Processamento da Informação (BC-0505) Assunto: Dados, variáveis, operadores e precedência Roteiro 1: Dados, variáveis, operadores e precedência Nesta
Orientaçã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
Sistemas de Numeração
Sistemas de Numeração Um numeral é um símbolo ou grupo de símbolos que representa um número em um determinado instante da evolução do homem. Tem-se que, numa determinada escrita ou época, os numerais diferenciaram-se
Linguagem 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
1. NÍVEL CONVENCIONAL DE MÁQUINA
1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números
Programaçã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
13 Números Reais - Tipo float
13 Números Reais - Tipo float Ronaldo F. Hashimoto e Carlos H. Morimoto Até omomentonoslimitamosaouso do tipo inteiro para variáveis e expressões aritméticas. Vamos introduzir agora o tipo real. Ao final
LÓGICA DE PROGRAMAÇÃO
Todos direitos reservados. Proibida a reprodução, mesmo parcial, por qualquer processo mecânico, eletrônico, reprográfico, etc., sem a autorização, por escrito, do(s) autor(es) e da editora. LÓGICA DE
INTRODUÇÃ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
Algoritmos 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
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas
Exemplo de Subtração Binária
Exemplo de Subtração Binária Exercícios Converta para binário e efetue as seguintes operações: a) 37 10 30 10 b) 83 10 82 10 c) 63 8 34 8 d) 77 8 11 8 e) BB 16 AA 16 f) C43 16 195 16 3.5.3 Divisão binária:
Variá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
Tipos 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
Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br [email protected]
ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS
ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS Compilação dos erros mais comuns cometidos por estudantes de Introdução a Algoritmos Marcos Portnoi Edição 19.4.2007 Universidade Salvador UNIFACS
ARQUITETURA DE COMPUTADORES
01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100
A TI-89 / TI-92 Plus permite também comparar ou manipular números binários bit a bit.
Capítulo 20: Bases numéricas 20 Apresentação introdutória de bases numéricas... 344 Introdução e conversão de bases numéricas... 345 Realização de operações matemáticas com números hexadecimais ou binários...
LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes [email protected]
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes [email protected] Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Algoritmos e Programação Estruturada
Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.
Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2
INFORMÁTICA Sistemas de Numeração Professor: Rogério R. de Vargas 2014/2 Sistemas de Numeração São sistemas de notação usados para representar quantidades abstratas denominadas números. Um sistema numérico
VIII. 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
Linguagem algorítmica: Portugol
Programação de Computadores I Aula 03 Linguagem algorítmica: Portugol José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/34 Introdução I Lógica A lógica é usada
Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA
BIT BYTE 1 BIT / BYTE Toda informação introduzida em um computador precisa ser entendida pela máquina para que possa ser corretamente interpretada e processada. O computador armazena e movimenta as informações
FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES
FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos [email protected] www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é
Unidade 5: Sistemas de Representação
Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação
Capítulo 2. Numéricos e Códigos. 2011 Pearson Prentice Hall. Todos os direitos reservados.
Capítulo 2 Sistemas Numéricos e Códigos slide 1 Os temas apresentados nesse capítulo são: Conversão entre sistemas numéricos. Decimal, binário, hexadecimal. Contagem hexadecimal. Representação de números
Controladores Lógicos Programáveis CLP (parte-3)
Controladores Lógicos Programáveis CLP (parte-3) Mapeamento de memória Na CPU (Unidade Central de Processamento) de um CLP, todas a informações do processo são armazenadas na memória. Essas informações
Hardware de Computadores
Sistema Binário Hardware de Computadores O sistema binário é um sistema de numeração posicional em que todas as quantidades são representadas, utilizando-se como base as cifras: zero e um (0 e 1). Os computadores
Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões
Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal
Manipulação de Arquivos
1 Manipulação de Arquivos Para realizar E/S em arquivo, você precisa incluir o arquivo-cabeçalho fstream.h nos programas. Esse arquivo define muitas classes e valores importantes. Abrindo e fechando um
2. Representação Numérica
2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos
Aula 3 - Sistemas de Numeração
UEM Universidade Estadual de Maringá DIN - Departamento de Informática Disciplina: Fundamentos da Computação Profª Thelma Elita Colanzi Lopes [email protected] Aula 3 - Sistemas de Numeração O ser humano,
Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte III) Prof.a Joseana Macêdo Fechine Régis de Araújo [email protected]
Software Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza
Software Básico Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados para o todo
20 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,
Aula 2 Sistemas de Numeração (Revisão)
Aula 2 Sistemas de Numeração (Revisão) Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 Agenda Breve revisão da aula anterior
3. O NIVEL DA LINGUAGEM DE MONTAGEM
3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também
Arquitetura 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
Unidade: Unidade Lógica e Aritmética e Registradores. Unidade I:
Unidade: Unidade Lógica e Aritmética e Registradores Unidade I: 0 Unidade: Unidade Lógica e Aritmética e Registradores UNIDADE LÓGICA E ARITMÉTICA E REGISTRADORES O Processador é um chip com milhares de
1. CAPÍTULO COMPUTADORES
1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes
Java Como Programar, 8/E
Capítulo 5 Instruções de controle: Parte 2 Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 5.1 Introdução Instrução de repetição for Instrução de repetição do while Instrução de seleção
Sistemas de Numerações.
Matemática Profº: Carlos Roberto da Silva; Lourival Pereira Martins. Sistema de numeração: Binário, Octal, Decimal, Hexadecimal; Sistema de numeração: Conversões; Sistemas de Numerações. Nosso sistema
INF 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:
Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br [email protected]
Introduçã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 [email protected] sala 408 RDC 1 introdução a C tópicos ciclo de desenvolvimento sistemas numéricos tipos de
Representação de Dados
Representação de Dados Introdução Todos sabemos que existem diferentes tipos de números: fraccionários, inteiros positivos e negativos, etc. Torna-se necessária a representação destes dados em sistema
Faculdade 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
[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO]
Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob
DeviceNet Drive Profile CFW-09
Motores Automação Energia Transmissão & Distribuição Tintas DeviceNet Drive Profile CFW09 Manual da Comunicação Manual da Comunicação DeviceNet Drive Profile Série: CFW09 Idioma: Português Versão de Software:
CAPÍTULO 6 ARITMÉTICA DIGITAL
CAPÍTULO 6 ARITMÉTICA DIGITAL Introdução Números decimais Números binários positivos Adição Binária Números negativos Extensão do bit de sinal Adição e Subtração Overflow Aritmético Circuitos Aritméticos
PROGRAMA DE GERENCIAMENTO DOS AMPLIFICADORES MR 4.50D-XT MR 6.50D-XT MR 6.80-XT Rev. 2.3 de 29/01/2014
PROGRAMA DE GERENCIAMENTO DOS AMPLIFICADORES MR 4.50D-XT MR 6.50D-XT MR 6.80-XT Rev. 2.3 de 29/01/2014 Introdução: Este programa permite o gerenciamento dos amplificadores MR 4.50D-XT MR 6.50D-XT MR 6.80-XT
Manual MifareUSB/Serial
Manual MifareUSB/Serial 08/2012 V2.6 Manual MifareUSB/Serial Este manual descreve as conexões de hardware e os comandos para leitura, escrita e configurações para os leitores/gravadores de cartão Mifare
Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal 2015. Copyright 2010 All rights reserved.
Programação Folha Prática 3 Lab. 3 Departamento de Informática Universidade da Beira Interior Portugal 2015 Copyright 2010 All rights reserved. LAB. 3 3ª semana EXPRESSÕES E INSTRUÇÕES 1. Revisão de conceitos
Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo [email protected].
Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo [email protected] Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração
Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação
Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte II) Prof. a Joseana Macêdo Fechine Régis de Araújo [email protected]
Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB
Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha
Representação de Dados Inteiros com sinal
Representação de Dados Inteiros com sinal 1 Representação de Inteiros Com n bits, podemos ter 2 n valores distintos Considerando só inteiros não-negativos (unsigned) a faixa de valores é [0, 2 n -1] Considerando
Programação de Robótica: Modo Circuitos Programados - Avançado -
Programação de Robótica: Modo Circuitos Programados - Avançado - 1 Programação de Robótica: Modo Circuitos Programados - Avançado ATENÇÃO Lembramos que você poderá consultar o Manual de Referência do Software
Fabio Bento [email protected]
Fabio Bento [email protected] Eletrônica Digital Sistemas de Numeração e Códigos 1. Conversões de Binário para Decimal 2. Conversões de Decimal para Binário 3. Sistema de Numeração Hexadecimal 4. Código
Sistemas Microcontrolados
Sistemas Microcontrolados Aula 4: Programação em C para PIC Marco Jose da Silva [email protected] Compiladores C para PICs C18 HI-TECH CCS IAR MikroC http://www.microchip.com/ http://www.htsoft.com/
CONVENÇÃO DE CÓDIGO JAVA
CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2
ELETRÔNICA. Changed with the DEMO VERSION of CAD-KAS PDF-Editor (http://www.cadkas.com). INTRODUÇÃO
0010100111010101001010010101 CURSO DE 0101010100111010100101011101 1010011001111010100111010010 ELETRÔNICA 1010000111101010011101010010 DIGITAL INTRODUÇÃO Os circuitos equipados com processadores, cada
Jacson Rodrigues <[email protected]> 1
Redes de Computadores Conceitos Básicos Alguns conceitos fundamentais sobre a configuração de IPs, Máscara e Roteamento em Redes de Computadores muitas vezes não são bem compreendidos por pessoas da área.
Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos
Vetores Nos capítulos anteriores estudamos as opções disponíveis na linguagem C para representar: Números inteiros em diversos intervalos. Números fracionários com várias alternativas de precisão e magnitude.
Universidade 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[]
Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h
Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Representação de grandeza com sinal O bit mais significativo representa o sinal: 0 (indica um número
Capítulo 2: Introdução à Linguagem C
Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso
IFTO LÓGICA DE PROGRAMAÇÃO AULA 01
IFTO LÓGICA DE PROGRAMAÇÃO AULA 01 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://manoelcampos.com mcampos at ifto.edu.br Versão
INF 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
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano 2012-1
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é notação em ponto flutuante Compreender a
Criar a classe Aula.java com o seguinte código: Compilar e Executar
Introdução à Java Prof. Bruno Gomes [email protected] 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
