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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Circuitos Digitais 144L

Circuitos Digitais 144L Circuitos Digitais Notas de Aula - 02 INSTITUTO: CURSO: DISCIPLINA: Instituto de Ciências Exatas e Tecnologia Ciência da Computação e Sistemas de Informação Circuitos Digitais 144L 1.0 Circuitos Combinacionais.

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

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

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

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

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

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

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

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

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

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

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

O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura.

O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura. Universidade de Aveiro Departamento de Engenharia Mecânica Informática Industrial 2010/2011 5 PROTOCOLO DE COMUNICAÇÃO MODBUS 5.1 Protocolo de comunicação MODBUS Este protocolo foi proposto em 1979 pela

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

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

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

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

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

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

Programação Web com PHP. Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web

Programação Web com PHP. Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web Programação Web com PHP Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web Agenda O que é PHP? O que da pra fazer com PHP? Como a web funciona? Onde, quando e por que

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

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

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem. 1 - O que é JAVASCRIPT? É uma linguagem de script orientada a objetos, usada para aumentar a interatividade de páginas Web. O JavaScript foi introduzido pela Netscape em seu navegador 2.0 e posteriormente

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

2.3. PHP Tipos de dados e operadores

2.3. PHP Tipos de dados e operadores Programação para Internet II 2.3. PHP Tipos de dados e operadores Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Tipos de dados Embora não seja necessário declarar os tipos de dados das variáveis,

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

Computador. 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente

Computador. 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente Computador Algumas definições 1982: os computadores são ferramentas que nos permitem fazer cálculos rápida e comodamente 1985: calculador electrónico usado na investigação espacial e actualmente já noutros

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

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

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique. Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças

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

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

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

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

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

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? Exercícios sobre Linguagem PHP: 1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? 2) Considere a linguagem de programação PHP e seus operadores. A execução da sentença:

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

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

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos Pilhas de Dispositivos Drivers no Windows Vista podem fazer todo trabalho sozinho; Uma requisição pode passar por uma seqüência

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

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

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

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

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação

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

Classe A: Apenas o primeiro octeto identifica a rede e os três últimos identificam os Hosts.

Classe A: Apenas o primeiro octeto identifica a rede e os três últimos identificam os Hosts. MÓDULO 9 Endereçamento IP Em uma rede TCP/IP, cada computador possui um endereço IP que o identifica na rede, esse endereço é composto por uma seqüência de bits divididos em 4 grupos de 8 bits que recebem

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

Porta Série. Trabalhos Práticos AM 2007/2008. Porta Série. Objectivos

Porta Série. Trabalhos Práticos AM 2007/2008. Porta Série. Objectivos 3 Objectivos - Configurar os parâmetros associados à comunicação série assíncrona. - Saber implementar um mecanismo de menus para efectuar a entrada e saída de dados, utilizando como interface um terminal

Leia mais

Conceitos Básicos de C

Conceitos Básicos de C Conceitos Básicos de C Bibliografia Problem Solving & Program design in C, Jeri R. Hanly e Elliot B. Kpffman, 3 a edição Data Structures and Algorithm Analysis in C, Mark Allen Weiss, 2 a edição, Addison-Wesley,

Leia mais

L 276/4 PT Jornal Oficial da União Europeia. DECISÃO N. o 190. de 18 de Junho de 2003

L 276/4 PT Jornal Oficial da União Europeia. DECISÃO N. o 190. de 18 de Junho de 2003 L 276/4 PT Jornal Oficial da União Europeia DECISÃO N. o 190 de 18 de Junho de 2003 relativa às características técnicas do cartão europeu de seguro de doença (Texto relevante para efeitos do EEE e do

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

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

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

1 O PHP E A WORLD WIDE WEB

1 O PHP E A WORLD WIDE WEB 1 O PHP E A WORLD WIDE WEB... 1 1.1 Introdução... 1 1.2 Breve apresentação do PHP... 2 1.3 Acesso a documentos na Web... 2 1.4 HTML estático versus HTML dinâmico... 3 1.5 PHP o que é?... 5 1.6 O PHP e

Leia mais

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2) Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance

Leia mais

O Processo de Programação

O Processo de Programação Programação de Computadores I Aula 04 O Processo de Programação José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/23 Algoritmo Um algoritmo é uma seqüência de

Leia mais

www.vwsolucoes.com Copyright 2013 VW Soluções

www.vwsolucoes.com Copyright 2013 VW Soluções 1 1. Especificação técnicas: Dimensões do módulo 4EA2SA v1.0: 100 mm x 56 mm Peso aproximado: xxx gramas (montada). Alimentação do circuito : 12 ou 24Vcc Tipo de comunicação: RS232 ou RS485 Tensão de referencia:

Leia mais

PHP. Hypertext Pre-Processor

PHP. Hypertext Pre-Processor PHP Hypertext Pre-Processor O que é o PHP? Uma linguagem de scripting é uma linguagem cujo código não tem de ser compilado para ser executado! O código escrito é interpretado em tempo de execução para

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de

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

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

Rede de Computadores

Rede de Computadores Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso

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

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

Escola Secundária de Emídio Navarro

Escola Secundária de Emídio Navarro Escola Secundária de Emídio Navarro Curso Secundário de Carácter Geral (Agrupamento 4) Introdução às Tecnologias de Informação Correcção da ficha de trabalho N.º 1 1. Refere algumas das principais áreas

Leia mais

Contextualização: Sistemas de Computação

Contextualização: Sistemas de Computação Contextualização: Sistemas de Computação Professor: Santiago Viertel dcc2sv@joinville.udesc.br Modelo de Computador Modelo de Computador: Informática Origem e Definição; Elementos Fundamentais; Hardware;

Leia mais

Curso de Licenciatura em Engenharia Informática Cadeira de Algoritmia

Curso de Licenciatura em Engenharia Informática Cadeira de Algoritmia Curso de Licenciatura em Engenharia Informática Cadeira de Algoritmia Projecto de avaliação 2006/2007. Este projecto visa a criação de um back-end para geração de facturas para um sistema de facturação

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

Verificação e Validação

Verificação e Validação Verificação e Validação Patrícia Macedo Joaquim Filipe João Ascenso 2005/2006 EST, Setúbal Verificação e Validação Verificação Garante que o software cumpre as especificações Consistência interna Estamos

Leia mais

Escola Secundária de Emídio Navarro

Escola Secundária de Emídio Navarro Escola Secundária de Emídio Navarro Curso Secundário de Carácter Geral (Agrupamento 4) Introdução às Tecnologias de Informação Ficha de trabalho N.º 1 1. Refere algumas das principais áreas das Tecnologias

Leia mais

Informática I. Aula 6. http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1

Informática I. Aula 6. http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1 Informática I Aula 6 http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e

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

Hashing. Estruturas de Dados. Motivação

Hashing. Estruturas de Dados. Motivação Estruturas de Dados Hashing Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww3.datastructures.net (Goodrich & Tamassia). Motivação

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

EFA / S13 SIS Ricardo Castanhinha / Nº 21322 STC / Formadoras Alexandra Formosinho & Isabel Carvalho. Sistema Binário

EFA / S13 SIS Ricardo Castanhinha / Nº 21322 STC / Formadoras Alexandra Formosinho & Isabel Carvalho. Sistema Binário EFA / S13 SIS Sistema Binário SISTEMA BINÁRIO Estamos acostumados a utilizar o SISTEMA DECIMAL DE NUMERAÇÃO. Esse sistema usa 10 algarismos para formar todos os números: 0, 1, 2, 3, 4, 5, 6, 7, 8, e 9.

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

Gestão de Projectos de Software Licenciatura em Engenharia Informática e Computação Faculdade de Engenharia da Universidade do Porto

Gestão de Projectos de Software Licenciatura em Engenharia Informática e Computação Faculdade de Engenharia da Universidade do Porto Gestão de Projectos de Software Licenciatura em Engenharia Informática e Computação Faculdade de Engenharia da Universidade do Porto Projecto SAPIENS Sistema de Avaliação Assistida por Computador RELATÓRIO

Leia mais