Presentación sobre probsoln

Transcripción

Presentación sobre probsoln
Elaboración de materiales con TEX
Gabriel Soler López
[email protected]
Página web
16 de octubre de 2007
pdfscreen
Página de Apertura
Contenido
JJ
II
J
I
Resumen
El paquete probsoln.sty permite crear hojas de problemas a partir de una base
de datos de ejercicios. Esto supone que se pueden crear, de manera sencilla, hojas de
problemas diferentes en años sucesivos. También permite crear exámenes a partir de
los problemas almacenados en nuestra base de datos.
En este seminario nos plantearemos crear, con el trabajo de todos, una base de
datos de problemas de varios temas de matemáticas. Cada alumno elegirá un tema,
escribirá los problemas y los pondrá a disposición de los demás compañeros.
Página 1 de 26
Volver
Pantalla completa
Cerrar
Salir
1.
Autor del paquete
Nicola L. C. Talbot
Página web
Página de Apertura
Contenido
JJ
II
J
I
Página 2 de 26
Volver
Pantalla completa
Cerrar
Salir
2.
Opciones del paquete
Cuando cargamos el paquete sólo admite dos opciones:
1.
answer
si queremos mostrar la solución de los ejercicios al crear la hoja de
ejercicios o examen.
2.
noanswer
es la opción por defecto y se indica para no mostrar las soluciones.
Así que en el preámbulo (antes del
de las siguientes órdenes:
\begin{document})
debemos escribir una
Página web
Página de Apertura
\usepackage[answer]{probsoln}
\usepackage{probsoln}
(opción equivalente a
\usepackage[noanswer]{probsoln})
Si imprimimos las soluciones, antes de ellas LATEX pone automáticamente
Solution:. Si queremos ponerlo en español debemos cambiar la definición del
comando \solutionname como sigue:
\renewcommand{\solutionname}{Solución}.
También podemos cambiar el encabezamiento de las soluciones redefiniendo
a nuestro gusto el entorno solution.
Contenido
JJ
II
J
I
Página 3 de 26
Volver
Pantalla completa
\newenvironment{solution}{\paragraph{\solutionname:}}{}
Cerrar
Salir
3.
Cómo crear la base de datos
Crearemos una base de datos para cada tema o unidad que elijamos. Por
ejemplo puede ser un fichero por cada uno de los temas de un nivel. Esta base
de datos debe seguir una sintaxis determinada.
En estos ficheros sólo habrá problemas y cada uno de ellos se introducirá
con el comando \newproblem. Esta orden admite cuatro argumentos:
\newproblem[numero de parámetros]{etiqueta}{texto del problema}{solución}
Página web
El primer argumento (número de parámetros) es opcional y sólo lo usaremos si queremos que un problema tome valores que dependan de ciertos
parámetros.
El segundo (etiqueta) es el nombre que le queremos dar a un problema. Es
necesario darle un nombre a cada uno (aunque luego no usemos tales nombres
nosotros).
Los dos últimos argumentos son el enunciado del problema y la solución
respectivamente. En una primera fase puede que no queramos escribir las
soluciones, en ese caso dejamos el argumento correspondiente vacío.
Ejemplo:
\newproblem{derivada1}{
Calcula la derivada de $f(x)=x^2+3x+4$}{ $f’(x)=2x+3$ }
Página de Apertura
Contenido
JJ
II
J
I
Página 4 de 26
Volver
Pantalla completa
Cerrar
Salir
4.
Mostrar los problemas
Una vez que tengamos la base de problemas escritos haremos un fichero
TEXpara escribir una hoja de problemas o un examen. En este fichero podremos elegir ejercicios de nuestras bases de datos con varios comandos:
\selectallproblems{nombre de fichero}:
con este comando seleccionaremos todos los ejercicios del fichero que pasemos como argumento. Esta orden
debe introducirse dentro de una lista, es decir dentro de un entorno como
enumerate o itemize.
\useproblem{etiqueta}:
por nombre
con esta orden seleccionamos el problema que tiene
etiqueta.
\setectrandomly{nombre de fichero}{n}: este comando selecciona aleatoriamen-
te n problemas de la base de datos que nombramos en el primer argumento. Esta orden debe introducirse dentro de una lista, es decir dentro
de un entorno como enumerate o itemize.
Página web
Página de Apertura
Contenido
JJ
II
J
I
Página 5 de 26
Volver
Pantalla completa
Cerrar
Salir
Ejemplos
Usando los comandos
\input{sistemasgabi.tex} y
\useproblem{s2}
obtenemos:
Discutir si es verdadero o falso que dado un sistema de m ecuaciones con n
incógnitas, Ax = b, que admite solución única, entonces ésta es x = A−1 b
Solución: Falso, por ejemplo se puede verificar que el sistema




