Está en la página 1de 8

ALGORITMOS Y PROGRAMACIÓN

CURSO 4 (75.40 - 95.40) Essaya


Alumna: Francisca Gaillard
Legajo: 109945
Practica Barbara
Prof corrector: Ian Shih

Parte 3: diferencia.py
1. Abrir el archivo diferencia.py
2. Utilizando la instrucción assert, probar los siguientes casos:
○ La diferencia de los vectores A = (16, -72, -52) y B = (55, 90,
-31) es (-39, -162, -21)
○ La diferencia de los vectores A = (55, -88, -75) y B = (38, 62,
-12) es (17, -150, -63)
3. Tomar captura de pantalla de la terminal mostrando su ejecución.
4. ¿Se detectó algún error? ¿Cuál era? ¿Qué significa? ¿Qué línea estaba
fallando?
5. Solucionar el problema.

4) No se detecta ningun ‘assertionerror’, y eso significa que la expresión


es True, osea que la diferencia entre A = (16, -72, -52) y B = (55, 90,
-31) es (-39, -162, -21).
No se detecta ningún ‘AssertionError’, y eso significa que la expresión
es True, osea que la diferencia entre A = (55, -88, -75) y B = (38, 62,
-12) es (17, -150, -63)

Parte 4: Depuración
Depurar (o debuggear, informalmente) un programa es la acción de inspeccionarlo
para encontrar errores de programación (bugs).
1. Leer el ejercicio 3.4.c de la guía de ejercicios.
2. Abrir el archivo prodvect.py, que corresponde a una solución del ejercicio
3.4.c
3. Ejecutar el programa.
4. ¿Qué error muestra? ¿En qué línea?
5. Depurar el programa.
Ayuda: se pueden incluir llamadas a print() donde sea necesario. Por ejemplo:
print("DEBUG=== VALOR DE X: ", x)

6. Renombrar la función y las variables de forma que sus nombres sean
representativos. ¿Por qué es importante hacer esto?
7. ¿Se puede escribir el cuerpo de la función en una línea? ¿Cómo?

4)
Muestra el error ‘AssertionError’ en la linea 10

6)
Es importante que el nombre de las funciones y sus variables sean
representativos a lo que están planteando, ya que mientras estas sean lo
mas legible posible, más fácil va a ser interpretarlas y entender el código al
momento de programar.

def produc_vectorial(x1, y1, z1, x2, y2, z2):


"""Recibe las coordenadas de dos vectores en R3 y devuelve el
producto vectorial"""
return y1*z2 - z1*y2, z1*x2 - x1*z2, x1*y2 - y1*x2

7)

Si, se puede hacer de la siguiente manera :

def mi_funcion(x1, y1, z1, x2, y2, z2):


"""Recibe las coordenadas de dos vectores en R3 y devuelve el
producto vectorial"""
return y1*z2 - z1*y2, z1*x2 - x1*z2, x1*y2 - y1*x2

Parte 5: Reutilizando funciones


1. Tomar todas las funciones anteriores y ponerlas en un archivo vectores.py.
2. Crear el archivo area_triángulo.py y, en él, solucionar el ejercicio 3.4.d de
la guía de ejercicios utilizando las funciones del módulo vectores.py.
3. Crear al menos 3 pruebas que demuestren su uso.
4. ¿Cuál es la importancia de reutilizar funciones?

4) La importancia de reutilizar funciones es que al hacerlo estamos


formando nuevos programas con la información guardada en las funciones
reutilizadas, eso hace que al programar sea mas práctico y que el armado
del codigo nos lleve menos tiempo

PARTE 1.1
Ingresar al intérprete de Python con el comando:
$ python3
Ejecutar la siguiente línea de código:
>>> "Hola Algoritmos y Programación I"
1. Salir del intérprete.
2. Tomar una captura de pantalla del resultado.

Parte 1.2
1. Crear un archivo de texto plano llamado parte_1_2.py.

Agregar la siguiente línea al archivo:


"Hola Algoritmos y Programación I"
2.
Ejecutar el programa con el comando:
$ python3 parte_1_2.py
3.
4. Tomar una captura de pantalla del resultado.
5. ¿Qué función debo usar para conseguir el mismo resultado que en la parte
1.1?¿Por qué en la parte 1.1 vemos el resultado aun sin haber usado esta
función?

5)
La funcion que debemos usar para que se muestre algo en la pantalla de
la terminal es Print, si no invocamos a esa función no nos aparecerá nada.

En la primera parte vemos el resultado sin invocar a una función print


porque estamos escribiendo en el modo el interactivo de python el cual
muestra al instante los resultados sin llamar a una funcion print, en cambio
en la parte 1.2 se usa bajo el modo no interactivo, en el cual todo se
analiza antes de ejecutarse, por eso llamamos a la función print para que
se muestre en pantalla lo que escribimos.
Parte 2: norma.py
1. Ejecutar el programa norma.py.
2. Tomar una captura de pantalla de la ejecución.
Des-comentar las dos últimas líneas del archivo:
z = -80
assert norma(-70, 14, z) == 111.0
3.
4. Ejecutar de nuevo el programa norma.py.
5. Tomar captura de pantalla de la nueva ejecución y contestar las preguntas:
1. ¿Cuál es la salida del programa?
2. ¿Podemos saber en qué línea se generó el error?¿Cómo?
3. ¿Qué hace la instrucción assert?
4. Solucionar el problema. Hallar el valor de z para que ya no de error.

2)

4)
5.1)
File "C:\Users\franchu\Desktop\vectores.py\norma.py", line 17, in
<module>
assert norma(-70, 14, z) == 111.0
AssertionError

5.2)

Si se genera un error en el código, cuando lo invocamos en la terminal nos


dice el tipo de error y la fila en la que se generó, en este caso el error está
en la fila 17.

5.3)
Lo que hace la función ‘assert’ es verificar que la expresión que pongamos
sea igual a el valor que se iguala ( assert<expresión >==(Valor esperado)). y
en el caso que el valor ejecutado no signifique la igualación de la
expresión, cuando ejecutemos el código en terminal nos aparecerá
‘AssertionError’ ya que la igualación nos da False.

5.4)
El valor para que z no de error es 85.

También podría gustarte