Acciones

Diferencia entre revisiones de «Temas»

De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)

Línea 11: Línea 11:
 
## [http://5lineas.com/files/curso/cfie-cuellar/curso-cuellar-s1-wikis.ppt Las wikis].
 
## [http://5lineas.com/files/curso/cfie-cuellar/curso-cuellar-s1-wikis.ppt Las wikis].
 
## [http://5lineas.com/files/curso/cfie-cuellar/curso-cuellar-s3-web20.ppt La web 2.0].
 
## [http://5lineas.com/files/curso/cfie-cuellar/curso-cuellar-s3-web20.ppt La web 2.0].
 +
 +
Tema 1:
 +
Ejercicio 1
 +
Ejercicio 1.1
 +
Definir la constante  .
 +
Solución:
 +
a:(20+14*sqrt(2))^(1/3);
 +
a:a+(20-14*sqrt(2))^(1/3);
 +
________________________________________
 +
Ejercicio 1.2
 +
Calcular el valor numérico de a. ¿A qué entero se aproxima?
 +
Solución:
 +
float(%);
 +
Se aproxima al entero 4.
 +
Ejercicio 2
 +
Ejercicio 2. Escribir el número  en la forma  , donde a,b,c y d son números racionales.
 +
Nota: Cambiar el valor de la variable %piargs a true y usar radcan para la simplificación de radicales.
 +
Solución:
 +
radcan((sin(pi/3)+cos(pi/3))^9);
 +
Ejercicio 3
 +
Calcular la cifra 149 del número π.
 +
Solución:
 +
fpprec : 149;
 +
bfloat(1000*%pi);
 +
set_display(ascii)$bfloat(1000*%pi);set_display(xml)$
 +
Ejercicio 4
 +
Se considera el polinomio p = x4 − x3 − 7x2 − 8x − 6.
 +
(%i1) p:x^4-x^3-7*x^2-8*x-6$
 +
Ejercicio 4.1.
 +
Calcular las raíces reales de p.
 +
Solución:
 +
solve(x^4-x^3-7*x^2-8*x-6);
 +
Ejercicio 4.2
 +
Factorizar al máximo el polinomio p.
 +
Solución:
 +
factor(x^4-x^3-7*x^2-8*x-6);
 +
Ejercicio 5
 +
Sea  .
 +
(%i1) z: ((1-%i*sqrt(3))/(1+%i))^20$
 +
Ejercicio 5.1
 +
Calcular la parte real y la parte imaginaria de z.
 +
Solución:
 +
rectform(z);
 +
Ejercicio 5.2
 +
Calcular el módulo y el argumento de z.
 +
Solución:
 +
abs(z);
 +
carg(z);
 +
Ejercicio 6
 +
Ejercicio 6.1
 +
Con la ayuda de la representación gráfica, conjeturar el número de soluciones de la ecuación
 +
sinx = 1 − x4.
 +
Solución:
 +
wxplot2D([1-x^4,x],[x,-2,2])$
 +
Ejercicio 6.2
 +
Dar una aproximación de cada solución.
 +
Solución:
 +
find_root(1-x^4,x,-2,2);
 +
Ejercicio 7
 +
Resolver el siguiente sistema lineal en función de los parámetros a,b y c:
 +
 +
Solución:
 +
sist:[x+a*y+a^2*z=0,x+b*y+b^2*z=0,x+c*y+c^2*z=1];
 +
solve(sist,[x,y,z]);
 +
 +
Tema 2:
 +
Ejercicio 1
 +
Sean a y b dos números reales. Se considera la función f definida sobre los números reales por
 +
 +
Ejercicio 1.1
 +
Definir la función f usando el condicional if ... then ... else.
 +
Solución:
 +
f(x):= if x>0 then (e^x-1)/x
 +
elseif x<=0 then a*x+b;
 +
Ejercicio 1.2
 +
limit no puede evaluar expresiones del tipo if...then. Por ello, para determinar el límite de f en cero por la derecha se necesita precisar en qué intervalo se encuentra x. Esto puede hacerse con la función assume.
 +
Escribir la expresión assume(x>0), después calcular el límite de f en cero por la derecha. Se puede eliminar la hipótesis sobre x con forget(x>0).
 +
Solución:
 +
assume(x>0,(e^x-1)/x);
 +
assume(x<=0,a*x+b);
 +
limit((e^x-1)/x,x,0, plus);
 +
Ejercicio 1.3
 +
Deducir el valor de b para el que f es continua en  .
 +
Solución:
 +
 +
Ejercicio 1.4
 +
Calcular la derivada de f en cero por la derecha.
 +
Solución:
 +
'diff(f(x),x)=diff(f(x),x);
 +
Ejercicio 1.5
 +
Calcular el valor de a para el que f es derivable en cero.
 +
Solución:
 +
 +
Ejercicio 2
 +
Sea g la función real definida por 
 +
(%i1)g(x):= 2*x-sqrt(1+x^2)$
 +
Ejercicio 2.1
 +
Calcular los límites de g en más y menos infinito.
 +
Solución:
 +
limit(g(x),x,minf);
 +
limit(g(x),x,inf);
 +
