0% encontró este documento útil (0 votos)
8 vistas

Python - Proyecto Integrador

El documento presenta un laboratorio de programación en Python que incluye veinte ejercicios matemáticos accesibles a través de un menú interactivo. Cada ejercicio está debidamente comentado y validado, y está destinado principalmente a estudiantes de educación básica y media. El código se encuentra disponible en GitHub para su revisión y uso.

Cargado por

Juan Gau
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas

Python - Proyecto Integrador

El documento presenta un laboratorio de programación en Python que incluye veinte ejercicios matemáticos accesibles a través de un menú interactivo. Cada ejercicio está debidamente comentado y validado, y está destinado principalmente a estudiantes de educación básica y media. El código se encuentra disponible en GitHub para su revisión y uso.

Cargado por

Juan Gau
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 63

Laboratorio 1 Parcial 2: Ejercicios en Python

Ednan Josué Merino Calderón[L00405925]

Universidad de las Fuerzas Armadas - ESPE


[email protected]

Abstract.
Mediante el lenguaje de programación Python se realizó veinte
aplicativos simples dentro de un mismo código, mediante la ayuda
de un menú selector que ayudará al usuario a elegir la opción que
requiera. El mismo programa se encuentra debidamente comentado
y desarrollado mediante los convenios de programación, definiendo
los nombres de las clases con "snake_case"

1 Introducción
Python es un lenguaje de programación interpretado tipificado dinámicamente
cuya filosofía enfatiza una sintaxis que facilita el código legible. Es un lenguaje
de programación multiparadigma disponible en varias plataformas. En otras pal-
abras, Python se ejecuta sin el procesamiento del compilador y los errores se
detectan en tiempo de ejecución. Admite programación funcional, programación
imperativa y programación orientada a objetos. Las variables se comprueban en
tiempo de ejecución. Está disponible para plataformas Windows, Linux o MAC
y no tiene licencia de programación. Python se usa porque lo usan grandes em-
presas, es fácil de aprender y mantener, es gratuito y de código abierto, incluye
una gran cantidad de bibliotecas y tiene una gran comunidad. Al utilizar una
sintaxis legible, la curva de aprendizaje es muy rápida.

2 Método
Las opciones para escoger dentro del menú son por lo general problemas matemáti-
cos para estudiantes de Educación General Básica superior, Bachillerato General
Unificado y en algunos casos Primeros Niveles de Educación Superior. Por lo que
este aplicativo puede ir destinado, por lo general - más allá de la instructora en-
cargada de calificar el software - a los estudiantes y jóvenes entre 15 y 24 años
de edad. Al ser problemas matemáticos y resolución de fórmulas, se entiende que
las respuestas, están debidamente validadas y mantienen lógica y coherencia con
lo pedido.
El siguiente trabajo, comentado y documentado se encuentra en el conocido
sistema de versionamiento GitHub: https://github.com/ejmerino/ModelosDiscretos/
blob/main/%5BNRC_8001%5D_Lab1Unidad2_MerinoCalderon_EdnanJosue.py
Universidad de las Fuerzas Armadas ESPE

A continuacion se especificará los veinte ejercicios en Python desarrollados


por el autor. Para evitar la desprolijidad y el desorden, se implementaron los
veinte programas dentro de un solo aplicativo, dominando por un menú principal.
Cada dato ingresado por el usuario está debidamente validado por una sentencia
try/except en cada uno de las funciones. Los programos escogidos y desarrollados
fueron los siguientes:

1. Ingrese su nombre y sea saludado


2. Calcular el Perímetro y Area del Paralelogramo
3. Calcular volúmen de un cilindro
4. Calcular el área de un círculo
5. Cálculo de potencias x a la y
6. Calcular Volúmen de una esfera
7. Calcular el área de un rectángulo
8. Teorema de Pitágoras
9. Calcular la expresión y= x a la z entre 2
10. Calcular la rapidez
11. Calculo densidad de un objeto
12. Convertir días a años/meses/semanas
13. Transformar cm a m y km
14. Transformar de °F a °C o de °C a °F
15. Convertir libras a kilos y gramos
16. Hallar la raiz cuadrada de un número
17. Hallar el ángulo faltante de un triángulo
18. Hallar área de un triángulo
19. Operaciones básicas con dos números
20. Hallar datos de un círculo

3 Resultados y Análisis

3.1 Menú Principal

Para empezar se definió el menú anteriormente especificado, donde se encontra-


ban todas las opciones a ser elegidas por el usuario, y cuidadosamente enumer-
adas anteriormente.

Análisis El análisis es el siguiente:

2
Universidad de las Fuerzas Armadas ESPE

Fig. 1. Análisis Menú

Modelo El modelo a continuación:

Fig. 2. Caption

Programación Obedeciendo al análisis y modelo después de ser desplegado el


Menú, el usuario debo elegir una función.

1 d e f menu ( ) :
2 opcion = ""
3 w h i l e o p c i o n != " 21 " :
4 menu = """
5 LABORATORIO 1 PARCIAL 2 POR JOSUÉ MERINO
6 −−−−−−−−−−−−−−−−−−−−−−−−
7 1 . I n g r e s e su nombre
8 2 . C a l c u l a r e l Per í metro y Area d e l P a r a l e l o g r a m o
9 3 . C a l c u l a r v o l úmen de un c i l i n d r o
10 4 . C a l c u l a r e l á r e a de un c í r c u l o
11 5 . Cá l c u l o de p o t e n c i a s x^y
12 6 . C a l c u l a r Volúmen de una e s f e r a

3
Universidad de las Fuerzas Armadas ESPE

13 7 . C a l c u l a r e l á r e a de un r e c t á n g u l o
14 8 . Teorema de P i t á g o r a s
15 9 . C a l c u l a r l a e x p r e s i ón y=(x^z ) /2
16 10. Calcular la rapidez
17 1 1 . C a l c u l o d e n s i d a d de un o b j e t o
18 1 2 . C o n v e r t i r d í a s a añ o s / meses / semanas
19 1 3 . Transformar cm a m y km
20 1 4 . Transformar de F a C o de C a F
21 1 5 . C o n v e r t i r l i b r a s a k i l o s y gramos
22 1 6 . H a l l a r l a r a i z cuadrada de un número
23 1 7 . H a l l a r e l á n g u l o f a l t a n t e de un t r i á n g u l o
24 1 8 . H a l l a r á r e a de un t r i á n g u l o
25 1 9 . O p e r a c i o n e s bá s i c a s con dos números
26 20. Hallar datos del c í rculo
27 21. Salir
28 −−−−−−−−−−−−−−−−−−−−−−−−
29 E l i j a su o p c i ón : """
30 o p c i o n = i n p u t ( menu )
31 i f o p c i o n==" 1 " :
32 saludo ()
33 b re ak
34 i f o p c i o n == " 2 " :
35 paralelogramo ()
36 b re ak
37 i f o p c i o n == " 3 " :
38 cilindro ()
39 b re ak
40 i f o p c i o n == " 4 " :
41 area_circulo ()
42 b re ak
43 i f o p c i o n == " 5 " :
44 potencia ()
45 b re ak
46 i f o p c i o n==" 6 " :
47 volumen _esfera ( )
48 b re ak
49 i f o p c i o n==" 7 " :
50 area_perimetro_rectangulo ()
51 b re ak
52 i f o p c i o n==" 8 " :
53 pitagoras_menu ( )
54 b re ak
55 i f o p c i o n==" 9 " :
56 calculo_expresion ()
57 b re ak
58 i f o p c i o n==" 10 " :
59 velocidad_fisica ()
60 b re ak
61 i f o p c i o n==" 11 " :
62 calculo_densidad ()

4
Universidad de las Fuerzas Armadas ESPE

63 b re ak
64 i f o p c i o n==" 12 " :
65 conversion_dias ()
66 b re ak
67 i f o p c i o n==" 13 " :
68 conversion_longitud ()
69 b re ak
70 i f o p c i o n==" 14 " :
71 menu_temperatura ( )
72 b re ak
73 i f o p c i o n==" 15 " :
74 convertir_libras ()
75 b re ak
76 i f o p c i o n==" 16 " :
77 raiz_cuadrada ( )
78 b re ak
79 i f o p c i o n==" 17 " :
80 encontrar_angulo ( )
81 b re ak
82 i f o p c i o n==" 18 " :
83 area_triangulo ()
84 b re ak
85 i f o p c i o n==" 19 " :
86 aritmetica ()
87 b re ak
88 i f o p c i o n==" 20 " :
89 circulo ()
90 b re ak

Programacion

Casos de Prueba y Ejecución del programa La ejecución del programa es


la siguiente:

5
Universidad de las Fuerzas Armadas ESPE

Fig. 3. Ejecución Menú Principal

3.2 Ingrese su nombre y sea saludado


Análisis El análisis del problema es el siguiente:

Fig. 4. Análisis Saludo

Modelo El modelo del programa a continuación:

6
Universidad de las Fuerzas Armadas ESPE

Fig. 5. Modelo Saludo

Programación En esta función existe solamente un parámetro, la variable nom-


bre, que es un dato ingresado por el usuario por teclado. Se retorna la solución
que viene siendo el saludo por parte del programa hacia el usuario.

1 def saludo () :
2 """
3 Funci ón que s i r v e para p e d i r l e e l nombre a l u s u a r i o y
saludarlo
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 nombre : dato s t r i n g r e s a d o por e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 Saludo
10 """
11 #Bucle para l a v a r i a b l e nombre
12 w h i l e True :
13 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
14 try :
15 #El u s u a r i o i n g r e s a su nombre y s e almacena en l a
v a r i a b l e nombre
16 nombre=s t r ( i n p u t ( " I n g r e s e su nombre : " ) )
17 #b re ak
18 b re ak
19 #S i e l u s u a r i o no i n g r e s ó un t i p o de dato s t r
20 except ValueError :
21 #Se l e comunica a l u s u a r i o que no i n g r e s ó un dato
vá l i d o
22 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
23 #Se imprime l a s o l u c i ón
24 p r i n t ( " Hola " , nombre , " B i e n v e n i d o : ) " )
Programacion

