Unicode no mundo real

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

Download "Unicode no mundo real"

Transcrição

1 Unicode no mundo real Normalização do conteúdo na WEB Cláudio Valente SAPO 13 de Novembro de 2007

2 Conteúdos 1 Introdução 2 Encodings mais comuns Relações 3 Unicode 4 Exemplos de codificações 5 Utilização prática Problemas 6 Código exemplificativo Convenções Encoding ambíguo em pedidos Vários encodings no mesmo documento 7 Conclusões Objecções ao Unicode Resumo

3 Conceitos Fundamentais Humanos comunicam com símbolos (letras e ideográficos) Computadores não têm a noção de símbolo, apenas números Para processar texto num computador é necessário transformar caracteres em números Um encoding consiste na atribuição de um número a cada caracter pertencente a um conjunto

4 Conceitos Fundamentais Humanos comunicam com símbolos (letras e ideográficos) Computadores não têm a noção de símbolo, apenas números Para processar texto num computador é necessário transformar caracteres em números Um encoding consiste na atribuição de um número a cada caracter pertencente a um conjunto

5 ASCII O encoding mais conhecido e usado na prática é o ASCII (American Standard Code for Information Interchange) Caracteres não acentuados da Europa Ocidental e do Norte Associa a cada caracter um número entre 0 e 127 Cada caracter ASCII pode ser representado por um byte Na realidade apenas são necessários 7 bits Exemplo, o caracter A é representado pelo número = =

6 ASCII O encoding mais conhecido e usado na prática é o ASCII (American Standard Code for Information Interchange) Caracteres não acentuados da Europa Ocidental e do Norte Associa a cada caracter um número entre 0 e 127 Cada caracter ASCII pode ser representado por um byte Na realidade apenas são necessários 7 bits Exemplo, o caracter A é representado pelo número = =

7 Encodings utilizados em Português Língua Portuguesa utiliza caracteres acentuados ASCII é insuficiente Os encodings mais utilizados em Português são: ISO (latin-1) ISO Windows-1252 UTF-8 UTF-16

8 Encodings utilizados em Português Língua Portuguesa utiliza caracteres acentuados ASCII é insuficiente Os encodings mais utilizados em Português são: ISO (latin-1) ISO Windows-1252 UTF-8 UTF-16

9 Relações entre Encodings ASCII

10 Relações entre Encodings ASCII àáãç ISO Extensão mínima com caracteres acentuados das ĺınguas latinas

11 Relações entre Encodings e ISO ASCII àáãç ISO e Windows-1252 O símbolo e não faz parte do latin-1 e para o incluir foram criadas várias extensões incompatíveis

12 Relações entre Encodings e ISO ASCII àáãç tudo(?) ISO Unicode e UTF-( ) Windows-1252 O Unicode é suposto conter todos os caracteres considerados em ĺınguas usadas actualmente bem como muitas já mortas.

13 O que é o Unicode Representa conteúdo escrito em (quase) qualquer sistema humano que exista A cada caracter (grifo) associa um valor numérico Define formas de processar dados tais como: Classes de caracteres (alfa-numéricos, pontuação, símbolos) Comparações entre caracteres (ordenação alfabética) Direccionalidade do texto

14 O que é o Unicode Representa conteúdo escrito em (quase) qualquer sistema humano que exista A cada caracter (grifo) associa um valor numérico Define formas de processar dados tais como: Classes de caracteres (alfa-numéricos, pontuação, símbolos) Comparações entre caracteres (ordenação alfabética) Direccionalidade do texto

15 Características técnicas do Unicode Define aproximadamente caracteres É uma extensão do latin-1. Todos os caracteres portugueses têm a mesma representação em unicode Não é possível continuar a representar cada caracter por um byte É necessário fazer corresponder caracteres unicode a uma sequência de bytes UTF-32 UTF-16 UTF-8 UTF-7

16 Características técnicas do Unicode Define aproximadamente caracteres É uma extensão do latin-1. Todos os caracteres portugueses têm a mesma representação em unicode Não é possível continuar a representar cada caracter por um byte É necessário fazer corresponder caracteres unicode a uma sequência de bytes UTF-32 UTF-16 UTF-8 UTF-7

17 Características técnicas do Unicode Define aproximadamente caracteres É uma extensão do latin-1. Todos os caracteres portugueses têm a mesma representação em unicode Não é possível continuar a representar cada caracter por um byte É necessário fazer corresponder caracteres unicode a uma sequência de bytes UTF-32 UTF-16 UTF-8 UTF-7

18 UTF-8 UTF = Unicode Transformation Format Faz corresponder a uma sequência de caracteres unicode uma sequência de bytes Vantagens Conteúdo ASCII fica inalterado Independente de ordenação de bytes (little-endian vs big-endian) Codifica todos os caracteres Unicode Desvantagens Podem ser necessários vários bytes por caracter Não é 7bit safe O acesso aleatório a um caracter não é possível

19 UTF-8 UTF = Unicode Transformation Format Faz corresponder a uma sequência de caracteres unicode uma sequência de bytes Vantagens Conteúdo ASCII fica inalterado Independente de ordenação de bytes (little-endian vs big-endian) Codifica todos os caracteres Unicode Desvantagens Podem ser necessários vários bytes por caracter Não é 7bit safe O acesso aleatório a um caracter não é possível

20 UTF-8 UTF = Unicode Transformation Format Faz corresponder a uma sequência de caracteres unicode uma sequência de bytes Vantagens Conteúdo ASCII fica inalterado Independente de ordenação de bytes (little-endian vs big-endian) Codifica todos os caracteres Unicode Desvantagens Podem ser necessários vários bytes por caracter Não é 7bit safe O acesso aleatório a um caracter não é possível

21 Exemplos de codificações alfabeto latino com diacríticos e e A Ã Ç e ASCII A N.D. N.D. N.D. ISO A [C3] [C7] N.D. ISO A [C3] [C7] [A4] Windows-1252 A [C3] [C7] [80] UTF-8 A [C3][83] [C3][87] [E2][82][AC] UTF-16LE A[00] [C3][00] [C7][00] [AC][20] UTF-7 A +AMM- +AMc- +IKw- Unicode U+41 U+C3 U+C7 U+20AC ASCII não suporta acentos nem e

