You are on page 1of 15

LENGUAJES DE PROGRAMACIÓN

II Ciclo

Laboratorio 4: Funciones NOTA

Alumnos: Espinoza Acuña Jorge Luis

Fecha de realización: 19/09/2023


Fecha de entrega: 22/09/2023

I. Objetivos
● Comprender el uso de funciones
● Identificar los usos y tipos de funciones
● Implementar aplicaciones con funciones

II. Seguridad
Advertencia:
● Obligatorio el uso de Mascarilla y careta de protección
● Desinfectar las manos con alcohol al ingreso del laboratorio
● Mantener siempre la distancia durante el laboratorio
● No obstruir las vías de evacuación con mochilas, sillas en mala
posición, etc.
● Ubicar maletines y/o mochilas al final del aula o en los casilleros
asignados al estudiante.
● No ingresar con líquidos, ni comida al aula de Laboratorio.
● Al culminar la sesión de laboratorio apagar correctamente la
computadora y la pantalla, y ordenar las sillas utilizadas.
● En este laboratorio está prohibida la manipulación del hardware,
conexiones eléctricas o de red

III. Equipos y Materiales


Una computadora con:
● Windows 7 o superior
● Conexión a la red
● Software de desarrollo

IV. Fundamento Teórico


Funciones:
Existen dos tipos de funciones en Python.
Funciones incorporadas que se presentan como parte de Python - print( ), input( ), type( ), float ( ),
int( ), etc.
Funciones que nosotros definimos
Tratamos a los nombres de las funciones incorporadas como “nuevas” palabras reservadas (es decir,
las evitamos como nombres de variables)
Lab. N° 4 Funciones
Ejercicio 1: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

Se puede observar que en este reconoce cada uno de los datos que se le dio como por ejemplo *str*
que significa que es de tipo de cadena de texto(string).
Luego en ¨class int¨ donde Significa que la variable número es de tipo entero (integer).
Y por ultimo Float que indica que la variable ´´numerof´´ es un numero decimal .

Ejercicio 2: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

En resumen, estas líneas de código ilustran cómo se pueden usar funciones de conversión
(int(), float(), str()) para cambiar entre diferentes tipos de datos en Python. Es importante tener
en cuenta que las conversiones solo son posibles si el valor se puede interpretar en el nuevo
tipo de dato. Si intentas convertir algo que no es compatible, Python generará un error.

Docente: Armando Sarco Montiel Pág. 1


Lab. N° 4 Funciones
Ejercicio 3

En el siguiente código importamos match para poder acceder a sus funciones y luego con el comando
¨cell¨ se redondeo el numero al mas cercano y lo contrario a este seria “floor” el cual redondea hacia
abajo.
Ejercicio 3: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

En resumen, este código solicita al usuario que ingrese un número, lo convierte en un entero y
luego calcula y imprime los decibelios correspondientes al valor ingresado

Docente: Armando Sarco Montiel Pág. 2


Lab. N° 4 Funciones
Ejercicio 4: Copiar el programa de abajo, modificar para el ingreso de n valores de grados, compilar,
analizar y comentar lo que sucede.

En resumen, el uso de f-strings facilita la incorporación de variables y expresiones en cadenas de


texto de una manera más legible y concisa. Es especialmente útil cuando necesitas combinar texto
con valores variables o el resultado de expresiones.

Ejercicio 5 (Reto Tecsup):

En este ejercicio se usaron los comandos math.pow y math.sqrt


Los cuales ayuda a sacar la raíz cuadrada (sqrt) y el otro ayuda a la potenciación (pow)

Docente: Armando Sarco Montiel Pág. 3


Lab. N° 4 Funciones

Ejercicio 6: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

En este ejemplo podemos observar el uso de (RANDOM) el cual elije un numero al azar entre el
rango que le dago (for in range) en el cual solo se presenta con dos decimales gracias al “2f”.
Ejercicio 7 (Reto Tecsup): Modificar el programa para que se detenga cuando te de tres dieces a la
misma vez, con lo cual te imprimirá las veces que se itero el programa.

Para realizarlo se usó el comando “while” el cual se le presenta la condición que una vez se inicie el
bucle este se detenga cuando encuentre 3 veces 10 consecutivo.

Docente: Armando Sarco Montiel Pág. 4


Lab. N° 4 Funciones

Ejercicio 8:

El programa imprimirá dos números aleatorios seleccionados de la lista t. Los números


impresos pueden cambiar en cada ejecución del programa debido a la naturaleza aleatoria de
random.choice().(se usan mayormente para paginas donde se hacen sorteos)

Ejercicio 9:

Vemos que mediante el comando from msvcrt import getch


Este código hace una comparación entre b'\x1b'. b'\x1b' los cuales representan a enter y esc.

Docente: Armando Sarco Montiel Pág. 5


Lab. N° 4 Funciones

Funciones definidas sin parámetros


Ejercicio 10:

