Práctica 7 1 El producto escalar de dos vectores x = (xi )i=1..n , y = (yi )i=1..n ∈ Rn es el número real n xy = X xi yi i=1 Representar esta operación mediante un procedimiento, suponiendo que los vectores x e y se representan como listas de sus componentes: (x1 , x2 , . . . , xi , . . . , xn ) ←→ (x1 x2 . . . xi . . . xn ) 2 2.1 Defı́nase un procedimiento suma-lista que admita como argumento una lista de números y devuelva la suma de sus elementos. (suma-lista (list 3 5 1 3 1 5)) ==> 18 2.2 Análogamente, defı́nase un procedimiento prod-lista que admita como argumento una lista de números y devuelva el producto de sus elementos. (prod-lista (list 3 5 1 3 1 5)) ==> 225 2.3 Con mayor generalidad, defı́nase un procedimiento acumula-lista que admita como argumentos – una operación binaria asociativa op en un conjunto S con elemento unidad u – el elemento unidad u de dicha operación, y – una lista de elementos del conjunto S. (acumula-lista op u lista) deberá devolver el resultado de aplicar la operación a los elementos de lista. 3 La media aritmética de una sucesión finita (ri )i=1..n de números reales es el cociente Pn i=1 ri n 1 3.1 Defı́nase un procedimiento que represente la media aritmética, suponiendo que se utilizan las listas para representar las sucesiones finitas de números reales. 3.2 Defı́nase un procedimiento que admita como argumento una nube de puntos y devuelva su baricentro. 3.3 Defı́nase un procedimiento traslada-nube que admita como argumento una nube de puntos ndp. La evaluación de (traslada-nube ndp) deberá devolver la nube de puntos que resulta de trasladar ndp de tal modo que el baricentro de ndp se sitúe en el origen de coordenadas. 4 4.1 Defı́nir un procedimiento cuadrados que admita como argumento una lista de números reales y devuelva la lista de sus cuadrados. 4.2 Análogamente, defı́nir un procedimiento cubos que admita como argumento una lista de números reales y devuelva la lista de sus cubos. 4.3 Con mayor generalidad, defı́nir un procedimiento aplica que admita como argumentos una función f (representada como un procedimiento) y una lista de posibles argumentos de f. (aplica f lista) deberá devolver la lista que resulta de aplicar f a los elementos de lista. 2