1 1
6
 6 10  x1 =  52 
x2
9 15
78
Página web
Página de Apertura
tiene como solución única a x1 = 2 y x2 = 4. Sin embargo no existe la inversa
de la matriz asociada al sistema por no ser cuadrada.
Contenido
JJ
II
J
I
Página 6 de 26
Volver
Pantalla completa
Cerrar
Salir
Usando el comando
\selectallproblems{sistemasgabi}
obtenemos:
Problemas de sistemas de ecuaciones
Página web
1. Discutir si es verdadero o falso que dado un sistema de m ecuaciones
con n incógnitas, Ax = b, que admite solución única, entonces ésta es
x = A−1 b
Página de Apertura
Contenido
2. Si los sistemas Ax = b1 y Ax = b2 son compatibles, ¿entonces lo es
Ax = b donde b = b1 + b2 ?
JJ
II
3. ¿Un sistema con más ecuaciones que incógnitas es siempre incompatible?
J
I
4. Si un sistema de ecuaciones Ax = b es compatible determinado, entonces
¿A es una matriz cuadrada?
Página 7 de 26
Volver
Pantalla completa
Cerrar
Salir
Usando los comandos
\selectrandomly{SistemasGabi}{1}
\selectrandomly{complejos}{1}
\selectrandomly{binnewton}{1}
obtenemos:
Examen de Sistemas, números complejos y del binomio de Newton
Página web
Página de Apertura
1. Discutir si es verdadero o falso que dado un sistema de m ecuaciones
con n incógnitas, Ax = b, que admite solución única, entonces ésta es
x = A−1 b
2. Calcula los números reales x e y para que se verifique la igualdad
(2 + xi) + (y + 5i) = 7 − 2i
Contenido
JJ
II
J
I
Página 8 de 26
Volver
6
15
3. Halla el término que contiene la potencia x en el desarrollo de (2x+1) .
Pantalla completa
Cerrar
Salir
Esta manera de generar aleatoriamente “exámenes” no es tan aleatoria
porque si copiamos las mismas órdenes y ejecutamos en el mismo fichero
obtenemos . . . . . . . . . el mismo examen:
Examen de Sistemas, números complejos y del binomio de Newton
1. Discutir si es verdadero o falso que dado un sistema de m ecuaciones
con n incógnitas, Ax = b, que admite solución única, entonces ésta es
x = A−1 b
2. Calcula los números reales x e y para que se verifique la igualdad
(2 + xi) + (y + 5i) = 7 − 2i
3. Halla el término que contiene la potencia x6 en el desarrollo de (2x+1)15 .
Página web
Página de Apertura
Contenido
JJ
II
J
I
Página 9 de 26
Volver
Pantalla completa
Cerrar
Salir
5.
Nuevos comandos para generaciones aleatorias
n es un número con el que le indicamos un punto origen
a partir de donde empezar a generar la selección aleatoria. Si elegimos
\PSNrandseed{\year} generaremos la misma lista de problemas siempre que
no cambie el año. Si elegimos \PSNrandseed{\time} generaremos listas diferentes si lo hacemos en horas diferentes.
\PSNrandseed{n}
year=2007(esta variable almacena el año en el que estamos)
time=1022(esta variable almacena los minutos transcurridos desde la medianoche)
Si lo que queremos es generar “exámenes” diferentes para un mismo grupo
de alumnos teniendo un único fichero (por ejemplo Examen.tex) no podremos
usar ninguna de las dos opciones detalladas antes porque la compilación entera
del documento se suele hacer sin que cambie el número de minutos y mucho
menos el año. Así que deberíamos utilizar números que nosotros queramos
introducir.
Página web
Página de Apertura
Contenido
JJ
II
J
I
Página 10 de 26
Volver
Pantalla completa
Cerrar
Salir
Ejemplos
Usando los comandos
\PSNrandseed{\year}
\selectrandomly{complejos}{1}
\selectrandomly{binnewton}{1}
obtenemos:
Página web
Control de números complejos y del binomio de Newton
Página de Apertura
Contenido
1. Escribe en forma trigonométrica y polar los números complejos:
a) 1 + 3i
b) −1 − i
c) 5 − 12i
2. ¿De cuántas formas distintas se pueden sentar seis personas alrededor de
una mesa circular?
JJ
II
J
I
Página 11 de 26
Volver
Pantalla completa
Cerrar
Salir
Usando los comandos
\PSNrandseed{\time}
\selectrandomly{complejos}{1}
\selectrandomly{binnewton}{1}
obtenemos:
Control de números complejos y del binomio de Newton
Página web
Página de Apertura
1. Efectúa las siguientes divisiones de números complejos.
Contenido
2 + 4i
4 − 2i
1 − 4i
b)
3+i
a)
4 − 4i
−3 + 5i
5+i
d)
−2 − i
c)
2. Halla el término que contiene la potencia x6 en el desarrollo de (2x+1)15 .
JJ
II
J
I
Página 12 de 26
Volver
Pantalla completa
Cerrar
Salir
Usando los comandos
\PSNrandseed{11}
\selectrandomly{complejos}{1}
\selectrandomly{binnewton}{1}
obtenemos:
Control de números complejos y del binomio de Newton
Página web
Página de Apertura
1. Escribe tres números imaginarios puros, tres números imaginarios y tres
números reales.
16
+ 16
1
2
2. Simplifica la siguiente expresión 17
+ 17
14
15
Contenido
JJ
II
J
I
Página 13 de 26
Volver
Pantalla completa
Cerrar
Salir
Usando los comandos
\PSNrandseed{7}
\selectrandomly{complejos}{1}
\selectrandomly{binnewton}{1}
obtenemos:
Control de números complejos y del binomio de Newton
Página web
Página de Apertura
1. Realiza las siguientes operaciones con números complejos
Contenido
a) (5 + 4i) · 2225◦
b)
3 − 2i
1120◦
c)
(−5 + i) · 3−60◦
−i
2. ¿De cuántas formas distintas se pueden sentar seis personas alrededor de
una mesa circular?
JJ
II
J
I
Página 14 de 26
Volver
Pantalla completa
Cerrar
Salir
6.
El comando \doforrandN
La sintaxis de este comando es:
\doforrandN{<n>}{<\cmd>}{<lista de elementos separados por comas>}{<órdenes>}.
Este comando realiza <n> acciones, cada una de ella consiste en elegir
un elemento de la lista del tercer argumento y asignarlo a la variable \cmd.
La potencia de esto es que podemos usar la citada variable en el argumento
<órdenes>.
Página web
Página de Apertura
Contenido
JJ
II
J
I
Página 15 de 26
Volver
Pantalla completa
Cerrar
Salir
Ejemplos
Usando
\PSNrandseed{\time}
\begin{enumerate}
\doforrandN{5}{\numero}{1,2,3,4,5,6,7,8,9,10}
{\item Número aleatorio obtenido en el paso \theenumi: \numero}
\end{enumerate}
obtenemos:
Página web
Página de Apertura
Elección de números aleatorios del 1 al 10
1. Número aleatorio obtenido en el paso 1: 7
2. Número aleatorio obtenido en el paso 2: 10
3. Número aleatorio obtenido en el paso 3: 4
Contenido
JJ
II
J
I
Página 16 de 26
4. Número aleatorio obtenido en el paso 4: 1
Volver
5. Número aleatorio obtenido en el paso 5: 9
Pantalla completa
Cerrar
Salir
Otra utilidad más acorde al problema que estamos tratando aquí es la
siguiente
\PSNrandseed{\time}
\begin{enumerate}
\doforrandN{2}{\fichero}{SistemasGabi,binnewton,complejos,derivadabis}
{\selectrandomly{\fichero}{2}}
\end{enumerate}
obtenemos:
Página web
Página de Apertura
Hoja de problemas
Contenido
1. Expresa en forma binómica y en forma polar el conjugado y el opuesto
de 545◦ .
JJ
II
J
I
2. Calcula las potencias.
Página 17 de 26
a) (2 − 3i)2
c) i123
b) (3 − i)3
d ) (2 − 4i)4
Volver
Pantalla completa
12
3. Halla el término central del desarrollo de (4 − 3x) .
Cerrar
4. ¿De cuántas formas distintas se pueden sentar seis personas alrededor de
una mesa circular?
Salir
7.
A vueltas con \newproblem
Este comando admitía cuatro argumentos:
\newproblem[numero de parámetros]{etiqueta}{texto del problema}{solución}
Nos ocupamos ahora del primero, que es opcional y será el número de
parámetros del que depende un ejercicio.
Un ejemplo clarificará las cosas. En el fichero Matrices.tex introduciremos
el siguiente problema:
Página web
Página de Apertura
Contenido
JJ
II
J
I
Página 18 de 26
Volver
Pantalla completa
Cerrar
Salir
\newproblem[5]{mat2}{Calcula los determinantes de las matrices
$A=\begin{pmatrix}
#1&#2\\
#3&#4
\end{pmatrix}$
y
$B=\begin{pmatrix}
#1&#2&#3\\
#4&1&2\\
#2&#1&#5
\end{pmatrix}$
}
Página web
Página de Apertura
Ahora podemos utilizar el problema mat2 de la siguiente manera:
\input{matrices.tex}
\useproblem{mat2}{2}{3}{4}{5}{6}
Y obtendremos:
Contenido
JJ
II
J
I
Página 19 de 26
Volver