Podemos observar el uso de crear una propia definición y también vemos que se puede repetir
colocando esta dos veces.
Ejercicio 11: ¿Cuál es la utilidad de la palabra clave “def” en Python?
A. Es una jerga que significa “este código es realmente estupendo”
B. Indica el comienzo de una función
C. Indica que la siguiente sección de código indentado debe ser almacenada para usarla más
tarde
D. b y c son correctas ambas
E. Ninguna de las anteriores

Ejercicio 12: ¿Qué mostrará en pantalla el siguiente programa Python después de corregir la falla?

A. Zap ABC jane fred jane


B. Zap ABC Zap
C. ABC Zap jane
D. ABC Zap ABC
E. Zap Zap Zap

Docente: Armando Sarco Montiel Pág. 6


Lab. N° 4 Funciones

Ejercicio 13: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

La función fred imprime "Zap".


La función jane imprime "ABC". Estas son funciones creadas gracias al “def”

Ejercicio 14: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

Se imprime directamente el resultado de llamar a fsuma(5, 6) sin almacenarlo en una variable.

Docente: Armando Sarco Montiel Pág. 7


Lab. N° 4 Funciones
Ejercicio 15: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

Podemos observar que ahora se definieron mas variables por ello se obtuvo distintas respuestas.

Ejercicio 16: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

La tupla reconoce como argumentos los nombres que se les da y por ello esta función permite pasar
cualquier cantidad de nombres como argumentos y luego los imprime uno por uno.

Docente: Armando Sarco Montiel Pág. 8


Lab. N° 4 Funciones
Ejercicio 17:

Se define la función fsalario que calcula el salario considerando horas trabajadas y tarifa, con manejo
de excepciones para valores no numéricos.
El programa principal solicita al usuario las horas y la tarifa, luego llama a fsalario para calcular el
salario y lo imprime.
Si el usuario ingresa un valor no numérico, se maneja la excepción y se muestra el mensaje de error
correspondiente.

Ejercicio 18 (Reto Tecsup): :

El comando principal que use fue return "Sobresaliente": Si la puntuación es válida y cumple con una
condición, la función devuelve la calificación "Sobresaliente", y así sucesivamente para otras
calificaciones. Si no, devuelve "Puntuación incorrecta".

Docente: Armando Sarco Montiel Pág. 9


Lab. N° 4 Funciones

Ejercicio 19: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

Aunque dentro de la función subrutina() se definió otra variable a con el valor 1, esta es una variable
local que solo es válida dentro de la función. No afecta a la variable global a que se creó fuera de la
función, la cual tiene un valor de 5.
Por lo tanto, cuando se imprime a en el programa principal, se está refiriendo a la variable global a, y
el valor impreso será 5, no 1. Esto es porque las variables locales solo son accesibles dentro de la
función en la que se crearon.
Ejercicio:19.1

En resumen, en el segundo bloque de código, la función subrutina utiliza la variable global a y


además la modifica. Esto es posible gracias a la declaración global que permite alterar el valor de la
variable global desde dentro de la función.

Docente: Armando Sarco Montiel Pág. 10


Lab. N° 4 Funciones

Ejercicio 20 (tarea para la casa): Completar y mejorar el programa de abajo para los menús del 3 al 9.

Código del ejercicio 20


#import os

notas = []

def ingresarNotas():
global notas
nNotas = int(input("Ingrese el número de notas: "))
notas = []
for i in range(nNotas):
num = float(input(f"Introduce la nota {i + 1}: "))
notas.append(num)
os.system("pause")
os.system("cls")

def notasIngresadas():
global notas
print("Las notas ingresadas son:", notas)
os.system("pause")
os.system("cls")

def notasDeMenorAMayor():
global notas
notas.sort()
print("Notas ordenadas de menor a mayor:", notas)
os.system("pause")
os.system("cls")

def promedioNotas():
global notas

Docente: Armando Sarco Montiel Pág. 11


Lab. N° 4 Funciones
promedio = sum(notas) / len(notas)
print("El promedio de las notas es:", promedio)
os.system("pause")
os.system("cls")

def notasAprobadas():
global notas
aprobadas = [nota for nota in notas if nota >= 13.0]
print("Notas aprobadas:", aprobadas)
os.system("pause")
os.system("cls")

def notasDesaprobadas():
global notas
desaprobadas = [nota for nota in notas if nota < 13.0]
print("Notas desaprobadas:", desaprobadas)
os.system("pause")
os.system("cls")

def borrarDatos():
global notas
notas.clear()
print("Datos de notas eliminados.")
os.system("pause")
os.system("cls")

def minmax():
global notas
if len(notas) > 0:
min_nota = min(notas)
max_nota = max(notas)
print(f"Nota mínima: {min_nota}")
print(f"Nota máxima: {max_nota}")
else:
print("No hay notas ingresadas.")
os.system("pause")
os.system("cls")

def salirSistema():
exit()

while True:
print("Seleccione una opción: ")
print("|-------------------------------------|--------|")
print("| | |")
print("| Función | Opción |")
print("| | |")
print("|-------------------------------------|--------|")
print("| Ingresar notas | 1 |")
print("|-------------------------------------|--------|")