Casos de Prueba y Ejecución del programa La ejecución del programa es


la siguiente:

7
Universidad de las Fuerzas Armadas ESPE

Fig. 6. Ejecución Saludo

3.3 Calcular el Perímetro y Area del Paralelogramo

Análisis El Análisis es el siguiente:

Fig. 7. Análisis Paralelogramo

Modelo El Modelo a continuación:

Fig. 8. Modelo Paralelogramo

8
Universidad de las Fuerzas Armadas ESPE

Programación Siguiendo el Modelo y el análisis se le pide al usuario que in-


grese la base y la altura de un paralelogramo.

1 def paralelogramo () :
2 """
3 Funci ón Que C a l c u l a e l á r e a y p e r í metro de un
paralelogramo
4 −−−−−−−−−
5 Par á metros :
6 Base= Número f l o a t i n g r e s a d o por e l u s u a r i o
7 A l t u r a= Número f l o a t i n g r e s a d o por e l u s u a r i o
8 −−−−−−−−−
9 Retorna :
10 Area y Per í metro de un p a r a l e l o g r a m o
11 −−−−−−−−−
12 """
13 #Se i n i c i a un b u c l e
14 w h i l e True :
15 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
16 try :
17 #El u s u a r i o i n g r e s a un t i p o de dato f l o a t y s e
almacena en l a v a r i a b l e b a s e
18 base = f l o a t ( input ( " I n g r e s e l a base : " ) )
19 #b re ak
20 b re ak
21 #S i e l u s u a r i o no i n g r e s ó un t i p o de dato f l o a t
22 except ValueError :
23 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s ó un dato
incorrecto
24 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
25 #Se i n i c i a un b u c l e
26 w h i l e True :
27 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
28 try :
29 #El u s u a r i o i n g r e s a un t i p o de dato f l o a t y s e
almacena en l a v a r i a b l e a l t u r a
30 altura = f l o a t ( input ( " Ingrese la altura : " ) )
31 #b re ak
32 b re ak
33 #S i e l u s u a r i o no i n g r e s ó un t i p o de dato f l o a t
34 except ValueError :
35 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s ó un dato
incorrecto
36 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
37 #S i e s que e l c i l i n d r o e x i s t e l a b a s e y l a a l t u r a son
mayores que 0
38 i f base >0 and a l t u r a >0:
39 #Cá l c u l o d e l p e r í metro
40 p e r i m e t r o=a l t u r a+a l t u r a+b a s e+b a s e

9
Universidad de las Fuerzas Armadas ESPE

41 #Se imprime l a s o l u c i ón d e l p e r í metro


