Introducción a los Algoritmos. Eduardo Andrés Espinoza Muñoz Estructuras de Datos Instituto IACC 24 de Septiembre del 2017.
INSTRUCCIONES: Lea detenidamente el enunciado y complete la tabla de especificaciones y
algoritmos. Luego responda las preguntas. Se necesita calcular la cantidad de cerámica necesaria para cubrir el piso de un departamento (CantCer). Para resolver esto, es necesario dividir y calcular el problema por partes. Primero es necesario calcular la superficie del departamento (SupDep) cuya forma es cuadrada, al igual que la cerámica (SupCer). Especificación de datos de entrada 1) SupDep
1) SupCer
1) CantCer
2) Calcular la superficie de un 2) ¿?
2) Calcular la cantidad de cerámica a
cuadrado.
utilizar.
3) L(Lado) donde L > 0 y
3) SD (Sup. Dpto.), SC (Sup. Cer.)
número real
donde ¿?
4) Su(Superficie) donde L > 0
4) CC (Cant. Cer) donde ¿? > 0 y es
y es número real
número real
5) Su = ¿?
5) CC = ¿? / ¿?
Algoritmos a ejecutar Inicio ¿?
Inicio
Inicio
Leer (L);
Leer (¿?);
Su ← ¿? * ¿?;
Leer (¿?);
Escribir (¿?); Fin.
CC ← SD / SC; ¿?; Fin.
Desarrollo
1) ¿Qué clasificación de algoritmo se usó? Justifique su respuesta. Respuesta: El algoritmo es del tipo Cuantitativo, ya que este tipo de algoritmo se define como
aquel que nos permite solucionar un problema de naturaleza numérica, debemos considerar que todo tipo de algoritmo debe contar con las estas 3 partes:
Entrada: Son los datos necesarios que el algoritmo necesita para ser ejecutado.
Proceso: Es la secuencia de pasos para ejecutar el algoritmo.
Salida: Son los datos obtenidos después de la ejecución del algoritmo.
Para comenzar a desarrollar el presente, se procederá a realizar un algoritmo en pseudocódigo que sea capaz de calcular el área de un cuadrado, así dependiendo de las medidas ingresadas este entregara el valor de la superficie. Algoritmo calcular_superficie_depto Escribir "ingrese lado" Leer lado. SupDep<-lado*lado Escribir "la superficie a calcular es igual ", SupDep, “metros cuadrados”; FinAlgoritmo Si ingresamos por ejemplo un lado que equivale a 4 metros al ser un cuadrado sus lados son iguales por lo tanto multiplica 4*4, entregando el resultado que el área del cuadrado es igual a 16 metros cuadrados. Después analizando las instrucciones para calcular la superficie de la cerámica utilizaré la misma lógica del algoritmo anterior, es decir cuantitativa, ya que al igual que la superficie del
departamento, la superficie de la cerámica en una operación cuadrática, que equivale a la multiplicación de lado por lado, por lo tanto si un lado equivale a 3 metros el valor multiplicado por si misma seria igual a 16. Este será el resultado del cálculo de superficie de cerámica (Sup. Cer.). Finalmente para desarrollar la tercera parte del problema se realiza un algoritmo en Pseint, donde se aplica la lógica de lo demostrado en el tercer recuadro de las instrucciones y se calcula cantidad de cerámica sumando ambas superficies y dividiéndolas en 2 entregando la cantidad de cerámica a utilizar en metros cuadrados. Algoritmo:
Algoritmo calcular_cc Escribir "Ingrese datos " Escribir "Superficie departamento" Leer sup_dep Escribir "Superficie cerámica" Leer sup_cer Promedio = (sup_dep + sup_cer) /2 Escribir "La cantidad de cerámica a utilizar es ", Promedio, " Metros Cuadrados"; FinAlgoritmo Imagen algoritmo funcionando
2) ¿Cuál es la complejidad del algoritmo utilizado? Justifique su respuesta. Respuesta: La complejidad del algoritmo es de tipo
cuadrática, este tipo de complejidad
aparece en bucles o ciclos doblemente anidados. Si n se duplica, el tiempo de ejecución aumenta cuatro veces, en el caso planteado se pide calcular los metros cuadrados de la superficie donde irán instalados los cerámicos. En este tipo de algoritmos se enumeran todas las parejas posibles, conformadas en un conjunto, su comportamiento viene dado por una función de polinomio, por lo que se dificulta obtener un comportamiento calculado de forma sencilla, es decir se deben realizar varios pasos para poder llegar a obtener el resultado final.
3) ¿Es aplicable el Método Voraz en este caso? Justifique su respuesta Respuesta: En el caso planteado no es aplicable el método Voraz, ya que este se refiere a la
búsqueda de un valor dentro de una función, bien sea un máximo o un mínimo, el método voraz ofrece una solución a través de una secuencia de decisiones irreversibles y que evalúa un elemento una sola vez, el cual es descartado o seleccionado para que forme parte de la solución del problema presentado, en el caso planteado se nos indica lo siguiente: “Para resolver esto, es necesario dividir y calcular el problema por partes. Primero es necesario calcular la superficie del departamento (SupDep) cuya forma es cuadrada, al igual que la cerámica (SupCer)”, sin embargo para este caso es aplicable el método Top-Down (arriba-abajo), el cual consiste en determinar los niveles de complejidad que permitan solucionar un problema, ordenándolos de mayor a menor, al igual que el método divide y vencerás, con top-down el problema base se divide en subproblemas para ser atacados uno a uno, de manera más sencilla.
Bibliografía
IACC (2016). Introducción a los algoritmos. Estructuras de Datos. Semana 1.