22 Exemplos de codificações alfabeto latino com diacríticos e e A Ã Ç e ASCII A N.D. N.D. N.D. ISO A [C3] [C7] N.D. ISO A [C3] [C7] [A4] Windows-1252 A [C3] [C7] [80] UTF-8 A [C3][83] [C3][87] [E2][82][AC] UTF-16LE A[00] [C3][00] [C7][00] [AC][20] UTF-7 A +AMM- +AMc- +IKw- Unicode U+41 U+C3 U+C7 U+20AC ISO suporta acentos, mas não o e

23 Exemplos de codificações alfabeto latino com diacríticos e e A Ã Ç e ASCII A N.D. N.D. N.D. ISO A [C3] [C7] N.D. ISO A [C3] [C7] [A4] Windows-1252 A [C3] [C7] [80] UTF-8 A [C3][83] [C3][87] [E2][82][AC] UTF-16LE A[00] [C3][00] [C7][00] [AC][20] UTF-7 A +AMM- +AMc- +IKw- Unicode U+41 U+C3 U+C7 U+20AC ISO suporta acentos, mas não o e

24 Exemplos de codificações alfabeto latino com diacríticos e e A Ã Ç e ASCII A N.D. N.D. N.D. ISO A [C3] [C7] N.D. ISO A [C3] [C7] [A4] Windows-1252 A [C3] [C7] [80] UTF-8 A [C3][83] [C3][87] [E2][82][AC] UTF-16LE A[00] [C3][00] [C7][00] [AC][20] UTF-7 A +AMM- +AMc- +IKw- Unicode U+41 U+C3 U+C7 U+20AC ISO e Windows-1252 suportam e de forma incompatível

25 Exemplos de codificações alfabeto latino com diacríticos e e A Ã Ç e ASCII A N.D. N.D. N.D. ISO A [C3] [C7] N.D. ISO A [C3] [C7] [A4] Windows-1252 A [C3] [C7] [80] UTF-8 A [C3][83] [C3][87] [E2][82][AC] UTF-16LE A[00] [C3][00] [C7][00] [AC][20] UTF-7 A +AMM- +AMc- +IKw- Unicode U+41 U+C3 U+C7 U+20AC O Unicode é extensão do ISO

26 Exemplos de codificações alfabeto latino com diacríticos e e A Ã Ç e ASCII A N.D. N.D. N.D. ISO A [C3] [C7] N.D. ISO A [C3] [C7] [A4] Windows-1252 A [C3] [C7] [80] UTF-8 A [C3][83] [C3][87] [E2][82][AC] UTF-16LE A[00] [C3][00] [C7][00] [AC][20] UTF-7 A +AMM- +AMc- +IKw- Unicode U+41 U+C3 U+C7 U+20AC UTF-8 necessita de um número variável de bytes

27 Exemplos de codificações alfabeto latino com diacríticos e e A Ã Ç e ASCII A N.D. N.D. N.D. ISO A [C3] [C7] N.D. ISO A [C3] [C7] [A4] Windows-1252 A [C3] [C7] [80] UTF-8 A [C3][83] [C3][87] [E2][82][AC] UTF-16LE A[00] [C3][00] [C7][00] [AC][20] UTF-7 A +AMM- +AMc- +IKw- Unicode U+41 U+C3 U+C7 U+20AC UTF-16 e UTF-32 podem ser Little Endian ou Big Endian

28 Exemplos de codificações símbolos comuns 1 2 œ... ASCII N.D. N.D. N.D. N.D. ISO [BD] N.D. N.D. N.D. ISO N.D. [BD] N.D. N.D. Windows-1252 [BD] [9C] [93] [85] UTF-8 [C2][BD] [C5][93] [E2][80][9C] [E2][80][A6] UTF-16LE [BD][00] S[01] [1C][20] [26][20] UTF-7 +AL0- +AVM- +IBw- +ICY- Unicode U+BD U+153 U+201C U+2026 ISO não é estritamente uma extensão de ISO

29 Exemplos de codificações símbolos comuns 1 2 œ... ASCII N.D. N.D. N.D. N.D. ISO [BD] N.D. N.D. N.D. ISO N.D. [BD] N.D. N.D. Windows-1252 [BD] [9C] [93] [85] UTF-8 [C2][BD] [C5][93] [E2][80][9C] [E2][80][A6] UTF-16LE [BD][00] S[01] [1C][20] [26][20] UTF-7 +AL0- +AVM- +IBw- +ICY- Unicode U+BD U+153 U+201C U+2026 smart quotes e reticências definidas no Windows-1252 mas não no ISO (5)

30 Exemplos de codificações símbolos comuns 1 2 œ... ASCII N.D. N.D. N.D. N.D. ISO [BD] N.D. N.D. N.D. ISO N.D. [BD] N.D. N.D. Windows-1252 [BD] [9C] [93] [85] UTF-8 [C2][BD] [C5][93] [E2][80][9C] [E2][80][A6] UTF-16LE [BD][00] S[01] [1C][20] [26][20] UTF-7 +AL0- +AVM- +IBw- +ICY- Unicode U+BD U+153 U+201C U+2026 Unicode codifica todos os caracteres (para efeitos práticos)

31 HTML Identificar o conteúdo da página como estando codificado em UTF-8 nos cabeçalhos de HTTP. Content-Type: text/html; charset=utf-8 Identificar no documento. <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> Forms. O encoding deve ser especificado sendo o da página por omissão <form accept-charset="utf-8">... </form>

32 HTML Identificar o conteúdo da página como estando codificado em UTF-8 nos cabeçalhos de HTTP. Content-Type: text/html; charset=utf-8 Identificar no documento. <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> Forms. O encoding deve ser especificado sendo o da página por omissão <form accept-charset="utf-8">... </form>

33 HTML Identificar o conteúdo da página como estando codificado em UTF-8 nos cabeçalhos de HTTP. Content-Type: text/html; charset=utf-8 Identificar no documento. <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> Forms. O encoding deve ser especificado sendo o da página por omissão <form accept-charset="utf-8">... </form>

34 Parâmetros em Unicode Quando um pedido GET ou POST é efectuado, os parâmetros devem ser transformados (uri escape). Infelizmente o conteúdo associado aos bytes não é transmitido no pedido obrigando a: Forçar um determinado encoding (parâmetro accept-charset no form) Utilizar argumentos heurísticos Assumir que está em UTF-8 Caso não seja um conjunto de caracteres válido assumir latin-1 ou melhor Windows-1252 Começa a ser comum enviar caracteres fora do ASCII como %uxxxx onde os quatro X representam o código unicode em hexadecimal

