Página 1 de 1

Numerología Euro*

Publicado: 31 May 2013, 17:30
por Fotocopiadora-2
Angelino

Posted 02 March 2004 - 02:37 PM
Hola a todos:


temas recuperados por Mel del foro de Publiafinsa


TORSEN


Nunca antes del Euro se había tenido la suerte de combinar con la notafilia una ciencia que ahora se hace indispensable; la numerología. La necesidad de utilizarla nos obliga a todos a repasar las lecciones olvidadas de matemáticas.

Hemos visto como de forma insistente han ido saliendo en el foro nuevos conceptos e interpretaciones diferentes dedicadas a la numeración del Euro. Se está confeccionando, con la aportación de todos, un buen banco de datos sobre numeración y código corto de billetes. Ello es un signo evidente de que ya no tenemos unos billetes que solamente tenían carné de identidad; ahora tenemos algo más interesante para ser examinado. El súper DNI del billete Euro nos lleva hacia otra dimensión donde se relaciona todo y aparecen además los datos del fabricante, de la plancha y de la posición del billete cuando fue impreso.

Sabemos que cada país tiene un código de un dígito que sale de la suma reducida a la unidad (checksum). Sabemos que la numeración del billete tiene un cecksum total (añadiendo la posición ordinal de la letra en el abecedario europeo a la parte numeral) que siempre sale 8, sea del valor que sea y sea del país que sea.

Para hacer los cálculos nos limitábamos a sumar cada dígito para finalmente sumar los del resultado entre si. Veamos el caso de un billete Español de 50€:

V02400461428. La V tiene la posición 22, por tanto debemos sumar uno a uno los dígitos siguientes:

2202400461428 de donde sale un total de 35 que es: 3+5=8

Para hacer comprobaciones de un billete podemos hacerlo mentalmente. Para comprobar cientos se puede utilizar una hoja de cálculo. La hoja de cálculo puede dar el okay (en una validación condicional) si se descompone el texto que forma la numeración y se trata cada elemento obtenido como dígito. Es una tarea que complica la hoja y obliga a manejar fórmulas tediosas.

En una ponencia anterior me prometí a mi mismo aprenderme de nuevo la prueba del 9 que utilizábamos de pequeños para comprobar multiplicaciones y divisiones. Ya lo hice y lo expuse en el foro. Allí me di cuenta de que en lugar de obtener el resto de dividir por 9 se podía ir más rápido buscando el checksum. Pues bien, aquel inocente descubrimiento se puede aplicar al revés y obtener el checksum sin descomponer la numeración. Vemos el ejemplo anterior:

2202400461428/9 = 244711162380,8888888888 (periódica pura) El resto es 8

En una división por 9 se da siempre un resto que es idéntico a la parte decimal que reiterativamente, hasta el infinito, repite la misma cifra.

Se puede aplicar también el mismo sistema para calcular el código del país a partir de la parte numeral (sin letra). En el caso anterior tenemos:

02400461428/9 = 266717936,44444444444 El resto es 4 (código de España y Portugal)

Aplicar lo anterior en hoja de cálculo es de una simplicidad extrema:

Extrae((numeración + código(letra país)-64)/9;1;15) Para validar el 8 europeo
Extrae(numeración/9;1;15) Para validar el código del país

Se podría hacer con la función residuo, pero para cantidades que superan los 9 dígitos no funciona. Hay trucos pero, a mi me parece más simple y estético lo de extraer el carácter número 15 (podría ser el 14 o el 13 ya que a partir de la coma todos son iguales)

------------------------------------------------------------------------------------------

TORSEN

Hola:

Algunas advertencias para los entusiastas de la numerología que quieran experimentar con una hoja de cálculo y vean que aparecen algunos problemas.

En el caso del checksum total, que debe ser 8 (comprobación universal de validez para cualquier euro-billete de cualquier valor y de cualquier país), ha de tenerse en cuenta que existen billetes que llevan ceros delante de la parte numeral, por lo que deben mantenerse íntegros en el cálculo.

Vamos a hacer un ejemplo paso a paso para verlo. Luego, si se quiere, se puede reunir todo en una sola fórmula:

Celda A1: V00334869844 --> (numeración de un billete de 100 elegido como ejemplo)
Celda A2: =IZQUIERDA(A1;1) --> sale: V
Celda A3: =CODIGO(A1)-64 --> sale: 22 (código ASCII menos 64 para el ordinal de letra en abecedario europeo)
Celda A4: =A3*10^11 --> sale: 2200000000000
Celda A5: =DERECHA(A1;11) --> sale: 00334869844
Celda A6: =A4+A5 --> sale: 2200334869844
Celda A7: =A6/9 --> sale: 244481652204,889 (el 9 final es fruto del redondeo)
Celda A8: =EXTRAE(A7;15;1) --> sale: 8
Celda A9: =SI(A8="8";"ok";"NO") --> sale ok

La reunión en una sola fórmula seria:

=EXTRAE(((10^11*(CODIGO(IZQUIERDA(A1;1))-64))+(DERECHA(A1;11)))/9;15;1)

Faltaría añadir la función condicional de la celda A9 que no es absolutamente necesaria. Obviamente también se pueden obtener idénticos resultados con la función concatenar, más útil si se entran campos separados.

