Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Crear un algoritmo que calcule el volumen y la superficie de lotes de 100 esferas dado un radio
¿Es posible resolver el problema mediante software? ¿Es adecuada una solución
software? ¿El coste es asumible? ¿Soy capaz de hacerlo?
Respondiendo a preguntas como éstas analizo si es posible, viable y adecuado desarrollar una
solución software para un problema concreto. En el caso del ejercicio propuesto, el coste es
asumible y desde luego soy capaz de hacerlo, por lo que la solución mediante un programa es la
adecuada y es posible desarrollarlo.
¿Qué es lo que va a hacer el algoritmo? ¿Cómo lo va a hacer? ¿Cuáles serán las entradas
del software? ¿Y qué salidas debe dar? ¿Cómo se relacionan las salidas que dará el programa con
las entradas que recibe?
En esta fase no nos fijamos en el algoritmo, sino en describir sus especificaciones, esto es: qué
entradas tendrá, qué salidas arrojará y cómo hará el programa para generar las salidas a partir de
las entradas (especificar cómo se pasará de la entrada a la salida).
El algoritmo tendrá como única entrada: el radio de las esferas (en cm) y como salidas tendrá el
volumen de las 100 esferas (en litros), y la superficie de las 100 esferas (en metros cuadrados).
Para pasar de las entradas a las salidas, usaremos las fórmulas del volumen y superficie de una
esfera, multiplicando el resultado final por 100.
Se detallan las especificaciones del problema y se escribe el algoritmo que lo resuelve de forma
secuencial, concreta y lo más detallada y exacta posible (y por supuesto, finita). Si el programa es
complejo, lo dividiré en módulos o funciones que especificaré por separado.
Pseudocódigo:
FASE 5: IMPLEMENTACIÓN
“““
- Programa que calcula el volumen y la superficie de un número fijo de
esferas (100) dado su radio.
- Autor: José Manuel Chaves González
- 10/10/2018. Versión 1.0
“““
from math import pi
print ("\n El volumen total de las ", num_esferas, "bolas será de: ",
volTotal, "litros, y su superficie será de: ", supTotal, "metros^2)")
Tema 3 – Fundamentos algorítmicos
Proceso de creación de software
¿Qué batería de pruebas debe superar el programa para que se considere correcto
semánticamente? ¿Cuáles son los valores permitidos por el programa? ¿Controlo los valores de
entrada que puedan producir errores? ¿Funciona bien en los valores extremos permitidos ¿Cómo
controlo y corrijo los errores encontrados?
Debo controlar que la entrada proporcionada por el usuario sea la correcta. El valor del radio debe
ser un número decimal entre 1 y 100 cm (indico al usuario que ese debe ser el valor, y compruebo
con un if que así sea). Si se introduce cualquier valor que no sea éste (ya sea un número negativo y
un valor fuera del rango), el programa debe mostrar error y no hacer ningún cálculo.
¿He escrito un manual del usuario adecuado para que cualquier persona pueda utilizar mi
programa? ¿He enseñado y me he asegurado de que los usuarios sepan utilizarlo adecuadamente
para que los datos que introduzcan sean los correctos y sepan interpretar la salida que arroja el
programa? ¿Saben los usuarios interpretar los mensajes de error arrojados por el programa?
¿Tenemos en cuenta las presentes y futuras necesidades de los usuarios para modificar nuestro
programa? ¿Tenemos en cuenta cómo mejoraremos nuestro programa para que futuras
versiones se adapten a posibles nuevas necesidades o requisitos?
En esta fase se enseñará al usuario su manejo. El programa debe pedir un único número: El
número de centímetros de radio que tendrán las esferas que se fabricarán. La salida arrojada por el
programa será el volumen de las 100 esferas en litros y su superficie en metros cuadrados. Esto se
le explica al usuario y se le entrega un breve manual de usuario donde se describen algunos
ejemplos de funcionamiento.
Una posible mejora sería que el usuario también pudiera introducir el número de esferas sobre las
que se realiza el cálculo, también una interfaz gráfica donde apareciera dibujada la esfera y se
rellenaran datos mediante campos y se mostrara el resultado de forma gráfica.