´ EJERCICIOS DE PROGRAMACION Ejercicio 1 Considerar la funci´ on f : R2 → R definida por: f (x, y) = x2 − xy + y, escribir un fragmento de c´ odigo que lea desde el teclado dos enteros no negativos a y b y escriba una tabla de valores para f en todos los puntos de coordenadas enteras dentro del rect´ angulo [−a, a] × [−b, b]. Ejercicio 2 El ´ angulo α entre dos vectores x, y ∈ Rn se define a partir de su producto interno x, y : x, y cos α = x, x 1 2 y, y 1 2 . Escribir una funci´ on que reciba los vectores x, y como arreglos de elementos de tipo double y retorne el valor de α. Emplear la declaraci´ on: double ang_xy(double *x, double *y, int n); Ejercicio 3 Dados una funci´ on f : R2 → R y un vector u ∈ R2 , la derivada direccional de f en la direcci´ on de u est´ a definida por f (x + εu) − f (x) fu (x) := lim (1) ε→0 ε u para x = (x1 , x2 ) ∈ R2 y ε ∈ R+ . Escribir un programa para calcular las derivadas direccionales de: 1/4 f (x) := sin(x1 + x2 ) cos x2 + x1 − x32 . 1. Implementar una funci´ on para evaluar f en un punto determinado compatible con la declaraci´ on: double f(double *x); 2. Implementar una funci´ on para calcular una aproximaci´ on de la derivada direccional de f de acuerdo a la ecuaci´ on (1). Usar la declaraci´ on: double derivada(double *x, double *u, double epsilon); 3. Evaluar la derivada direccional de f en el punto x := (x1 , x2 ) ingresados desde pantalla y u = 2π (cos( 2π 5 ), sin( 5 ) Ejercicio 4 Dada una funci´ on real f , un m´etodo para resolver la ecuaci´ on f (x) = 0 es el siguiente: 1. Definir una tolerancia T > 0. 2. Buscar dos valores a, b ∈ R tales que f (a) > T y f (b) < −T . 3. Hacer c := 12 (a + b) y calcular el valor de f (c). 4. Si f (c) est´ a en el intervalo [−T ; T ], terminar y retornar como respuesta el valor de c. 5. Si f (c) > T , hacer a := c y regresar al paso 3. 6. Si f (c) < −T , hacer b := c y regresar al paso 3. Implementar este algoritmo como un programa en C++ para resolver la ecuaci´ on x3 − 4x2 − 3x + 12 = 0. Usar un valor de tolerancia de T = 0.0001; leer desde el teclado los valores iniciales de a y b. Desplegar en la pantalla la soluci´ on obtenida. Ejercicio 5 Escribir una funci´ on que reciba como par´ ametro un arreglo x de elementos de tipo entero, junto con su dimensi´ on n. La funci´ on debe retornar un arreglo z con los elementos del x pero ordenados ascendentemente. Utilizar la declaraci´ on: void ordenar(const int x[], int n, int z[]); Ejemplo: Si x = (1, 2, 0, 3, 2,-6, 4, -3, 7), la funci´ on debe producir el arreglo z=(-6, -3, 0,1, 2, 2, 3, 4, 7). 1
© Copyright 2024 ExpyDoc