Algoritmos de Programación con Python

2.2. Realizando un programa sencillo

Al leer un artículo en una revista norteamericana que contiene información de longitudes expresadas en millas, pies y pulgadas, queremos poder convertir esas distancias de modo que sean fáciles de entender. Para ello, decidimos escribir un programa que convierta las longitudes del sistema inglés al sistema métrico decimal.

Antes de comenzar a programar, utilizamos la guía de la sección anterior, para analizar, especificar, diseñar, implementar y probar el problema.

1. Análisis del problema. En este caso el problema es sencillo: nos dan un valor expresado en millas, pies y pulgadas y queremos transformarlo en un valor en el sistema métrico decimal. Sin embargo hay varias respuestas posibles, porque no hemos fijado en qué unidad queremos el resultado. Supongamos que decidimos que queremos expresar todo en metros.

2. Especificación. Debemos establecer la relación entre los datos de entrada y los datos de salida. Ante todo debemos averiguar los valores para la conversión de las unidades básicas. Buscando en Internet encontramos la siguiente tabla:

  • 1 milla = 1.609344 km
  • 1 pie = 30.48 cm
  • 1 pulgada = 2.54 cm

Advertencia A lo largo de todo el curso usaremos punto decimal, en lugar de coma decimal, para representar valores no enteros, dado que esa es la notación que utiliza Python.

La tabla obtenida no traduce las longitudes a metros. La manipulamos para llevar todo a metros:

  • 1 milla = 1609.344 m
  • 1 pie = 0.3048 m
  • 1 pulgada = 0.0254 m

Si una longitud se expresa como L millas, F pies y P pulgadas, su conversión a metros se calculará como M = 1609,344 ∗ L + 0,3048 ∗ F + 0,0254 ∗ P.

Hemos especificado el problema. Pasamos entonces a la próxima etapa.

3. Diseño. La estructura de este programa es sencilla: leer los datos de entrada, calcular la solución, mostrar el resultado, o Entrada-Cálculo-Salida.

Antes de escribir el programa, escribiremos en pseudocódigo (un castellano preciso que se usa para describir lo que hace un programa) una descripción del mismo:

Leer cuántas millas tiene la longitud dada
 (y referenciarlo con la variable millas)

Leer cuántos pies tiene la longitud dada
 (y referenciarlo con la variable pies)

Leer cuántas pulgadas tiene la longitud dada
 (y referenciarlo con la variable pulgadas)

Calcular metros = 1609.344 * millas +
    0.3048 * pies + 0.0254 * pulgadas

Mostrar por pantalla la variable metros

4. Implementación. Ahora estamos en condiciones de traducir este pseudocódigo a un programa en lenguaje Python (lo llamaremos ametrico.py):

def main():
    print "Convierte medidas inglesas a sistema metrico"
    millas = input("Cuántas millas?: ")
    pies = input("Y cuántos pies?: ")
    pulgadas = input("Y cuántas pulgadas?: ")

    metros = 1609.344 * millas + 0.3048 * pies + 0.0254 * pulgadas
    print "La longitud es de ", metros, " metros"
main()

5. Prueba. Probaremos el programa para valores para los que conocemos la solución:

  • 1 milla, 0 pies, 0 pulgadas.
  • 0 millas, 1 pie, 0 pulgada.
  • 0 millas, 0 pies, 1 pulgada.

La prueba la documentaremos con la sesión de Python correspondiente a las tres invocaciones a ametrico.py.

En la sección anterior hicimos hincapié en la necesidad de documentar todo el proceso de desarrollo. En este ejemplo la documentación completa del proceso lo constituye todo lo escrito en esta sección.

Advertencia Al entregar un ejercicio, se deberá presentar el desarrollo completo con todas las etapas, desde el análisis hasta las pruebas (y el mantenimiento, si hubo cambios).


Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano, Nicolás Paez. La copia y redistribución de esta página se permite bajo los términos de la licencia Creative Commons Atribución - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.