Lab2 Funciones

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN

GUIA DE PRACTICA DE LABORATORIO /TALLER

CARRERA: GUÍA TIEMPO ESTIMADO:


AUTOMATIZACION Y CONTROL No. 02 1h y 20 min.
ASIGNATURA: FECHA DE ELABORACION: 28-JUN-2023
Fundamentos de Programación SEMESTRE: Mayo-Agosto 2023
TÍTULO: DOCENTE: Ing. César Osorio
Creación y uso de Funciones Integrantes:
Byron Cunalata
Fabricio Pillajo
Henry Vasco
Alison Muñoz

OBJETIVO
p.e. Implementar la programación modular en el desarrollo de aplicaciones
INSTRUCCIONES
p.e.
i) Utilice como material principal, aquel indicado en clase por el docente.
ii) Utilice información consultada en Internet y conocimiento adquirido en clase.
ACTIVIDADES
1. Ubicación de recursos
p.e.
i) Formar grupos de máximo 4 personas por computador
ii) Usar el intérprete PYTHON para implementar la solución del problema
planteado

2. Planteamiento del problema


p.e.

Escribir un programa con las siguientes funciones:

✓ Producto (num1,num2).- Esta función deberá calcular el producto de 2


números a través de sumas sucesivas.
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
GUIA DE PRACTICA DE LABORATORIO /TALLER

✓ Potencia (num1, num2).- Esta función deberá elevar num1 al exponente


num2 mediante multiplicaciones suscesivas.
✓ División (num1, num2).- Esta función deberá calcular la división de 2
números enteros la misma que devolverá el cociente y el residuo mediante
restas sucesivas
✓ productoR(a,b).- Esta función deberá realizar el producto de 2 numeros de
forma recursiva, para lo cual use la formula siguiente:

a=0 0

b=0 0

a= 1 b

b =1 a

a + (a,b-1)

Se deberá crear el programa principal donde se invoque a las respectivas funciones.

3. Entregable (s)
p.e.
a) Cada grupo deberá entregar (impresos) el archivo con el código fuente del
problema planteado
b) También se deberá presentar un informe con el marco teórico y las conclusiones
correspondientes a la ejecución de la práctica.

__________________________ ______________________________
DOCENTE RESPONSABLE COORDINADOR DE ÁREA
Ing. César Osorio A. Ing. Monica Gomez
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
GUIA DE PRACTICA DE LABORATORIO /TALLER

Marco Teórico
Funciones
Una función en Python como en cualquier otro lenguaje de programación, se la puede
definir como un bloque de líneas de código o un conjunto de instrucciones cuya finalidad es
realizar alguna tarea en específico; lo que se pudiera utilizarse cuantas veces quiera para
repetir esa tarea y de esta forma reducir el número de líneas total en el código del proyecto.
Existen muchos tipos de funciones como, por ejemplo:
➢ Función max(): Esta nos devuelve el elemento más grande de dos o más
argumentos.
➢ Función min(): Devuelve el elemento más pequeño de dos o más argumentos.
➢ Función divmod(): Devuelve el cociente y el resto al dividir el número “a” por el
número “b”.
➢ Función hex(): Esta función ayuda a convertir un número entero en una cadena
hexadecimal en minúscula con el prefijo “0x”.
➢ Función len(): Esta función devuelve la longitud de un objeto.
➢ Función ord(): Esta función ayuda a convertir la cadena que represente un carácter
Unicode en un entero que represente el código Unicode del carácter.
Entre varias otras que nos ayudan a reducir el número de líneas del código.
En el presente taller fue realizado cuatro diferentes funciones en las cuales involucraba un
producto mediante sumas sucesivas, un producto entre multiplicaciones sucesivas, la
división de 2 números enteros y el producto de 2 números de forma recursiva.
En la primera función: SumarR(n1,n2) se realizó la suma de dos números n1 y n2 todo esto
utilizando sumas sucesivas. Esto comienza con un resultado inicial igual a n1 y luego repite
n2 -1 veces, de forma que se incrementa el resultado en n1 en cada repetición. Finalmente
devolviendo el resultado de la suma.
La segunda Función: mulT(n1, n2) se realizó la multiplicación de dos números utilizando
sumas sucesivas. Comienza con un resultado inicial igual a n1 y luego repite n2 - 1 veces,
multiplicando el resultado por n1 en cada repeticion. Finalmente, devuelve el resultado de
la multiplicación.
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
GUIA DE PRACTICA DE LABORATORIO /TALLER

La tercera Función: division(num1, num2) se realizó la división de dos números enteros