35 Parâmetros em Unicode Quando um pedido GET ou POST é efectuado, os parâmetros devem ser transformados (uri escape). Infelizmente o conteúdo associado aos bytes não é transmitido no pedido obrigando a: Forçar um determinado encoding (parâmetro accept-charset no form) Utilizar argumentos heurísticos Assumir que está em UTF-8 Caso não seja um conjunto de caracteres válido assumir latin-1 ou melhor Windows-1252 Começa a ser comum enviar caracteres fora do ASCII como %uxxxx onde os quatro X representam o código unicode em hexadecimal

36 Parâmetros em Unicode Quando um pedido GET ou POST é efectuado, os parâmetros devem ser transformados (uri escape). Infelizmente o conteúdo associado aos bytes não é transmitido no pedido obrigando a: Forçar um determinado encoding (parâmetro accept-charset no form) Utilizar argumentos heurísticos Assumir que está em UTF-8 Caso não seja um conjunto de caracteres válido assumir latin-1 ou melhor Windows-1252 Começa a ser comum enviar caracteres fora do ASCII como %uxxxx onde os quatro X representam o código unicode em hexadecimal

37 Erros comuns Páginas sem qualquer informação de encoding Conteúdo latin-1 misturado com UTF-8 GET iconv -f utf-8 -t utf-8 >/dev/null iconv: illegal input sequence at position Conteúdo UTF-8 em páginas latin-1. Página que se identifica como estando em latin-1 mas que contém por exemplo Clà udio (deveria ser Cláudio).

38 Erros comuns Páginas sem qualquer informação de encoding Conteúdo latin-1 misturado com UTF-8 GET iconv -f utf-8 -t utf-8 >/dev/null iconv: illegal input sequence at position Conteúdo UTF-8 em páginas latin-1. Página que se identifica como estando em latin-1 mas que contém por exemplo Clà udio (deveria ser Cláudio).

39 Erros comuns Páginas sem qualquer informação de encoding Conteúdo latin-1 misturado com UTF-8 GET iconv -f utf-8 -t utf-8 >/dev/null iconv: illegal input sequence at position Conteúdo UTF-8 em páginas latin-1. Página que se identifica como estando em latin-1 mas que contém por exemplo Clà udio (deveria ser Cláudio).

40 Código mínimo Uma string usual é apenas um conjunto de bytes > s= Cl \ x e 1 u d i o Para interpretarmos como caracteres temos de especificar o encoding > u1 = u n i c o d e ( Cl \ x e 1 u d i o, l a t i n 1 ) Mas podemos fazer de forma equivalente > u2 = u n i c o d e ( Cl \ xc3 \ xa1udio, utf 8 ) Ou dizer logo que se trata duma string unicode > u3 = u Cl \ u00e1udio u1, u2 e u3 representam a mesma sequência de grifos. > p r i n t u1==u2 and u2==u3 True

41 Código mínimo Uma string usual é apenas um conjunto de bytes > s= Cl \ x e 1 u d i o Para interpretarmos como caracteres temos de especificar o encoding > u1 = u n i c o d e ( Cl \ x e 1 u d i o, l a t i n 1 ) Mas podemos fazer de forma equivalente > u2 = u n i c o d e ( Cl \ xc3 \ xa1udio, utf 8 ) Ou dizer logo que se trata duma string unicode > u3 = u Cl \ u00e1udio u1, u2 e u3 representam a mesma sequência de grifos. > p r i n t u1==u2 and u2==u3 True

42 Código mínimo Uma string usual é apenas um conjunto de bytes > s= Cl \ x e 1 u d i o Para interpretarmos como caracteres temos de especificar o encoding > u1 = u n i c o d e ( Cl \ x e 1 u d i o, l a t i n 1 ) Mas podemos fazer de forma equivalente > u2 = u n i c o d e ( Cl \ xc3 \ xa1udio, utf 8 ) Ou dizer logo que se trata duma string unicode > u3 = u Cl \ u00e1udio u1, u2 e u3 representam a mesma sequência de grifos. > p r i n t u1==u2 and u2==u3 True

43 Código mínimo Uma string usual é apenas um conjunto de bytes > s= Cl \ x e 1 u d i o Para interpretarmos como caracteres temos de especificar o encoding > u1 = u n i c o d e ( Cl \ x e 1 u d i o, l a t i n 1 ) Mas podemos fazer de forma equivalente > u2 = u n i c o d e ( Cl \ xc3 \ xa1udio, utf 8 ) Ou dizer logo que se trata duma string unicode > u3 = u Cl \ u00e1udio u1, u2 e u3 representam a mesma sequência de grifos. > p r i n t u1==u2 and u2==u3 True

44 Argumentos em encoding ambíguo Supor que nome contém o valor de um argumento de um pedido GET depois de url decoded. Só sabemos uma sequência de bytes mas o utilizador realmente pretendeu introduzir o nome Cláudio. > nome1 = Cl \ x e 1 u d i o > nome2 = Cl \ xc3 \ xa1udio Como detectar heuristicamente o que o utilizador pretende?

45 Argumentos em encoding ambíguo Supor que nome contém o valor de um argumento de um pedido GET depois de url decoded. Só sabemos uma sequência de bytes mas o utilizador realmente pretendeu introduzir o nome Cláudio. > nome1 = Cl \ x e 1 u d i o > nome2 = Cl \ xc3 \ xa1udio Como detectar heuristicamente o que o utilizador pretende?

46 Resolução Definir a função: def c l e a n a r g s ( s ) : t r y : return u n i c o d e ( s, utf 8 ) except UnicodeDecodeError : return u n i c o d e ( s, windows 1252 ) O resultado destas função em ambas alternativas tem como resultado uma string unicode que representa realmente o nome pretendido. > c l e a n a r g s ( nome1 ) u Cl \ x e 1 u d i o > c l e a n a r g s ( nome2 ) u Cl \ x e 1 u d i o

47 Resolução Definir a função: def c l e a n a r g s ( s ) : t r y : return u n i c o d e ( s, utf 8 ) except UnicodeDecodeError : return u n i c o d e ( s, windows 1252 ) O resultado destas função em ambas alternativas tem como resultado uma string unicode que representa realmente o nome pretendido. > c l e a n a r g s ( nome1 ) u Cl \ x e 1 u d i o > c l e a n a r g s ( nome2 ) u Cl \ x e 1 u d i o

