Python: Un programa para la conversión de decimal a binario

Objetivo: crear una función en Python para la conversión de decimal a binario y, por extensión, a cualquier otra base.

Convertir a binario un número decimal es algo que no supone ningún misterio en Python:

>>> bin(81)
'0b1010001'

Incluso el proceso inverso, de binario a decimal, es simple:

>>> int('1010001', 2)
81

Pero la gracia, cuando uno aprende a programar, está en tratar de desarrollar el sexto sentido algorítmico, una faceta a menudo descuidada.

De modo que en el artículo de hoy diseñaremos nuestra propia función encargada de convertir un número decimal a binario, que después extenderemos para expresarlo en cualquier otra base.

Con frecuencia, descubrir el algoritmo subyacente implica realizar la tarea a mano prestando mucha atención a nuestros procesos mentales, convertirlos en palabras y transformarlos después en instrucciones propias del lenguaje de programación.

El ejemplo que nos atañe es sencillo, pues existe una correspondencia prácticamente directa entre nuestro proceso mental y el desarrollo formal, pero no siempre la hay y, en esos casos, es preciso atomizar lo que está pasando por nuestra cabeza.

En la escuela nos enseñan (o, al menos, enseñaban) el procedimiento para convertir a binario un número entero positivo en base decimal:

Dividimos el número entre dos y anotamos el resto de la división. Tomamos el cociente y lo dividimos entre dos, anotando el nuevo resto. Cogemos el nuevo cociente y continuamos la misma operación hasta que no podemos seguir adelante, pues el cociente ya es inferior a dos (uno, en las conversiones a binario). Tomamos entonces ese cociente (uno) y le agregamos, en orden inverso de aparición, todos los restos que hemos ido anotando en el camino.

Vamos a convertir, por ejemplo, 81 a binario:

81 : 2 = 40; Resto: 1
40 : 2 = 20; Resto: 0 
20 : 2 = 10; Resto: 0
10 : 2 = 5; Resto: 0
5 : 2 = 2; Resto: 1
2 : 2 = 1; Resto: 0

Ya no podemos seguir dividiendo entre dos, pues el cociente es uno. Tomamos este cociente, junto a todos los restos en orden inverso y encontramos 81 expresado en binario:

1010001

Nuestro algoritmo va a hacer exactamente lo mismo.

def binarizar(decimal):
    binario = ''
    while decimal // 2 != 0:
        binario = str(decimal % 2) + binario
        decimal = decimal // 2
    return str(decimal) + binario

La variable binario es un string que va acumulando cada resto. Observa su construcción, agregando a la izquierda cada nuevo resto.

La variable decimal parte con el número original, pero en cada iteración toma el valor del nuevo cociente resultado de la división entera. El bucle se repetirá continuamente mientras ese cociente sea distinto de cero. En ese momento, el anterior cociente (un uno), será el dígito más significativo del resultado, devuelto con la sentencia return.

Veamos en acción esta función:

def binarizar(decimal):
    binario = ''
    while decimal // 2 != 0:
        binario = str(decimal % 2) + binario
        decimal = decimal // 2
    return str(decimal) + binario

numero = int(input('Introduce el número a convertir a binario: '))
print(binarizar(numero))

>>> 
Introduce el número a convertir a binario: 81
1010001

Para convertir a cualquier otra base el procedimiento es exactamente el mismo, salvo que en lugar de realizar la división entera entre dos la hacemos en la nueva base.

def cambio_base(decimal, base):
    conversion = ''
    while decimal // base != 0:
        conversion = str(decimal % base) + conversion
        decimal = decimal // base
    return str(decimal) + conversion

numero = int(input('Introduce el número a cambiar de base: '))
base = int(input('Introduce la base: '))
print(cambio_base(numero, base))

>>> 
Introduce el número a cambiar de base: 81
Introduce la base: 5
311

Y ahora una conversión a octal:

>>> 
Introduce el número a cambiar de base: 81
Introduce la base: 8
121

Para hacer pruebas, evita utilizar bases superiores a 10, pues no disponemos de dígitos suficientes para mostrar el resultado. O bien puedes modificar el programa y crearte tus propios dígitos empleando letras del abecedario, como en el sistema hexadecimal.