utilizando restas sucesivas. Comienza inicializando el cociente en 0 y el residuo en num1.
Luego, mientras el residuo sea mayor o igual que num2, se resto num2 del residuo y se
incrementó el cociente en 1. Al finalizar, devuelve tanto el cociente como el residuo.
La cuarta Función: productoR(a, b) esta función se realizó el producto de dos números
enteros de forma recursiva. Si alguno de los números es 0, devuelve 0 como resultado. Si
“a” es igual a 1, devuelve “b” como resultado. En caso contrario, realiza la suma de a y la
llamada recursiva a productoR con los valores a y b - 1.
El programa principal muestra un menú con las diferentes operaciones disponibles. Según
la opción seleccionada por el usuario, solicita los valores necesarios y realiza la operación
correspondiente utilizando las funciones mencionadas anteriormente. Los resultados se
imprimen en la salida estándar.
Conclusión
En conclusión, este programa permite realizar operaciones de suma, multiplicación,
división y producto de forma recursiva utilizando diferentes enfoques algorítmicos con la
ayuda de funciones que son invocadas según sea necesario; de esta forma se comprendió de
mejor forma el uso de funciones para reducir el uso de líneas de código innecesarias y asi
ser más eficiente al momento de programar algún tipo de programa.
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
GUIA DE PRACTICA DE LABORATORIO /TALLER

Anexos
def sumaR(n1, n2):
print("", n1, "*", n2, "=", end="")

def sub_sumar(n2):
while n2 > 0 and n1 > 0:
limite = 0
while n2 > 0:
limite += n1
n2 -= 1
if n2 >= 1:
print("", n1, "+", end=" ")
print("", n1, end=" ")
print("=", limite)

sub_sumar(n2)

def mulT(n1, n2):


print("", n1, "**", n2, "=", end="")

def sub_sumar(n2):
while n2 > 0:
limite = n1
while n2 > 1:
limite *= n1
n2 -= 1
if n2 >= 1:
print("", n1, "x", end=" ")
n2 -= 1
print("", n1, " ", end=" ")
print("=", limite)

sub_sumar(n2)
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
GUIA DE PRACTICA DE LABORATORIO /TALLER

def division(num1, num2):


if num2 == 0:
return "Error: No se puede dividir entre cero."
cociente = 0
residuo = num1

while residuo >= num2:


residuo -= num2
cociente += 1

print("Cociente:", cociente)
print("Residuo:", residuo)

def productoR(a, b):


if a == 0 or b == 0:
return 0
elif a == 1:
return b
elif b == 1:
return a
else:
return a + productoR(a, b - 1)

def solicitar_numeros():
num1 = int(input("Ingrese el primer número: "))
num2 = int(input("Ingrese el segundo número: "))

resultado = productoR(num1, num2)

print("El producto de", num1, "y", num2, "es:", resultado)

opcion = input("¿Desea realizar otro cálculo? (si/no): ")


if opcion.lower() == "si":
solicitar_numeros()
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
GUIA DE PRACTICA DE LABORATORIO /TALLER

# Programa principal
print("Bienvenido - Laboratorio 2 Segundo parcial")

print("1. Suma mediante sumas sucesivas")


print("2. Multiplicación mediante sumas sucesivas")
print("3. División mediante restas sucesivas")
print("4. Producto de dos números de forma recursiva")
opcion = int(input("Seleccione la operación a realizar (1/2/3/4): "))

if opcion == 1:
num1 = int(input("Ingrese el primer valor: "))
num2 = int(input("Ingrese el segundo valor: "))

while num1 == 0:
print("", num1, "*", num2, "= 0")
num1 = int(input("Ingrese otro valor: "))

while num2 == 0:
print("", num1, "*", num2, "= 0")
num2 = int(input("Ingrese otro valor: "))

if num1 != 0 and num2 != 0:


sumaR(num1, num2)

elif opcion == 2:
num1 = int(input("Ingrese el primer valor: "))
num2 = int(input("Ingrese el segundo valor: "))

while num1 == 0:
print("", num1, "**", num2, "= 0")
num1 = int(input("Ingrese un valor: "))

while num2 == 0:
print("", num1, "**", num2, "= 1")
num2 = int(input("Ingrese otro valor: "))
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN
GUIA DE PRACTICA DE LABORATORIO /TALLER

if num1 != 0 and num2 != 0:


mulT(num1, num2)

elif opcion == 3:
num1 = int(input("Ingrese el numerador: "))
num2 = int(input("Ingrese el denominador: "))
division(num1, num2)

elif opcion == 4:
solicitar_numeros()

else:
print("Opción no válida.")

Bibliografía
Bustamante J., S. (21 de Febrero de 2021). freeCodeCamp. Obtenido de Guía de funciones
de Python con ejemplos: https://www.freecodecamp.org/espanol/news/guia-de-
funciones-de-python-con-ejemplos/
Londoño, P. (5 de Octubre de 2022). HubSpot. Obtenido de Guía básica de funciones en
Python: qué son y 8 ejemplos: https://blog.hubspot.es/website/funciones-
python#:~:text=Una%20funci%C3%B3n%20en%20Python%20(y,voluntad%20par
a%20repetir%20dicha%20tarea.&text=Las%20funciones%20nos%20ayudan%20a,f
%C3%A1cil%20de%20leer%20y%20entender.
Masip Rodó, D. (2018). cloudfront.net. Obtenido de El lenguaje Python:
https://d1wqtxts1xzle7.cloudfront.net/32652932/Inteligencia-Artificial-Lenguaje-
Python-libre.pdf?1391197918=&response-content-
disposition=inline%3B+filename%3DEl_lenguaje_Python.pdf&Expires=16882830
01&Signature=MDNolfOOyej1BnMmjoxugBn9i8~5Iuvb4qkOmkNn1jVa

También podría gustarte