Skip to content

Latest commit

 

History

History
122 lines (79 loc) · 4.81 KB

QuizExtras2.rst

File metadata and controls

122 lines (79 loc) · 4.81 KB

Quiz - Extras 2

.. tabbed:: quizExtra2

    .. tab:: Ejercicio 1

        ..  activecode:: qExtra2_1
            :nocodelens:

            Una escuela primaria tiene planeado hacer una visita al zoológico a algunos de sus alumnos. Para esto la escuela solo puede gastar exactamente ``presupuesto`` unidades. Se sabe que la entrada al zoológico cuesta 5 unidades para menores de 12 años y 7 unidades para los que tengan 12 años o más. Desarrolle la función ``maximo_estudiantes`` que recibe ``presupuesto`` un entero positivo que indica el presupuesto que pretende gasta la escuela. La función debe devolver una tupla ``(p, g)`` con el número máximo pequeños y grandes alumnos que la escuela puede llevar al zoológico considerando todos los valores como enteros. |br| |br|
            ~~~~
            def maximo_estudiantes(presupuesto):



            ====
            from unittest.gui import TestCaseGui


            class myTests(TestCaseGui):
                def testOne(self):

                    self.assertEqual(
                        maximo_estudiantes(93), (13, 4),
                        "Esperado: 13 pequeños y 4 grandes"
                    )
                    self.assertEqual(
                        maximo_estudiantes(63), (7, 4),
                        "Esperado: 7 pequeños y 4 grandes"
                    )


            myTests().main()


    .. tab:: Ejercicio 2

        ..  activecode:: qExtra2_2
            :nocodelens:

            Desarrolle la función ``a_romano`` que recibe un entero ``n`` positivo mayor que cero. La función debe devolver la conversión del número en sistema arábigo al sistema a romano. La función debe devolver una cadena que represente el número en romano. |br| |br|
            Ejemplos: |br|
            ``a_romano(5)`` -> ``"V"`` |br|
            ``a_romano(10)`` -> ``"X"`` |br|
            ``a_romano(25)`` -> ``"XXV"`` |br|
            ``a_romano(2011)`` -> ``"MMXI"`` |br|
            ~~~~
            def a_romano(n):



            ====
            from unittest.gui import TestCaseGui


            class myTests(TestCaseGui):
                def testOne(self):

                    self.assertEqual(a_romano(12), "XII", "Esperado: XII")
                    self.assertEqual(a_romano(123), "CXXIII", "Esperado: CXXIII")
                    self.assertEqual(a_romano(400), "CD", "Esperado: CD")
                    self.assertEqual(a_romano(84), "LXXXIV", "Esperado: LXXXIV")
                    self.assertEqual(a_romano(542), "DXLII", "Esperado: DXLII")
                    self.assertEqual(a_romano(1042), "MXLII", "Esperado: MXLII")
                    self.assertEqual(a_romano(49), "XLIX", "Esperado: XLIX")
                    self.assertEqual(a_romano(429), "CDXXIX", "Esperado: CDXXIX")
                    self.assertEqual(a_romano(367), "CCCLXVII", "Esperado: CCCLXVII")
                    self.assertEqual(a_romano(23), "XXIII", "Esperado: XXIII")
                    self.assertEqual(a_romano(257), "CCLVII", "Esperado: CCLVII")
                    self.assertEqual(a_romano(968), "CMLXVIII", "Esperado: CMLXVIII")


            myTests().main()


    .. tab:: Ejercicio 3

        ..  activecode:: qExtra2_3
            :nocodelens:

            Desarrolle la función ``calcular_pi`` que recibe un parámetro ``n`` positivo mayor a 0. La función debe calcular el valor aproximado de ``pi`` con ``n`` terminos, de acuerdo con la siguiente fórmula. |br|

            ``pi = (4/1) - (4/3) + (4/5) - (4/7) ...`` |br|

            El resultado debe ser redondeado a 2 decimales y devuelto como una cadena. |br| |br|

            Ejemplos: |br|
            ``calcular_pi(4)`` -> ``"2.90"`` |br|
            *Explicación*: Los primero 4 términos siguiendo la formula son: ``(4/1) - (4/3) + (4/5) - (4/7)`` que dan como resultado ``2.895238095``, redondeando a dos decimales el resultado final sería ``2.90`` |br|
            ``calcular_pi(24)`` -> ``"3.10"`` |br|
            ``calcular_pi(61)`` -> ``"3.16"`` |br|
            ``calcular_pi(100)`` -> ``"3.13"`` |br|

            ~~~~
            def calcular_pi(n):



            ====
            from unittest.gui import TestCaseGui


            class myTests(TestCaseGui):
                def testOne(self):

                    self.assertEqual(calcular_pi(4), "2.90", "Esperado: 2.90")
                    self.assertEqual(calcular_pi(10), "3.04", "Esperado: 3.04")
                    self.assertEqual(calcular_pi(15), "3.21", "Esperado: 3.21")
                    self.assertEqual(calcular_pi(60), "3.12", "Esperado: 3.12")
                    self.assertEqual(calcular_pi(24), "3.10", "Esperado: 3.10")
                    self.assertEqual(calcular_pi(100), "3.13", "Esperado: 3.13")
                    self.assertEqual(calcular_pi(1000), "3.14", "Esperado: 3.14")


            myTests().main()