Python – Capítulo 4: Programa para la conversión de velocidad a ritmo

Objetivo: construir un programa básico que permita la conversión de una velocidad en km/h a ritmo en min/Km.

En el mundo del atletismo se suele utilizar una magnitud diferente a la velocidad para indicar lo rápido que se está moviendo un corredor. Se trata del ritmo, que suele expresarse en min/Km.

Es una magnitud bastante intuitiva: un corredor que tarda 4 minutos 30 segundos en recorrer un kilómetro, decimos que mantiene un ritmo de 4:30/Km (o 4’5 min/Km).

El programa que diseñaremos hoy nos permitirá calcular el ritmo a partir de una velocidad expresada en km/h.

Salvo que usemos librerías específicas, que no es el caso, para poder lograr que un ordenador consiga aquello para lo que lo hemos programado, es siendo capaz nosotros de hacerlo a mano. ¿Cómo vamos, si no, a escribir un programa que realice unos cálculos si nosotros mismos no sabemos cuáles son?

Revisemos entonces la aritmética necesaria para efectuar esta conversión. Si no te interesa, puedes saltarte directamente este bloque y recoger sólo la fórmula final.

Supongamos que estamos corriendo a una velocidad de 10 Km/h. ¿Cuál sería nuestro ritmo? O, lo que es lo mismo, ¿en cuánto tiempo recorreríamos un kilómetro? Tratemos de deducir una fórmula que nos permita el cálculo.

Si nos fijamos en las magnitudes de la velocidad y del ritmo veremos que son inversas: la velocidad es una longitud dividida entre el tiempo, mientras que el ritmo es un tiempo dividido entre la longitud. Es decir:

  R = \frac{1}{V}

En nuestro caso, el ritmo sería 1/10, es decir, 0’1 h/Km. (Fíjate que es un tiempo dividido entre una longitud).

Ahora bien, esto no es práctico: debemos expresar las horas en minutos. Realicemos la siguiente conversión:

  \frac{0'1h}{Km} \times \frac{60min}{1h} = 6 min/Km

En resumidas cuentas, hemos hecho la inversa de la velocidad y la hemos multiplicado por sesenta.

Ya tenemos, por lo tanto, nuestra fórmula de conversión:

  R = \frac{60}{V}

donde R se expresa en min/Km y V en Km/h.

Por ejemplo, para V = 12 Km/h, R= 60/12 = 5 min/Km.

Para V= 9 Km/h; R = 60/9 = 6’66 min/km.

Conocemos ya la algorítmica. Echemos ahora un vistazo al programa que aparece en el Listado 1.

Comenzamos por pedirle al usuario que introduzca el valor de la velocidad que deseamos convertir.

velocidad = input ('Introduce la velocidad (km/h): ')

La variable velocidad recogerá el valor que el usuario introduzca. Revisemos el uso de la función input, en el que el texto que le aparecerá al usuario viene englobado entre comillas. Pueden ser comillas simples o dobles, no hay distinción. Más adelante ya explicaremos cuándo diferenciar unas de otras.

Hay que tener en cuenta un detalle importante: lo que recoge la función input es una cadena de texto (recordemos la sesión pythoniana anterior). Es decir, aunque introduzcamos un valor numérico, será considerado como si fuera una cadena de caracteres.

Difícilmente podremos realizar la división de la fórmula si no convertimos este valor previamente en un número.

Esto es lo que hace la función float, convierte el texto en un número real (siempre que esa conversión sea posible).

float (velocidad)

Ya podemos aplicar la fórmula:

ritmo = 60 / float(velocidad)

Realizamos la operación y almacenamos el resultado en la variable ritmo que esta vez si es numérica (resultado de la división de dos números).

Tan sólo resta la presentación final:

print ('El ritmo es de', ritmo, 'min/Km')

Observemos el uso:

Escribimos en primer lugar la cadena de caracteres El ritmo es de, a continuación, tras una coma, la variable numérica ritmo, y finalmente, tras otra coma, el último texto, min/km. Por defecto, la función print, en su ejecución, separa cada uno de estos elementos mediante un espacio en blanco.

Este programa es muy básico y se puede perfeccionar bastante. Podemos, por ejemplo, realizar la conversión a sexagesimal del ritmo, para que se nos muestre como minutos y segundos, que es como realmente se utiliza. O podemos ocuparnos de la gestión de errores en el caso de que introduzcamos un valor no numérico para la velocidad. El programa también podría permitir realizar la operación inversa (ritmo a velocidad) según el usuario indicara un tipo de conversión u otra.

Más adelante, cuando tengamos todos los recursos necesarios, abordaremos este programa de nuevo.

Ejercicio propuesto:

Realizar un programa en Python que calcule la velocidad a partir del ritmo introducido (lo contrario del que hemos explicado aquí).

Javier Montero Gabarró


Fecha de última revisión: 22 de julio de 2012


http://elclubdelautodidacta.es/wp/2011/05/python-capitulo-4-programa-para-la-conversion-de-velocidad-a-ritmo/


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.

Deja un comentario

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