48 Como tratar conteúdo com texto em vários encodings Bastantes páginas na Web em Português têm conteúdo identificado como estando em UTF-8, mas contendo caracteres representados em windows-1252 Outras identificam-se como estando em latin-1 ou windows-1252 mas contêm palavras codificadas em UTF-8 Uma solução de compromisso consiste em: Assumir que todo o conteúdo está em UTF-8 Quando um dado conjunto de bytes não corresponder a UTF-8 válido assumir que esses bytes representam caracteres em windows-1252 ou latin-1

49 Como tratar conteúdo com texto em vários encodings Bastantes páginas na Web em Português têm conteúdo identificado como estando em UTF-8, mas contendo caracteres representados em windows-1252 Outras identificam-se como estando em latin-1 ou windows-1252 mas contêm palavras codificadas em UTF-8 Uma solução de compromisso consiste em: Assumir que todo o conteúdo está em UTF-8 Quando um dado conjunto de bytes não corresponder a UTF-8 válido assumir que esses bytes representam caracteres em windows-1252 ou latin-1

50 Implementação import codecs def h a n d l e e r r o r s ( ex ) : s = ex. o b j e c t [ ex. s t a r t ] r e t = u n i c o d e ( s, windows 1252 ) return ( r e t, ex. s t a r t +1) codecs. r e g i s t e r e r r o r ( c l e a n, h a n d l e e r r o r s ) Utilizar da seguinte forma: > i n p u t = Cl \ x e 1 u d i o Cl \ xc3 \ xa1udio > u n i c o d e ( input, utf 8, c l e a n ) u Cl \ x e 1 u d i o Cl \ x e 1 u d i o > p r i n t u n i c o d e ( input, utf 8, c l e a n ) Cláudio Cláudio

51 Implementação import codecs def h a n d l e e r r o r s ( ex ) : s = ex. o b j e c t [ ex. s t a r t ] r e t = u n i c o d e ( s, windows 1252 ) return ( r e t, ex. s t a r t +1) codecs. r e g i s t e r e r r o r ( c l e a n, h a n d l e e r r o r s ) Utilizar da seguinte forma: > i n p u t = Cl \ x e 1 u d i o Cl \ xc3 \ xa1udio > u n i c o d e ( input, utf 8, c l e a n ) u Cl \ x e 1 u d i o Cl \ x e 1 u d i o > p r i n t u n i c o d e ( input, utf 8, c l e a n ) Cláudio Cláudio

52 Isto é complicar sem necessidade Basta trabalhar com bytes sempre em UTF-8 Esta abordagem não funciona. Como já vimos nome2 representa o nome Cláudio em UTF-8. Imaginemos que pretendemos imprimir este nome em maiúsculas. > nome2. upper ( ) Cl \ xc3 \ xa1udio > p r i n t nome2. upper ( ) CLáUDIO Não é o resultado pretendido. > c l e a n a r g s ( nome2 ). upper ( ) u CL\xc1UDIO > p r i n t c l e a n a r g s ( nome2 ). upper ( ) CLÁUDIO

53 Isto é complicar sem necessidade Basta trabalhar com bytes sempre em UTF-8 Esta abordagem não funciona. Como já vimos nome2 representa o nome Cláudio em UTF-8. Imaginemos que pretendemos imprimir este nome em maiúsculas. > nome2. upper ( ) Cl \ xc3 \ xa1udio > p r i n t nome2. upper ( ) CLáUDIO Não é o resultado pretendido. > c l e a n a r g s ( nome2 ). upper ( ) u CL\xc1UDIO > p r i n t c l e a n a r g s ( nome2 ). upper ( ) CLÁUDIO

54 Resumo sequências de bytes não determinam caracteres univocamente sempre que possível trabalhar com strings unicode e especificar o encoding de bytes em páginas WEB a WEB está progressivamente a migrar para UTF-8 durante a transição é publicado diverso tipo de conteúdo com erros o problema de interpretar o que se pretende transmitir vs o que é realmente transmitido necessita de abordagens heurísticas

55 Referências Consórcio Unicode Joel on Software Informação mínima que todo o programador deve saber Characters and encodings jkorpela/chars/index.html

56 Apêndice Python Suporta Unicode out of the box Tipos distintos para strings unicode e arrays de bytes (str, unicode) Assume encodings por omissão e converte bytes para strings unicode Suporte bem integrado com a maior parte dos módulos

57 Apêndice Perl Suporta Unicode out of the box (Encode, perluni) Utiliza o mesmo tipo para arrays de bytes e strings unicode Distinção feita implicitamente (bit marca strings unicode) Suporte no motor de regular expressions Abordagem impĺıcita resulta em comportamentos com nuances por vezes pouco óbvias

58 Apêndice JAVA e C# Suporta Unicode out of the box Tipos distintos para strings unicode e arrays de bytes Integração total com todos os módulos

59 Apêndice PHP5 Não suporta unicode de forma integrada Não existem strings unicode, apenas bytes É possível utilizar extensões (iconv, mbstring) Todo o processamento é feito obrigatoriamente utilizando bytes, tipicamente UTF-8 Biblioteca insuficiente para processar strings multibyte

60 Apêndice PHP6 Promete: Integrar Unicode Tipos distintos para strings unicode e arrays de bytes binary string (default encoding) unicode Permitir desligar suporte unicode (INI) Integrar unicode na maior parte das funções built-in

Unicode: Os segredos da Codificação de Caracteres. Douglas V. Pasqua douglas.pasqua@gmail.com http://douglaspasqua.com

Unicode: Os segredos da Codificação de Caracteres. Douglas V. Pasqua douglas.pasqua@gmail.com http://douglaspasqua.com Unicode: Os segredos da Codificação de Caracteres Douglas V. Pasqua douglas.pasqua@gmail.com http://douglaspasqua.com Objetivo Entendendo o que é e como funciona a codificação de caracteres Identificando

Leia mais

2008 2009 2 o semestre

2008 2009 2 o semestre Computadores e Programação Helmut Wolters 4/3/2009 p. 1/12 Computadores e Programação 2008 2009 2 o semestre Aula 4/3/2009 Helmut Wolters Computadores e Programação Helmut Wolters 4/3/2009 p. 2/12 Representação

Leia mais

No princípio havia a tabela

No princípio havia a tabela PROGRAMAÇÃO Cheryl lee - www.sxc.hu Organização de conjuntos de caracteres com Perl Sopa de letrinhas Quando caracteres estranhos aparecem no código ou nos dados de um programa, os programadores Perl precisam

Leia mais

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

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