Atención al caso de Bélgica cuando solamente se quiera calcular el checksum del país. Bélgica tiene asignado el 9, pero cuando el programa redondea el último 9, que maneja en la parte periódica pura, los termina redondeando todos a cero ya que 0,99999999 = 1,00000 (se demostrará esta aparente apostasía en mensaje aparte). Por tanto se debe incluir un pequeño truco que engañe al programa. Veamos un billete de Bélgica (checksum del país=9)

Celda B1: Z90503608338 --> (numeración de un billete de Bélgica elegido como ejemplo)
Celda B2: =DERECHA(A1;11) --> sale: 90503608338
Celda B3: =(A2/9)-0,001 --> sale: 10055956482,999 (el -0,001 engaña el redondeo)
Celda B4: =EXTRAE(B3;15;1) --> sale: 9 que es el código de Bélgica

El truco, aunque no es necesario, se puede mantener para todos los países para no hacer fórmulas especiales.

Un saludo

------------------------------------------------------------------------------------------

TORSEN

Hola:

Anteriormente se ha dicho que las hojas de cálculo interpretan una periódica pura del tipo 0,9999999999... como 1,0000000000... En el caso del cálculo del primer o siguientes decimales de la división por 9 (caso de los billetes de Bélgica) ello es un engorro. Buscando una explicación encontré en un antiguo librito, cuyo título es “Cajón de sastre matemático”, una bonita y sencilla demostración.

Se trata de demostrar que 1 = 0,9999999999... (periódica pura)

Si pensamos que podemos añadir tantos nueves como queramos no podemos entender como en algún momento de nuestra larga cadena el último 9 cambia a 10 obligando a hacer lo mismo a todos los anteriores. Nuestro concepto del infinito es muy limitado y siempre nos juega malas pasadas. Veamos como se puede demostrar que 0,9999999999... es igual a la unidad:

X = 0,9999999999...

Multiplicamos ambos lados de la igualdad por 10, y tenemos:

10X = 9,9999999999... (periódica pura)

Asimismo podemos escribir que:

10X - X = 9X

Como 10X = 9,9999999999... y X = 0,9999999999..., tenemos que 10X - X se puede escribir también de la siguiente forma:

9,9999999999... - 0,9999999999...

Si ahora efectuamos la resta queda: 9,9999999999... - 0,9999999999... = 9

Por lo cual 10X - X = 9X y, por ello, también es igual a 9. Por tanto, se confirma

-----------------------------------------------------------------------------------------

temas del foro de Hispaweb

NEARWUAT

2002 X Alemania
2002 N Austria
2002 Z Bélgica
2002 V España
2002 L Finlandia
2002 U Francia
2002 Y Grecia
2002 P Holanda
2002 T Irlanda
2002 S Italia
2002 R Luxemburgo
2002 M Portugal

K Suecia
J Reino Unido
W Dinamarca

Marcas de ceca

A Bank of England Printing Works
C AB Tumba Bruk
D Setec Oy
E F. C. Oberthur
F Oesterreichische Nationalbank
G Joh. Enschede
H De La Rue
J Banca d'Italia
K Central Bank of Ireland
L Banque de France
M Fabrica Nacional de Moneda y Timbre
N Bank of Greece
P Giesecke & Devrient
R Bundesdruckerei
S Danmarks Nationalbank
T Banque Nationale de Belgique
U Valora (Carregado,Portugal)



The serial number of each banknotes begins with a letter and is
followed by eleven numerical digit. The serial number of the 10 Euro
notes I will use as a concrete example is S03920356654. S means that
the note has been print in Italy.
Now some elementary arithmetic:
1) replace the letter by its numerical value (S=29)
2) delete the last digit of the serial number. You should have
obtained: 290392035665
3) now divide that number by 9, so 290392035665 : 9 = 3226578174 with
remainder 5
4) subtract that remainder from 9, so: 9 - 5 = 4
5) 4 is the digit we first have deleted from the serial number and is
the control value of the combination

The letters for the other countries are:

L = Finland = 22
M = Portugal = 23
N = Austria = 24
P = Holland = 26
R = Luxemburg = 28
S = Italy = 29
T = Ireland = 30
U = France = 31
V = Spain = 32
X = Germany = 34
Y = Greece = 35
Z = Belgium = 36

J, K and W are already reserved for UK, Sweden and Denmark respectively.

-----------------------------------------------------------------------------------------

ENRIC

Buenas!
¡Acabo de aterrizar por aquí!

¿Que ha pasado con el otro foro?

Bueno, aprovecho para poner una formulita de chequeo de billetes que puede ser útil. Está en Basic pero será fácilmente adaptable a cualquier lenguaje de macros de MS.

Si suponemos que s contiene un string con el número de serie completo con la letra en majúsculas podemos hacer:

i = (Asc(Left(s, 1)) + Val(Mid(s, 2))) Mod 9

si el resultado es 0 pasa el test

Dependiendo de la arimética podria ser que Val(Mid(s, 2))) diera condición de overflow. Si es así también vale:

i = (Asc(Left(s, 1)) + Val(Mid(s, 2, 5)) + Val(Mid(s, 7))) Mod 9


Si el problema es conocer el dígito y si tenemos en s todo el número de serie menos el último dígito podemos hacer

d =9 - ( (Asc(Left(s, 1)) + Val(Mid(s, 2))) Mod 9)

Saludos a todos de nuevo

-----------------------------------------------------------

AYR00665