42 p r i n t ( " El p e r í metro d e l p a r a l e l o g r a m o e s : " , p e r i m e t r o , "
u" )
43 #Cá l c u l o d e l á r e a
44 a r e a=b a s e ∗ a l t u r a
45 #Se imprime l a s o l u c i ón d e l á r e a
46 p r i n t ( " El á r e a d e l p a r a l e l o g r a m o e s : " , area , "u^2" )
47 #S i e l c i l i n d r o no e x i s t e
48 else :
49 #Se l e n o t i f i c a a l u s u a r i o
50 p r i n t ( " El p a r a l e l o g r a m o no e x i s t e ! " )
51 #Se l e n o t i f i c a a l u s u a r i o que l o i n t e n t e de nuevo
52 p r i n t ( " I n t é n t e l o de nuevo ! " )
53 #Se empieza de nuevo
54 paralelogramo ()
Programacion

Casos de Prueba y Ejecución del programa Cuando el paralelogramo


existe:

Fig. 9. Ejecución Paralelogramo

Cuando el paralelogramo no existe:

Fig. 10. Paralelogramo inválido

3.4 Volumen de Un Cilindro


Análisis EL Analisis es el siguiente:

10
Universidad de las Fuerzas Armadas ESPE

Fig. 11. Análisis Cilindro

Modelo El Modelo a continuación:

Fig. 12. Modelo Cilindro

Programación Siguiendo el modelo y el análisis:

1 def c i l i n d r o () :
2 """
3 Funci ón para c a l c u l a r e l á r e a de un c i l i n d r o
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :

11
Universidad de las Fuerzas Armadas ESPE

6 r a d i o : v a l o r f l o a t i n g r e s a d o por e l u s u a r i o
7 a l t u r a _ c i l i n d r o : v a l o r f l o a t i n g r e s a d o por e l u s u a r i o
8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
9 Retorna :
10 a r e a _ c i l i n d r o : v a l o r en u n i d a d e s cuadradas , r e s u l t a d o d e l
á rea del c i l i n d r o
11 """
12 #Se i n i c i a un b u c l e
13 w h i l e True :
14 #Se emplea l a s e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
15 try :
16 #El u s u a r i o i n g r e s a e l r a d i o de t i p o f l o a t en l a
variable radio
17 radio = f l o a t ( input ( " Ingrese e l radio : " ) )
18 #b re ak
19 b re ak
20 #S i e s que e l u s u a r i o i n g r e s a c u a l q u i e r o t r o dato que
no s e a de t i p o f l o a t
21 except ValueError :
22 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s o un dato
erroneo
23 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
24 #Se i n i c i a o t r o b u c l e para l a v a r i a b l e a l t u r a _ c i l i n d r o
25 w h i l e True :
26 #Se emplea l a s e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
27 try :
28 #El u s u a r i o i n g r e s a l a a l t u r a de t i p o f l o a t en l a
variable altura_cilindro
29 a l t u r a _ c i l i n d r o = f l o a t ( input ( " Ingrese la altura : "
))
30 #b re ak
31 b re ak
32 #S i e s que e l u s u a r i o i n g r e s a c u a l q u i e r o t r o dato que
no s e a de t i p o f l o a t
33 except ValueError :
34 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s o un dato
erroneo
35 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
36 #S i e s que e l r a d i o y a l t u r a i n g r e s a d o s por e l u s u a r i o son
mayores que 0
37 i f r a d i o >0 and a l t u r a _ c i l i n d r o > 0 :
38 #Se r e a l i z a l a o p e r a c i ón para e n c o n t r a r e l a r e a d e l
cilindro
39 a r e a _ c i l i n d r o = 2 ∗math . p i ∗ r a d i o ∗ ( r a d i o+a l t u r a _ c i l i n d r o
)
40 #Se imprime l a s o l u c i ón
41 p r i n t ( " El á r e a d e l c i l i n d r o e s : " , a r e a _ c i l i n d r o , "u^2" )
42 #S i e s que e l r a d i o y l a a l t u r a d e l c i l i n d r o son menores
que 0
43 else :

12
Universidad de las Fuerzas Armadas ESPE

44 #Se l e n o t i f i c a a l u s u a r i o que e l c i l i n d r o no e x i s t e
45 p r i n t ( " El c i l i n d r o no e x i s t e " )
46 #Se l e n o t i f i c a a l u s u a r i o que l o i n t e n t e de nuevo
47 p r i n t ( " I n t é n t e l o de nuevo ! " )
48 #Se v u e l v e a empezar
49 cilindro ()

Programacion

Casos de Prueba y Ejecución del programa La ejecución cuando el cilindro


existe es:

Fig. 13. Ejecución Cilindro

Cuando un cilindro no existe:

Fig. 14. Ejecución Cilindro inexistente

3.5 Area de un Círculo

Análisis El análisis es el siguiente:

13
Universidad de las Fuerzas Armadas ESPE

Fig. 15. Análisis Área de un Círculo

Modelo El Modelo a continuación:

Fig. 16. Modelo Área de un Círculo

Programación Siguiendo el modelo y el análisis:

1 def area_circulo () :
2 """
3 Funci ón para e n c o n t r a r e l á r e a de un c í r c u l o
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 r a d i o : Dato f l o a t i n g r e s a d o por e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 area_del_c í r c u l o : Valor en u n i d a d e s c u a d r a d a s
c o r r e s p o n d i e n t e a l á r e a de un c í r c u l o
10 """
11 #Se i n i c i a un b u c l e
12 w h i l e True :

14
Universidad de las Fuerzas Armadas ESPE

13 #Se emplea l a s e n t e n c i a t r y / e x c e p t para v a l i d a d d a t o s


14 try :
15 #El u s u a r i o i n g r e s a un dato t i p o f l o a t que s e
almacena en l a v a r i a b l e r a d i o
16 r a d i o = f l o a t ( i n p u t ( " I n g r e s e un r a d i o para
c a l c u l a r e l á rea : " ) )
17 #b re ak
18 b re ak
19 #S i e s que e l u s u a r i o i n g r e s a c u a l q u i e r o t r o t i p o de
dato que no s e a f l o a t
20 except ValueError :
21 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s o un dato
incorrecto
22 p r i n t ( " I n g r e s e un número vá l i d o " )
23 #S i e l r a d i o e s mayor que 0 e l á r e a d e l c í r c u l o e x i s t e
24 i f r a d i o >0:
25 #Cá l c u l o d e l á r e a d e l c í r c u l o
26 a r e a _ d e l _ c i r c u l o = math . p i ∗ ( r a d i o ∗ ∗ 2 )
27 #Se imprime l a s o l u c i ón
28 p r i n t ( " El á r e a d e l c í r c u l o e s : " , a r e a _ d e l _ c i r c u l o , "u^2"
)
29 #S i e l r a d i o e s menor que 0 , e l á r e a no e x i s t e
30 else :
31 #Se l e n o t i f i c a a l u s u a r i o que e l c í r c u l o no e x i s t e
32 p r i n t ( " El c í r c u l o no e x i s t e " )
33 #Se l e n o t i f i c a a l u s u a r i o que l o i n t e n t e de nuevo
34 p r i n t ( " I n t é n t e l o de nuevo ! " )
35 #Se empieza d e s d e e l comienzo
36 area_circulo ()

Programacion

Casos de Prueba y Ejecución del programa Cuando el círculo existe:

Fig. 17. Ejecución Área de un Círculo

Cuando el círculo no existe:

15
Universidad de las Fuerzas Armadas ESPE

Fig. 18. El Círculo no existe

3.6 Cálculo de Potencias

Análisis El Análisis es el siguiente:

Fig. 19. Analisis Potencia

Modelo El Modelo a Continuación:

Fig. 20. Modelo Potencia

16
Universidad de las Fuerzas Armadas ESPE

Programación Siguiendo el análisis y el modelo:

1 def potencia () :
2 """
3 Funci ón que s i r v e para c a l c u l a r l a p o t e n c i a de c u a l q u i e r n
úmero
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 x : Base de una p o t e n c i a
7 y : Exponente de una p o t e n c i a
8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
9 Retorna :
10 potencia_numero : P o t e n c i a x^y
11 """
12 #Se i n i c i a un b u c l e para l a v a r i a b l e x
13 w h i l e True :
14 #S e n t e n c i a t r y / e x c e p t para v a l i d a d d a t o s
15 try :
16 #El u s u a r i o i n g r e s a un v a l o r f l o a t que s e almacena
en l a v a r i a b l e x
17 x=f l o a t ( i n p u t ( " I n g r e s e una b a s e x : " ) )
18 #b re ak
19 b re ak
20 #S i e s que e l u s u a r i o no i n g r e s ó un número f l o a t
21 except ValueError :
22 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
23 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
24 #Se i n i c i a un b u c l e para l a v a r i a b l e y
25 w h i l e True :
26 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
27 try :
28 #El u s u a r i o i n g r e s a un v a l o r f l o a t que s e almacena
en l a v a r i a b l e y
29 y=f l o a t ( i n p u t ( " I n g r e s e un e x p o n e n t e y : " ) )
30 #b re ak
31 b re ak
32 #S i e l u s u a r i o no i n g r e s ó un v a l o r f l o a t
33 except ValueError :
34 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s ó un dato i n v
á lido
35 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
36 #Se c a l c u l a l a p o t e n c i a d e l número
37 potencia_numero = x∗ ∗y
38 #Se imprime l a s o l u c i ón
39 p r i n t ( "La p o t e n c i a x^y e s i g u a l a : " , potencia_numero )

Programacion

17
Universidad de las Fuerzas Armadas ESPE

Casos de Prueba y Ejecución del programa La ejecución del cálculo de


potencias es la siguiente:

Fig. 21. Ejecución Cálculo de Potencias

3.7 Volumen de una Esfera

Análisis El Análisis es el siguiente:

Fig. 22. Análisis Volumen de una esfera

Modelo El modelo a continuación:

18
Universidad de las Fuerzas Armadas ESPE

Fig. 23. Modelo Volumen de una esfera

Programación Siguiendo el Análisis y el modelo:

1 d e f volumen _esfera ( ) :
2 """
3 Funci ón que p e r m i t e c a l c u l a r e l v o l úmen de una e s f e r a por
medio de un r a d i o i n g r e s a d o por e l u s u a r i o
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 r a d i o _ e s f e r a : Datos f l o a t i n g r e s a d o por e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 volumen : Volumen de l a e s f e r a
10 """
11 #Bucle True para l a v a r i a b l e r a d i o _ e s f e r a
12 w h i l e True :
13 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
14 try :
15 #El u s u a r i o i n g r e s a un dato f l o a t y s e almacena en
la variable radio_esfera
16 r a d i o _ e s f e r a=f l o a t ( i n p u t ( " I n g r e s e e l r a d i o para
c a l c u l a r e l v o l úmen de una e s f e r a : " ) )
17 #b re ak
18 b re ak
19 #S i e l u s u a r i o no i n g r e s ó un t i p o de dato f l o a t
20 except ValueError :
21 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó de dato
22 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
23 #S i l a e s f e r a e x i s t e e l r a d i o e s mayor a 0
24 i f r a d i o _ e s f e r a >0:
25 #Se c a l c u l a e l v o l úmen
26 volumen=4/3∗math . p i ∗ ( r a d i o _ e s f e r a ∗ ∗ 3 )

19
Universidad de las Fuerzas Armadas ESPE

27 #Se imprime l a s o l u c i ón
28 p r i n t ( " El volumen de l a e s f e r a e s : " , volumen , "u^3" )
29 #S i e l r a d i o e s menor a 0 l a e s f e r a no e x i s t e
30 else :
31 #Se l e n o t i f i c a a l u s u a r i o que l a e s f e r a no e x i s t e
32 p r i n t ( "La e s f e r a no e x i s t e " )
33 #Se l e n o t i f i c a a l u s u a r i o que l o i n t e n t e de nuevo
34 p r i n t ( " I n t é n t e l o de nuevo ! " )
35 #Se r e p i t e e l p r o c e s o
36 volumen_esfera ( )

Programacion

Casos de Prueba y Ejecución del programa Cuando el usuario ingresa los


datos correctamente y la esfera existe:

Fig. 24. Ejecución Volúmen de una esfera

Cuando el usuario ingresa un número negativo y la esfera no existe:

Fig. 25. Volúmen de esfera inválido

3.8 Área de un Rectángulo

Análisis El análisis es el siguiente:

20
Universidad de las Fuerzas Armadas ESPE

Fig. 26. Análisis Área y Perímetro de un Rectángulo

Modelo El modelo a continuación:

Fig. 27. Modelo Área y Perímetro de un Rectángulo

Programación Siguiendo el Análisis y el Modelo:

1 def area_perimetro_rectangulo () :
2 """
3 Se C a l c u l a e l á r e a y p e r í metro de un r e c t á n g u l o
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 a l t u r a : A l t u r a d e l r e c t á n g u l o i n g r e s a d o por e l u s u a r i o
7 b a s e : Base d e l r e c t á n g u l o i n g r e s a d o por e l u s u a r i o
8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
9 Retorna :
10 a r e a _ d e l _ r e c t a n g u l o : C a l c u l a n d o Base xAltu ra

21
Universidad de las Fuerzas Armadas ESPE

11 p e r i m e t r o _ d e l _ r e c t a n g u l o : C a l c u l a n d o 2 Base+2A l t u r a
12 """
13 #Bucle para l a v a r i a b l e a l t u r a
14 w h i l e True :
15 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
16 try :
17 #El u s u a r i o i n g r e s a un dato f l o a t y s e almacena en
la variable altura
18 a l t u r a=f l o a t ( i n p u t ( " I n g r e s e l a a l t u r a : " ) )
19 #b re ak
20 b re ak
21 #S i e l u s u a r i o no i n g r e s ó un v a l o r f l o a t
22 except ValueError :
23 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
24 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
25 #Bucle para l a v a r i a b l e b a s e
26 w h i l e True :
27 #S e n t e c i a t r y / e x c e p t para v a l i d a r d a t o s
28 try :
29 #El u s u a r i o i n g r e s a un dato f l o a t y s e almacena en
l a v a r i a b l e base
30 b a s e=f l o a t ( i n p u t ( " I n g r e s e l a b a s e : " ) )
31 #b re ak
32 b re ak
33 #S i e l u s u a r i o i n g r e s ó un dato i n v á l i d o
34 except ValueError :
35 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
36 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
37 #S i e l r e c t á n g u l o e x i s t e l a b a s e y l a a l t u r a deben s e r
mayores a 0
38 i f b a s e >0 and a l t u r a >0:
39 #Cá l c u l o a r e a d e l r e c t á n g u l o
40 a r e a _ d e l _ r e c t a n g u l o=b a s e ∗ a l t u r a
41 #Se imprime l a s o l u c i ón d e l á r e a d e l r e c t á n g u l o
42 p r i n t ( " El á r e a d e l r e c t á n g u l o e s : " , a r e a _ d e l _ r e c t a n g u l o
, "u^2" )
43 #Cá l c u l o p e r í metro d e l r e c t á n g u l o
44 p e r i m e t r o _ d e l _ r e c t a n g u l o=b a s e+b a s e+a l t u r a+a l t u r a
45 #Se imprime l a s o l u c i ón d e l p e r í metro d e l r e c t á n g u l o
46 p r i n t ( " El p e r í metro d e l r e c t á n g u l o e s : " ,
p e r i m e t r o _ d e l _ r e c t a n g u l o , "u" )
47 #S i e l r e c t á n g u l o no e x i s t e
48 else :
49 #Se l e n o t i f i c a a l u s u a r i o que e l r e c t á n g u l o no e x i s t e
50 p r i n t ( " El r e c t á n g u l o no e x i s t e " )
51 #Se l e anima a l u s u a r i o a i n t e n t a r l o de nuevo
52 p r i n t ( " I n t é n t e l o de nuevo ! " )
53 #Se v u e l v e a empezar
54 area_perimetro_rectangulo ()

22
Universidad de las Fuerzas Armadas ESPE

Programacion

Casos de Prueba y Ejecución del programa La ejecución del programa a


continuación, con sus respectivas validaciones:

Fig. 28. Ejecución Válida

Cuando el usuario ingresa números negativos, o valores inválidos, se le comu-


nica:

Fig. 29. Ejecución Inválida

3.9 Teorema de Pitágoras - Menú

Análisis El Análisis es el siguiente:

Fig. 30. Análisis Teorema Pitágoras - Menú

23
Universidad de las Fuerzas Armadas ESPE

Modelo El modelo a continuación:

Fig. 31. Modelo Teorema Pitágoras - Menú

Programación Aqui se encuentra un menú para que el usuario elija que vari-
ante del Teorema de Pitágoras necesita:

1 d e f pitagoras_menu ( ) :
2 """
3 Menu para que e l u s u a r i o e l i j a que t i p o de c á l c u l o P i t a g ó
rico requiere
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 o p c i ó n _ p i t a g o r a s : Dato i n g r e s a d o s e g ún r e q u i e r a e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 pitagoras_hipotenusa
10 pitagoras_cateto
11 """
12 #Se i n i c i a l i z a l a v a r i a b l e o p c i o n _ p i t a g o r a s
13 o p c i o n _ p i t a g o r a s=" "
14 #Bucle , m i e n t r a s l a o p c i o n e s c o g i d a s e a d i f e r e n t e de
cuatr0
15 w h i l e o p c i o n _ p i t a g o r a s != " 4 " :
16 #Se imprime e l menu
17 pitagoras_menu= """
18 MENU PITAGORAS
19 −−−−−−−−−−−−−−
20 1 . Calcular Hipotenusa
21 2 . C a l c u l a r Cateto F a l t a n t e
22 3 . V o l v e r a l menú p r i n c i p a l
23 −−−−−−−−−−−−−−
24 E l i j a su o p c i o n :
25 """
26 #El u s u a r i o i n g r e s a l a o p c i ón que d e s e a
27 o p c i o n _ p i t a g o r a s = i n p u t ( pitagoras_menu )
28 #S i l a o p c i ón e l e g i d a e s 1

24
Universidad de las Fuerzas Armadas ESPE

29 i f o p c i o n _ p i t a g o r a s==" 1 " :
30 #Se l l a m a a l a f u n c i ón para c a l c u l a r l a h i p o t e n u s a
31 pitagoras_hipotenusa ()
32 #b re ak
33 b re ak
34 #S i l a o p c i ón e l e g i d a e s 2
35 i f o p c i o n _ p i t a g o r a s==" 2 " :
36 #Se l l a m a a l a f u n c i ón para c a l c u l a r e l c a t e t o
faltante
37 pitagoras_cateto ()
38 #b re ak
39 b re ak
40 #S i l a o p c i ón e l e g i d a e s 3
41 i f o p c i o n _ p i t a g o r a s==" 3 " :
42 #Se v u e l v e a l menú p r i n c i p a l
43 menu ( )

Programacion

Casos de Prueba y Ejecución del programa A continuación el menú de


Pitágoras:

Fig. 32. Menú Pitágoras

3.10 Teorema de Pitágoras - Hipotenusa

Análisis El Análisis es el siguiente:

25
Universidad de las Fuerzas Armadas ESPE

Fig. 33. Análisis Teorema de Pitágoras - Hipotenusa

Modelo El modelo a continuación:

Fig. 34. Modelo Teorema de Pitágoras - Hipotenusa

Programación Siguiendo el análisis y el modelo:

1 def pitagoras_hipotenusa () :
2 """
3 Funci ón que c a l c u l a l a h i p o t e n u s a en un t r i á n g u l o r e c t á
ngulo
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á m e t e r o s :
6 cateto_1 : Cateto 1 i n g r e s a d o por e l u s u a r i o
7 cateto_2 : Cateto 2 i n g r e s a d o por e l u s u a r i o
8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
9 Retorna :
10 h i p o t e n u s a : Se c a l c u l a l a h i p o t e n u s a
11 """
12 #Bucle para l a v a r i a b l e cateto_1
13 w h i l e True :
14 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s

26
Universidad de las Fuerzas Armadas ESPE

15 try :
16 #El u s u a r i o i n g r e s a un dato f l o a t y s e almacena en
l a v a r i a b l e cateto_1
17 cateto_1=f l o a t ( i n p u t ( " I n g r e s e e l v a l o r de un
cateto : ") )
18 #b re ak
19 b re ak
20 #El u s u a r i o no i n g r e s o un dato c o r r e c t o
21 except ValueError :
22 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
23 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
24 #Bucle para l a v a r i a b l e cateto_2
25 w h i l e True :
26 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
27 try :
28 #El u s u a r i o i n g r e s a un dato f l o a t y s e almacena en
l a v a r i a b l e cateto_2
29 cateto_2=f l o a t ( i n p u t ( " I n g r e s e e l v a l o r d e l o t r o
cateto : ") )
30 #b re ak
31 b re ak
32 #El u s u a r i o no i n g r e s ó un dato c o r r e c t o
33 except ValueError :
34 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
35 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
36 #Para que e l r e c t á n g u l o e x i s t a e l c a t e t o 1 y e l c a t e t o 2
deben s e r mayores a 0
37 i f cateto_1 >0 and cateto_2 > 0 :
38 #Cá l c u l o de l a h i p o t e n u s a
39 h i p o t e n u s a=math . s q r t ( cateto_1 ∗ ∗2+cateto_2 ∗ ∗ 2 )
40 #S o l u c i ón de l a h i p o t e n u s a
41 p r i n t ( "La h i p o t e n u s a e s : " , h i p o t e n u s a )
42 #S i e l t r i á n g u l o no e x i s t e
43 else :
44 #Se l e n o t i f i c a a l u s u a r i o que e l t r i á n g u l o no e x i s t e
45 p r i n t ( " El t r i á n g u l o no e x i s t e " )
46 #Se l e n o t i f i c a a l u s u a r i o que l o i n t e n t e de nuevo
47 p r i n t ( " I n t é n t e l o de nuevo ! " )
48 #Se empieza d e s d e e l comienzo
49 pitagoras_hipotenusa ()

Programacion

Casos de Prueba y Ejecución del programa La ejecución del cálculo de la


Hipotenusa obedeciendo el Teorema de Pitágoras es la siguiente:

27
Universidad de las Fuerzas Armadas ESPE

Fig. 35. Ejecución Cálculo de la Hipotenusa Válido

Cuando el usuario ingresa un valor inválido, se le comunica que cometió un


error:

Fig. 36. Ejecución Cálculo de la Hipotenusa inválido

3.11 Teorema de Pitágoras - Cateto

Análisis El Análisis es el siguiente:

Fig. 37. Análisis Teorema de Pitágoras - Cateto

Modelo El Modelo a continuación:

28
Universidad de las Fuerzas Armadas ESPE

Fig. 38. Modelo Teorema de Pitágoras - Cateto

Programación Siguiendo el análisis y el modelo:

1 def pitagoras_cateto () :
2 """
3 Funci ón para c a l c u l a r e l c a t e t o f a l t a n t e en un t r i á n g u l o
r e c t á ngulo
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 c a t e t o : Cateto i n g r e s a d o por e l u s u a r i o
7 h i p o t e n u s a : H ip o t e n u s a i n g r e s a d o por e l u s u a r i o
8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
9 Retorna :
10 c a t e t o _ f a l t a n t e : Cateto que hace f a l t a
11 """
12 #Bucle para l a v a r i a b l e c a t e t o
13 w h i l e True :
14 #s e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
15 try :
16 #El u s u a r i o i n g r e s a un dato f l o a t que s e almacena
en l a v a r i a b l e c a t e t o
17 c a t e t o=f l o a t ( i n p u t ( " I n g r e s e e l v a l o r de un c a t e t o :
") )
18 #b re ak
19 b re ak
20 #S i e l u s u a r i o i n g r e s ó un v a l o r i n c o r r e c t o
21 except ValueError :
22 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s ó un dato i n v
á lido
23 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
24 #Bucle para l a v a r i a b l e h i p o t e n u s a
25 w h i l e True :
26 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
27 try :
28 #El u s u a r i o i n g r e s a un dato f l o a t que s e almacena
en l a v a r i a b l e h i p o t e n u s a
29 h i p o t e n u s a=f l o a t ( i n p u t ( " I n g r e s e e l v a l o r de l a
hipotenusa : " ) )

29
Universidad de las Fuerzas Armadas ESPE

30 #b re ak
31 b re ak
32 #S i e l u s u a r i o i n g r e s ó un dato i n c o r r e c t o
33 except ValueError :
34 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
35 p r i n t ( " I n g r e s e un v a l o r vá l i d o ! " )
36 #S i e l t r i á n g u l o e x i s t e l a h i p o t e n u s a y e l c a t e t o e s mayor
que 0
37 i f h i p o t e n u s a >0 and c a t e t o >0:
38 #Cá l c u l o d e l c a t e t o f a l t a n t e
39 c a t e t o _ f a l t a n t e=math . s q r t ( h i p o t e n u s a ∗ ∗2− c a t e t o ∗ ∗ 2 )
40 #Se imprime l a s o l u c i ón
41 p r i n t ( " El c a t e t o f a l t a n t e e s : " , c a t e t o _ f a l t a n t e )
42 #S i e l t r i á n g u l o no e x i s t e
43 else :
44 #Se l e n o t i f i c a a l u s u a r i o que e l t r i á n g u l o no e x i s t e
45 p r i n t ( " El t r i á n g u l o no e x i s t e " )
46 #Se l e n o t i f i c a a l u s u a r i o que l o i n t e n t e de nuevo
47 p r i n t ( " I n t é n t e l o de nuevo ! " )
48 #s e empieza d e s d e e l comienzo
49 pitagoras_cateto ()
Programacion

Casos de Prueba y Ejecución del programa La ejecución del cateto válido


es la siguiente:

Fig. 39. Ejecución Cateto Inválido

Cuando el usuario ingresa valores incorrectos se le comunica:

Fig. 40. Ejecución Cateto inválido

30
Universidad de las Fuerzas Armadas ESPE

3.12 Expresión y=x a la z entre 2


Análisis El análisis es el siguiente:

Fig. 41. Análisis de la expresión

Modelo El modelo a continuación:

Fig. 42. Modelo de la expresión

Programación Guiándose en el Análisis y Modelo:

1 def calculo_expresion () :
2 """
3 Funci ón para c a l c u l a r l a e x p r e s i ón y=x^z /2
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :

31
Universidad de las Fuerzas Armadas ESPE

6 x : Dato f l o a t i n g r e s a d o por e l u s u a r i o e s l a b a s e de l a
potencia
7 z : Dato f l o a t i n g r e s a d o por e l u s u a r i o e s e l e x p on e n t e de
la potencia
8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
9 Retorna :
10 e x p r e s i o n : R e s u l t a d o de l a e x p r e s i ón
11 """
12 #Bucle para l a v a r i a b l e x
13 w h i l e True :
14 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a o t s
15 try :
16 #El u s u a r i o i n g r e s a un v a l o r f l o a t y s e almacena
en l a v a r i a b l e x
17 x=f l o a t ( i n p u t ( " I n g r e s e e l v a l o r de x : " ) )
18 #b re ak
19 b re ak
20 #S i e l u s u a r i o i n g r e s o un dato i n v á l i d o
21 except ValueError :
22 #Se l e comunica a l u s u a r i o que s e e q u i v o c ó
23 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
24 #Bucle para l a v a r i a b l e z
25 w h i l e True :
26 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
27 try :
28 #El u s u a r i o i n g r e s a un v a l o r f l o a t y s e almacena
en l a v a r i a b l e z
29 z=f l o a t ( i n p u t ( " I n g r e s e e l v a l o r de z : " ) )
30 #b re ak
31 b re ak
32 #S i e l u s u a r i o i n g r e s a un dato i n v á l i d o
33 except ValueError :
34 #Se l e comunica a l u s u a r i o que s e e q u i v o c ó
35 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
36 #Cá l c u l o de l a e x p r e s i ón
37 e x p r e s i o n =(x∗ ∗ z ) /2
38 #Se imprime l a s o l u c i ón
39 p r i n t ( "La e x p r e s i ón e s i g u a l a y=" , e x p r e s i o n )

Programacion

Casos de Prueba y Ejecución del programa A continuación la ejecución


del programa:

32
Universidad de las Fuerzas Armadas ESPE

Fig. 43. Ejecución y=x a la z/2

3.13 Calcular la Rapidez


Análisis El análisis es:

Fig. 44. Análisis Velocidad

Modelo El modelo es:

Fig. 45. Modelo Velocidad

Programación Siguiendo el análisis y el modelo:

33
Universidad de las Fuerzas Armadas ESPE

1 def velocidad_fisica () :
2 """
3 Funci ón para c a l c u l a r l a r a p i d e z , t e n i e n d o e l tiempo y l a
distancia
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 tiempo : Dato i n g r e s a d o por e l u s u a r i o
7 d i s t a n c i a : Dato i n g r e s a d o por e l u s u a r i o
8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
9 Retorna :
10 v e l o c i d a d : Cá l c u l o de l a d i s t a n c i a d i v i d i d a para e l tiempo
11 """
12 #Bucle para l a v a r i a b l e tiempo
13 w h i l e True :
14 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
15 try :
16 #El u s u a r i o i n g r e s a e l tiempo y s e almacena en l a
v a r i a b l e tiempo
17 tiempo=f l o a t ( i n p u t ( " I n g r e s e e l tiempo en s e g u n d o s :
") )
18 #b re ak
19 b re ak
20 #S i e l u s u a r i o i n g r e s ó un dato i n v á l i d o
21 except ValueError :
22 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
23 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
24 #Bucle para l a v a r i a b l e d i s t a n c i a
25 w h i l e True :
26 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
27 try :
28 #El u s u a r i o i n g r e s a l a d i s t a n c i a y s e almacena en
la variable distancia
29 d i s t a n c i a=f l o a t ( i n p u t ( " I n g r e s e l a d i s t a n c i a en
metros : " ) )
30 #b re ak
31 b re ak
32 #S i e l u s u a r i o i n g r e s ó un dato i n v á l i d o
33 except ValueError :
34 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
35 p r i n t ( " I n g r e s e un v a l o r vá l i d o " )
36 #S i l a d i s t a n c i a y e l tiempo son mayores a c e r o l a r a p i d e z
existe
37 i f d i s t a n c i a > 0 and tiempo >0:
38 #Cá l c u l o de l a v e l o c i d a d
39 v e l o c i d a d=d i s t a n c i a / tiempo
40 #Se imprime l a s o l u c i ón
41 p r i n t ( "La r a p i d e z e s i g u a l a : " , v e l o c i d a d , "m/ s ^2" )
42 #S i l a r a p i d e z no e x i s t e
43 else :

34
Universidad de las Fuerzas Armadas ESPE

44 #Se l e i n f o r m a a l u s u a r i o que no e x i s t e l a r a p i d e z
45 p r i n t ( "No e x i s t e n t i e m p o s y/ o d i s t a n c i a s n e g a t i v a s " )
46 #Se l e d i c e a l u s u a r i o que l o i n t e n t e de nuevo
47 p r i n t ( " I n t é n t e l o de nuevo ! " )
48 #Se r e p i t e l e p r o c e s o
49 velocidad_fisica ()

Programacion

Casos de Prueba y Ejecución del programa A continuación la ejecución


del Programa

Fig. 46. Cálculo de la rapidez válida

Cuando el usuario ingresa un valor incorrecto se le notifica al usuario:

Fig. 47. Cálculo de la rapidez inválida

3.14 Densidad de un objeto

Análisis El análisis es el siguiente:

35
Universidad de las Fuerzas Armadas ESPE

Fig. 48. Análisis Densidad

Modelo El modelo a continuación:

Fig. 49. Modelo Densidad

Programación Siguiendo el análisis y el modelo:

1 def calculo_densidad () :
2 """
3 Funci ón para c a l c u l a r l a d e n s i d a d de un o b j e t o
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 masa : Valor i n g r e s a d o por e l u s u a r i o
7 volumen : Valor i n g r e s a d o por e l u s u a r i o
8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
9 Retorna :

36
Universidad de las Fuerzas Armadas ESPE

10 densidad
11 """
12 #Bucle para l a v a r i a b l e masa
13 w h i l e True :
14 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
15 try :
16 #El u s u a r i o i n g r e s a e l dato de l a masa
17 masa=f l o a t ( i n p u t ( " I n g r e s e l a masa d e l o b j e t o en
kgs : " ) )
18 #b re ak
19 b re ak
20 #S i e l u s u a r i o i n g r e s ó un dato i n v á l i d o
21 except ValueError :
22 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
23 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
24 #Bucle para l a v a r i a b l e volumen
25 w h i l e True :
26 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
27 try :
28 #El u s u a r i o i n g r e s a e l dato d e l v o l úmen
29 volumen=f l o a t ( i n p u t ( " I n g r e s e e l volumen en m^ 3 : " ) )
30 #b re ak
31 b re ak
32 #S i e l u s u a r i o i n g r e s ó un dato i n v á l i d o
33 except ValueError :
34 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
35 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
36 #S i l a d e n s i d a d e x i s t e
37 i f masa>0 and volumen >0:
38 #Cá l c u l o de l a d e n s i d a d
39 d e n s i d a d=masa/ volumen
40 #Se imprime l a s o l u c i ón
41 p r i n t ( "La d e n s i d a d e s i g u a l a : " , densidad , " kg /m^3" )
42 #S i l a d e n s i d a d no e x i s t e
43 else :
44 #Se l e n o t i f i c a a l u s u a r i o que l a d e n s i d a d no e x i s t e
45 p r i n t ( "No e x i s t e n masa y/ o volumen menor o i g u a l a 0 " )
46 #Se l e a l i e n t a a l u s u a r i o a empezar de nuevo
47 p r i n t ( " I n t é n t e l o de nuevo ! " )
48 #Se empieza de nuevo
49 calculo_densidad ()

Programacion

Casos de Prueba y Ejecución del programa La ejecución es la siguiente:

37
Universidad de las Fuerzas Armadas ESPE

Fig. 50. Cálculo Densidad Válida

Cuando el usuario ingresa un dato erroneo se le notifica:

Fig. 51. Cálculo Densidad Inválida

3.15 Conversión de días

Análisis El análisis es el siguiente:

Fig. 52. Análisis conversión de días

Modelo El modelo a continuación:

38
Universidad de las Fuerzas Armadas ESPE

Fig. 53. Modelo conversión de días

Programación Sigueindo el análisis y el modelo:

1 def conversion_dias () :
2 """
3 Funci ón para c o n v e r t i r d í a s en añ os , meses y semanas
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metro :
6 d i a s : Dato i n g r e s a d o por e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 añ o s : d i a s c o n v e r t i d o s en añ o s
10 meses : d i a s c o n v e r t i d o s en meses
11 semanas : d i a s c o n v e r t i d o s en semanas
12 """
13 #Bucle para l a v a r i a b l e d i a s
14 w h i l e True :
15 #S e n t e n c i a t r y / e x c e p t para v a l i d a r d a t o s
16 try :
17 #El u s u a r i o i n g r e s a e l número de d í a s
18 d i a s=i n t ( i n p u t ( " I n g r e s e e l número de d í a s : " ) )
19 #b re ak
20 b re ak
21 #S i e l u s u a r i o i n g r e s ó un dato e q u i v o c a d o
22 except ValueError :
23 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
24 p r i n t ( " I n g r e s e un v a l o r vá l i d o " )
25 #S i l a c o n v e r s i ón puede r e a l i z a r s e
26 i f d i a s >= 0 :
27 #C o n v e r s i ón a añ o s
28 añ o s=d i a s //365
29 #Se imprime l o s d i a s t r a s n f o r m a d o s en añ o s

39
Universidad de las Fuerzas Armadas ESPE

30 p r i n t ( d i a s , "d í a s e s : " , añ os , " añ o s " )


31 #C o n v e r s i ón a meses
32 meses=d i a s //30
33 #Se imprime l o s d í a s t r a n s f o r m a d o s en meses
34 p r i n t ( d i a s , "d í a s son : " , meses , " meses " )
35 #C o n v e r s i ón a semanas
36 semanas=d i a s //7
37 #Se imprime l o s d í a s t r a n s f o r m a d o s en semanas
38 p r i n t ( d i a s , "d í a s son : " , semanas , " semanas " )
39 #S i no s e puede r e a l i z a r l a c o n v e r s i ón
40 else :
41 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s e un dato vá l i d o
42 p r i n t ( " I n g r e s e un dato vá l i d o " )
43 #Se a l i e n t a a l u s u a r i o a empezar de nuevo
44 p r i n t ( " I n t é n t e l o de nuevo ! " )
45 #Se empieza de nuevo
46 conversion_dias ()

Programacion

Casos de Prueba y Ejecución del programa La ejecución es la siguiente:

Fig. 54. Conversión de Días Válido

Fig. 55. Conversi[on de Días Inválido]

3.16 Conversión de Longitud

Análisis El Análisis es el siguiente:

40
Universidad de las Fuerzas Armadas ESPE

Fig. 56. Análisis Conversión de Longitud

Modelo El Modelo a continuación:

Fig. 57. Modelo Conversión de Longitud

Programación Siguiendo el Análisis y el Modelo:

1 def conversion_longitud () :
2 """
3 Funci ón para c o n v e r t i r cm en m y km
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 c e n t i m e t r o s : Dato i n g r e s a d o por e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 metros : cm t r a n s f o r m a d o s en m
10 k i l o m e t r o s : cm t r a n s f o r m a d o s en km
11 """
12 #Bucle para l a v a r i a b l e c e n t í metros
13 w h i l e True :

41
Universidad de las Fuerzas Armadas ESPE

14 #S e n t e n c i a para v a l i d a c i ón de d a t o s
15 try :
16 #El u s u a r i o i n g r e s a e l v a l o r de l o s c e n t í metros
17 c e n t i m e t r o s=i n t ( i n p u t ( " I n g r e s e l a l o n g i t u d en cm : "
))
18 #b re ak
19 b re ak
20 #S i e l u s u a r i o no i n g r e s ó un v a l o r c o r r e c t o
21 except ValueError :
22 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
23 p r i n t ( " I n g r e s e un v a l o r vá l i d o " )
24 #S i l a c o n v e r s i ón puede r e a l i z a r s e
25 i f c e n t i m e t r o s >=0:
26 #C o n v e r s i ón a metros
27 metros=c e n t i m e t r o s //100
28 #Se imprime l a c o n v e r s i ón a metros
29 p r i n t ( c e n t i m e t r o s , "cm son : " , metros , "m" )
30 #C o n v e r s i ón a k i l ó metros
31 k i l o m e t r o s=c e n t i m e t r o s //1000
32 #Se imprime l a c o n v e r s i ón a k i l ó metros
33 p r i n t ( c e n t i m e t r o s , "cm son : " , k i l o m e t r o s , "km" )
34 #S i l a c o n v e r s i ón no puede r e a l i z a r s e
35 else :
36 #Se l e n o t i f i c a a l u s u a r i o que no puede r e a l i z a r s e l a
c o n v e r s i ón
37 p r i n t ( " I n g r e s e un v a l o r mayor o i g u a l a 0 " )
38 #Se a l i e n t a a l u s u a r i o a empezar de 0
39 p r i n t ( " I n t é n t e l o de nuevo ! " )
40 #Se i n i c i a de nuevo e l p r o c e s o
41 conversion_longitud ()

Programacion

Casos de Prueba y Ejecución del programa La Ejecución del programa es


la siguiente:

Fig. 58. Conversión de longitudes válido

Cuando el usuario ingresa un dato ilógico se le comunica inmediatamente

42
Universidad de las Fuerzas Armadas ESPE

Fig. 59. Conversión de longitudes inválido

3.17 Conversión de Temperatura - Menu


Análisis El Análisis es el siguiente:

Fig. 60. Análisis de Conversión de Temperatura - Menú

Modelo El Modelo a continuación:

Fig. 61. Modelo de Conversión de Temperatura - Menú

Programación Menú para que el usuario seleccione que tipo de transformación


de Temperatura desea:

1 d e f menu_temperatura ( ) :
2 """
3 Funci ón de menú para que e l u s u a r i o e s c o j a que
t r a n s f o r m a c i ón q u i e r e r e a l i z a r
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

43
Universidad de las Fuerzas Armadas ESPE

5 Par á metros :
6 opcion_temperatura : Opci ón que e s c o j a e l u s u a r i o s e g ún
requiera
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 conversion_celsius
10 conversion_fahrenheit
11 """
12 #Se i n i c i a l i z a l a v a r i a b l e opcion_temperatura
13 opcion_temperatura=" "
14 #Bucle m i e n t r a s l a o p c i ón no s e a 4
15 w h i l e opcion_temperatura != " 4 " :
16 #Se imprime e l menú
17 menu_temperatura= """
18 MENU TEMPERATURA
19 −−−−−−−−−−−−−−
20 1 . C o n v e r t i r de C a F
21 2 . C o n v e r t i r de F a C
22 3 . V o l v e r a l menú p r i n c i p a l
23 −−−−−−−−−−−−−−
24 E l i j a su o p c i o n :
25 """
26 #El u s u a r i o i n g r e s a l a c o n v e r s i ón que r e q u i e r a
27 opcion_temperatura = i n p u t ( menu_temperatura )
28 #S i e s c o g i ó 1
29 i f opcion_temperatura==" 1 " :
30 #Se l l a m a a l a f u n c i ón c o n v e r s i ón a c e l c i u s
31 conversion_celcius ()
32 #b re ak
33 b re ak
34 #S i e s c o g i ó l a o p c i ón 2
35 i f opcion_temperatura==" 2 " :
36 #Se l l a m a a l a f u n c i ón c o n v e r s i ón a f a h r e n h e i t
37 conversion_fahrenheit ()
38 #b re ak
39 b re ak
40 #S i e s c o g i ó l a o p c i ón 3
41 i f opcion_temperatura==" 3 " :
42 #Se r e t o r n a a l menú p r i n c i p a l
43 menu ( )

Programacion

Casos de Prueba y Ejecución del programa La ejecución es la siguiente:

44
Universidad de las Fuerzas Armadas ESPE

Fig. 62. Menú Conversión de Temperatura

3.18 Conversión de Temperatura - De Celsius a Fahrenheit


Análisis El análisis a continuación:

Fig. 63. Análisis Conversión de Temperatura de Celsius a Fahrenheit

Modelo El modelo es el siguiente:

Fig. 64. Modelo Conversión de Temperatura de Celsius a Fahrenheit

Programación Siguiendo el Análisis y el modelo:

45
Universidad de las Fuerzas Armadas ESPE

1 def conversion_celcius () :
2 """
3 Funci ón para c o n v e r t i r C a F
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 c e l s i u s : Dato i n g r e s a d o por e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 fahrenheit : C convertidos a F
10 """
11 #Bucle para l a v a r i a b l e c e l s i u s
12 w h i l e True :
13 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
14 try :
15 #El u s u a r i o i n g r e s a l o s g r a d o s c e l s i u s
16 c e l s i u s=f l o a t ( i n p u t ( " I n g r e s e l a t e m p e r a t u r a en C
: ") )
17 #b re ak
18 b re ak
19 #S i e l u s u a r i o i n g r e s ó un dato i n v á l i d o
20 except ValueError :
21 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s ó un dato i n v
á lido
22 p r i n t ( " I n g r e s e un dato c o r r e c t o ! " )
23 #C o n v e r s i ón a F
24 f a h r e n h e i t =( c e l s i u s ∗ 9 / 5 ) +32
25 #Imprime l a c o n v e r s i ón
26 p r i n t ( c e l s i u s , " C son : " , f a h r e n h e i t , " F " )

Programacion

Casos de Prueba y Ejecución del programa La ejecución de Celsius a


Fahrenheit es la siguiente:

Fig. 65. Conversión de Celsius a Fahrenheit

3.19 Conversión de Temperatura - De Fahrenheit a Celsius

Análisis El Análisis es:

46
Universidad de las Fuerzas Armadas ESPE

Fig. 66. Análisis Conversión de Temperatura de Fahrenheit a Celcius

Modelo El Modelo es:

Fig. 67. Modelo Conversión de Temperatura de Fahrenheit a Celcius

Programación Siguiendo el Análisis y el modelo:

1 def conversion_fahrenheit () :
2 """
3 Funci ón para c o n v e r t i r F a C
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 f a h r e n h e i t : Dato i n g r e s a d o por e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 c e l c i u s : C o n v e r s i ón de F a C
10 """
11 #Bucle para l a v a r i a b l e f a h r e n h e i t
12 w h i l e True :
13 #S e n t e n c i a t r r y / e x c e p t para v a l i d a c i ón de d a t o s
14 try :
15 #El u s u a r i o i n g r e s a l o s F
16 f a h r e n h e i t=f l o a t ( i n p u t ( " I n g r e s e l a t e m p e r a t u r a en
F : ") )
17 #b re ak
18 b re ak

47
Universidad de las Fuerzas Armadas ESPE

19 #S i e l u s u a r i o no i n g r e s ó un dato vá l i d o
20 except ValueError :
21 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s ó un dato
erroneo
22 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
23 #C o n v e r s i ón de F a C
24 c e l c i u s =( f a h r e n h e i t −32)∗ 5/9
25 #Se imprime l a c o n v e r s i ón a C
26 p r i n t ( f a h r e n h e i t , " F son : " , c e l c i u s , " C " )

Programacion

Casos de Prueba y Ejecución del programa La ejecución de Fahrenheit a


Celsius es la siguiente:

Fig. 68. Conversión de Fahrenheit a Celcius

3.20 Conversión de Masa

Análisis El análisis a continuación:

Fig. 69. Análisis Conversión de Masa

Modelo El Modelo es el siguiente:

48
Universidad de las Fuerzas Armadas ESPE

Fig. 70. Modelo Conversión de Masa

Programación Siguiendo el análisis y el modelo:

1 def convertir_libras () :
2 """
3 Funci ón para c o n v e r t i r l i b r a s a k i l o s y gramos
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 l i b r a s : Dato i n g r e s a d o por e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 k i l o s : C o n v e r s i ón de l b s a kg
10 gramos : C o n v e r s i ón de l b s a g
11 """
12 #Bucle para l a v a r i a b l e l i b r a s
13 w h i l e True :
14 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
15 try :
16 #El u s u a r i o i n g r e s a e l número de l i b r a s
17 l i b r a s=f l o a t ( i n p u t ( " I n g r e s e e l v a l o r en l i b r a s : " ) )
18 #b re ak
19 b re ak
20 #S i e l u s u a r i o i n g r e s ó un dato i n v á l i d o
21 except ValueError :
22 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
23 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
24 #S i l a c o n v e r s i ón de l i b r a s e s p o s i b l e r e a l i z a r s e
25 i f l i b r a s >=0:
26 #C o n v e r s i ón de l i b r a s a k i l o s
27 k i l o s=l i b r a s / 2 . 2 0 4 6
28 #Se imprime l a c o n v e r s i o n de l i b r a s a k i l o s
29 p r i n t ( l i b r a s , " l b s son : " , k i l o s , " kg " )
30 #C o n v e r s i ón de l i b r a s a gramos

49
Universidad de las Fuerzas Armadas ESPE

31 gramos=l i b r a s ∗ 4 5 3 . 5 9 2 3 7
32 #Se imprime l a c o n v e r s i ón de l i b r a s a gramos
33 p r i n t ( l i b r a s , " l b s son : " , gramos , " g " )
34 #S i l a c o n v e r s i ón no puede r e a l i z a r s e
35 else :
36 #Se l e n o t i f i c a a l u s u a r i o que i n g r e s e un v a l o r i g u a l
o mayor a 0
37 p r i n t ( " I n g r e s e un v a l o r i g u a l o mayor a 0 " )
38 #Se anima a l u s u a r i o a i n t e n t a r l o de nuevo
39 p r i n t ( " I n t é n t e l o de nuevo ! " )
40 #Se empieza d e s d e e l comienzo
41 convertir_libras ()

Programacion

Casos de Prueba y Ejecución del programa La ejecución es la siguiente:


Cuando el usuario ingresa un dato ilógico se le comunica:

Fig. 71. Conversión de lbs a kg y g

Fig. 72. Conversión de lbs a kg y g Inválido

3.21 Raíz Cuadrada

Análisis El Análisis es el siguiente:

50
Universidad de las Fuerzas Armadas ESPE

Fig. 73. Análisis Raíz Cuadrada

Modelo El modelo a continuación:

Fig. 74. Modelo Raíz Cuadrada

Programación Siguiendo el análisis y el modelo:

1 def raiz_cuadrada ( ) :
2 """
3 Funci ón para e n c o n t r a r l a r a i z cuadrada de c u a l q u i e r nú
mero
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 número : Dato i n g r e s a d o por e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 r a i z : Ra í z cuadrada d e l número i n g r e s a d o
10 """
11 #Bucle para l a v a r i a b l e numero
12 w h i l e True :
13 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
14 try :
15 #El u s u a r i o i n g r e s a un número
16 numero=f l o a t ( i n p u t ( " I n g r e s e un número : " ) )
17 #b re ak

51
Universidad de las Fuerzas Armadas ESPE

18 b re ak
19 #S i e l u s u a r i o no i n g r e s ó un dato vá l i d o
20 except ValueError :
21 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
22 p r i n t ( " I n g r e s e un v a l o r vá l i d o ! " )
23 #S i l a r a í z e s de un número n a t u r a l
24 i f numero >=0:
25 #Cá l c u l o de l a r a í z
26 r a i z=math . s q r t ( numero )
27 #Se imprime l a s o l u c i ón de l a r a í z
28 p r i n t ( "La r a í z cuadrada de : " , numero , " e s : " , r a i z )
29 #S i l a r a í z cuadrada e s un número i m a g i n a r i o
30 else :
31 #Cá l c u l o de l a r a í z
32 r a i z 2=math . s q r t ( numero∗ ( −1) )
33 #Se imprime l a s o l u c i ón de l a r a í z i m a g i n a r i a
34 p r i n t ( "La r a í z cuadrada de : " , numero , " e s : " , r a i z 2 , " i " )

Programacion

Casos de Prueba y Ejecución del programa La solución de la raiz cuadrada


de un número natural es la siguiente:

Fig. 75. Raíz Cuadrada de un número natural

Cuando se tiene un número negativo, la raíz cuadrada es imaginaria:

Fig. 76. Raíz Cuadrada de un número negativo

3.22 Ángulo Faltante en un Triángulo

Análisis El análisis es el siguiente:

52
Universidad de las Fuerzas Armadas ESPE

Fig. 77. Análisis Ángulo Faltante en un Triángulo

Modelo El modelo a continuación:

Fig. 78. Modelo Ángulo Faltante en un Triángulo

Programación Siguiendo el análisis y el diseño:

1 def encontrar_angulo ( ) :
2 """
3 Funci ón para e n c o n t r a r e l á n g u l o r e s t a n t e de un t r i á n g u l o
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 angulo_1 : Dato i n g r e s a d o por e l u s u a r i o
7 angulo_2 : Dato i n g r e s a d o por e l u s u a r i o
8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
9 Retorna :
10 a n g u l o _ f a l t a n t e : El á n g u l o que f a l t a d e l t r i á n g u l o
11 """
12 #Bucle para l a v a r i a b l e angulo_1
13 w h i l e True :
14 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
15 try :

53
Universidad de las Fuerzas Armadas ESPE

16 #El u s u a r i o i n g r e s a e l á n g u l o 1
17 angulo_1=f l o a t ( i n p u t ( " I n g r e s e e l á n g u l o 1 : " ) )
18 #b re ak
19 b re ak
20 #S i e l u s u a r i o i n g r e s ó un dato i n v á l i d o
21 except ValueError :
22 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
23 p r i n t ( " I n g r e s e un v a l o r vá l i d o ! " )
24 #Bucle para l a v a r i a b l e angulo_2
25 w h i l e True :
26 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
27 try :
28 #El u s u a r i o i n g r e s a e l á n g u l o 2
29 angulo_2=f l o a t ( i n p u t ( " I n g r e s e e l á n g u l o 2 : " ) )
30 #b re ak
31 b re ak
32 #S i e l u s u a r i o i n g r e s ó i n dato i n v á l i d o
33 except ValueError :
34 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
35 p r i n t ( " I n g r e s e un v a l o r vá l i d o ! " )
36 #Se v e r i f i c a que e l t r i á n g u l o e x i s t a
37 i f angulo_1 >0 and angulo_2 > 0 and angulo_1+angulo_2 <180:
38 #Cá l c u l o d e l á n g u l o f a l t a n t e
39 a n g u l o _ f a l t a n t e =180−(angulo_1+angulo_2 )
40 #Se imprime e l á n g u l o f a l t a n t e
41 p r i n t ( " El á n g u l o f a l t a n t e e s : " , a n g u l o _ f a l t a n t e )
42 #S i no e x i s t e e l t r i á n g u l o
43 else :
44 #Se l e n o t i f i c a a l u s u a r i o que e l t r i á n g u l o no e x i s t e
45 p r i n t ( " Los á n g u l o s que u s t e d i n g r e s ó no c o r r e s p o n d e n a
un t r i á n g u l o ! " )
46 #Se l e a l i e n t a a l u s u a r i o a i n t e n t a r l o de nuevo
47 p r i n t ( " I n t é n t e l o de nuevo ! " )
48 #Se empieza de nuevo d e s d e 0
49 encontrar_angulo ( )
Programacion

Casos de Prueba y Ejecución del programa La ejecución es la siguiente:


Cuando el usuario ingresa datos erroneos, se le notifica: ]

Fig. 79. Encontrar el ángulo faltante de un triángulo

54
Universidad de las Fuerzas Armadas ESPE

Fig. 80. Encontrar el ángulo faltante de un triángulo inválido

3.23 Área de un triángulo

Análisis El Análisis es:

Fig. 81. Análisis Área de un triángulo

Modelo El Modelo es:

Fig. 82. Modelo Área de un triángulo

55
Universidad de las Fuerzas Armadas ESPE

Programación Siguiendo el análisis y el modelo:

1 def area_triangulo () :
2 """
3 Funci ón para c o n t r o l a r e l á r e a de un t r i á n g u l o
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metros :
6 b a s e _ t r i a n g u l o : Dato i n g r e s a d o por e l u s u a r i o
7 a l t u r a _ t r i a n g u l o : Dato i n g r e s a d o por e l u s u a r i o
8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
9 Retorna :
10 a r e a _ d e l _ t r i a n g u l o : Cá l c u l o d e l á r e a d e l t r i á n g u l o
11 """
12 #Bucle para l a v a r i a b l e b a s e _ t r i a n g u l o
13 w h i l e True :
14 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
15 try :
16 #El u s u a r i o i n g r e s a l a b a s e d e l t r i á n g u l o
17 b a s e _ t r i a n g u l o=f l o a t ( i n p u t ( " I n g r e s e l a b a s e de un
t r i á ngulo : " ) )
18 #b re ak
19 b re ak
20 #S i e l u s u a r i o no i n g r e s ó un dato vá l i d o
21 except ValueError :
22 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
23 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
24 #Bucle para l a v a r i a b l e a l t u r a _ t r i a n g u l o
25 w h i l e True :
26 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
27 try :
28 #El u s u a r i o i n g r e s a l a a l t u r a d e l t r i á n g u l o
29 a l t u r a _ t r i a n g u l o=f l o a t ( i n p u t ( " I n g r e s e l a a l t u r a de
un t r i á n g u l o : " ) )
30 #b re ak
31 b re ak
32 #S i e l u s u a r i o no i n g r e s ó un dato vá l i d o
33 except ValueError :
34 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó
35 p r i n t ( " I n g r e s e un dato vá l i d o ! " )
36 #S i e l t r i á n g u l o e x i s t e
37 i f b a s e _ t r i a n g u l o >0 and a l t u r a _ t r i a n g u l o > 0 :
38 #Cá l c u l o d e l á r e a d e l t r i á n g u l o
39 a r e a _ d e l _ t r i a n g u l o =( b a s e _ t r i a n g u l o ∗ a l t u r a _ t r i a n g u l o ) /2
40 #Se imprime l a s o l u c i ón d e l á r e a d e l t r i á n g u l o
41 p r i n t ( " El á r e a d e l t r i á n g u l o e s : " , a r e a _ d e l _ t r i a n g u l o , "
u^2" )
42 #S i e l t r i á n g u l o no e x i s t e
43 else :
44 #Se l e n o t i f i c a a l u s u a r i o que e l t r i á n g u l o no e x i s t e

56
Universidad de las Fuerzas Armadas ESPE

45 p r i n t ( " El t r i á n g u l o no e x i s t e " )
46 #Se a l i e n t a a l u s u a r i o a i n t e n t a r l o de nuevo
47 p r i n t ( " I n t é n t e l o de nuevo ! " )
48 #Se empieza d e s d e e l comienzo
49 area_triangulo ()

Programacion

Casos de Prueba y Ejecución del programa La ejecución es la siguiente:


Si el usuario ingresa datos ilógicos, se le notifica:

Fig. 83. Área de un triángulo

Fig. 84. Área de un triángulo inválido

3.24 Operaciones Básicas de Dos Números

Análisis El análisis del problema es:

57
Universidad de las Fuerzas Armadas ESPE

Fig. 85. Análisis operaciones básicas con dos números

Modelo El modelo del problema es el siguiente:

Fig. 86. Modelos operaciones básicas con dos números

Programación Obedeciendo el análisis y el modelo:

1 def aritmetica () :
2 """
3 Funci ón para c a l c u l a r l a s c u a t r o o p e r a c i o n e s bá s i c a s
mediante dos números
4
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

5 Par á metros :
6 numero_1 : Dato i n g r e s a d o por e l u s u a r i o
7 numero_2 : Dato i n g r e s a d o por e l u s u a r i o
8
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

58
Universidad de las Fuerzas Armadas ESPE

9 Retorna :
10 suma
11 resta
12 m u l t i p l i c a c i ón
13 d i v i s i ón
14 """
15 #Bucle para l a v a r i a b l e numero_1
16 w h i l e True :
17 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
18 try :
19 #El u s u a r i o i n g r e s a e l número 1
20 numero_1=f l o a t ( i n p u t ( " I n g r e s e e l número 1 : " ) )
21 #b re ak
22 b re ak
23 #S i e l u s u a r i o i n g r e s ó un dato i n v á l i d o
24 except ValueError :
25 #Se l e comunica a l u s u a r i o que i n g r e s ó un dato i n v
á lido
26 p r i n t ( " I n g r e s e un dato i n v á l i d o ! " )
27 #Bucle para l a v a r i a b l e numero_2
28 w h i l e True :
29 #S e n t e n c i a t r y / e x c e p t para v a l i d a c i ón de d a t o s
30 try :
31 #El u s u a r i o i n g r e s a e l número 2
32 numero_2=f l o a t ( i n p u t ( " I n g r e s e e l número 2 : " ) )
33 #b re ak
34 b re ak
35 #S i e l u s u a r i o i n g r e s a un dato i n v á l i o d
36 except ValueError :
37 #Se l e comunica a l u s u a r i o que i n g r e s ó un dato i n v
á lido
38 p r i n t ( " I n g r e s e un dato i n v á l i d o ! " )
39 #Se imprimen l a s s o l u c i o n e s
40 p r i n t ( " Las o p e r a c i o n e s bá s i c a s con l o s números i n g r e s a d o s
son : " )
41 #Cá l c u l o de l a suma
42 suma=numero_1+numero_2
43 #I m p r e s i ón de l a suma
44 p r i n t ( numero_1 , "+" , numero_2 , "=" , suma )
45 #Cá l c u l o de l a r e s t a
46 r e s t a=numero_1−numero_2
47 #I m p r e s i ón de l a r e s t a
48 p r i n t ( numero_1 , "−" , numero_2 , "=" , r e s t a )
49 #Cá l c u l o de l a m u l t i p l i c a c i ón
50 m u l t i p l i c a c i o n=numero_1∗numero_2
51 #I m p r e s i ón de l a m u l t i p l i c a c i ón
52 p r i n t ( numero_1 , " ∗ " , numero_2 , "=" , m u l t i p l i c a c i o n )
53 #D i v i s i ón que e s t á determinada
54 i f numero_2 != 0 :
55 #Cá l c u l o de l a d i v i s i ón

59
Universidad de las Fuerzas Armadas ESPE

56 d i v i s i o n=numero_1/numero_2
57 #I m p r e s i ón de l a d i v i s i ón
58 p r i n t ( numero_1 , " / " , numero_2 , "=" , d i v i s i o n )
59 #D i v i s i ón para 0
60 else :
61 #D i v i s i ón i n d e t e r m i n a d a
62 p r i n t ( numero_1 , " / " , numero_2 , "= I n d e t e r m i n a d o " )
Programacion

Casos de Prueba y Ejecución del programa La ejecución es la siguiente:

Fig. 87. Operaciones Básicas con dos números

3.25 Hallar Datos de un círculo

Análisis El Análisis a continuación:

Fig. 88. Análisis Hallar Datos de un círculo

60
Universidad de las Fuerzas Armadas ESPE

Modelo El Modelo es el siguiente:

Fig. 89. Modelo Hallar Datos de un círculo

Programación Siguiendo el análisis y el modelo:

1 def c i r c u l o () :
2 """
3 Funci ón para e n c o n t r a r e l d i á metro , l a c i r c u n f e r e n c i a y e l
á rea del c í rculo
4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
5 Par á metro :
6 r a d i o _ c i r c u l o : Dato i n g r e s a d o por e l u s u a r i o
7 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 Retorna :
9 diametro
10 circunferencia
11 area
12 """
13 #Bucle para l a v a r i a b l e r a d i o _ c i r c u l o
14 w h i l e True :
15 #S e n t e n c i a t r y / e x c e p t
16 try :
17 #El u s u a r i o i n g r e s a e l r a d i o d e l c í r c u l o
18 r a d i o _ c i r c u l o=f l o a t ( i n p u t ( " I n g r e s e e l r a d i o de un
c í rculo : ") )
19 #b re ak
20 b re ak
21 #S i e l u s u a r i o i n g r e s a un dato i n v á l i d o
22 except ValueError :
23 #Se l e n o t i f i c a a l u s u a r i o que s e e q u i v o c ó

61
Universidad de las Fuerzas Armadas ESPE

24 p r i n t ( " I n g r e s e un dato c o r e c t o ! " )


25 #S i e l r a d i o e x i s t e
26 i f radio_circulo > 0:
27 #Cá l c u l o d e l d i á metro
28 d i a m e t r o=r a d i o _ c i r c u l o ∗ 2
29 #Se imprime l a s o l u c i ón d e l d i á metro
30 p r i n t ( " El d i á metro d e l c í r c u l o de r a d i o " , r a d i o _ c i r c u l o
, " e s : " , diametro , "u" )
31 #Cá l c u l o de l a c i r c u n f e r e n c i a
32 c i r c u n f e r e n c i a =2∗ r a d i o _ c i r c u l o ∗math . p i
33 #I m p r e s i ón de l a c i r c u n f e r e n c i a
34 p r i n t ( " El p e r í metro de l a c i r c u n f e r e n c i a e s : " ,
c i r c u n f e r e n c i a , "u" )
35 #Cá l c u l o d e l á r e a d e l c í r c u l o
36 a r e a=math . p i ∗ ( r a d i o _ c i r c u l o ∗ ∗ 2 )
37 #Se imprime e l r e s u l t a d o d e l á r e a d e l c í r c u l o
38 p r i n t ( " El á r e a d e l c í r c u l o e s : " , area , "u^2" )
39 #S i no e x i s t e
40 else :
41 #Se l e n o t i f i c a a l u s u a r i o que no e s p o s i b l e r e a l i z a r
los cá lculos
42 p r i n t ( " El r a d i o no e x i s t e , e l i j a un v a l o r mayor que 0 "
)
43 #Se a l i e n t a a l u s u a r i o a empezar de nuevo
44 p r i n t ( " I n t é n t e l o de nuevo ! " )
45 #Se empieza de nuevo
46 circulo ()

Programacion

Casos de Prueba y Ejecución del programa Le ejecución es la siguiente:

Fig. 90. Encontrar Datos de un círculo

Cuando el usuario ingresa datos ilógicos, se le notifica:

62
Universidad de las Fuerzas Armadas ESPE

Fig. 91. Encontrar Datos de un círculo inválido

4 Discusión
Los resultados arrojados son los requeridos, a pesar de que en los cálculos no está
presente la utilización de cifras significativas. La validación y verificación en el
ingreso de datos es la base primordial de cada ejercicio ya que brinda al usuario
una experiencia más completa, mostrándole la existencia o no de ciertos procesos
al utilizar números negativos, en problemas como el cálculo de áreas, densidad,
longitudes no se pueden utilizar números negativos; mientras que en problemas
que involucran temperatura, cálculo de expresiones o aritmética, se puede uti-
lizar cualquier valor numérico, aún cuando existen divisiones indeterminadas o
divisiones para cero.

5 Conclusiones
Python ha ido en ascenso a lo largo de los años, y está de moda, haciendo
temblar esos lenguajes que parecen inmortales. Es un lenguaje de programación
fácil de aprender, perfecto para principiantes. Tiene muchos usos y un sinfín
de usos, tiene una comunidad muy activa lo que garantiza que el lenguaje se
mantendrá actualizado con el tiempo y aparecerán nuevas bibliotecas que nos
permitirán ahorrar tiempo y trabajo. Además, como hemos visto, Python ofrece
muchas ventajas a todos sus usuarios, entre ellas: es muy simple, flexible y fácil
de aprender. Con una sintaxis sencilla y un buen uso de los espacios de sangría,
hacen que aprender, leer e incluso compartir sea muy fácil.

63

También podría gustarte