Leia mais

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções) Aulas anteriores... Formulação adequada do problema Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução Definição do algoritmo Método de decomposição hierárquica utilizando

Leia mais

Fabio Bento fbento@ifes.edu.br

Fabio Bento fbento@ifes.edu.br Fabio Bento fbento@ifes.edu.br 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

Leia mais

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 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

Leia mais

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

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,

Leia mais

SCC-210 Algoritmos Avançados

SCC-210 Algoritmos Avançados SCC-210 Algoritmos Avançados Capítulo 3 Strings João Luís G. Rosa Strings & Códigos de Caracteres Caracteres são representados por códigos. Códigos de caracteres: Mapeamento símbolo (em um dado alfabeto)

Leia mais

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) 1 UNIVERSIDADE DO CONTESTADO / UnC CAMPUS CONCÓRDIA/SC CURSO DE SISTEMAS DE INFORMAÇÃO Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) (Apostila da disciplina elaborada pelo

Leia mais

Introdução à Lógica de Programação

Introdução à Lógica de Programação Introdução à Lógica de Programação Sistemas Numéricos As informações inseridas em um computador são traduzidos em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha

Leia mais

Aula 2 Variáveis. Precisamos armazenar os tipos de dados da aula anterior (inteiros, reais, literais e lógicos) em memória. Como fazer?

Aula 2 Variáveis. Precisamos armazenar os tipos de dados da aula anterior (inteiros, reais, literais e lógicos) em memória. Como fazer? Aula 2 Variáveis 1. Introdução Computadores precisam manipular informações. Por conseguinte, precisam armazená-las em sua memória. Para isso, usamos a abstração de variáveis. 2. Sistemas de numeração Explicar

Leia mais

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

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)

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Sistemas Numéricos e Armazenamento de dados Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Outubro de 2006 Sistema de base dez O sistema de numeração

Leia mais

Disparando o interpretador

Disparando o interpretador Capítulo 2: Usando o interpretador Python Disparando o interpretador O interpretador é frequentemente instalado como /usr/local/bin/python nas máquinas onde está disponível; adicionando /usr/local/bin

Leia mais

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos Internet e protocolos web A Internet é uma rede descentralizada de recursos computacionais Tolerante a falhas (no single point of failure) Topologia tem de fornecer caminhos alternativos entre 2 computadores

Leia mais

Conceitos de Linguagens de Programação

Conceitos 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 mais

Exemplos. char c; int i=67;... c= A ; c=c+1; if (c== B )... c=i; i=c; i++; if (i>= C )...

Exemplos. char c; int i=67;... c= A ; c=c+1; if (c== B )... c=i; i=c; i++; if (i>= C )... Caracteres Conceitos Tipo de dados simples (char), cujo valor é a codificação numérica de um caracter; Caracteres literais são representados por aspas simples, como em A e a ; Variáveis do tipo char podem

Leia mais

Informática Aplicada à Química. Sistemas de Numeração Representação de Dados

Informática Aplicada à Química. Sistemas de Numeração Representação de Dados Informática Aplicada à Química Sistemas de Numeração Representação de Dados Representando Dados Bit Byte Palavra Bit (b) Abreviação de binary digit (dígito binário). Dois valores possíveis: e 1. Nunca

Leia mais

08 de Outubro de 2014. Send It. Codificação de SMS

08 de Outubro de 2014. Send It. Codificação de SMS 08 de Outubro de 2014 Send It Codificação de SMS Índice 1. Versões... 4 2. Conteúdo da mensagem... 5 3. Pagamento em função do texto da mensagem... 6 4. Caracteres padrão (1 carácter de comprimento)...

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Curso de Eng. Informática Curso de Eng. de Electrónica e Computadores Aula Prática Bit stuffing, CRC e IP 1 Introdução 1.1 Framing O nível de ligação de dados utiliza o serviço fornecido

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/2. Introdução à Programação de Computadores. Aula - Tópico 1

Algoritmos e Estruturas de Dados I (DCC/003) 2013/2. Introdução à Programação de Computadores. Aula - Tópico 1 Algoritmos e Estruturas de Dados I (DCC/003) 2013/2 Introdução à Programação de Computadores Aula - Tópico 1 1 Por que usar um computador? Como conversar com um computador? 0101001001010100101011 0010100110101011111010

Leia mais

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 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 mais

Codificação da informação. Execução do programa. Codificação binária. Representação de inteiros positivos. Representação binária

Codificação da informação. Execução do programa. Codificação binária. Representação de inteiros positivos. Representação binária Execução do a calcula-se determinada solução (output) para determinado problema (input) usando um a que é executado no dados do problema (informação de entrada) a solução (informação resultante) Codificação

Leia mais

Capítulo 9: Codificação. Prof.: Roberto Franciscatto

Capítulo 9: Codificação. Prof.: Roberto Franciscatto Capítulo 9: Codificação Prof.: Roberto Franciscatto Conceituação Um computador só pode identificar a informação através de sua capacidade de distinguir entre dois estados; Algo está imantado num sentido

Leia mais

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. josineys@inf.ufpr.br

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. josineys@inf.ufpr.br Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 2 (07/08/15) Introdução ao Python História Características Estrutura dos código-fonte Primeiros elementos

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Licenciatura em Computação Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Representação da informação Ao final deste capítulo você deverá ser capaz

Leia mais

Binário e Hexadecimal. Como contam os computadores

Binário e Hexadecimal. Como contam os computadores Binário e Hexadecimal Como contam os computadores Bit Unidade básica de medida dos computadores é o bit (binary digit), intoduzida por Claude Shannon, na sua obra Teoria Matemática da Computação, de 1948.

Leia mais

20 Caracteres - Tipo char

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,

Leia mais

PROGRAMADOR JAVA. Aula 0 20 semanas. Instrutor : Léo Billi Email : leo.billi@gmail.com

PROGRAMADOR JAVA. Aula 0 20 semanas. Instrutor : Léo Billi Email : leo.billi@gmail.com Aula 0 20 semanas Instrutor : Léo Billi Email : leo.billi@gmail.com Bem-vindos Para que não sabe, quer dizer iniciantes. Noobs Informática A arte de processar dados A História A História A arte de processar

Leia mais

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for FICHA DE TRABALHO Nº 1 MÓDULO: EQUIPAMENTOS ACTIVOS DE REDES DATA: / 03 / 2010 FORMADOR: EDUARDO SEQUEIRA FICHA LABORATORIAL 1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através

Leia mais

e à Linguagem de Programação Python