Ejercicio 2.2
 +
Dibujar la gráfica de la función g.
 +
Solución:
 +
plot2d(g(x),[x,-2,2],[y,-5,5]);
 +
Ejercicio 2.3
 +
Calcular g'(x).
 +
Solución:
 +
diff(g(x),x);
 +
Ejercicio 2.4
 +
Resolver la ecuación g(x) = 0.
 +
Solución:
 +
solve(g(x),x);
 +
 +
Ejercicio 2.5
 +
Determinar los intervalos de crecimiento de g.
 +
Solución:
 +
 +
Ejercicio 2.6
 +
Calcular las ecuaciones reducidas de las asíntotas de g.
 +
Solución:
 +
 +
Ejercicio 3
 +
Ejercicio 3.1
 +
Desarrollar cos(3t) en función de cos(t).
 +
Solución:
 +
cos(3*x), trigexpand=true,expand;
 +
Ejercicio 3.2
 +
Desarrollar cos(4t) en función de cos(t)
 +
Solución:
 +
cos(4*x), trigexpand=true,expand;
 +
Ejercicio 3.3
 +
Desarrollar cos(5t) en función de cos(t).
 +
Solución:
 +
cos(5*x), trigexpand=true,expand;
 +
Ejercicio 3.4
 +
Determinar los polinomios Tn de la variable x tales que para todo  ,  para  .
 +
Solución:
 +
 +
Ejercicio 3.5
 +
Representar las funciones T3, T4 y T5 en la misma gráfica.
 +
Solución:
 +
 +
Tema 3:
 +
Ejercicio 1
 +
Ejercicio 1.1.
 +
Asignarle a la variable a el valor 2460 y a la b el 3030.
 +
Solución
 +
a:2460$ b: 3030$
 +
Ejercicio 1.2.
 +
Calcular el conjunto D1 de los divisores positivos de a.
 +
Solución
 +
divisors(a);
 +
Ejercicio 1.3.
 +
Calcular el conjunto D2 de los divisores positivos de b.
 +
Solución
 +
divisors(b);
 +
Ejercicio 1.4.
 +
Calcular, usando la función intersection, el conjunto D de los divisores comunes de a y b.
 +
Solución
 +
S_1: divisors(a);
 +
S_2:divisors(b);
 +
intersection(S_1,S_2);
 +
Ejercicio 1.5.
 +
Calcular el máximo común divisor de a y b.
 +
Solución
 +
Ejercicio 1.6.
 +
Calcular el mínimo común múltiplo de a y b.
 +
Solución
 +
lcm(a,b);
 +
Ejercicio 2
 +
Ejercicio 2.1.
 +
Asignarle a la variable n el valor 2008!
 +
Solución
 +
n: 2008!;
 +
Ejercicio 2.2.
 +
¿Cuántas cifras tiene n en base 10?
 +
Solución
 +
 +
Ejercicio 2.3.
 +
Calcular la descomposición de n en productos de factores primos.
 +
Solución
 +
ifactors(n);
 +
Ejercicio 2.4.
 +
¿Con cuántos ceros termina n?
 +
Solución
 +
 +
Ejercicio 3
 +
Ejercicio 3.1.
 +
Escribir un programa para asignarle a la variable sol3 el término que ocupa la posición 2008 en la sucesión de números primos ordenados de manera creciente.
 +
Solución
 +
 +
Ejercicio 4
 +
Ejercicio 4.1
 +
Escribir un programa para asignarle a la variable sol4 el número de primos inferiores a 100000.
 +
Solución
 +
for i from 1 step 1 thru 100000 do (print(i,”=”,factor(i)));
 +
Ejercicio 5
 +
Ejercicio 5.1.
 +
Escribir un programa para asignarle a la variable sol5 el término que ocupa la posición 9592 en la sucesión de números primos ordenados de manera creciente.
 +
Solución
 +
 +
Ejercicio 5.2.
 +
Comprobar si sol5 es el mayor primo menor que 100000.
 +
Solución
 +
prev_prime(100000);
 +
 +
Tema 4:
 +
Ejercicio 1
 +
Ejercicio 1.1.
 +
La sucesión de Fibonacci está definida como
 +
 +
Definir f[n] como la sucesión de Fibonacci.
 +
Solución:
 +
f[0]:0$
 +
f[1]:1$
 +
f[n]=f[n-1]+f[n-2]$
 +
Ejercicio 1.2.
 +
Definir la lista l1 cuyos elementos son los 20 primeros términos de la sucesión de Fibonacci.
 +
Solución:
 +
makelist([k,f[k]],k,0,19);
 +
Ejercicio 1.3.
 +
Calcular el término que ocupa la posición 20 en la sucesión de Fibonacci.
 +
Solución:
 +
f[20];
 +
Ejercicio 1.4.
 +
Calcular el término de posición 20 de la sucesión de Fibonacci de forma iterativa, usando sólo dos variables: a y b.
 +
Solución:
 +
 +
Ejercicio 1.5.
 +
Definir la sucesión g, que calcule el término n-ésimo de la sucesión de Fibonacci de forma iterativa, usando sólo dos variables: a y b. Usando la función g, calcular el término de posición 20 de la sucesión de Fibonacci.
 +
