![Page 1: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/1.jpg)
Pontificia Universidad Catolica de ChileEscuela de IngenierıaDepartamento de Ciencias de la Computacion
Clase 23: Ejercicios Examen (parte 2)
Rodrigo Toro Icarte ([email protected])
IIC1103 Introduccion a la Programacion - Seccion 5
17 de Abril, 2015
![Page 2: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/2.jpg)
Hoy Ejercicios Nos vemos!
Examen
Temario examen:
Control de Flujo.
Funciones.
Strings.
Lectura y Escritura de Archivos.
Listas.
Busqueda y Ordenamiento.
Programacion Orientada a Objetos.
Recursion.
Backtracking.
2
![Page 3: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/3.jpg)
Hoy Ejercicios Nos vemos!
Examen
Hoy:
Control de Flujo.
Funciones.
Strings.
Lectura y Escritura de Archivos.
Listas.
Busqueda y Ordenamiento.
Programacion Orientada a Objetos.
Recursion.
Backtracking.
3
![Page 4: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/4.jpg)
Hoy Ejercicios Nos vemos!
POO
Un banco te pide disenar un programa que permita manejar lascuentas bancarias de sus clientes. Para ellos es fundamentalllevar un registro de todas las transacciones realizadas por uncliente (los montos depositados y retirados). Cada cliente puedetener varias cuentas bancarias, y cada cuenta bancaria debetener una lista de transacciones realizadas sobre ella (dinero queentra y sale).
4
![Page 5: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/5.jpg)
Hoy Ejercicios Nos vemos!
POO
Para ello implemente las siguientes clases (con sus respectivosconstructores):
Clase Atributos Metodos
Movimiento- fecha- monto
CuentaBancaria- balance- movimientos
+ retirar(monto)+ depositar(monto)
Persona- nombre- rut- cuentas
+ agregar cuenta()+ retirar(id, monto)+ depositar(id, monto)+ mostrar detalle()
5
![Page 6: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/6.jpg)
Hoy Ejercicios Nos vemos!
POO
a) Implementa el constructor de la clase Movimiento, queinicialice sus atributos monto y fecha. Para la fecha utiliza lafuncion datetime.now() de la librerıa datetime.
1 import datetime
2
3 class Movimiento:
4 def __init__(self ,monto):
5 self.fecha = datetime.datetime.now()
6 self.monto = monto
6
![Page 7: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/7.jpg)
Hoy Ejercicios Nos vemos!
POO
a) Implementa el constructor de la clase Movimiento, queinicialice sus atributos monto y fecha. Para la fecha utiliza lafuncion datetime.now() de la librerıa datetime.
1 import datetime
2
3 class Movimiento:
4 def __init__(self ,monto):
5 self.fecha = datetime.datetime.now()
6 self.monto = monto
6
![Page 8: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/8.jpg)
Hoy Ejercicios Nos vemos!
POO
b) Implementa la clase CuentaBancaria:
Atributos:
balance: Dinero actual en la cuenta.movimientos: Lista con los movimientos.
Metodos:
retirar(monto): Usuario agrega monto a su cuenta.depositar(monto): Usuario retira monto de su cuenta.
7
![Page 9: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/9.jpg)
Hoy Ejercicios Nos vemos!
POO
8 class CuentaBancaria:
9 def __init__(self):
10 self.balance = 0
11 self.movimientos = []
12
13 def retirar(self ,monto):
14 self.balance -= monto
15 self.movimientos.append(Movimiento(-monto))
16
17 def depositar(self ,monto):
18 self.balance += monto
19 self.movimientos.append(Movimiento(monto))
8
![Page 10: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/10.jpg)
Hoy Ejercicios Nos vemos!
POO
c) Implementa la clase Cliente:
Atributos:
nombre
rut
cuentas: Lista de cuentas.
Metodos:
agregar cuenta(): Agrega una nueva cuenta vacıa alcliente.retirar(id,monto): Retira monto de la cuenta id.depositar(id,monto): Deposita monto en la cuenta id.mostrar detalle(): Muestra en consola los datos delcliente (nombre y rut), y el detalle de cada una de suscuentas (todas sus transacciones y el balance actual).
9
![Page 11: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/11.jpg)
Hoy Ejercicios Nos vemos!
POO
22 class Cliente:
23 def __init__(self ,nombre ,rut):
24 self.nombre = nombre
25 self.rut =rut
26 self.cuentas = []
27
28 def agregar_cuenta(self):
29 self.cuentas.append(CuentaBancaria ())
30
31 def retirar(self ,num_cuenta , monto):
32 self.cuentas[num_cuenta ]. retirar(monto)
33
34 def depositar(self ,num_cuenta , monto):
35 self.cuentas[num_cuenta ]. depositar(monto)
10
![Page 12: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/12.jpg)
Hoy Ejercicios Nos vemos!
POO
37 def mostrar_detalle_cuentas(self):
38 print("Titular:",self.nombre)
39 print("Rut:",self.rut)
40 for i in range(len(self.cuentas)):
41 print("\nCuenta:",i,"----------")
42 for m in self.cuentas[i]. movimientos:
43 print(m.fecha ,m.monto)
44 print("Balance:",self.cuentas[i]. balance)
11
![Page 13: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/13.jpg)
Hoy Ejercicios Nos vemos!
POO
Finalmente:
Crea el cliente Aldo Verri (RUT: 3.000.000-0).
Agregale 3 cuentas.
En la cuenta 0 agregar $100.000.
En la cuenta 2 agregar $200.000.
Retirar de todas las cuentas $10.000.000.
Muestra el detalle del cliente luego de las transaccionesrealizadas.
12
![Page 14: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/14.jpg)
Hoy Ejercicios Nos vemos!
POO
46 c = Cliente("Aldo Verry","3.000.000 -0")
47 for i in range (3):
48 c.agregar_cuenta ()
49 c.depositar (0 ,100000)
50 c.depositar (2 ,200000)
51 for i in range (3):
52 c.retirar(i ,10000000)
53 c.mostrar_detalle_cuentas ()
13
![Page 15: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/15.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Implementa una funcion recursiva para obtener el numeromaximo de una lista.
1 def maximo(l):
2 if(len(l) == 1):
3 return l[0]
4 m = maximo(l[1:])
5 if(l[0] > m):
6 return l[0]
7 else:
8 return m
Ejemplo: maximo([3,4,7,2])
14
![Page 16: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/16.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Implementa una funcion recursiva para obtener el numeromaximo de una lista.
1 def maximo(l):
2 if(len(l) == 1):
3 return l[0]
4 m = maximo(l[1:])
5 if(l[0] > m):
6 return l[0]
7 else:
8 return m
Ejemplo: maximo([3,4,7,2])
14
![Page 17: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/17.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Implementa una funcion recursiva para obtener el numeromaximo de una lista.
1 def maximo(l):
2 if(len(l) == 1):
3 return l[0]
4 m = maximo(l[1:])
5 if(l[0] > m):
6 return l[0]
7 else:
8 return m
Ejemplo: maximo([3,4,7,2])
14
![Page 18: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/18.jpg)
Hoy Ejercicios Nos vemos!
Recursion
15
![Page 19: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/19.jpg)
Hoy Ejercicios Nos vemos!
Recursion
16
![Page 20: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/20.jpg)
Hoy Ejercicios Nos vemos!
Recursion
17
![Page 21: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/21.jpg)
Hoy Ejercicios Nos vemos!
Recursion
18
![Page 22: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/22.jpg)
Hoy Ejercicios Nos vemos!
Recursion
19
![Page 23: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/23.jpg)
Hoy Ejercicios Nos vemos!
Recursion
20
![Page 24: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/24.jpg)
Hoy Ejercicios Nos vemos!
Recursion
21
![Page 25: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/25.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Implementa la busqueda binaria en forma recursiva.
Input:
l: Lista ordenada de numeros.
n: Numero particular.
Retorno: True ssi n se encuentra en l.
Algoritmo:
Ver valor central i.
Si n == l[i]: Retornar True.
Si n < l[i]: Buscar en mitad izquierda de l.
Si n > l[i]: Buscar en mitad derecha de l.
22
![Page 26: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/26.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Implementa la busqueda binaria en forma recursiva.
Input:
l: Lista ordenada de numeros.
n: Numero particular.
Retorno: True ssi n se encuentra en l.
Algoritmo:
Ver valor central i.
Si n == l[i]: Retornar True.
Si n < l[i]: Buscar en mitad izquierda de l.
Si n > l[i]: Buscar en mitad derecha de l.
22
![Page 27: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/27.jpg)
Hoy Ejercicios Nos vemos!
Recursion
1 def bb(l,n):
2 if(len(l) == 0):
3 return False
4 i = len(l)//2
5 if(l[i] == n):
6 return True
7 if(n < l[i]):
8 return bb(l[:i],n)
9 if(n > l[i]):
10 return bb(l[i+1:],n)
Ejemplo: bb([1,3,5,7,9],4)
23
![Page 28: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/28.jpg)
Hoy Ejercicios Nos vemos!
Recursion
1 def bb(l,n):
2 if(len(l) == 0):
3 return False
4 i = len(l)//2
5 if(l[i] == n):
6 return True
7 if(n < l[i]):
8 return bb(l[:i],n)
9 if(n > l[i]):
10 return bb(l[i+1:],n)
Ejemplo: bb([1,3,5,7,9],4)
23
![Page 29: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/29.jpg)
Hoy Ejercicios Nos vemos!
Recursion
24
![Page 30: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/30.jpg)
Hoy Ejercicios Nos vemos!
Recursion
25
![Page 31: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/31.jpg)
Hoy Ejercicios Nos vemos!
Recursion
26
![Page 32: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/32.jpg)
Hoy Ejercicios Nos vemos!
Recursion
27
![Page 33: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/33.jpg)
Hoy Ejercicios Nos vemos!
Recursion
28
![Page 34: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/34.jpg)
Hoy Ejercicios Nos vemos!
Recursion
29
![Page 35: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/35.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Problema de la mochila 0/1
Se tiene una mochila que aguanta un peso maximo v en ella, yuna lista de objetos con pesos y beneficios conocidos. Encontrarla combinacion de objetos que deberıa meter en la mochila talque la suma de sus beneficios sea maxima, y la suma de suspesos sea ≤ v.
30
![Page 36: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/36.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Ejemplo:
L = [[1,2],[1.5,1],[0.5,3]], donde L[i][0] es el pesodel objeto L[i], y L[i][1] es su beneficio.
v = 2.
Opciones:
Items Peso Beneficio
0 1 21 1.5 12 0.5 3
1, 2 2 40, 2 1.5 5
31
![Page 37: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/37.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Idea solucion: En cada paso decido si llevo o no el item cerode la lista.
Caso base: Lista vacıa o volumen negativo de la mochila.Llamado recursivo: Retornar maximo entre llevar L[0] y nollevarlo.
1 def mochila(L,v):
2 if(v <= 0 or len(L) == 0):
3 return 0
4 uso = L[0][1] + mochila(L[1:],v-L[0][0])
5 no_uso = mochila(L[1:],v)
6 return max([uso ,no_uso ])
32
![Page 38: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/38.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Idea solucion: En cada paso decido si llevo o no el item cerode la lista.
Caso base: Lista vacıa o volumen negativo de la mochila.
Llamado recursivo: Retornar maximo entre llevar L[0] y nollevarlo.
1 def mochila(L,v):
2 if(v <= 0 or len(L) == 0):
3 return 0
4 uso = L[0][1] + mochila(L[1:],v-L[0][0])
5 no_uso = mochila(L[1:],v)
6 return max([uso ,no_uso ])
32
![Page 39: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/39.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Idea solucion: En cada paso decido si llevo o no el item cerode la lista.
Caso base: Lista vacıa o volumen negativo de la mochila.Llamado recursivo: Retornar maximo entre llevar L[0] y nollevarlo.
1 def mochila(L,v):
2 if(v <= 0 or len(L) == 0):
3 return 0
4 uso = L[0][1] + mochila(L[1:],v-L[0][0])
5 no_uso = mochila(L[1:],v)
6 return max([uso ,no_uso ])
32
![Page 40: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/40.jpg)
Hoy Ejercicios Nos vemos!
Recursion
Idea solucion: En cada paso decido si llevo o no el item cerode la lista.
Caso base: Lista vacıa o volumen negativo de la mochila.Llamado recursivo: Retornar maximo entre llevar L[0] y nollevarlo.
1 def mochila(L,v):
2 if(v <= 0 or len(L) == 0):
3 return 0
4 uso = L[0][1] + mochila(L[1:],v-L[0][0])
5 no_uso = mochila(L[1:],v)
6 return max([uso ,no_uso ])
32
![Page 41: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/41.jpg)
Hoy Ejercicios Nos vemos!
Recursion
33
![Page 42: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/42.jpg)
Hoy Ejercicios Nos vemos!
Recursion
34
![Page 43: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/43.jpg)
Hoy Ejercicios Nos vemos!
Recursion
35
![Page 44: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/44.jpg)
Hoy Ejercicios Nos vemos!
Recursion
36
![Page 45: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/45.jpg)
Hoy Ejercicios Nos vemos!
Recursion
37
![Page 46: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/46.jpg)
Hoy Ejercicios Nos vemos!
Recursion
38
![Page 47: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/47.jpg)
Hoy Ejercicios Nos vemos!
Recursion
39
![Page 48: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/48.jpg)
Hoy Ejercicios Nos vemos!
Recursion
40
![Page 49: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/49.jpg)
Hoy Ejercicios Nos vemos!
Recursion
41
![Page 50: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/50.jpg)
Hoy Ejercicios Nos vemos!
Recursion
42
![Page 51: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/51.jpg)
Hoy Ejercicios Nos vemos!
Recursion
43
![Page 52: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/52.jpg)
Hoy Ejercicios Nos vemos!
Recursion
44
![Page 53: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/53.jpg)
Hoy Ejercicios Nos vemos!
Recursion
45
![Page 54: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/54.jpg)
Hoy Ejercicios Nos vemos!
Recursion
46
![Page 55: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/55.jpg)
Hoy Ejercicios Nos vemos!
Recursion
47
![Page 56: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/56.jpg)
Hoy Ejercicios Nos vemos!
Recursion
48
![Page 57: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/57.jpg)
Hoy Ejercicios Nos vemos!
Recursion
49
![Page 58: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/58.jpg)
Hoy Ejercicios Nos vemos!
Recursion
50
![Page 59: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/59.jpg)
Hoy Ejercicios Nos vemos!
Recursion
51
![Page 60: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/60.jpg)
Hoy Ejercicios Nos vemos!
Recursion
52
![Page 61: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/61.jpg)
Hoy Ejercicios Nos vemos!
Recursion
53
![Page 62: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/62.jpg)
Hoy Ejercicios Nos vemos!
Recursion
54
![Page 63: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/63.jpg)
Hoy Ejercicios Nos vemos!
Recursion
55
![Page 64: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/64.jpg)
Hoy Ejercicios Nos vemos!
Recursion
56
![Page 65: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/65.jpg)
Hoy Ejercicios Nos vemos!
Recursion
57
![Page 66: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/66.jpg)
Hoy Ejercicios Nos vemos!
Recursion
58
![Page 67: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/67.jpg)
Hoy Ejercicios Nos vemos!
Recursion
59
![Page 68: Clase 23: Ejercicios Examen (parte 2)rntoro/intro/23/C23.pdf · 2020. 5. 10. · Ponti cia Universidad Cat olica de Chile Escuela de Ingenier a Departamento de Ciencias de la Computaci](https://reader033.vdocumento.com/reader033/viewer/2022060904/609fdc2183e88a5db575cd9c/html5/thumbnails/68.jpg)
Hoy Ejercicios Nos vemos!
Nos vemos!
Eso fue todo, que les vaya bien en el examen :)
60