e à Linguagem de Programação Python Introdução a Algoritmos, Computação Algébrica e à Linguagem de Programação Python Curso de Números Inteiros e Criptografia Prof. Luis Menasché Schechter Departamento de Ciência da Computação UFRJ Agosto

Leia mais

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA. Representação de Dados Tipos de dados: Caracteres (letras, números n e símbolos). s Lógicos. Inteiros. Ponto flutuante: Notações decimais: BCD. A declaração de uma variável vel define o seu tipo. O tipo

Leia mais

O protocolo HTTP. O que é o protocolo HTTP?

O protocolo HTTP. O que é o protocolo HTTP? O protocolo HTTP Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. Quais são as partes de um a resposta HTTP. IIS - HTTP 1 O que é o protocolo HTTP? Hyper

Leia mais

Unidade 5: Sistemas de Representação

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

Leia mais

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16 Informática Prof. Macêdo Firmino Representação da Informação Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16 Introdução Estamos acostumados a pensar nos computadores como mecanismos complexos,

Leia mais

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 Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Representação da Informação Um dispositivo eletrônico, armazena e movimenta as informações internamente

Leia mais

Bem-vindo ao XML. Apostila de XML

Bem-vindo ao XML. Apostila de XML Bem-vindo ao XML Bem-vindo a Extensible Markup Language, XML, a linguagem para tratamento de dados em uma forma compacta, fácil de gerenciar sem mencionar o mais poderoso avanço visto na Internet nos últimos

Leia mais

Sistemas de Numeração

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

Leia mais

- Representação da Informação pelo computador - Sistemas de Numeração - Código Binário - Digitalização

- Representação da Informação pelo computador - Sistemas de Numeração - Código Binário - Digitalização Disciplina Bases Computacionais Aula 03 Informação, Dados, Variáveis, Algoritmos Roteiro da Aula: - Representação da Informação pelo computador - Sistemas de Numeração - Código Binário - Digitalização

Leia mais

SISTEMAS DIGITAIS SISTEMAS DE NUMERAÇÃO E CÓDIGOS

SISTEMAS DIGITAIS SISTEMAS DE NUMERAÇÃO E CÓDIGOS SISTEMAS DE NUMERAÇÃO E CÓDIGOS SISTEMAS DE NUMERAÇÃO E CÓDIGOS - 2 SUMÁRIO: SISTEMAS DE NUMERAÇÃO DEFINIÇÃO DE SISTEMA DE NUMERAÇÃO EQUIVALENTE DECIMAL OPERAÇÕES ARITMÉTICAS BÁSICAS MUDANÇA DE SISTEMA

Leia mais

Genericamente qualquer sistema de numeração pode ser caracterizado por:

Genericamente qualquer sistema de numeração pode ser caracterizado por: SISTEMAS NUMÉRICOS 1 Genericamente qualquer sistema de numeração pode ser caracterizado por: Sistema de Base N - Possui N dígitos e o maior é (N-1) - Qualquer número maior que (N-1) pode ser expresso como

Leia mais

Adriano Mauro Cansian 2

Adriano Mauro Cansian 2 Números binários i e Linguagens g de Programação André Proto Adriano Mauro Cansian UNESP - São José do Rio Preto http://adriano.acmesecurity.org/lc (Linguagem Computacional) Neste tópico veremos: A representação

Leia mais

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Para 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 mais

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes Codificação Principais códigos utilizados Computadores e Equipamentos de Comunicações Digitais trabalham com representação e códigos. A codificação binária de sinais é largamente utilizada em Sistemas

Leia mais

Capítulo 2. Numéricos e Códigos. 2011 Pearson Prentice Hall. Todos os direitos reservados.

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

Leia mais

Sistema de Numeração e Códigos. CPCX UFMS Prof. Renato F. dos Santos

Sistema de Numeração e Códigos. CPCX UFMS Prof. Renato F. dos Santos Sistema de Numeração e Códigos CPCX UFMS Prof. Renato F. dos Santos 2.4 Código BCD (Binary-coded decimal) Quando um número decimal é representado pelo seu número binário equivalente, dizemos que é uma

Leia mais

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII A ocorrência tamanho ASCII codificação de Huffman é um A Codificação método de compactação de Huffman caracteres (American e a variável codificação dos usado símbolos Standard para por cada muitas no Code

Leia mais

Refinando a Formatação de Saída

Refinando a Formatação de Saída Capítulo 7: Entrada e saída Existem várias maneiras de apresentar a saída de um programa; os dados podem ser exibidos ou impressos em forma legível para seres humanos, ou escritos em arquivos para uso

Leia mais

Programação de Computadores

Programação de Computadores Aula 01 Introdução Departamento de Computação Universidade Federal de Ouro Preto 2011.1 1 Processamento de dados 2 Organização de Computadores 3 Sistemas de Numeração Processamento de dados Processamento

Leia mais

Andrique Amorim www.andrix.com.br professor@andrix.com.br INTRODUÇÃO A INFORMÁTICA

Andrique Amorim www.andrix.com.br professor@andrix.com.br INTRODUÇÃO A INFORMÁTICA Andrique Amorim www.andrix.com.br professor@andrix.com.br INTRODUÇÃO A INFORMÁTICA INTRODUÇÃO A INFORMÁTICA Andrique Amorim EMENTA Arquitetura básica de um computador; Sistemas Operacionais; Redes de Computadores;

Leia mais

Conceitos de extensões Joomla!

Conceitos de extensões Joomla! capítulo 1 Conceitos de extensões Joomla! Entendendo o que é extensão Extensão pode ser entendida como uma pequena aplicação desenvolvida com regras de construção estabelecidas pelo ambiente Joomla!. É

Leia mais

Características do PHP. Começando a programar

Características do PHP. Começando a programar PHP Introdução Olá pessoal. Desculpe o atraso na publicação da aula. Pude perceber pelas respostas (poucas) ao fórum que a realização da atividade do módulo I foi relativamente tranquila. Assistam ao vídeo

Leia mais

Aula 7. Codificadores e Decodificadores. SEL 0414 - Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Aula 7. Codificadores e Decodificadores. SEL 0414 - Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira Aula 7 Codificadores e Decodificadores SEL 44 - Sistemas Digitais Prof. Dr. Marcelo Andrade da Costa Vieira Códigos/Decodificadores CÓDIGOS: l Conjunto organizado de sinais em que a informação é transformada

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).

Leia mais

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

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

Leia mais

Módulo 1 Introdução às Redes

