f(x, y) - E.P.N.

´
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