Ejercicio propuesto 1: crea una función que convierta un número decimal a base 16 (hexadecimal). Necesitarás una especie de tabla que transforme los resultados del resto 10, 11, 12,…, 15 en A, B, C, …, F, respectivamente.

Ejercicio propuesto 2: crea una función que transforme de binario a decimal.

Ejercicio propuesto 3: crea una función que convierta a decimal un número expresado en cualquier otra base.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2013/01/python-un-programa-para-la-conversion-de-decimal-a-binario/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Consulta el índice completo de artículos relacionados con Python.

La escala menor natural

Objetivo: aprender a calcular la escala menor natural en cualquier tonalidad.

Apuesto a que hay una escala menor natural que ya conoces.

Toma las notas de Do mayor:

Do – Re – Mi – Fa – Sol – La – Si – Do

y vuelve a construirla empezando en La esta vez:

La – Si – Do – Re – Mi – Fa – Sol – La

o, en notación anglosajona:

A – B – C – D – E – F – G – A

Empezando en La nos encontramos con una escala completamente distinta a Do mayor. Las distancia entre sus grados no es la misma y su sonido es completamente diferente.

Esta escala, que termina y comienza en LA y tiene esa composición de notas, recibe el nombre de LA menor natural.

Ambas escalas están intimamente relacionadas, aunque suenen diferentes, pues poseen las mismas notas. La escala de LA menor natural es la relativa menor de DO mayor.

Es más, la escala menor natural no es más que uno de los modos de la escala mayor (caracterizados por que todos comparten las mismas notas): el modo eólico.

Por eso, encontrarás que a la escala menor natural se la conoce también como escala eólica.

Aunque ya vimos su fórmula absoluta cuando tratamos los modos, no está mal repetir aquí su cálculo.

Vamos a analizar la distancia que hay entre cada grado de la escala de LA menor natural:

A – B – C – D – E – F – G – A

Entre A y B hay un tono (T).
Entre B y C hay un semitono (S).
Entre C y D hay un tono (T).
Entre D y E hay un tono (T).
Entre E y F hay un semitono (S).
Entre F y G hay un tono (T).
Entre G y A hay un tono (T).

De modo que la fórmula absoluta es:

T – S – T – T – S – T – T

Esta fórmula nos permite calcular la escala menor natural en cualquier tonalidad sin más que ir contando tonos y semitonos.

Por ejemplo, calculemos las notas de Do menor natural:

Partimos de C.

Agregamos un tono (T), obteniendo D.
Agregamos un semitono (S), obteniendo Eb.
Agregamos un tono (T), obteniendo F.
Agregamos un tono (T), obteniendo G.
Agregamos un semitono (S), obteniendo Ab.
Agregamos un tono (T), obteniendo Bb.
Agregamos un tono, obteniendo, nuevamente, C.

De modo que,

Do menor natural: C – D – Eb – F – G – Ab – Bb – C

Además de representar una escala por su fórmula absoluta es común su representación relativa a la escala mayor.

Si comparamos, grado a grado, la escala de Do mayor con Do menor natural recientemente calculada podemos obtener la fórmula relativa.

Do mayor: C – D – E – F – G – A – B – C
Do menor natural: C – D – Eb – F – G – Ab – Bb – C

Observa que todos los grados coinciden salvo el tercero, sexto y séptimo, que están bajados un semitono. Así pues, la fórmula relativa de la escala menor natural es:

Menor natural: 1 – 2 – b3 – 4 – 5 – b6 – b7

No es necesario indicar el octavo grado, idéntico al primero, pero una octava más alto.

La fórmula relativa es más sencilla de recordar que la absoluta. La escala menor natural es como la mayor, pero los intervalos que forma la tónica con los grados tercero, sexto y séptimo son menores en vez de mayores (b3, b6, b7). Comprendido esto te será muy fácil retener otras escalas menores que estudiaremos más adelante, como la armónica o la melódica.

Vamos a ilustrar el uso de la fórmula relativa para calcular las notas de Re menor natural.

Comenzamos calculando la correspondiente escala mayor:

Re mayor: D – E – F# – G – A – B – C#

Bajamos un semitono los grados tercero, sexto y séptimo, dejando el resto intactos.

Re menor natural: D – E – F – G – A – Bb – C