Módulo 1 Introdução às Redes CCNA 1 Conceitos Básicos de Redes Módulo 1 Introdução às Redes Ligação à Internet Ligação à Internet Uma ligação à Internet pode ser dividida em: ligação física; ligação lógica; aplicação. Ligação física

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Universidade 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 mais

Capítulo 6. Java IO - Ficheiros

Capítulo 6. Java IO - Ficheiros Capítulo 6. Java IO - Ficheiros 1/26 Índice Indice 6.1 - Entrada e saída de dados 6.2 - Ficheiros de texto 6.3 - Ficheiros com formato proprietário 6.4 - A classe File 2/26 Índice 6.1 Entrada e saída de

Leia mais

Strings. COM10615-Tópicos Especiais em Programação I edmar.kampke@ufes.br 2014-II

Strings. COM10615-Tópicos Especiais em Programação I edmar.kampke@ufes.br 2014-II Strings COM10615-Tópicos Especiais em Programação I edmar.kampke@ufes.br Introdução Uma estrutura de dados fundamental Crescente Importância Aplicações: Busca do Google Genoma Humano 2 Caracteres Codificação

Leia mais

Programação para Internet I. 2. O protocolo HTTP. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Programação para Internet I. 2. O protocolo HTTP. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Programação para Internet I 2. O protocolo HTTP Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Protocolos Conjunto de regras que define o modo como aplicações informáticas comunicam entre si. Permite

Leia mais

Aula 01 Introdução à Informática. Prof. Bruno Gomes bruno.gomes@ifrn.edu.br www.profbrunogomes.com.br

Aula 01 Introdução à Informática. Prof. Bruno Gomes bruno.gomes@ifrn.edu.br www.profbrunogomes.com.br Aula 01 Introdução à Informática Prof. Bruno Gomes bruno.gomes@ifrn.edu.br www.profbrunogomes.com.br Agenda da Aula Introdução à Informática; Dados x Informação; O Computador (Hardware); Unidades de medida.

Leia mais

centena dezena unidade 10 2 10 1 10 0 275 2 7 5 200 + 70 + 5 275

centena dezena unidade 10 2 10 1 10 0 275 2 7 5 200 + 70 + 5 275 A. Sistemas de Numeração. Para se entender a linguagem do computador (o Código de Máquina), é necessário conhecer um pouco da teoria dos números. Não é uma tarefa tão difícil quanto pode parecer. Sabendo-se

Leia mais

1 - Processamento de dados

1 - Processamento de dados Conceitos básicos sobre organização de computadores 2 1 - Processamento de dados O que é processamento? O que é dado? Dado é informação? Processamento é a manipulação das informações coletadas (dados).

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

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[]

Leia mais

Unidades de medida Prof a. Sediane Carmem Lunardi Hernandes

Unidades de medida Prof a. Sediane Carmem Lunardi Hernandes Unidades de medida Prof a. Sediane Carmem Lunardi Hernandes 1 1. A informação no computador Computador só entende 0s e 1s, ou seja, cada sinal elétrico que o computador processa é chamado de BIT - BInary

Leia mais

B. Piropo. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

B. Piropo. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo B. Piropo Computadores usam internamente o sistema binário. O sistema binário adota apenas dois algarismos com os quais pode representar qualquer número. Portanto: Computadores só podem trabalhar com números.

Leia mais

Algoritmos e Programação Aula 01 Introdução a Computação

Algoritmos e Programação Aula 01 Introdução a Computação Algoritmos e Programação Aula 01 Introdução a Computação Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com Baseado no material do Prof. Luis Otavio Alvares e do Prof. Dr. Rodrigo Fernandes de Mello

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Tipos de Dados Aula 5 Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Tipos de Dados Sistema de tipos Tipos de Dados e Domínios Métodos

Leia mais

Projeto e Desenvolvimento de Algoritmos

Projeto e Desenvolvimento de Algoritmos Projeto e Desenvolvimento de Algoritmos Variáveis Adriano Cruz e Jonas Knopman Índice Objetivos Introdução Modelo de Memória Armazenamento de Dados Numéricos Dados Inteiros Dados Reais Armazenamento de

Leia mais

Python: Funções. Claudio Esperança

Python: Funções. Claudio Esperança Python: Funções Claudio Esperança Abstração É uma técnica de programação que nos permite pensar num problema em diversos níveis A idéia é que quando estamos pensando num problema macroscopicamente, não

Leia mais

Introdução a C Tipos de Dados Variáveis Operadores

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 lopes@inf.puc-rio.br sala 408 RDC 1 introdução a C tópicos ciclo de desenvolvimento sistemas numéricos tipos de

Leia mais

Representação de Dados

Representação de Dados Representação de Dados Propriedades Domínio - Valores que um tipo de dado pode assumir; Gama de variação - N.º de valores que um dado pode assumir; Precisão Distância entre dois valores consecutivos Operações

Leia mais

Programação para Internet Flávio de Oliveira Silva, M.Sc.

Programação para Internet Flávio de Oliveira Silva, M.Sc. INTERNET Grande conjunto de redes de computadores interligadas pelo mundo. Começou como uma rede interligando Universidades no E.U.A A partir de 1993 a Internet começou a ser explorada comercialmente.

Leia mais

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 8 - Antes de começar o estudo sobre decodificadores, o que é bastante semelhante ao que já vimos anteriormente é necessário relembrarmos alguns conceitos sobre códigos binários. 1. Códigos Binários

Leia mais

Arquitetura de Computadores Universidade Guarulhos Prof. Erwin A. Uhlmann

Arquitetura de Computadores Universidade Guarulhos Prof. Erwin A. Uhlmann Arquitetura de Computadores Universidade Guarulhos Prof. Erwin A. Uhlmann Guarulhos PLANEJAMENTO EMENTA: Sistemas numéricos. Aritmética binária. Memórias, unidades centrais de processamento, entrada e

Leia mais

Introdução à linguagem Python. Slides extras

Introdução à linguagem Python. Slides extras Introdução à linguagem Python Slides extras 1 Linguagem de uso geral Internet: YouTube, Globo.com, Bitly, Mozilla... Computação gráfica: Disney, ILM, AutoDesk... Desktop: Dropbox, BitTorrent, OpenOffice...

Leia mais

REPRESENTAÇÃO DE DADOS E SISTEMAS DE NUMERAÇÃO