2 3 4
2 3
y B = 5 1 2
Calcula los determinantes de las matrices A =
4 5
3 2 6
Pantalla completa
Cerrar
Salir
¿Y si queremos escribir la solución? Hay que llevar cuidado porque ésta
depende de los parámetros. Para ello necesitaremos hacer cuentas con números
reales ya que lo que se está haciendo es calcular para ciertos valores de a, b, c, d
y e los determinantes


a b c
a b
det
= ad − bc
det d 1 2 = 3d + e − 2ed.
c d
b a e
Estas cuentas se pueden hacer cargando el paquete fp, que permite hacer
cálculos con números reales aunque de manera un poco rudimentaria. Redefinimos el problema mat2 como sigue:
Página web
Página de Apertura
Contenido
JJ
II
J
I
Página 20 de 26
Volver
Pantalla completa
Cerrar
Salir
\newproblem[5]{mat2}{Calcula los determinantes de las matrices
$A=\begin{pmatrix}
#1&#2\\
#3&#4
\end{pmatrix}$
y
$B=\begin{pmatrix}
#1&#2&#3\\
#4&1&2\\
#2&#1&#5
\end{pmatrix}$
}
{
\edef\res{0} %se define la variable \res y se le asigna el valor 0
\edef\A{#1} %se define la variable \A y se le asigna el valor del primer parámetro
\edef\B{#2} %se define la variable \B y se le asigna el valor del segundo parámetro
\edef\C{#3} %se define la variable \C y se le asigna el valor del tercer parámetro
\edef\D{#4} %se define la variable \D y se le asigna el valor del cuarto parámetro
\edef\E{#5} %se define la variable \E y se le asigna el valor del quinto parámetro
\FPeval\res{\A*\D-\B*\C}
%se le asigna a \res el valor del determinante 2X2
\FPround\res{\res}{2}
%se redondea el valor de \res
\FPclip\res{\res}
%se le quitan los ceros innecesarios
$\mathrm{det} A=\FPprint{\res},$
%se imprime el valor de \res (valor de |A|)
\FPeval\res{3*\D+\E-2*\E*\D}
%se le asigna a \res el valor del determinante 3X3
\FPround\res{\res}{2}
\FPclip\res{\res}
$\mathrm{det} B=\FPprint{\res}.$
%se imprime el valor de \res (valor de |B|)
}
Página web
Página de Apertura
Contenido
JJ
II
J
I
Página 21 de 26
Volver
Pantalla completa
Cerrar
Salir
Ahora volvemos a llamar al problema con diferentes valores de los parámetros. Mostramos el texto LATEXy la solución:
\showanswers
\input{matrices}
\useproblem{mat2}{2}{3}{4}{5}{6}
\useproblem{mat2}{2}{3}{1}{2}{8}

2
2 3

determinantes de las matrices A =
yB= 5
4 5
3
detA = −2, detB = −39.

2
2 3

determinantes de las matrices A =
yB= 2
1 2
3
detA = 1, detB = −18.
Calcula los
Solución:
Calcula los
Solución:

3 4
1 2
2 6

3 1
1 2
2 8
Página web
Página de Apertura
Contenido
JJ
II
J
I
Página 22 de 26
Volver
Pantalla completa
Cerrar
Salir
Ejercicio
Crea una base de datos con un problema que dependa
 de 3
a b
(a, b y c) y que pida calcular AB para las matrices A = 2 3
1 1


c
b
. El ejercicio debe mostrar las soluciones.
b
2
7 1 + ab − c
parámetros

c
1 y B =
3
Página web
Ejercicio
Crea una base de datos con un problema, deriv1, que dependa de 2 parámetros (a y b) y que pida calcular la derivada de f (x) = sen (abx) + ebx .
Cuando ejecutemos \useproblem{deriv1}{3}{4} el resultado debe ser:
Calcula la derivada de f (x) = sen (12x) + e4x
Solución: f 0 (x) = 12cos (12 x)+4e4x
Página de Apertura
Contenido
JJ
II
J
I
Página 23 de 26
Volver
Pantalla completa
Cerrar
Salir
8.
El paquete fp
Características
Permite realizar las cuatro operaciones básicas
Proporciona las funciones valor absoluto, máximo, mínimo, aproxima
raíces de polinomios de grado 4, exponencial, logaritmo neperiano y trigonométricas.
Proporciona funciones para redondear y truncar números
El paquete se carga con la orden
8.1.
Página de Apertura
\usepackage{fp}
Contenido
Funciones generales
y le asigna el valor numérico n;
1.
\edef{\var}{n}
define la variable
2.
\FPset{var}{n}
o \FPset\var{n} asigna a la variable \var el valor numérico n;
3.
\FPprint{var}
4.
\FPtrunc{var}{x}{n}
5.
\FPclip{var}{x}
o
\FPprint\var
\var
imprime el valor de la variable
almacena en
almacena en
\var
;
JJ
II
J
I
Página 24 de 26
Volver
el valor x truncado a n decimales;
Pantalla completa
el valor x después de quitar los ceros
Cerrar
\var
\var
Página web
innecesarios;
Salir
8.2.
Funciones matemáticas
1.
\FPcos{var}{x}
almacena en
\var
el valor numérico cos (x);
2.
\FPsin{var}{x}
almacena en
\var
el valor numérico sen (x);
3.
\FPtan{var}{x}
almacena en
\var
el valor numérico tan(x);
4.
\FPcot{var}{x}
almacena en
\var
el valor numérico cot(x);
5.
\FParccos{var}{x}
almacena en
\var
el valor numérico arc cos(x);
6.
\FParcsin{var}{x}
almacena en
\var
el valor numérico arcsen (x);
7.
\FParctan{var}{x}
almacena en
\var
el valor numérico arctan(x);
8.
\FParccot{var}{x}
almacena en
\var
el valor numérico arccot(x);
9.
\FPeval{var}{expr}
almacena en \var el valor numérico resultante de evaluar
expr;
En el último comando expr puede contener composiciones de las expresiones que siguen:
Página web
Página de Apertura
Contenido
JJ
II
J
I
Página 25 de 26
Volver
+,-,*,/,abs(n),min(x,y),max(x,y),pow(y,x),ln(x),root(n,x),pi,sin(x),cos(x),tan(x)
Pantalla completa
Cerrar
Salir
Ejercicio
Construye un problema que dependa de tres parámetros a, b, c que consista
en pedir al alumno que resuelva la ecuación ax2 + bx + c = 0. El problema
debe dar las soluciones.
Solución
Resuelve la ecuación 2x2 + −10x + 12 = 0.
Solución:
Las soluciones son x1 =2 y x2 = 3
Ejercicio
Página web
Página de Apertura
Contenido
Construye un problema que dependa de tres parámetros a, b que consista
en pedir al alumno que calcule los ángulos de un triángulo rectángulo con
catetos a y b.
Ejercicio
Construye un problema que dependa de un parámetro a y que consista en
calcular ia .
JJ
II
J
I
Página 26 de 26
Volver
Pantalla completa
Cerrar
Salir