Por lo general, sabiendo calcular (o reteniendo en la memoria) las escalas mayores y conociendo la fórmula relativa de cualquier escala, hallar su composición resulta prácticamente inmediato.

En los sucesivos artículos presentaremos escalas de todo tipo, acompañadas por sus fórmulas absoluta y relativa, y calcularemos sus notas empleando ambos métodos.

Javier Montero Gabarró


La escala menor natural


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos sobre armonía.

El mundo de las tonalidades relativas

Objetivo: aclarar el concepto de tonalidades relativas y aprender a calcularlas.

Echa un vistazo a las escalas Do mayor y La menor natural. ¿Qué tienen en común?

Do mayor: DO – RE – MI – FA – SOL – LA – SI – DO

La menor natural: LA – SI – DO – RE – MI – FA – SOL – LA

Son las mismas notas, solo que la secuencia comienza en un punto diferente.

Una pieza escrita en la tonalidad de Do mayor tiene la misma armadura que otra escrita en la tonalidad de La menor. Decimos que Do mayor y La menor son tonalidades relativas.

La escala La menor natural es la relativa menor de Do mayor, del mismo modo que Do mayor es la relativa mayor de La menor natural.

El hecho de que ambas escalas compartan las mismas notas no es algo que deba sorprendernos, pues la escala menor natural es uno de los modos de la escala mayor: el modo eólico. Todos los modos comparten las mismas notas; lo único que cambia es la nota en la que se inicia la secuencia.

Forma parte del bagaje de conocimientos de todo músico conocer de memoria las relativas menores de cada tonalidad mayor. Vamos a mostrar aquí cómo calcularlas.

Hemos dicho que la relativa de Do mayor es La menor. ¿Qué distancia hay entre Do y La?

Se trata de una sexta mayor, compuesta de 9 semitonos.

De este modo, podemos concluir que la relativa menor de una tonalidad mayor cualquiera se encuentra una sexta mayor por encima de esta.

[Si no sabes lo que es una sexta mayor o si no manejas con agilidad los intervalos, te recomiendo te leas los siete artículos del blog (tres teóricos y cuatro prácticos) dedicados al cálculo de intervalos.]

Ahora bien, en vez de buscar el LA que tenemos por delante de DO, a una sexta mayor, podemos recurrir al LA que hay por detrás, a una tercera menor (3 semitonos). Es más rápido contar tres semitonos hacia atrás que nueve hacia adelante.

Realicemos algunos ejemplos:

1) ¿Cuál es la relativa menor de Sol mayor?

Contamos tres semitonos hacia atrás:

SOL – SOLb/FA# (1) – FA (2)- MI (3)

La relativa menor de Sol mayor es, por lo tanto, Mi menor.

2) ¿Cuál es la relativa menor de La mayor?

Contamos tres semitonos hacia atrás:

LA – LAb/SOL# (1) – SOL (2) – SOLb/FA# (3)

¿Con cuál de las dos opciones nos quedamos, SOL bemol o FA sostenido?

Aunque ambas notas son enarmónicas, la respuesta correcta solo es una. Hemos dicho que ha de estar una TERCERA por detrás:

LA – SOL – FA

La relativa menor de LA mayor es, por lo tanto, FA# menor.

El ejercicio contrario, calcular la relativa mayor dada la tonalidad menor, no tiene más misterio que calcular una tercera menor hacia adelante.

3) ¿Cuál la relativa mayor de Sol menor?

Contamos tres semitonos hacia adelante:

SOL – SOL#/LAb (1) – LA (2) – LA#/SIb (3)

¿Con cuál nos quedamos, LA sostenido o SI bemol?

Nuevamente, la respuesta nos la da el hecho de que tiene que tratarse de una tercera.

SOL – LA – SI.

La relativa mayor de SOL menor es, por lo tanto, SI bemol mayor.

La tabla siguiente relaciona cada tonalidad con su relativa:

MAYOR MENOR
C A
C#/Db A#/Bb
D B
D#/Eb B#/C
E C#
F D
F#/Gb D#/Eb
G E
G#/Ab E#/F
A F#
A#/Bb Fx/G
B G#

Es importante que sepas calcular las tonalidades relativas y que, poco a poco, vayas memorizándolas, pues es algo a lo que, como músico, tendrás que recurrir con frecuencia.

Por ejemplo: el proceso de aprendizaje e interiorización de escalas es laborioso y requiere meses o incluso años de estudio. Un guitarrista puede dominar ya las diversas formas de la escala mayor y estar aprendiendo la escala menor. Entre tanto, puede salir del paso si conoce las tonalidades relativas.

Imaginemos que un guitarrista tiene que improvisar en Do menor, pero no conoce las posiciones de la escala aún. Si sabe que Do menor tiene por relativa mayor Mi bemol mayor, podrá utilizar cualquiera de las posiciones de Mi bemol mayor para improvisar en Do menor, pues ambas escalas, al ser relativas, comparten las mismas notas.

Naturalmente, también podría buscar un Do, como el de la quinta cuerda en el tercer traste, subir tres semitonos, aterrizando en el Mi bemol del sexto traste y desde ahí utilizar una de las posiciones que conozca de Mi bemol mayor. Abundaremos en todo esto más adelante en la sección de guitarra del blog.

Javier Montero Gabarró


El mundo de las tonalidades relativas


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos sobre armonía.

Python: El calificador de ámbito nonlocal

Objetivo: presentar el calificador de ámbito de variable nonlocal.

En la anterior entrega presentamos el concepto de ámbito de una variable y llegamos a una serie de conclusiones:

– Una variable creada en el interior de una función es local y solo existe dentro de ella.

– Las variables creadas a nivel de módulo son globales en el sentido de que son accesibles, además de por el propio módulo, por todas las funciones definidas dentro de él. No obstante, solo son modificables por el propio módulo; las funciones sólo pueden consultar su valor.

– Para modificar una variable global desde dentro de una función es necesario que aparezca declarada como global en el cuerpo de la función.

Vamos a introducir un nuevo nivel de complejidad atendiendo a una característica muy interesante de Python: una función puede incluir definiciones de otras funciones; es decir, la definición de función es anidable.

El Ejemplo 1 ilustra esto de un modo sencillo:

# Ejemplo 1

def f1():
    
    def f2():
        nivel2 = 2
        print(nivel0, nivel1, nivel2)
        
    nivel1 = 1
    f2()
    print(nivel0, nivel1)

nivel0 = 0
f1()
print(nivel0)

Observa que la definición de la función f1() incluye la definición de la función f2().

He definido tres variables en ámbitos distintos: nivel0 a nivel de módulo, nivel1 dentro de la función f1() y nivel2 dentro de f2(), que a su vez está anidada dentro de f1().

Comencemos analizando la función más interior, f2(). En ella se crea la variable local nivel2 y se imprime su valor, junto al de las variables nivel0 y nivel1, que pertenecen, respectivamente, al módulo y al ámbito de f1().

Esto ilustra un concepto importante: una función puede acceder como consulta a todas las variables de los ámbitos en los que está contenida su definición. f2() está contenida en f1(), que a su vez lo está en el módulo principal.

La función f1(), además de definir f2(), crea la variable local nivel1, invoca a f2() e imprime las variables nivel0 y nivel1.

Finalmente, el módulo principal define f1(), crea nivel0, invoca f1() e imprime a continuación el valor de nivel0.

Este es el resultado de la ejecución. Es recomendable que sigas paso a paso su ejecución para asegurarte de que entiendes esta salida.

>>> 
0 1 2
0 1
0

Hay que tener muy claro el sentido de la visibilidad. Desde el módulo principal, cualquier intento de acceder a nivel1 o a nivel2 resultaría en error, del mismo modo que desde f1() tampoco podríamos acceder a nivel2. Por el contrario, en sentido contrario, yendo de menos a más si podemos acceder a las variables, pero solo en modo consulta.

Si desde f1() quisiéramos no solo consultar, sino además modificar el valor de la variable a nivel de módulo, nivel0, ya hemos visto que debemos utilizar el calificativo global, como ilustra el Ejemplo 2:

# Ejemplo 2

def f1():
    
    def f2():
        nivel2 = 2
        print(nivel0, nivel1, nivel2)
        
    nivel1 = 1
    global nivel0
    nivel0 = 5
    f2()
    print(nivel0, nivel1)

nivel0 = 0
f1()
print(nivel0)

