CODIGOS NUMERICOS

Embed Size (px)

Citation preview

CDIGOS NUMRICOSSon numerosos los ejemplos de cdigos numricos. Entre otros podemos citar el NIF (nmero de identificacin fiscal), los cdigos de barras, el ISBN, los cdigos de tarjetas de crdito y de cuentas bancarias. Gracias a ellos es posible la eliminacin total de los errores de su lectura y constituyen un mecanismo que al evitar el error nos ofrece una seguridad total de lectura. Por ejemplo, una equivocacin en alguna de las cifras del nmero del DNI supone que pueda aparecer el nmero de otra persona. Para evitar confusiones de este tipo se aade una letra de control al nmero del DNI, con lo que tenemos lo que se denomina NIF. Esta letra no se aade de forma aleatoria, sino que a cada nmero del DNI se le asigna una letra segn el proceso que veremos a continuacin. De este modo se consigue que siempre que se produzca un error en una cifra o una transposicin de dos cifras, se detecta un error en el NIF, debido a que la letra de control no correspondera al nuevo nmero. Para la obtencin de la letra de control se realiza la divisin entera del nmero entre 23. As se pueden obtener 23 restos distintos, haciendo corresponder una letra concreta a cada uno de ellos segn la tabla arbitraria de correspondencias que se expone a continuacin. La eleccin del nmero 23 se explica por ser un nmero primo y muy cercano al nmero de caracteres del alfabeto espaol.

0 T

1 R

2 W

3 A

4 G

5 M Y

6

7 F

8 P

9 D

10 X

11 B

12 22 N

13

14

15

16

17

18

19

20

21

J

Z

S

Q

V

H

L

C

K

E

Veamos qu letra correspondera al nmero 5607413. Para ello, realizamos la divisin entera del nmero entre 23 y nos da 243800 de cociente y 13 de resto. A este nmero le asignamos la letra correspondiente, es decir la J, con lo que quedara 5607413J. Cdigos de barras. En los grandes comercios casi todos los artculos llevan en el envase un cdigo de barras que los identifica. Simplemente pasndolo por un lpiz ptico queda registrado el nombre y el precio de cada artculo en el tique de compra, y adems queda constancia de la venta para as conocer las cantidades de cada producto que van quedando, con objeto de ir confeccionando los pedidos correspondientes para reponer las existencias. Los cdigos de barras estn formados por una combinacin de barras blancas y negras de distintos grosores y una serie de cifras que son la traduccin numrica de

las mismas. Las dos primeras indican el pas en el que se ha fabricado el producto, que para el caso de nuestro pas ha sido asignado el prefijo 84, salvo para los libros, que llevan el prefijo 978.

Veamos un ejemplo de un producto espaol cuyo cdigo va a estar formado por 13 cifras:

El dgito o cifra de control, cuya misin es evitar errores de lectura, se obtiene de la forma que exponemos a continuacin. En un cdigo de barras se ha de verificar:

La suma de las cifras que ocupan lugares impares ms el triple de la suma de las cifras correspondientes a lugares pares ha de ser mltiplo de 10

As que en nuestro ejemplo (847000656470?), tendremos: (8+7+0+6+6+7+?) + 3.(4+0+0+5+4+0) = 34+?+39 = 73+?. Para obtener 80, que es el primer mltiplo de 10 mayor o igual que 73, la cifra de control habr de ser necesariamente el 7, con lo que coincide con la de nuestro ejemplo como as tena que ser.

Si la cifra final no se correspondiese, segn esta norma de clculo, con las anteriores el lector ptico detectara el error y no aceptara la lectura. Aadir el dgito de control permite detectar todos los errores en una cifra o recuperar una cifra que se haya borrado. Tambin permite corregir casi todos los errores de un tipo muy frecuente, que se intercambie el orden de dos cifras consecutivas. No detecta, sin embargo, el intercambio de dos cifras consecutivas cuya diferencia sea 5, ya que se opera en mdulo 10 y ste no es primo. ISBN (International Standar Book Number). El ISBN es un nmero que proporciona informacin de los libros y que est formado por 10 cifras, siendo la ltima la llamada cifra de control.