REPRESENTAÇÃO DE DADOS E SISTEMAS DE NUMERAÇÃO REPRESENTAÇÃO DE DADOS E SISTEMAS DE NUMERAÇÃO Profs. M.Sc. Lucio M. Duarte e Ph.D. Avelino Zorzo 1 Faculdade de Informática - PUCRS 1 REPRESENTAÇÃO DE DADOS Acredita-se que a criação de números veio com

Leia mais

Computadores e Informação Digital

Computadores e Informação Digital Computadores e Informação Digital Sérgio Nunes Comunicações Digitais e Internet Ciências da Comunicação, U.Porto 2011/12 Computadores Computador O que é um computador? Um computador é uma máquina programável,

Leia mais

FCA - EDITORA DE INFORMÁTICA I

FCA - EDITORA DE INFORMÁTICA I 1 O PHP e a World Wide Web... 1 1.1 Introdução... 1 1.2 Breve apresentação do PHP... 1 1.3 Acesso a documentos na web... 2 1.4 HTML estático versus HTML dinâmico... 3 1.5 PHP, o que é?... 6 1.6 O PHP e

Leia mais

FCA - EDITORA DE INFORMÁTICA I

FCA - EDITORA DE INFORMÁTICA I 1 O PHP e a World Wide Web... XXXIII 1.1 Introdução... XXXIII 1.2 Breve apresentação do PHP... 1 1.3 Acesso a documentos na web... 1 1.4 HTML estático versus HTML dinâmico... 2 1.5 PHP, o que é?... 4 1.6

Leia mais

EDITORES DE TEXTO CAPÍTULO 5. Definição

EDITORES DE TEXTO CAPÍTULO 5. Definição CAPÍTULO 5 EDITORES DE TEXTO Definição É um programa destinado a editar texto usando o computador. Sua função básica é armazenar caracteres numa estrutura de linhas e colunas, permitindo a edição do conteúdo

Leia mais

Unidade 1 - Objectivos das Tecnologias Informáticas

Unidade 1 - Objectivos das Tecnologias Informáticas Unidade 1 - Objectivos das Tecnologias Informáticas Reconhecer conceitos básicosb Utilizar os conceitos básicos, b aplicando-os os a problemas concretos Compreender a evolução desses conceitos Conhecer

Leia mais

PRIMEIRO BIMESTRE MATERIAL PARA ESTUDO. Universidade Tuiuti do Paraná Faculdade de Ciências Exatas Introdução a Computação - CSTA.

PRIMEIRO BIMESTRE MATERIAL PARA ESTUDO. Universidade Tuiuti do Paraná Faculdade de Ciências Exatas Introdução a Computação - CSTA. Universidade Tuiuti do Paraná Faculdade de Ciências Exatas Introdução a Computação - CSTA Sistema Binário MATERIAL PARA ESTUDO PRIMEIRO BIMESTRE Para o leigo um computador, a primeira vista, pode parecer

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

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

Leia mais

1.264 Lição 11. Fundamentos da Web

1.264 Lição 11. Fundamentos da Web 1.264 Lição 11 Fundamentos da Web Navegadores e servidores da Web A Internet é apenas um conjunto de redes interconectadas livremente. Um conjunto de redes de área local conectado via redes de área ampla

Leia mais

Fundamentos de Microinformática. Ricardo José Cabeça de Souza 2010 Fundamentos 3

Fundamentos de Microinformática. Ricardo José Cabeça de Souza 2010 Fundamentos 3 Fundamentos de Microinformática Ricardo José Cabeça de Souza 2010 Fundamentos 3 Outros Componentes Porta Paralela Porta Serial Porta PS/2 (Personal System 2) Porta USB (Universal Serial Bus) Porta S-Vídeo

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe 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 mais

Deste modo, por razões tecnológicas e conceituais, os números binários e a álgebra boole-ana formam a base de operação dos computadores atuais.

Deste modo, por razões tecnológicas e conceituais, os números binários e a álgebra boole-ana formam a base de operação dos computadores atuais. 25BCapítulo 2: Números e Aritmética Binária Os computadores armazenam e manipulam a informação na forma de números. Instruções de programas, dados numéricos, caracteres alfanuméricos, são todos representados

Leia mais

IDictionary

IDictionary<String, Object> 3 1OWIN E KATANA Durante anos, a plataforma ASP.NET dependeu sempre do IIS (Internet Information Server) para efetuar o hosting de aplicações Web. Com o lançamento de novas plataformas de alto nível como,

Leia mais

Programaçã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 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 mais

I n f o r m á t i c a

I n f o r m á t i c a Prof. Dr. Rogério R. de Vargas I n f o r m á t i c a Dados, bits, bytes, representação de dados e sistemas de numeração e representação numérica Itaqui - RS, 2º Semestre de 2014. Agenda Dados; Bits; Bytes;

Leia mais

Introdução à Linguagem

Introdução à Linguagem Introdução à Linguagem Curso de Nivelamento do PPGMNE Janeiro / 2011 Juliano J. Scremin jjscremin@jjscremin.t5.com.br Um pouco de história Um pouco de história: Nascimento do Python Um pouco de história:

Leia mais

PREFÁCIO. O presente volume possui as seguintes características: Contém exercícios propostos de revisão do assunto ao final de cada capítulo.

PREFÁCIO. O presente volume possui as seguintes características: Contém exercícios propostos de revisão do assunto ao final de cada capítulo. PREFÁCIO AO LEITOR Você tem em mãos o segundo e último volume de Programando em C. Este volume é dedicado principalmente à biblioteca padrão de C, examinando minuciosamente todos os componentes (tipos,

Leia mais

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado

Leia mais

O protocolo HTTP. Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP.

O protocolo HTTP. Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. HTTP O protocolo HTTP Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. Quais são as partes de um a resposta HTTP. O que é o protocolo HTTP? Hyper Text Transfer

Leia mais

Representação de Dados (inteiros não negativos)

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

Leia mais

Variáveis e Comandos de Atribuição

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

Leia mais

Sumário. Capítulo 1 O que é o PHP?... 19. Capítulo 2 Instalação do PHP... 23. Capítulo 3 Noções básicas de programação... 25

Sumário. Capítulo 1 O que é o PHP?... 19. Capítulo 2 Instalação do PHP... 23. Capítulo 3 Noções básicas de programação... 25 9 Sobre o autor... 8 Introdução... 15 Capítulo 1 O que é o PHP?... 19 Características do PHP...20 Gratuito e com código aberto...20 Embutido no HTML...20 Baseado no servidor...21 Bancos de dados...22 Portabilidade...22

Leia mais