>>> 
5 1 2
5 1
5

De igual modo, desde la función más interna, f2(), también podríamos modificar la variable de módulo nivel0 usando el calicativo global:

# Ejemplo 3

def f1():
    
    def f2():
        nivel2 = 2
        global nivel0
        nivel0 = 6
        print(nivel0, nivel1, nivel2)
        
    nivel1 = 1
    f2()
    print(nivel0, nivel1)

nivel0 = 0
f1()
print(nivel0)

>>> 
6 1 2
6 1
6

Y ahora la pregunta del millón… ¿Y si quisiéramos modificar la variable nivel1 desde dentro de f2()?

La respueta NO es global, como se ve en el Ejemplo 4:

# Ejemplo 4

def f1():
    
    def f2():
        global nivel1
        nivel1 = 7
        nivel2 = 2
        print(nivel0, nivel1, nivel2)
        
    nivel1 = 1
    f2()
    print(nivel0, nivel1)

nivel0 = 0
f1()
print(nivel0)

>>> 
0 7 2
0 1
0

Observa con cuidado este resultado: la primera línea corresponde a la impresión de f2(). Como vemos, ha impreso el valor 7, correspondiente a nivel1. Sin embargo, la siguiente línea, que corresponde a la impresión propia de f1(), un instante después, nos demuestra que el valor de nivel1 no ha sido cambiado, manteniendo su valor 1 dentro de f1.

La cuestión es que el calificativo global solo puede usarse para variables globales a nivel de módulo. Para poder modificar la variable a nivel de función nivel1, necesitamos un nuevo calificador: nonlocal.

El código siguiente es exacto al anterior, pero cambiando la palabra global por nonlocal.

# Ejemplo 5

def f1():
    
    def f2():
        nonlocal nivel1
        nivel1 = 7
        nivel2 = 2
        print(nivel0, nivel1, nivel2)
        
    nivel1 = 1
    f2()
    print(nivel0, nivel1)

nivel0 = 0
f1()
print(nivel0)

Esta vez sí: hemos logrado modificar nivel1 desde dentro de f2():

>>> 
0 7 2
0 7
0

En el Ejemplo 6 modificamos, desde dentro de f2() tanto nivel0 como nivel1. Observa el uso combinado de global y nonlocal:

# Ejemplo 6

def f1():
    
    def f2():
        global nivel0
        nonlocal nivel1
        nivel0 = 8
        nivel1 = 9
        nivel2 = 2
        print(nivel0, nivel1, nivel2)
        
    nivel1 = 1
    f2()
    print(nivel0, nivel1)

nivel0 = 0
f1()
print(nivel0)

>>> 
8 9 2
8 9
8

Moraleja: utiliza global para poder modificar una variable creada a nivel de módulo desde dentro de una función definida en ese módulo, aunque esté anidada dentro de otra función; utiliza nonlocal para modificar una variable creada a nivel de función desde otra función definida dentro de aquella.

Javier Montero Gabarró


Python: El calificador de ámbito nonlocal


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Consulta el índice completo de artículos relacionados con Python.

Numeros decimales en LaTeX

Objetivo: aprender a escribir correctamente los números decimales en LaTeX.

Escribir números decimales en \LaTeX es una tarea simple, pero has de tener en cuenta ciertas consideraciones importantes.

En primer lugar, debes saber que los números, cuando no formen parte de una expresión algebraica, puedes escribirlos tanto en modo texto como en modo matemático. No obstante, aunque no estén dentro de una fórmula, mi recomendación es que emplees siempre el modo matemático, particularmente cuando tengas que escribir decimales, ya que la presentación puede ser diferente en un modo u otro.

Los siguientes ejemplos ilustran esto con claridad. Escribiremos el número 0,25 empleando como separador el punto, la coma y la comilla y lo haremos tanto en modo texto como en modo matemático:

\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\begin{document}
Ej 1: Un cuarto es 0.25 de toda la vida.

Ej 2: Un cuarto es $0.25$ de toda la vida.

Ej 3: Un cuarto es 0,25 de toda la vida.

Ej 4: Un cuarto es $0,25$ de toda la vida.

Ej 5: Un cuarto es $0{,}25$ de toda la vida.

Ej 6: Un cuarto es 0'25 de toda la vida.