En este caso, para el proceso de clculo se siguen los dos pasos siguientes:

1) Se multiplica la primera cifra por 1, la segunda por 2, la tercera por 3, y as sucesivamente, hasta llegar a multiplicar la dcima y ltima por 10. 2) Se suman los valores de los productos obtenidos, teniendo que dar como resultado final un nmero mltiplo de 11. Ejemplo del ISBN del libro anterior: 84-7954-397-x

ISBN 8 4 7 9 5 4 3 9 7 x

Factores 1 2 3 4 5 6 7 8 9 10

Productos 8 8 21 36 25 24 21 72 63 10x____ Suma: 278+10x

Dndole valores a x, la nica cifra que verifica que 278+10x sea mltiplo de 11 sera el 3 (cifra de control), ya que 278+10.3=308 es mltiplo de 11 (308=28.11).

El ISBN detecta todos los errores en una cifra, puede recuperar un nmero borrado y detecta todos los intercambios de dos cifras consecutivas, Sin embargo, tiene una pequea dificultad tcnica y es que uno de los restos posibles al dividir entre 11 es 10, que consta de dos cifras. Esto se resuelve escribiendo X (10 en nmeros romanos) en lugar de 10. Del mismo modo se podran estudiar los cdigos de las tarjetas de crdito o las de las cuentas bancarias cuyos procesos de clculo son similares, aunque algo ms complejos que los ya vistos.

Cdigo alfanumricoCon un cdigo de un bit podemos representar 21=2 combinaciones. Para representar los diez dgitos (0-9) y las 26 letras minsculas necesitamos como mnimo 6 bits (25=32, 26=64 combinaciones). Si adems se quieren representar las letras maysculas y otros smbolos de utilidad necesitaremos un mayor nmero de bits. En general con el trmino de carcter o cdigo alfanumrico se incluyen:

Las letras: a-z y A-Z. Los nmeros: del 0 al 9 Los smbolos: @ ! # $ + - * / = % ( ) [ ] etc. Los caracteres de control: , , etc.

La informacin que la computadora debe procesar est formada por letras, nmeros y smbolos especiales. Los ordenadores trabajan con voltajes fijos que se representan con los nmeros 0 y 1 que forman la base de un sistema binario. Con la presencia o ausencia de tensin elctrica no slo se pueden representar nmeros sino los estados de una variable lgica Con un conjunto de variables lgicas se puede definir cualquier sistema lgico.

Cdigos detectores de errorLos cdigos detectores y correctores de error se refieren a los errores de transmisin en las lneas se deben a mucho a diversos factores, como el ruido trmico, ruido impulsivo yruido de intermodulacin. Dependiendo del medio de transmisin y del tipo de codificacin empleado, se pueden presentar otros tipos de anomalas como ruido de redondeo y atenuacin, as como cruce de lneas y eco. Un proceso de comunicacin puede tener lugar en diversas formas: por ejemplo al hacer una llamada telefnica, al enviar un telegrama, al usar un lenguaje de signos. En tales casos, el proceso involucra el flujo de informacin a travs de un medio, el cual va del remitente al receptor. El medio que lleva la informacin puede ir de la mmica al habla, o la electricidad al agua, o una secuencia de dgitos binarios y puede ser tan intangible como cualquier cosa mediante la cual una mente humana puede afectar a otra. En cualquier caso,

un proceso de comunicacin involucra un flujo de informacin a travs de un sistema. Un sistema de comunicacin ideal se puede representar por tres partes esenciales a saber:

Transmisor, remitente o fuente Canal o medio de almacenamiento Receptor

