Ejercicio Recuperación - Problema 1. Distancia de Manhattan… · Programació II UDL 2010
Tema: Recursión: diseño, traza y diagramas de llamadas · Del examen Exámenes de Recuperación y Tercer Parcial de Programación 2 (Curso 2010/2011) (2010)
Enunciado
Dados dos vectores de números reales en doble precisión ( double[]) que cuentan con la misma longitud, se pretende programar una función que halle la distancia de Manhattan existente entre ellos. Dicha métrica responde a la siguiente formulación matemática:Considerando que en Java los índices de un vector se indexan a partir del valor 0, la signatura del método público principal es: public double manhattan(double[] a, double[] b) {
//...
} Con el fin de posibilitar la recursividad, es necesario introducir un parámetro complementario que determine la posición o segmento del vector sobre el que se opera: public double manhattan(double[] a, double[] b, int pos) {
//...
}
a)
Escribir la implementación de la función recursiva manhattan(double[] a, double[] b, int pos), justificando de forma explícita el caso base, el paso inductivo y el esquema de avance.
public double manhattan(double[] a, double[] b, int pos) { }
b)
Escribir la llamada inicial correspondiente que debe realizarse desde el método manhattan(double[] a, double[] b) para evaluar los vectores al completo.
public double manhattan(double[] a, double[] b) { }

Solución
Según los criterios oficiales de corrección
a. Escribir la implementación de la función recursiva manhattan(double[] a, double[] b, int pos) , justificando de forma explícita el caso base, el paso inductivo y el esquema de avance.
Solución: ```java if (pos >= a.length) { return 0.0; } return Math.abs(a[pos] - b[pos]) + manhattan(a, b, pos + 1); ```
b. Escribir la llamada inicial correspondiente que debe realizarse desde el método manhattan(double[] a, double[] b) para evaluar los vectores al completo.
Solución: ```java return manhattan(a, b, 0); ```
La explicación paso a paso, hecha con IA, es Premium. Premium
Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.