Ej 7: Un cuarto es $0'25$ de toda la vida.

\end{document}

Esta es la visualización final:

latex-decimales

En los ejemplos 1 y 2 hemos empleado un punto como separador decimal. Observa que en el modo matemático el resultado ha sido cambiado por una coma. Explicaremos este comportamiento en breve.

En los ejemplos 3 y 4 utilizamos la coma como separador decimal. No obstante, en el modo matemático aparece un pequeño e indeseable espacio en blanco adicional. Esto es así porque, en verdad, la coma no está pensada en modo matemático como indicador de decimales, sino como simple signo de puntuación.

Para poder deshacernos de ese incómodo espacio, sería preciso rodear la coma entre llaves, tal como puedes apreciar en el código fuente del ejemplo 5.

Finalmente, en los ejemplos 6 y 7 hemos empleado una comilla como separador, Nuevamente, la presentación es diferente en el modo matemático (la típica «prima») y en el modo texto.

Para evitar esta disparidad entre ambas presentaciones, mi recomendación es que emplees siempre el modo matemático cuando tengas que tratar con números decimales aunque no formen parte de una fórmula.

Lo siguiente que debes tener presente es que, en nuestro idioma, solemos utilizar como separador decimal tanto el punto como la coma. El apóstrofe no suele usarse más que en la escritura a mano.

No voy a entrar a discutir sobre si es mejor utilizar la coma que el punto. Por encima de normas y recomendaciones, lo cierto es que en la literatura científica en nuestro idioma encontrarás ambos tipos de usos. Emplea el que te resulte preferido, pero hazlo consistentemente.

Y ahora el truco importante: para escribir decimales en \LaTeX, utiliza siempre como separador el punto en el código fuente (a pesar de que prefieras usar la coma). Si vuelves a observar el ejemplo 2, aunque en el código fuente está escrito un punto decimal en modo matemático, la presentación final es una coma como separador. Es más, de este modo no aparece el espacio en blanco anexo, por lo que te ahorras el uso de las llaves rodeando el símbolo.

Pero, si hemos dicho que tanto el punto como la coma son de uso común en nuestro idioma, ¿cómo hacemos para que el punto decimal se muestre como un punto en lugar de una coma?

El responsable de ese cambio del punto en el código fuente por la coma en la presentación es el paquete babel que hemos incluido en el preámbulo. Ya sabes que ese paquete se ocupa de facilitar nuestra experiencia \LaTeX en español, adaptando a nuestro idioma elementos como los títulos, la división de las palabras en guiones, etcétera.

Si, pese a que \LaTeX, con su paquete babel, sobreentiende que te gustan las comas decimales, prefieres usar el punto decimal, hay un modo sencillo de hacerlo empleando el siguiente comando:

\spanishdecimal{.}

Entre llaves facilitamos el símbolo que actuará como separador decimal: el punto.

Observa el siguiente ejemplo de uso:

\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\spanishdecimal{.}
\begin{document}
Ej 8: Un cuarto es $0.25$ de toda la vida.
\end{document}

Aprecia, en la presentación final, que el punto aparece ahora como tal, en vez de la coma:

latex-decimales-2

Para finalizar, un resumen de lo más destacable:

1) Escribe números decimales desde el modo matemático.

2) Utiliza siempre el punto como separador decimal en el código fuente (lo que generará una coma en la presentación).

3) Si prefieres que el separador sea un punto, utiliza el comando \spanishdecimal{.}

Javier Montero Gabarró


Numeros decimales en LaTeX


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

San Silvestre Vallecana – Madrid 2012

pulpiSi preguntas a un grupo de corredores por qué corren obtendrás todo un variopinto conjunto de respuestas que podrías clasificar atendiendo a su componentes física, psicológica o espiritual.

En mi caso particular, una de las principales razones por las que lo hago es, sin duda, que siempre me supone un reto difícil. No importa si entreno varias veces a la semana: abordo cada entrenamiento como si fuese siempre la primera vez que corro y no hay día que no concluya con la fascinante sensación de victoria que supone lograr algo que uno considera extraordinario.

Cada entrenamiento y, en mayor escala, cada carrera, es una victoria frente a nuestros miedos. Es navegar en la cresta de la ola, sentir el pulso de la vida.