En la prctica, un canal de comunicacin est sujeto a una a diversidad de perturbaciones que resultan en una distorsin del mensaje que se est trasmitiendo. Cualquier alteracin de estas se llama ruido. La forma en la cual el ruido puede aparecer depende del canal. Por ejemplo, en una conversacin entre dos personas, el canal puede estar sujeto a ruidos, tales como el viento, un carro que pasa, otras voces. En cualquier caso, se trata de minimizar las prdidas debidas al ruido y recuperar de una manera ptima el mensaje original cuando se ha contaminado por la presencia del ruido. Un dispositivo que se puede usar para mejorar la eficiencia del canal de comunicacin es un codificador que transforma el mensaje que llega de tal manera que se puede detectar la presencia del ruido en el mensaje transformado. El uso de un codificador requiere que se use un decodificador para transformar el mensaje codificado a su forma original que el receptor pueda entender. Es posible no slo detectar la distorsin debida al ruido si no tambin corregir el mensaje al usar un codificador apropiado y mostrar la presencia del ruido en el canal. El modelo sera as:

Esta parte se ocupa de los canales de comunicacin que manejan smbolos de un conjunto especifico llamado alfabeto del lenguaje de comunicacin.

Cualquier elemento del alfabeto se llamar un smbolo, letra o carcter. Una secuencia finita de caracteres se llama mensaje o palabra. La longitud de una palabra x que se denota L(x) es el nmero de smbolos de la palabra. Cuando los mensajes originalmente expresados en un lenguaje, se transforman en un mensaje en otros lenguajes, de una manera que sea comprensible para ambos, el transmisor y el receptor, de modo que estos mensajes se puedan transformar sin ambigedades al regreso, entonces se puede decir que estos mensajes estn codificados. El proceso de codificacin de o enciframiento es un procedimiento para asociar palabras de un lenguaje, con ciertas palabras de otro lenguaje de una manera uno a uno. De igual manera el proceso de decodificacin o desciframiento, o es la operacin inversa, o alguna otra transformacin uno a uno. En la mayora de las aplicaciones el canal de comunicacin est limitado a un alfabeto valuado de manera binaria cuyas seales se pueden denotar como 0 y 1. Un canal as se llama canal binario. Cualquier cdigo de n bits s e puede considerar como un subconjunto de todas las posibles cadenas de n bits. Las cadenas incluidas en este subconjunto particular se denominan palabras cdigo, mientras las cadenas que no estn incluidas se denominanpalabras que no son del cdigo. Un cdigo se dice que es un cdigo de deteccin de errores si tiene la propiedad de que ciertos tipos de errores pueden transformar palabras del cdigo en palabras que no son del cdigo. Suponiendo que se utilizan slo palabras del cdigo para la transmisin de datos, cualquier error introducido durante la transmisin se pondr de manifiesto inmediatamente puesto que cambiar palabras del cdigo en palabras que no son del cdigo. Es decir, si la cadena recibida es una palabra del cdigo, los datos son correctos; si no es una palabra del cdigo, los datos deben ser errneos.

Cdigo asciiLas computadoras solamente entienden nmeros. El cdigo ASCII es una representacin 1 numrica de un carcter como a o @. Como otros cdigos de formato de representacin de caracteres, el ASCII es un mtodo para una correspondencia entre cadenas de bits y una serie de smbolos (alfanumricos y otros), permitiendo de esta forma la comunicacin entre dispositivos digitales as como su procesado y almacenamiento. El cdigo de caracteres ASCII es una extensin compatible se usa casi en todos los ordenadores, especialmente con ordenadores personales y estaciones de trabajo. El nombre ms apropiado para este cdigo de ! " # $ % & ' ( ) * +, -. / 0 1 2 3 4 5 6 7 8 9 :; < = > ? caracteres es "US@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ASCII". `abcdefghijklmnopqrstuvwxyz{|}~ ASCII es, en sentido estricto, un cdigo de siete bits, lo que significa que usa cadenas de bits representables con siete dgitos binarios (que van de 0 a 127 en base decimal) para representar informacin de caracteres. En el momento en el que se introdujo el cdigo ASCII muchos ordenadores trabajaban con grupos de ocho bits (bytes u octetos), como la unidad mnima de informacin; donde el octavo bit se usaba habitualmente como bit de paridad con funciones de control de errores en lneas de comunicacin u otras funciones especficas del dispositivo. Las mquinas que no usaban la comprobacin de paridad asignaban al octavo bit el valor cero en la mayora de los casos, aunque otros sistemas como las computadoras Prime, que ejecutaban PRIMOS ponan el octavo bit del cdigo ASCII a uno. El cdigo ASCII define una relacin entre caracteres especficos y secuencias de bits; adems de reservar unos cuantos cdigos de control para el procesador de textos, y no define ningn mecanismo para describir la estructura o la apariencia del texto en un documento; estos asuntos estn especificados por otros lenguajes como los lenguajes de etiquetas.

Los caracteres de control ASCIIEl cdigo ASCII reserva los primeros 32 cdigos (numerados del 0 al 31 en decimal) para caracteres de control: cdigos no pensados originalmente para representar informacin imprimible, sino para controlar dispositivos que usaban ASCII. Por ejemplo, el carcter 10 representa la funcin "nueva lnea" (line feed), que hace que una impresora avance el papel, y el carcter 27 representa la tecla "escape" que a menudo se encuentra en la esquina superior izquierda de los teclados comunes. El cdigo 127 (los siete bits a uno), otro carcter especial, equivale a "suprimir" ("delete"). Aunque esta funcin se asemeja a otros caracteres de control, los diseadores de ASCII idearon este cdigo para poder "borrar" una seccin de papel perforado (un medio de almacenamiento popular hasta la dcada de 1980) mediante la perforacin de todos los agujeros posibles de una posicin de carcter concreta, reemplazando cualquier informacin previa. Dado que el cdigo 0 era ignorado, fue posible dejar huecos (regiones de agujeros) y ms tarde hacer correcciones. Muchos de los caracteres de control ASCII servan para marcar paquetes de datos, o para controlar protocolos de transmisin de datos (por ejemplo ENQuiry, con el significado: hay alguna estacin por ah?, ACKnowledge: recibido o ", Start Of Header: inicio de cabecera, Start of TeXt: inicio de texto, End of TeXt: final de texto, etc.). ESCape y SUBstitute permitan a un

protocolo de comunicaciones, por ejemplo, marcar datos binarios para que contuviesen cdigos con el mismo cdigo que el carcter de protocolo, y que el receptor pudiese interpretarlos como datos en lugar de como caracteres propios del protocolo. Los diseadores del cdigo ASCII idearon los caracteres de separacin para su uso en sistemas de cintas magnticas. Dos de los caracteres de control de dispositivos, comnmente llamados XON y XOFF generalmente ejercan funciones de caracteres de control de flujo para controlar el flujo a hacia un dispositivo lento (como una impresora) desde un dispositivo rpido (como un ordenador), de forma que los datos no saturasen la capacidad de recepcin del dispositivo lento y se perdiesen. Los primeros usuarios de ASCII adoptaron algunos de los cdigos de control para representar "metainformacin" como final-de-lnea, principio/final de un elemento de datos, etc. Estas asignaciones a menudo entraban en conflicto, as que parte del esfuerzo de convertir datos de un formato a otro comporta hacer las conversiones correctas de metainformacin. Por ejemplo, el carcter que representa el final-de-lnea en ficheros de texto vara con el sistema operativo. Cuando se copian archivos de un sistema a otro, el sistema de conversin debe reconocer estos caracteres como marcas de final-de-lnea y actuar en consecuencia. Actualmente los usuarios de ASCII usan menos los caracteres de control, (con algunas excepciones como "retorno de carro" o "nueva lnea"). Los lenguajes modernos de etiquetas, los protocolos modernos de comunicacin, el paso de dispositivos basados en texto a basados en grficos, el declive de las teleimpresoras, las tarjetas perforadas y los papeles continuos han dejado obsoleta la mayora de caracteres de control.

Binario 0000 0000

Decima l 0

Hex 00

Abreviatura NUL

Repr ^@

AT

Nombre/Significa do Carcter Nulo Inicio de Encabezado Inicio de Texto Fin de Texto Fin de Transmisin Consulta Acuse de recibo Timbre Retroceso Tabulacin horizontal

0000 0001

1

01

SOH

^A

0000 0010 0000 0011 0000 0100 0000 0101 0000 0110 0000 0111 0000 1000

2 3 4 5 6 7 8

02 03 04 05 06 07 08

STX ETX EOT ENQ ACK BEL BS

^B ^C ^D ^E ^F ^G ^H

0000 1001

9

09

HT

^I

0000 1010 0000 1011 0000 1100 0000 1101 0000 1110 0000 1111

10 11 12 13 14 15

0A 0B 0C 0D 0E 0F

LF VT FF CR SO SI

^J ^K ^L ^M ^N ^O

Salto de lnea Tabulacin Vertical De avance Retorno de carro Maysculas fuera En maysculas Enlace de datos / Escape Dispositivo de control 1 oft. XON Dispositivo de control 2 Dispositivo de control 3 oft. XOFF Dispositivo de control 4 Confirmacin negativa Sncrono en espera Fin de Transmision del Bloque Cancelar Finalizacin del Medio Substituto Escape Separador de fichero Separador de grupo

0001 0000

16

10

DLE

^P

0001 0001

17

11

DC1

^Q

0001 0010

18

12

DC2

^R

0001 0011

19

13

DC3

^S

0001 0100

20

14

DC4

^T

0001 0101

21

15

NAK

^U

0001 0110

22

16

SYN

^V

0001 0111

23

17

ETB

^W

0001 1000

24

18

CAN

^X

0001 1001

25

19

EM

^Y

0001 1010 0001 1011

26 27

1A 1B

SUB ESC

^Z ^[ or ESC

0001 1100

28

1C

FS

^\

0001 1101

29

1D

GS

^]

0001 1110

30

1E

RS

^^

Separador de registro Separador de unidad

0001 1111

31

1F

US

^_ ^?, Delete o Backspace

0111 1111

127

7F

DEL

Eliminar

Caracteres imprimibles ASCIIEl cdigo del carcter espacio, designa al espacio entre palabras, y se produce normalmente por la barra espaciadora de un teclado. Los cdigos del 33 al 126 se conocen como caracteres imprimibles, y representan letras, dgitos, signos de puntuacin y varios smbolos. El ASCII de siete bits proporciona siete caracteres "nacionales" y, si la combinacin concreta de hardware y software lo permite, puede utilizar combinaciones de teclas para simular otros caracteres internacionales: en estos casos un backspace puede preceder a un acento abierto o grave (en los estndares britnico y estadounidense, pero slo en estos estndares, se llama tambin "opening single quotation mark"), una tilde o una "marca de respiracin".

Binar io 0010 0000 0010 0001 0010 0010 0010 0011 0010 0100 0010 0101 0010 0110 0010 0111 0010 1000 0010

D ec 32

H ex 20

Represen tacin espacio ( )

Binar io 0100 0000 0100 0001 0100 0010 0100 0011 0100 0100 0100 0101 0100 0110 0100 0111 0100 1000 0100

D ec 64

H ex 40

Represen tacin @

Binar io 0110 0000 0110 0001 0110 0010 0110 0011 0110 0100 0110 0101 0110 0110 0110 0111 0110 1000 0110

D ec 96

H ex 60

Represen tacin `

33

21

!

65

41

A

97

61

a

34

22

"

66

42

B

98

62

b

35

23

#

67

43

C

99 10 0 10 1 10 2 10 3 10 4 10

63

c

36

24

$

68

44

D

64

d

37

25

%

69

45

E

65

e

38

26

&

70

46

F

66

f

39

27

'

71

47

G

67

g

40 41

28 29

( )

72 73

48 49

H I

68 69

h i

1001 0010 1010 0010 1011 0010 1100 0010 1101 0010 1110 0010 1111 0011 0000 0011 0001 0011 0010 0011 0011 0011 0100 0011 0101 0011 0110 0011 0111 0011 1000 0011 1001 0011 1010 0011 1011 0011 1100 0011 42 2 A 2 B 2 C 2 D 2 E 2F *

1001 0100 1010 0100 1011 0100 1100 0100 1101 0100 1110 0100 1111 0101 0000 0101 0001 0101 0010 0101 0011 0101 0100 0101 0101 0101 0110 0101 0111 0101 1000 0101 1001 0101 1010 0101 1011 0101 1100 0101 74 4 A 4 B 4 C 4 D 4 E 4F J

1001 0110 1010 0110 1011 0110 1100 0110 1101 0110 1110 0110 1111 0111 0000 0111 0001 0111 0010 0111 0011 0111 0100 0111 0101 0111 0110 0111 0111 0111 1000 0111 1001 0111 1010 0111 1011 0111 1100 0111

5 10 6 10 7 10 8 10 9 11 0 11 1 11 2 11 3 11 4 11 5 11 6 11 7 11 8 11 9 12 0 12 1 12 2 12 3 12 4 12 6 A 6 B 6 C 6 D 6 E 6F j

43

+

75

K

k

44

,

76

L

l

45

-

77

M

m

46

.

78

N

n

47

/

79

O

o

48

30

0

80

50

P

70

p

49

31

1

81

51

Q

71

q

50

32

2

82

52

R

72

r

51

33

3

83

53

S

73

s

52

34

4

84

54

T

74

t

53

35

5

85

55

U

75

u

54

36

6

86

56

V

76

v

55

37

7

87

57

W

77

w

56

38

8

88

58

X

78

x

57

39 3 A 3 B 3 C 3

9

89

59 5 A 5 B 5 C 5

Y

79 7 A 7 B 7 C 7

y

58

:

90

Z

z

59

;

91

[

{

60 61

< =

92 93

\ ]

| }

1101 0011 1110 0011 1111 62

D 3 E 3F >

1101 0101 1110 0101 1111 94

D 5 E 5F ^

1101 0111 1110

5 12 6

D 7 E ~

63

?

95

_

CODIGO EBCDICEBCDIC (Extended Binary Coded Decimal Interchange Code) es un cdigo estndar de 8 bits usado por computadoras mainframe IBM. IBM adapt el EBCDIC del cdigo de tarjetas perforadas en los aos 1960 y lo promulg como una tctica customer-control cambiando el cdigo estndar ASCII. EBCDIC es un cdigo binario que representa caracteres alfanumricos, controles y signos de puntuacin. Cada carcter est compuesto por 8 bits = 1 byte, por eso EBCDIC define un total de 256 caracteres. Existen muchas versiones ("codepages") de EBCDIC con caracteres diferentes, respectivamente sucesiones diferentes de los mismos caracteres. Por ejemplo al menos hay 9 versiones nacionales de EBCDIC con Latn 1 caracteres con sucesiones diferentes. El siguiente es el cdigo CCSID 500, una variante de EBCDIC. Los caracteres 0x000x3F y 0xFF son de control, 0x40 es un espacio, 0x41 es no-saltar pgina y 0xCA es un guion suave. 0 1 2 3 4 5 6 7 8 9 AB C DE F 40 [ . < ( + !

50 & ] $ * ) ; ^ 60 - / , % _ > ? 70 ` : # @ ' = " 80 a b c d e f g h i 90 j k l m n o p q r A0 ~ s t u v w x y z B0 | C0 { A B C D E F G H I

D0 } J K L M N O P Q R

E0 \ S T U V W X Y Z F0 0 1 2 3 4 5 6 7 8 9 Clave EBCDIC

Espacio

en

blanco

-

0

1

0

0

0

0

0

0

Letras maysculas de la A a la Z: se dividen en tres grupos (A-I), (J-R), (S-Z) y en las primeras cuatro posiciones se identifica el grupo al cual pertenece la letra y en las restantes cuatro posiciones el dgito correspondiente a la posicin de la letra en el grupo.

A B C D E F G H I J K L M N O P Q R S T U V W X

-

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1

0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0

0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0

0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Y 1 Z-11101001

1

1

0

1

0

0

0

La letra se representa 0 1 1 0 1 0 0 1 Los dgitos del cero (0) al nueve (9): se identifican con un uno en las primeras cuatro posiciones y en las restantes cuatro posiciones el dgito en binario.

0 1

-

1 1

1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0 1

0 0 0 0 1 1 1 1 0

0 0 1 1 0 0 1 1 0

0 1 0 1 0 1 0 1 0

2 1 3 1 4 1 5 1 6 1 7 1 8 1 9-11111001