Docente: Armando Sarco Montiel Pág. 12


Lab. N° 4 Funciones
print("| Mostrar notas ingresadas | 2 |")
print("|-------------------------------------|--------|")
print("| Ordenar de menor a mayor | 3 |")
print("|-------------------------------------|--------|")
print("| Mostrar promedio | 4 |")
print("|-------------------------------------|--------|")
print("| Mostrar total de aprobados | 5 |")
print("|-------------------------------------|--------|")
print("| Mostrar total de desaprobados | 6 |")
print("|-------------------------------------|--------|")
print("| Borrar datos ingresadas | 7 |")
print("|-------------------------------------|--------|")
print("| Mostrar nota min. y max. | 8 |")
print("|-------------------------------------|--------|")
print("| Salir del sistema | 9 |")
print("|-------------------------------------|--------|")
print("")
valor = int(input("Ingrese una opción del 1 al 9: "))
os.system("pause")
os.system("cls")

if valor == 1:
ingresarNotas()
elif valor == 2:
notasIngresadas()
elif valor == 3:
notasDeMenorAMayor()
elif valor == 4:
promedioNotas()
elif valor == 5:
notasAprobadas()
elif valor == 6:
notasDesaprobadas()
elif valor == 7:
borrarDatos()
elif valor == 8:
minmax()
elif valor == 9:
salirSistema()
else:
print("Opción no válida. Por favor, ingrese una opción del 1 al 9.")

Este programa en Python gestiona una lista de notas:

Define funciones para ingresar, mostrar, ordenar y calcular estadísticas de notas.


Utiliza un bucle para mostrar un menú de opciones y ejecutar la función seleccionada.
Permite al usuario interactuar con la lista de notas hasta que elija salir.

Docente: Armando Sarco Montiel Pág. 13


Lab. N° 4 Funciones
V. Observaciones:
Modularidad y Reutilización:

El uso de funciones promueve el modularidad al dividir el código en bloques más pequeños


y manejables. Estos bloques pueden ser reutilizados en diferentes partes del programa, lo
que ahorra tiempo y esfuerzo en el desarrollo.

VI. Conclusiones:
Comprender el uso de funciones:

A través de la evaluación de los códigos proporcionados, se ha evidenciado que el


conocimiento y comprensión del uso de funciones es fundamental. Esto se refleja en la
capacidad para organizar y estructurar el código de manera efectiva, lo que facilita la
resolución de problemas complejos al descomponerlos en tareas más manejables y
específicas.

Crear nuestras propias funciones puede ser crucial para poder evitarnos desperdiciar
tiempo por lo que es esencial para seleccionar la herramienta adecuada para cada tarea,
lo que demuestra un dominio significativo de las capacidades de programación en Python.
VII. Normas Generales:
1. Presentar como informe de laboratorio el titulo, número de laboratorio, nombres, fechas,
entregables(Lo resaltado en amarillo), observaciones, conclusiones y su propia bibliografía. No
colocar, objetivos, seguridad , equipos y materiales, fundamento teórico, procedimientos,
normas generales y anexo, ya que el turnitin va a reconocer un alto porcentaje de copia.
2. Por cada captura de pantalla que se realice, se deberá comentar en no menos de 3 líneas
explicando la figura o procedimiento.
3. La presentación del informe se realiza por el Canvas, un día antes de que se cumpla la semana de
realizado el laboratorio (6 días), no se revisa por otro medio.
4. Se penalizará con puntos en contra las faltas de ortografía en la redacción del informe, la
presentación fuera del tiempo indicado, en especial la falta de orden.
5. Se evaluará con nota cero si el nombre de uno de los participantes no está incluido en el informe,
incluir a un alumno que no ha participado en la experiencia de laboratorio, el nombre del profesor
está mal escrito, la presentación del informe por otro medio que no sea el Canvas, o el más mínimo
intento de plagio.
6. Se dará una bonificación de un punto a aquel alumno que publique en el foro de consultas, alguna
información relevante del tema tratado en la semana o encuentre alguna falla de redacción u
ortografía en las presentaciones y guías de laboratorio, así como de algún error en el Canvas.
7. Pasada una semana de la publicación de la nota en el SEVA, se dará por entendido la conformidad
del alumno con su nota, es responsabilidad del alumno la verificación de la conformidad de su nota,
en caso de algún reclamo pasada la semana, ya no será tomada en cuenta.

VIII. Bibliografía
1. Desarrollo inicial: Charles Severance, Facultad de Información de la Universidad de Michigan
2. Charles R. Severance (2020). Python para todos “Explorando la información con Python 3” Estados
Unidos: Copyright ~2009- Charles Severance.
3. math-Funciones matemáticas. (17 de mayo de 2021).
https://docs.python.org/es/3.8/library/math.html

IX. Anexo

Docente: Armando Sarco Montiel Pág. 14

You might also like