No voy a entretenerme con muchos detalles. El jueves 27, a 4 días de la carrera, caí enfermo. El viernes comencé un tratamiento con antibióticos, analgésicos y antipiréticos. El domingo 30, a un día de la carrera, estuve en un hospital de urgencias haciéndome pruebas en un estado físico lamentable, empeorado por varias noches sin dormir.

Ese mismo día anuncié con tristeza que no estaba en condiciones de participar en la carrera y que renunciaba a correr. Mi hermana, que iba a hacer de la San Silvestre su primera popular, me dijo que le entregase las prendas para el guardarropa, por si cambiaba de opinión. No lo hice.

Al día siguiente, 31 de diciembre, a pocas horas de la carrera, le pedí a mi madre que me entregara la bolsa del corredor que me habían recogido. Ahí estaban mi camiseta dorsal, el chip y la pulsera que me acreditaba para salir en el cajetín sub 55′.

No puedo explicar lo que sentí. Sólo sé que, en ese preciso instante, decidí que, al menos durante las horas previas y posteriores a la carrera, dejaría de estar enfermo.

No me importó estar falto de sueño, débil y atiborrado de antibióticos, ni el frío que haría en Madrid por la noche, ni que anunciaran lluvia durante la carrera, ni la huelga de metro que complicaría el regreso a casa después. Correría y punto.

Tomamos el cercanías y recogimos a un amigo de mi hermana que, como ella, se estrenaba en la carrera. En Nuevos Ministerios dejamos el tren y nos dirigimos al Santiago Bernabeú. En vez de colocarme en el cajetín sub 55′, opté por acompañar a los debutantes y nos situamos al final del todo, en la zona destinada a los corredores sin marca. Mi hermana tenía la posibilidad de colocarse en un box especial para mujeres (novedad de esta edición) que salía a las 18.00, pero prefirió el último para no dejar solo a su compañero.

Para no enfriarme en exceso en meta, me quité el chandal y lo metí en una mochila con la que correría a la espalda toda la carrera.

A las 18:15 sonó el disparo de salida de la cuarta oleada e iniciamos el ascenso por Concha Espina. Mi temor, sin haber calentado y sin haber tanteado mi forma física, era no tener fuerzas suficientes y quedarme ahí mismo. Pero una vez superada la primera cuesta me di cuenta de que estaba bien y no iba a tener problemas. Me situé justo detrás de mi hermana y su amigo y dejé que ellos marcaran el ritmo. Después de todo era su carrera y la primera vez que se enfrentaban a 10 kilómetros seguidos. A mí me bastaba con finalizar sano y salvo.

Una carrera muy suave (imposible correr con tanta gente), a un ritmo perfecto para disfrutar del ambiente festivo. Nos topamos con corredores disfrazados de piezas del Tetris, otros cargando entre varios una supuesta caja enorme conteniendo material radiactivo (así los 10 km), muchas batas blancas reivindicando una sanidad pública, un corredor con un jamón a la espalda y otros tantos que ahora mismo no recuerdo.

Los continuos esfuerzos de mi hermana por ir adelantando posiciones entre la densa multitud apenas nos permitían arañar unos segundos en el cómputo global. Aún así hubo algún que otro kilómetro en el que pudimos estirar las piernas a gusto con ritmos sobre los 5:30/Km.

La temida cuesta de la Avenida de la Albufera, que el año pasado remonté con sufrimiento, me resultó tremendamente fácil y breve. Nada más terminar el ascenso y doblar a la derecha nos encontramos con un tapón que nos obligó a estar parados un poco.

En una hora y siete minutos justos cruzamos los tres la línea de meta con las manos cogidas y alzadas en un gesto triunfal.

Para mí fue mi compromiso de seguir dando el callo incluso cuando las cosas se ponen feas, de asumir las dos caras de la moneda que presenta la vida y de luchar contra la adversidad cuando toca hacerlo, de no rendirme nunca mientras me quede algo de aliento.

Fueron más de 40000 historias de triunfo en la fría noche de Madrid. Más de 40000 respuestas a la pregunta del comienzo.

¿Cuál es la tuya?

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2013/01/san-silvestre-vallecana-madrid-2012/


Puedes consultar el índice completo de artículos pertenecientes a la categoría running.


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies