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\\ #3 \end{pmatrix}$ y $B=\begin{pmatrix} #1\\ #4&1&2\\ #2 \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\\ #3 \end{pmatrix}$ y $B=\begin{pmatrix} #1\\ #4&1&2\\ #2 \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