Ejercicios: Abstracción, análisis de soluciones alternativas y generalización
Explica con tus palabras qué es la abstracción en computación. Luego muestra, con el ejemplo del mapa de la red del Metro de Santiago, qué detalles de la realidad se…
Explica con tus palabras qué es la abstracción en computación. Luego muestra, con el ejemplo del mapa de la red del Metro de Santiago, qué detalles de la realidad se dejan de lado y qué información se conserva.
Un programa calcula el área de un rectángulo con las instrucciones 5 * 3 y, más abajo, 8 * 2. Otra versión define una función area(base, altura) que devuelve base *…
Un programa calcula el área de un rectángulo con las instrucciones 5 * 3 y, más abajo, 8 * 2. Otra versión define una función area(base, altura) que devuelve base * altura. Explica qué se generaliza en la segunda versión y qué ventaja tiene sobre la primera.
Indica para cada situación si conviene organizar los datos en una lista, en una tabla de registros (varios campos por elemento) o en una sola variable. Justifica…
Indica para cada situación si conviene organizar los datos en una lista, en una tabla de registros (varios campos por elemento) o en una sola variable. Justifica brevemente cada elección:
- a) Las siete notas de un estudiante en una asignatura.
- b) El nombre, el curso y el RUT de cada estudiante de un liceo.
- c) El número de estudiantes presentes hoy en la sala.
Para encontrar el mayor valor de una lista de números se proponen dos soluciones. En la solución 1 se recorre la lista una vez, guardando el mayor encontrado hasta el…
Para encontrar el mayor valor de una lista de números se proponen dos soluciones. En la solución 1 se recorre la lista una vez, guardando el mayor encontrado hasta el momento. En la solución 2 se ordena la lista de menor a mayor y se toma el último elemento.
- a) Explica en qué consiste cada solución y por qué ambas son correctas.
- b) Compara ambas en cuanto a cantidad de trabajo y simplicidad.
- c) Indica en qué caso la solución 2 podría ser útil de todos modos.
La biblioteca de un liceo quiere registrar sus libros en un programa. De cada libro interesa el título, el autor, el año de publicación y si está disponible o prestado.…
La biblioteca de un liceo quiere registrar sus libros en un programa. De cada libro interesa el título, el autor, el año de publicación y si está disponible o prestado.
- a) Propón una estructura de datos adecuada (por ejemplo, una tabla o una lista de registros) y define el tipo de dato de cada campo.
- b) Indica qué características de un libro real se dejan fuera (se abstraen) y por qué es razonable hacerlo.
- c) Describe cómo buscarías todos los libros disponibles de un mismo autor.
Un programa calcula el IVA del 19 % de tres productos con tres bloques de código casi idénticos: a) Reescribe la solución usando una función con un parámetro y un ciclo,…
Un programa calcula el IVA del 19 % de tres productos con tres bloques de código casi idénticos:
iva1 ← precio1 * 0,19
iva2 ← precio2 * 0,19
iva3 ← precio3 * 0,19
- a) Reescribe la solución usando una función con un parámetro y un ciclo, o una lista de precios.
- b) Explica qué parte del problema se generalizó.
- c) Indica qué ventaja tendría esa versión si el IVA cambiara o si hubiera 500 productos.
Un colegio guarda una lista de 1.000 apellidos de estudiantes y necesita saber si un apellido está en ella. Se proponen dos soluciones. La búsqueda lineal revisa los…
Un colegio guarda una lista de 1.000 apellidos de estudiantes y necesita saber si un apellido está en ella. Se proponen dos soluciones. La búsqueda lineal revisa los apellidos uno por uno desde el inicio. La búsqueda binaria exige que la lista esté ordenada alfabéticamente y, en cada paso, compara con el elemento del medio y descarta la mitad de la lista.
- a) Indica cuántas comparaciones haría como máximo la búsqueda lineal.
- b) Estima cuántas comparaciones haría como máximo la búsqueda binaria (puedes usar que $2^{10} = 1.024$).
- c) Argumenta en qué situaciones conviene cada solución, considerando el costo de ordenar la lista y la frecuencia con que se busca.
Se quiere calcular la suma de los números naturales desde 1 hasta $n$. Una solución usa un ciclo que va acumulando la suma. Otra solución usa la fórmula…
Se quiere calcular la suma de los números naturales desde 1 hasta $n$. Una solución usa un ciclo que va acumulando la suma. Otra solución usa la fórmula $\dfrac{n(n+1)}{2}$.
- a) Escribe ambas soluciones en pseudocódigo.
- b) Compara cuántas operaciones requiere cada una para $n = 100$.
- c) Analiza qué ventajas tiene cada una, y explica qué cambiaría si en lugar de sumar los números del 1 al $n$ tuvieras que sumar solo los números pares, mostrando cómo se generalizaría cada solución.