Solución:
 +
 +
Ejercicio 1.6.
 +
Comprobar si se puede obtener el término 800 de la sucesión de Fibonacci mediante alguna de las dos funciones f ó g.
 +
Solución:
 +
f[800];
 +
Ejercicio 2
 +
Ejercicio 2.1.
 +
Definir s[n] como la suma de los n primeros términos de la sucesión (-1)^(k+1)/k!
 +
Solución:
 +
sum((-1)^(k+1)/k!,k,1,n);
 +
Ejercicio 2.2.
 +
Calcular los valores exactos de s[1], s[2], s[5] y s[9].
 +
Solución:
 +
s[1];
 +
s[2];
 +
s[5];
 +
s[9];
 +
Ejercicio 2.3.
 +
Calcular los valores decimales aproximados de s[20] y s[50].
 +
Solución:
 +
 +
Ejercicio 2.4.
 +
Cargar el paquete simplify_sum y calcular la suma de la serie s[n].
 +
Solución:
 +
load(simplify_sum)$
 +
'sum((-1)^(k+1)/k!,k,1,n)=simplify_sum(sum((-1)^(k+1)/k!,k,1,n));
 +
Ejercicio 3
 +
Un banco presta un capital K al t por ciento anual, que se reembolsa en N años, con anualidades x constante. Sea c[0]=K y sea c[n] el capital pendiente de pagar después de la n-ésima anualidad. Entonces,
 +
c[n+1] = (1+t)*c[n]-x
 +
Ejercicio 3.1.
 +
Expresar c[n] de manera explícita en función de n, K, t y x.
 +
Solución:
 +
c[n]:=(1+t)*c[n-1]-x;
 +
Ejercicio 3.2.
 +
Se sabe que c[N]=0. Deducir el valor de x en función de K, t y N.
 +
Solución:
 +
 +
Ejercicio 3.3.
 +
Calcular el importe de una anualidad, cuando K = 100000, t = 5,5% y N = 15.
 +
Solución:
 +
solve_rec(c[n]=(1+0.055)*c[n-1]-x,c[n],c[0]=100000);
 +
Ejercicio 4
 +
Ejercicio 4.1.
 +
Definir la función f(x) = x/(3-2x).
 +
Solución:
 +
f[x]:=x/(3-2*x);
 +
Ejercicio 4.2.
 +
Definir la sucesión u[n] tal que u0 = 2 y un + 1 = f(un).
 +
Solución:
 +
u[0]:2$
 +
u[n]:=f[u[n]];
 +
Ejercicio 4.3.
 +
Calcular u[1], u[2] y u[9].
 +
Solución:
 +
u[1];
 +
u[2];
 +
u[9];
 +
Ejercicio 4.4.
 +
Dibujar, en la misma gráfica, la función f, la recta de ecuación y=x y los puntos de coordenada (u[k],f(u[k])) para 0<=k<=15.
 +
Solución:
 +
L:makelist([u[k],f(u[k])),k,0,15)$
 +
wxplot2d([f(x),x, [discrete,L]],[x,0,%pi/2],[y,0,2]);
 +
Ejercicio 4.5.
 +
Conjeturar la monotonía de la sucesión u[n] y su limite.
 +
Solución:
 +
limit(u[n],n,inf);
 +
Ejercicio 4.6.
 +
Resolver la ecuación f(x)=x. Llamar a las raices a y b.
 +
Solución:
 +
 +
Ejercicio 4.7.
 +
Definir la sucesión w[n] = (u[n]-a)/(u[n]-b)
 +
Solución:
 +
w[n]:=(u[n]-a)/(u[n]-b);
 +
Ejercicio 4.8.
 +
Calcular los 10 primeros términos de la sucesión w[n].
 +
Solución:
 +
makelist([n,v[n]],n,0,9);
 +
Ejercicio 4.9.
 +
Comprobar que w[n] es una progresión geométrica y calcular su razón.
 +
Solución:
 +
solve_rec(w[n]=(u[n]-a)/(u[n]-b),w[n]);
 +
Ejercicio 4.10.
 +
Deducir la expresión de u[n] en función de n.
 +
Solución:
 +
ratsimp(%);
 +
 +
Tema 5:
 +
Ejercicio 1
 +
Ejercicio 1.1.
 +
Definir la función tangente tal que tangente(f,a) es la ecuación de la tangente a la función f en el punto de abscisa a. Por ejemplo,
 +
  (%i1) (f(x):=x^3, tangente(f,2));
 +
  (%o1) y=12*(x-2)+8
 +
Solución:
 +
tangente(f,a):=block([a],a:2, f(a)+diff(f(a)*(x-a));
 +
Ejercicio 1.2.
 +
Calcular la tangente a f(x)=ln(tan(|x|) en el punto de abscisa -pi/12.
 +
Solución:
 +
tangente(ln(tan(abs(x)),-%pi/12);
 +
Ejercicio 2
 +
Ejercicio 2.1.
 +
Definir el procedimiento signosTrinomio tal que signosTrinomio(a,b,c) es la tabla de la variación de los signos del trinomio ax^2+bx+c. Por ejemplo,
 +
  (%i1) signosTrinomio(1,-2,1);
 +
  (%o1) [[[-inf,1],+],[1,0],[[1,inf],+]]
 +
  (%i2) signosTrinomio(-1,2,-1);
 +
  (%o2) [[[-inf,1],-],[1,0],[[1,inf],-]]
 +
  (%i3) signosTrinomio(1,-3,2);
 +
  (%o3) [[[-inf,1],+],[1,0],[[1,2],-],[2,0],[[2,inf],+]]
 +
  (%i4) signosTrinomio(-1,3,-2);
 +
  (%o4) [[[-inf,2],-],[2,0],[[2,1],+],[1,0],[[1,inf],-]]
 +
  (%i5) signosTrinomio(1,0,1);
 +
  (%o5) [[[-inf,inf],+]]
 +
  (%i6) signosTrinomio(-1,0,-1);
 +
  (%o6) [[[-inf,inf],-]]
 +
Se supone que a es distinto de cero.
 +
Solución:
 +
 +
Ejercicio 2.2.
 +
Calcular la tabla de la variación de los signos del trinomio -6x^2-3x+14/3
 +
Solución:
 +
Ejercicio 3
 +
Se lanza un dado cúbico equilibrado hasta que se obtiene la cara 6 por primera vez. Se designa por X la variable aleatorio que cuenta el número de lanzamientos efectuados. Se dice que X es el tiempo de espera del primer 6.
 +
Ejercicio 3.1.
 +
Definir el procedimiento X() que simule una serie de lanzamientos del dado y devuelva el número de lanzamientos realizados para obtener el 6 por primera vez.
 +
Solución:
 +
X(n):=block(
 +
if random(7)=6 print(“Se ha obtenido el valor 6”)
 +
else n=n+1 print(n,”número de lanzamientos hasta el momento));
 +
Ejercicio 3.2.
 +
Con la ayuda del bucle for, definir el procedimiento simulacion(n) que simule una serie de n lanzamientos y devuelva la lista de frecuencia de los eventos [X=i] para 1 <= i <= 60. Por ejemplo,
 +
  (%i1) simulacion(1000);
 +
  (%o1) [0,145,115,104,88,61,65,53,51,50,40,28,30,29,27,13,21,18,10,6,8,4,9,3,
 +
        5,1,2,4,3,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
 +
        0,0,0]
 +
Solución:
 +
simulación(n):=block([lista,k],
 +
lista : [],
 +
for k from 1 thru n do
 +
  (if random(k) then lista : cons(k,lista)))$
 +
Ejercicio 3.3.
 +
Definir la función media tal que media(n) es el valor medio de X en n lanzamientos. Calcular tres veces media(1000).
 +
Solución:
 +
media(n):=block([lista,k],
 +
lista: []
 +
for k from 1 thru n do
 +
(if random(k) then lista: cons(k,lista))$
 +
mean(lista))$
 +
Ejercicio 4
 +
La conjetura de Goldbach afirma que todo número natural par mayor que 3 se puede escribir como la suma de dos números primos. Por ejemplo,
 +
4 = 2 + 2, 20 = 3 + 17, 50 = 3 + 47
 +
Solución:
 +
Ejercicio 4.1.
 +
Definir la función goldbach tal que goldbach(n) es una descomposición de n como suma de dos números primos. Por ejemplo,
 +
  (%i1) goldbach(20);
 +
  (%o1) [3,17]
 +
Indicación: Iterar los primos desde x=2 hasta n/1 hasta que n-x sea primo.
 +
Solución:
 +
Goldbach(n):=block([lista,k],
 +
lista: [k],
 +
for k from 2 thru n do
 +
(if primep(n-x) then lista: cons(k,lista)))
 +
Ejercicio 4.2.
 +
Descomponer 2010 como suma de dos primos.
 +
Solución:
 +
Goldbach(2010);
 +
Ejercicio 4.3.
 +
Definir la función goldbachTodas tal que goldbachTodas(n) es la lista de todas las descomposiciones de n como suma de dos números primos x e y con x<=y. Por ejemplo,
 +
(%i1) goldbachTodas(20);
 +
(%o1) [[7,13],[3,17]]
 +
Solución:
 +
goldbachTodas(n):=block([lista,k],
 +
lista:[],
 +
(if primep(k) then lista : cons(k,lista)))$
 +
Ejercicio 4.4.
 +
Calcular el número de descomposiciones de 2010 como suma de dos primos.
 +
Solución:
 +
 +
 +
Tema 6:
 +
Ejercicio 1
 +
Ejercicio 1.1.
 +
Definir la matriz
 +
 +
para  .
 +
Solución:
 +
M:matrix([2,-1,1],[-1,k,1],[1,1,2]);
 +
Ejercicio 1.2.
 +
Calcular el determinante de M(k).
 +
Solución:
 +
Determinant(M);
 +
Ejercicio 1.3.
 +
Determinar los valores de k para los que M(k) es invertible.
 +
Solución:
 +
invert(M);
 +
Ejercicio 1.4.
 +
Calcular la inversa de M(k).
 +
Solución:
 +
Invert(M);
 +
Ejercicio 1.5.
 +
Calcular los autovalores de M(k).
 +
Solución:
 +
solve(%=0,x);
 +
factor(charpoly(M,x));
 +
eigenvalues(M);
 +
Ejercicio 1.6.
 +
Determinar los k para los que M(k) tiene autovalores múltiples.
 +
 +
Ejercicio 2
 +
Ejercicio 2.1.
 +
Definir las matrices A(k) (para k en N) tales que A(k) es la matriz triangular superior de orden n+1 cuyo término general es
 +
 +
Solución:
 +
a[i,j]=
 +
Ejercicio 2.2.
 +
Calcular las matrices A(1), A(2) y A(5).
 +
Solución:
 +
Ejercicio 2.3.
 +
Calcular las inversas de las matrices A(1), A(2) y A(5).
 +
Solución:
 +
Ejercicio 2.4.
 +
Conjeturar cuál es la inversa de A(n) y definirla como B(n).
 +
Solución:
 +
Ejercicio 2.5.
 +
Comprobar la conjetura para n entre 1 y 10.
 +
Solución:
 +
Ejercicio 3
 +
El objetivo de este ejercicio ed determinar las matrices cuadradas X de orden 2 que conmutan con la matriz A definida por
 +
 +
Ejercicio 3.1.
 +
Escribir la matriz A definida por
 +
 +
Solución:
 +
A:[(1,-5),(-5,3)];
 +
Ejercicio 3.2.
 +
Definir la matriz X cuyos términos son a,b,c,d.
 +
Solución:
 +
X:[(a,b),(c,d)];
 +
Ejercicio 3.3.
 +
Calcular M = AX − XA
 +
Solución:
 +
M:A.X-X.A;
 +
Ejercicio 3.4.
 +
Resolver el sistema lineal de 4 ecuaciones con 4 incógnitas M=0.
 +
Indicación: Antes de resolverlo, asignarle a la variable globalsolve el valor true.
 +
Solución:
 +
globalsolve:true$
 +
 +
Ejercicio 3.5.
 +
Definir las matrices B que son soluciones de la ecuación M=0
 +
Solución:
 +
 +
Ejercicio 3.6.
 +
Comprobar que A y B conmutan.
 +
Solución:

Revisión del 18:10 10 abr 2011

  1. Software libre, conocimiento libre y matemáticas.
  2. Cálculo simbólico (Resumen de Maxima)
    1. Introducción a Maxima: apuntes y ejercicios.
    2. Funciones de una variable: apuntes y ejercicios.
    3. Aritmética: apuntes y ejercicios.
    4. Sucesiones y recursión: apuntes y ejercicios.
    5. Programación: apuntes y ejercicios.
    6. Matrices con Maxima: apuntes y ejercicios.
  3. Web 2.0 y la enseñanza:
    1. Los blogs.
    2. Las wikis.
    3. La web 2.0.

Tema 1: Ejercicio 1 Ejercicio 1.1 Definir la constante . Solución: a:(20+14*sqrt(2))^(1/3); a:a+(20-14*sqrt(2))^(1/3); ________________________________________ Ejercicio 1.2 Calcular el valor numérico de a. ¿A qué entero se aproxima? Solución: float(%); Se aproxima al entero 4. Ejercicio 2 Ejercicio 2. Escribir el número en la forma , donde a,b,c y d son números racionales. Nota: Cambiar el valor de la variable %piargs a true y usar radcan para la simplificación de radicales. Solución: radcan((sin(pi/3)+cos(pi/3))^9); Ejercicio 3 Calcular la cifra 149 del número π. Solución: fpprec : 149; bfloat(1000*%pi); set_display(ascii)$bfloat(1000*%pi);set_display(xml)$ Ejercicio 4 Se considera el polinomio p = x4 − x3 − 7x2 − 8x − 6. (%i1) p:x^4-x^3-7*x^2-8*x-6$ Ejercicio 4.1. Calcular las raíces reales de p. Solución: solve(x^4-x^3-7*x^2-8*x-6); Ejercicio 4.2 Factorizar al máximo el polinomio p. Solución: factor(x^4-x^3-7*x^2-8*x-6); Ejercicio 5 Sea . (%i1) z: ((1-%i*sqrt(3))/(1+%i))^20$ Ejercicio 5.1 Calcular la parte real y la parte imaginaria de z. Solución: rectform(z); Ejercicio 5.2 Calcular el módulo y el argumento de z. Solución: abs(z); carg(z); Ejercicio 6 Ejercicio 6.1 Con la ayuda de la representación gráfica, conjeturar el número de soluciones de la ecuación sinx = 1 − x4. Solución: wxplot2D([1-x^4,x],[x,-2,2])$ Ejercicio 6.2 Dar una aproximación de cada solución. Solución: find_root(1-x^4,x,-2,2); Ejercicio 7 Resolver el siguiente sistema lineal en función de los parámetros a,b y c:

Solución: sist:[x+a*y+a^2*z=0,x+b*y+b^2*z=0,x+c*y+c^2*z=1]; solve(sist,[x,y,z]);

Tema 2: Ejercicio 1 Sean a y b dos números reales. Se considera la función f definida sobre los números reales por

Ejercicio 1.1 Definir la función f usando el condicional if ... then ... else. Solución: f(x):= if x>0 then (e^x-1)/x elseif x<=0 then a*x+b; Ejercicio 1.2 limit no puede evaluar expresiones del tipo if...then. Por ello, para determinar el límite de f en cero por la derecha se necesita precisar en qué intervalo se encuentra x. Esto puede hacerse con la función assume. Escribir la expresión assume(x>0), después calcular el límite de f en cero por la derecha. Se puede eliminar la hipótesis sobre x con forget(x>0). Solución: assume(x>0,(e^x-1)/x); assume(x<=0,a*x+b); limit((e^x-1)/x,x,0, plus); Ejercicio 1.3 Deducir el valor de b para el que f es continua en . Solución:

Ejercicio 1.4 Calcular la derivada de f en cero por la derecha. Solución: 'diff(f(x),x)=diff(f(x),x); Ejercicio 1.5 Calcular el valor de a para el que f es derivable en cero. Solución:

Ejercicio 2 Sea g la función real definida por (%i1)g(x):= 2*x-sqrt(1+x^2)$ Ejercicio 2.1 Calcular los límites de g en más y menos infinito. Solución: limit(g(x),x,minf); limit(g(x),x,inf); Ejercicio 2.2 Dibujar la gráfica de la función g. Solución: plot2d(g(x),[x,-2,2],[y,-5,5]); Ejercicio 2.3 Calcular g'(x). Solución: diff(g(x),x); Ejercicio 2.4 Resolver la ecuación g(x) = 0. Solución: solve(g(x),x);

Ejercicio 2.5 Determinar los intervalos de crecimiento de g. Solución:

Ejercicio 2.6 Calcular las ecuaciones reducidas de las asíntotas de g. Solución:

Ejercicio 3 Ejercicio 3.1 Desarrollar cos(3t) en función de cos(t). Solución: cos(3*x), trigexpand=true,expand; Ejercicio 3.2 Desarrollar cos(4t) en función de cos(t) Solución: cos(4*x), trigexpand=true,expand; Ejercicio 3.3 Desarrollar cos(5t) en función de cos(t). Solución: cos(5*x), trigexpand=true,expand; Ejercicio 3.4 Determinar los polinomios Tn de la variable x tales que para todo , para . Solución:

Ejercicio 3.5 Representar las funciones T3, T4 y T5 en la misma gráfica. Solución:

Tema 3: Ejercicio 1 Ejercicio 1.1. Asignarle a la variable a el valor 2460 y a la b el 3030. Solución a:2460$ b: 3030$ Ejercicio 1.2. Calcular el conjunto D1 de los divisores positivos de a. Solución divisors(a); Ejercicio 1.3. Calcular el conjunto D2 de los divisores positivos de b. Solución divisors(b); Ejercicio 1.4. Calcular, usando la función intersection, el conjunto D de los divisores comunes de a y b. Solución S_1: divisors(a); S_2:divisors(b); intersection(S_1,S_2); Ejercicio 1.5. Calcular el máximo común divisor de a y b. Solución Ejercicio 1.6. Calcular el mínimo común múltiplo de a y b. Solución lcm(a,b); Ejercicio 2 Ejercicio 2.1. Asignarle a la variable n el valor 2008! Solución n: 2008!; Ejercicio 2.2. ¿Cuántas cifras tiene n en base 10? Solución

Ejercicio 2.3. Calcular la descomposición de n en productos de factores primos. Solución ifactors(n); Ejercicio 2.4. ¿Con cuántos ceros termina n? Solución

Ejercicio 3 Ejercicio 3.1. Escribir un programa para asignarle a la variable sol3 el término que ocupa la posición 2008 en la sucesión de números primos ordenados de manera creciente. Solución

Ejercicio 4 Ejercicio 4.1 Escribir un programa para asignarle a la variable sol4 el número de primos inferiores a 100000. Solución for i from 1 step 1 thru 100000 do (print(i,”=”,factor(i))); Ejercicio 5 Ejercicio 5.1. Escribir un programa para asignarle a la variable sol5 el término que ocupa la posición 9592 en la sucesión de números primos ordenados de manera creciente. Solución

Ejercicio 5.2. Comprobar si sol5 es el mayor primo menor que 100000. Solución prev_prime(100000);

Tema 4: Ejercicio 1 Ejercicio 1.1. La sucesión de Fibonacci está definida como

Definir f[n] como la sucesión de Fibonacci. Solución: f[0]:0$ f[1]:1$ f[n]=f[n-1]+f[n-2]$ Ejercicio 1.2. Definir la lista l1 cuyos elementos son los 20 primeros términos de la sucesión de Fibonacci. Solución: makelist([k,f[k]],k,0,19); Ejercicio 1.3. Calcular el término que ocupa la posición 20 en la sucesión de Fibonacci. Solución: f[20]; Ejercicio 1.4. Calcular el término de posición 20 de la sucesión de Fibonacci de forma iterativa, usando sólo dos variables: a y b. Solución:

Ejercicio 1.5. Definir la sucesión g, que calcule el término n-ésimo de la sucesión de Fibonacci de forma iterativa, usando sólo dos variables: a y b. Usando la función g, calcular el término de posición 20 de la sucesión de Fibonacci. Solución:

Ejercicio 1.6. Comprobar si se puede obtener el término 800 de la sucesión de Fibonacci mediante alguna de las dos funciones f ó g. Solución: f[800]; Ejercicio 2 Ejercicio 2.1. Definir s[n] como la suma de los n primeros términos de la sucesión (-1)^(k+1)/k! Solución: sum((-1)^(k+1)/k!,k,1,n); Ejercicio 2.2. Calcular los valores exactos de s[1], s[2], s[5] y s[9]. Solución: s[1]; s[2]; s[5]; s[9]; Ejercicio 2.3. Calcular los valores decimales aproximados de s[20] y s[50]. Solución:

Ejercicio 2.4. Cargar el paquete simplify_sum y calcular la suma de la serie s[n]. Solución: load(simplify_sum)$ 'sum((-1)^(k+1)/k!,k,1,n)=simplify_sum(sum((-1)^(k+1)/k!,k,1,n)); Ejercicio 3 Un banco presta un capital K al t por ciento anual, que se reembolsa en N años, con anualidades x constante. Sea c[0]=K y sea c[n] el capital pendiente de pagar después de la n-ésima anualidad. Entonces, c[n+1] = (1+t)*c[n]-x Ejercicio 3.1. Expresar c[n] de manera explícita en función de n, K, t y x. Solución: c[n]:=(1+t)*c[n-1]-x; Ejercicio 3.2. Se sabe que c[N]=0. Deducir el valor de x en función de K, t y N. Solución:

Ejercicio 3.3. Calcular el importe de una anualidad, cuando K = 100000, t = 5,5% y N = 15. Solución: solve_rec(c[n]=(1+0.055)*c[n-1]-x,c[n],c[0]=100000); Ejercicio 4 Ejercicio 4.1. Definir la función f(x) = x/(3-2x). Solución: f[x]:=x/(3-2*x); Ejercicio 4.2. Definir la sucesión u[n] tal que u0 = 2 y un + 1 = f(un). Solución: u[0]:2$ u[n]:=f[u[n]]; Ejercicio 4.3. Calcular u[1], u[2] y u[9]. Solución: u[1]; u[2]; u[9]; Ejercicio 4.4. Dibujar, en la misma gráfica, la función f, la recta de ecuación y=x y los puntos de coordenada (u[k],f(u[k])) para 0<=k<=15. Solución: L:makelist([u[k],f(u[k])),k,0,15)$ wxplot2d([f(x),x, [discrete,L]],[x,0,%pi/2],[y,0,2]); Ejercicio 4.5. Conjeturar la monotonía de la sucesión u[n] y su limite. Solución: limit(u[n],n,inf); Ejercicio 4.6. Resolver la ecuación f(x)=x. Llamar a las raices a y b. Solución:

Ejercicio 4.7. Definir la sucesión w[n] = (u[n]-a)/(u[n]-b) Solución: w[n]:=(u[n]-a)/(u[n]-b); Ejercicio 4.8. Calcular los 10 primeros términos de la sucesión w[n]. Solución: makelist([n,v[n]],n,0,9); Ejercicio 4.9. Comprobar que w[n] es una progresión geométrica y calcular su razón. Solución: solve_rec(w[n]=(u[n]-a)/(u[n]-b),w[n]); Ejercicio 4.10. Deducir la expresión de u[n] en función de n. Solución: ratsimp(%);

Tema 5: Ejercicio 1 Ejercicio 1.1. Definir la función tangente tal que tangente(f,a) es la ecuación de la tangente a la función f en el punto de abscisa a. Por ejemplo,

 (%i1) (f(x):=x^3, tangente(f,2));
 (%o1) y=12*(x-2)+8

Solución: tangente(f,a):=block([a],a:2, f(a)+diff(f(a)*(x-a)); Ejercicio 1.2. Calcular la tangente a f(x)=ln(tan(|x|) en el punto de abscisa -pi/12. Solución: tangente(ln(tan(abs(x)),-%pi/12); Ejercicio 2 Ejercicio 2.1. Definir el procedimiento signosTrinomio tal que signosTrinomio(a,b,c) es la tabla de la variación de los signos del trinomio ax^2+bx+c. Por ejemplo,

 (%i1) signosTrinomio(1,-2,1);
 (%o1) [[[-inf,1],+],[1,0],[[1,inf],+]]
 (%i2) signosTrinomio(-1,2,-1);
 (%o2) [[[-inf,1],-],[1,0],[[1,inf],-]]
 (%i3) signosTrinomio(1,-3,2);
 (%o3) [[[-inf,1],+],[1,0],[[1,2],-],[2,0],[[2,inf],+]]
 (%i4) signosTrinomio(-1,3,-2);
 (%o4) [[[-inf,2],-],[2,0],[[2,1],+],[1,0],[[1,inf],-]]
 (%i5) signosTrinomio(1,0,1);
 (%o5) [[[-inf,inf],+]]
 (%i6) signosTrinomio(-1,0,-1);
 (%o6) [[[-inf,inf],-]]

Se supone que a es distinto de cero. Solución:

Ejercicio 2.2. Calcular la tabla de la variación de los signos del trinomio -6x^2-3x+14/3 Solución: Ejercicio 3 Se lanza un dado cúbico equilibrado hasta que se obtiene la cara 6 por primera vez. Se designa por X la variable aleatorio que cuenta el número de lanzamientos efectuados. Se dice que X es el tiempo de espera del primer 6. Ejercicio 3.1. Definir el procedimiento X() que simule una serie de lanzamientos del dado y devuelva el número de lanzamientos realizados para obtener el 6 por primera vez. Solución: X(n):=block( if random(7)=6 print(“Se ha obtenido el valor 6”) else n=n+1 print(n,”número de lanzamientos hasta el momento)); Ejercicio 3.2. Con la ayuda del bucle for, definir el procedimiento simulacion(n) que simule una serie de n lanzamientos y devuelva la lista de frecuencia de los eventos [X=i] para 1 <= i <= 60. Por ejemplo,

 (%i1) simulacion(1000);
 (%o1) [0,145,115,104,88,61,65,53,51,50,40,28,30,29,27,13,21,18,10,6,8,4,9,3,
        5,1,2,4,3,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
        0,0,0]

Solución: simulación(n):=block([lista,k], lista : [], for k from 1 thru n do

 (if random(k) then lista : cons(k,lista)))$ 

Ejercicio 3.3. Definir la función media tal que media(n) es el valor medio de X en n lanzamientos. Calcular tres veces media(1000). Solución: media(n):=block([lista,k], lista: [] for k from 1 thru n do (if random(k) then lista: cons(k,lista))$ mean(lista))$ Ejercicio 4 La conjetura de Goldbach afirma que todo número natural par mayor que 3 se puede escribir como la suma de dos números primos. Por ejemplo, 4 = 2 + 2, 20 = 3 + 17, 50 = 3 + 47 Solución: Ejercicio 4.1. Definir la función goldbach tal que goldbach(n) es una descomposición de n como suma de dos números primos. Por ejemplo,

 (%i1) goldbach(20);
 (%o1) [3,17]

Indicación: Iterar los primos desde x=2 hasta n/1 hasta que n-x sea primo. Solución: Goldbach(n):=block([lista,k], lista: [k], for k from 2 thru n do (if primep(n-x) then lista: cons(k,lista))) Ejercicio 4.2. Descomponer 2010 como suma de dos primos. Solución: Goldbach(2010); Ejercicio 4.3. Definir la función goldbachTodas tal que goldbachTodas(n) es la lista de todas las descomposiciones de n como suma de dos números primos x e y con x<=y. Por ejemplo, (%i1) goldbachTodas(20); (%o1) [[7,13],[3,17]] Solución: goldbachTodas(n):=block([lista,k], lista:[], (if primep(k) then lista : cons(k,lista)))$ Ejercicio 4.4. Calcular el número de descomposiciones de 2010 como suma de dos primos. Solución:


Tema 6: Ejercicio 1 Ejercicio 1.1. Definir la matriz

para . Solución: M:matrix([2,-1,1],[-1,k,1],[1,1,2]); Ejercicio 1.2. Calcular el determinante de M(k). Solución: Determinant(M); Ejercicio 1.3. Determinar los valores de k para los que M(k) es invertible. Solución: invert(M); Ejercicio 1.4. Calcular la inversa de M(k). Solución: Invert(M); Ejercicio 1.5. Calcular los autovalores de M(k). Solución: solve(%=0,x); factor(charpoly(M,x)); eigenvalues(M); Ejercicio 1.6. Determinar los k para los que M(k) tiene autovalores múltiples.

Ejercicio 2 Ejercicio 2.1. Definir las matrices A(k) (para k en N) tales que A(k) es la matriz triangular superior de orden n+1 cuyo término general es

Solución: a[i,j]= Ejercicio 2.2. Calcular las matrices A(1), A(2) y A(5). Solución: Ejercicio 2.3. Calcular las inversas de las matrices A(1), A(2) y A(5). Solución: Ejercicio 2.4. Conjeturar cuál es la inversa de A(n) y definirla como B(n). Solución: Ejercicio 2.5. Comprobar la conjetura para n entre 1 y 10. Solución: Ejercicio 3 El objetivo de este ejercicio ed determinar las matrices cuadradas X de orden 2 que conmutan con la matriz A definida por

Ejercicio 3.1. Escribir la matriz A definida por

Solución: A:[(1,-5),(-5,3)]; Ejercicio 3.2. Definir la matriz X cuyos términos son a,b,c,d. Solución: X:[(a,b),(c,d)]; Ejercicio 3.3. Calcular M = AX − XA Solución: M:A.X-X.A; Ejercicio 3.4. Resolver el sistema lineal de 4 ecuaciones con 4 incógnitas M=0. Indicación: Antes de resolverlo, asignarle a la variable globalsolve el valor true. Solución: globalsolve:true$

Ejercicio 3.5. Definir las matrices B que son soluciones de la ecuación M=0 Solución:

Ejercicio 3.6. Comprobar que A y B conmutan. Solución: