LABORATORIO 2 . TABLAS Y PROGRAMACION Objetivos: (1) Desarrollar la habilidad de crear programas. (2) Motivar la necesidad de comprobar conclusiones. (3) Comparar soluciones vía-programas con vías-tabulares. (4) Incentivar la necesidad de buscar soluciones a las limitaciones de la máquina optimizando el uso de sus cualidades. Actividad: 1 CALCULO DE IMÁGENES VIA TABLA Una forma de evaluar funciones rápidamente es usar el icono i del menú principal. Ingrese al listado de funciones de i la función f ( x ) = x 2 + cos x . Presione y (SET) y aparecerán los parámetros pedidos por la calculadora para obtener el objetivo. El valor inicial y final del dominio a evaluar de la función vienen descritos respectivamente por Start y End. Finalmente Step describe los intervalos (constantes) que se desea obtener para los cambios de valores de x. Ingrese los valores para obtener una tabla que conste tan sólo de la imagen f (2,5). SOLUCIÓN Primero definimos en TABLE SETTING los valores del intervalo a evaluar. Como solo buscamos un valor del dominio, necesitamos que tanto Start y End correspondan al valor 2,5. Para salir de la pantalla de SET presione d, y luego oprima u (TABLE) para ver el resultado: OBSERVACIÓN: Note que para Step usamos 1, pero podríamos tomar cualquier valor exceptuando cero para este caso (ya que esta no altera el resultado al no existir más de un “paso” en la tabla). 11 Ingrese a continuación los parámetros adecuados para completar la siguiente tabla. Escriba los resultados obtenidos. 1,5 1,6 1,7 1,8 1,9 2,0 2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,9 3,0 3.1 3,2 SOLUCIÓN Note que la tabla inicia en 1,5 y finaliza en 3,2; en intervalos de 0,1. Los parámetros en set deben entonces ser: Luego obtendremos los siguientes resultados para completar la tabla (para desplazace use las flechas): Ingrese a través del menú central a y y observe que la función que usted ingresó en la actividad 1 aparece en el listado de funciones de y. Esto significa que las ventanas y y i están automáticamente conectadas. 12 Actividad: 2 TABLAS SIMULTANEAS x 3 + ln x . Ahora 2 sen x + cos(3x ) oprima u. Cabe hacer notar que en la pantalla aparecen sólo algunas columnas de valores. Sin embargo si hubiésemos definido y seleccionado más funciones, todas ellas hubiesen sido tabuladas y podríamos haber obtenido sus valores usando la tecla de flecha derecha ($) para acceder a las columnas que hubiesen quedado ocultas. Observe también que podíamos haber cambiado los intervalos de los valores de X en la tabla. Obtenga una tabla simultánea de valores para las funciones ingresadas en las actividades, comenzando con X = 2,5 y finalizando con X = 2.8. Use intervalos de 0,1. Vuelva a la opción i del menú, e ingrese en Y2 la función f ( x ) = SOLUCIÓN Primero ingresamos la función y definimos el set up: luego cambiamos los valores de X por los pedidos: Actividad: 3 TABLAS CON INTERVALOS IRREGULARES Observe que estando dentro de la tabla, usted puede obtener instantáneamente cualquier valor de X que no aparece en la tabla. Para ello basta con digitar sobre cualquier valor asignado a X, un nuevo valor y la tabla inmediatamente le asignará el valor de la imagen del nuevo valor. Esto es especialmente útil si se desea organizar una tabla de valores con intervalos irregulares (aunque necesariamente breve, o sería una tarea innecesariamente larga). Desactive las funciones que tiene en el listado de funciones de TABLE (recuerde que esto se había ubicando el cursor sobre la función y oprimiendo q). Se desea ahora conocer qué ocurre con las imágenes de una función para valores cercanos a cero. Ingrese 13 la función f ( x ) = x2 + x al listado de funciones de i. Se desea obtener la siguiente tabla de 2x valores: 0,1 0,01 0,001 0,0001 Observe que necesita una tabla con sólo cuatro valores. Organice en su calculadora un rango que permita obtener una tabla de valores del 1 al 4 con intervalos de 1 en 1. Obtenga una tabla con éstos valores y sobre los valores de X digite los valores pedidos en la tabla. Obtenga así la tabla pedida y conjeture a qué valores se aproximan las imágenes de la función a medida que x se aproxima infinitamente a cero. SOLUCIÓN Primero ingresamos la función y definimos el set up: luego cambiamos los valores de X por los pedidos: Actividad: 4 MEJORAMIENTO DE LA PROGRAMACION Organice el siguiente programa que le permitirá calcular simultáneamente el área de un círculo y la longitud de la circunferencia conocido el radio. Ingrese a la ventana s y elija NEW (e). La calculadora estará esperando por un nombre de programa (observe que el cursor está en ALPHA). Ingrese el nombre CIRCULO y oprima l. Ingrese a continuación la siguiente sintaxis: 14 Las comillas se colocan oprimiendo ac y corresponde a expresiones que aparecerán explícitamente en la pantalla al ejecutar el programa. Tanto el signo de pregunta como el triángulo y los dos puntos se encuentran en Lo, el primero se utiliza cuando es necesario que la calculadora pregunte al usuario valor antes de realizar la operación programada, y el segundo indica al programa que debe mostrar lo que ha calculado (sin él la calculadora igual sacaría el valor del área y de la circunferencia, pero usted no podría acceder a el resultado). El símbolo l se produce al oprimir l cuando se desea pasar a la línea siguiente durante la programación (un enter). La flecha (b) indica al programa en dónde almacenará el valor ingresado por el usuario. Oprima d y habrá salido al listado de nombres de programa (haga esto siempre con cuidado, pues si accidentalmente oprime un botón y se realiza un cambio en el programa, la calculadora no le avisará). Verá su programa con el nombre de CIRCULO. Si ha salido, pero desea reparar o editar lo ya programado ingrese al programa con EDIT (w). Para ejecutar el programa reingrese con l. Obtenga el área y la longitud de circunferencia si el radio tiene los siguientes valores: 1,2 (oprima l para ver todos los resultados cuantas veces sea necesario). Note que una vez que el programa le mostró el valor de la circunferencia, al oprimir nuevamente l el programa llega a su fin, y usted vuelve a la pantalla inicial. (h a s t a a c á llegué) 15 Actividad: 5 CREAR UN PROGRAMA DE UNA FUNCIÓN TABULADA En la actividad 3 se le pedía crear una tabla para determinar lo que ocurría con la función x2 + x para valores de x cercanos a cero. Describa la sintaxis para crear un programa para f (x) = 2x evaluar ésta función. Una vez creada la sintaxis ingrésela a su calculadora en RUN y calcule nuevamente las imágenes de los valores pedidos en la tabla de la actividad 4. Compare sus resultados. Actividad: 6 EL NUMERO e 1 x ) . Ingrese en la ventana s el nombre de x un nuevo programa llamado NUMEROE. Ingrese el programa siguiente: Considere la siguiente función f(x) = (1 + “X = ” ? → X : “ F(X) = ” : (1 + (1 ÷ X )) ∧ X Observe que los “dos puntos” reemplazan al cambio de línea. Salga de la programación y ejecute el programa para hallar las imágenes de los valores de x = 10, 100000, 1010 , 1011 , 1012 ¿ A qué valor tienden las imágenes de x cuando x crece indefinidamente? (ese valor constante se denota en Matemáticas por e) Ingrese ahora los valores de x = 1014 , 1015 ,10 20 . Reporte la anomalía que se produce e intente hallar una explicación para comprender por qué los valores de las imágenes de éstos nuevos valores de x no corresponden a lo esperado. Para refrendar su explicación ingrese la función en la ventana GRAPH y obtenga un gráfico de la función. Podemos observar que para 104 y valores superiores los resultados en la caluladora son iguales a 1. Grafiquemos la función con la siguiente ventana de visualización. 16 Y obtendremos lo siguiente: Si ahora establecemos como Xmax 1010 obtendremos algo como: Donde la función llega a parecer una recta (Y=e). Si modificamos nuevamente el Xmax y esta vez los establecemos en 1014 (donde ocurría el error), la calculadora nos mostrará lo siguiente: Donde (analizando con trace) podemos ver que cerca de 1014 la función da unos “saltos” para luego establecerse en 1. Este error ocurre porque…?? 17 Actividad: 7 LAZOS EN LA PROGRAMACION Con frecuencia se desea repetir un mismo cálculo varias veces. En ésta actividad queremos sumar los n primeros números impares. Esto puede hacerse de la siguiente manera: Considere el primer número impar y almacénelo en S. Considere el siguiente número impar, súmelo a S y almacénelo en S Repita hasta finalizar La expresión 2 x j – 1 calculará el j-avo número impar. Lo usaremos en el programa al que llamaremos “SUMIMPAR” Ingrese en PRGM y abra un nuevo programa con el nombre de “SUMIMPAR”. Ingrese la siguiente sintaxis: “N=”? → N ↵ 0→S↵ For 1 → J To N↵ S + 2J – 1 → S ↵ Next Encontrará los comandos For, To, Next en el segundo menú bajo SHIFT PRGM COM. Esos comandos en conjunto crearán un lazo que comienza con For y termina con Next. La primera vez que ejecuta el lazo se efectuará J = 1. Después J se incrementará de uno en uno cada vez que se ejecute el lazo hasta que J = N tenga el mismo valor. Ejecute el programa con diferentes valores de N menores o iguales a 10. ¿Qué ley de formación se forma? Demuestre su conclusión usando el método de inducción matemática. Actividad: 10 LAZOS Y CONDICIONES Existen tres tipos de lazos: For – To – Next ; Do – LpWhile y While – WhileEnd. Las sintaxis lucen de la siguiente manera: For 1→ J To ... ↵ Afirmación(es) ↵ Next ... Do ↵ Afirmación (es) ↵ Condición LpWhile 18 ... Condición While ↵ Afirmación (es) WhileEnd ... Por otra parte se puede efectuar elecciones lógicas con la construcción de If – Then – Else – IfEnd. Lo que aparece entre paréntesis es opcional: Condición If ↵ Then Afirmación ↵ (Afirmación (es) ↵) (Afirmación (es) Else ↵) (Afirmación (es) ↵) IfEnd ↵ La diferencia fundamental entre los lazos While y los lazos Do es que el lazo While puede ser totalmente omitido si la condición no es verdadera desde el comienzo. En cambio el lazo Do se ejecutará al menos una vez. Los símbolos de relaciones de orden como ≤ , se pueden hallar bajo SHIFT PRGM REL y si se desea construir una condición que incluya conectivos lógicos como “And” se puede buscar en OPTN LOGIC. Ingrese el siguiente programa con el nombre de PRIMOS que permite descomponer un número entero en sus factores primos: “X = ” ? → X ↵ 2 → P↵ While P ≤ X ↵ X ÷ P → Y↵ If Int Y = Y↵ Then Y → X ↵ P◁ Else If P = 2 ↵ Then 1→ P↵ IfEnd ↵ P+2→P↵ IfEnd ↵ WhileEnd ↵ X 19 El programa determinará si el número X es divisible por números P iguales a 2,3,5,7,9 etc. Si lo es, el programa almacenará X / P en X , mostrará el número P e intentará ese mismo número una vez más. Si no lo es, intentará el siguiente P. El lazo termina cuando P es mayor que X , porque entonces X mismo debe ser un número primo (¿Por qué?). La rutina comprobará la divisibilidad con todos los números impares y el número 2. Esto debe hacerse de ésta manera porque no existe un algoritmo que dé todos los números primos y solamente los números primos. Sin embargo, esto no tiene importancia debido a que si un número es divisible por 9 entonces también es divisible por 3, y eso es lo que se comprueba primero. El número 9 nunca aparecerá como factor primo. El hecho de que el número 2 sea un número primo es lo que nos fuerza a considerar una afirmación de tipo If-Then: Si P es igual a 2 entonces almacenamos uno en P y podemos sumar dos para obtener el siguiente número impar. ¿ Puede hallar todos los primos del 2 al 100? Use el programa para mostrar que el número 302837 es un número primo.¿Cuánto demoró? ¿Puede hallar factores primos en su número telefónico privado? Actividad: 11 SOLUCION A UN PROBLEMA ABIERTO ANTERIOR Uno de los problemas que usted encontró en la Actividad 7 del Laboratorio 1 fue el constatar que era imposible calcular potencias de números complejos usando la tecla de potenciación de la calculadora: ∧. Esto se puede solucionar ingresando un programa para calcular potencias de números complejos. El siguiente programa fue desarrollado por el alumno Gerardo Roa del curso de Algebra del primer semestre del año 1998 de la Escuela de Ingeniería Civil de la Universidad Diego Portales. El programa usa el Teorema de De Moivre. Ingrese el siguiente programa con el nombre POT.CPLX: --------------------------------------------POT.CPLX----------------------------------------------------Rad ↵ “REAL” ? → A ↵ “IMAG” ? → B ↵ “ GRADO” ? → N ↵ If A ≠ 0 ↵ Then (A 2 + B 2 ) → R ↵ tan − 1 (B ÷ A) → S If A <0 ↵ Then S + π → S ↵ IfEnd ↵ R ∧ N (cos NS + i sin NS) ↵ IfEnd ↵ If A = 0 ↵ Then For 1 → K To 100 ↵ If N = 4K ↵ Then (B∧N) ↵ 20 IfEnd ↵ If N = 4K – 3 Then (B∧N) i ↵ IfEnd ↵ If N = 4K – 2 ↵ Then (B∧N) x – 1 ↵ IfEnd ↵ If N = 4K –1 ↵ Then (B∧N) x –i ↵ IfEnd ↵ Next ↵ IfEnd Use el programa para calcular (2 + 3i) 5 , (− 2 − 3i) 5 , i 10 Actividad: 13 RAICES DE UN NUMERO COMPLEJO El siguiente programa desarrollado también por el alumno Gerardo Roa permite a la Casio CFX- 9850-G hallar todas las raíces de un número complejo. Ingrese el siguiente programa a su calculadora con el nombre RAIZCOMP ---------------------------------------------RAIZCOMP-----------------------------------------------------------Rad ↵ “REAL” ? → A ↵ “IMAG” ? → B ↵ “GRADO” ? → N ↵ If A ≠ 0 ↵ Then (A 2 + B 2 ) → R ↵ tan − 1 (B ÷ A) → S ↵ If A < 0 ↵ Then S + π → S ↵ IfEnd ↵ Goto 9 ↵ IfEnd ↵ If A = 0 And B ≠ 0 ↵ Then Abs B → R ↵ sin − 1 (B ÷ R ) → S ↵ Goto 9 ↵ IfEnd ↵ Lbl 9 ↵ 21 For 0 → K To (N – 1) ↵ N x R (cos(S + 2Kπ ) ÷ N + i sin(S + 2Kπ ) ÷ N) ◁ “ ”↵ Next a) Use el programa anterior para calcular todas las raíces quintas de la unidad y todas las raíces cúbicas de 2 + 3i. b) Compruebe sin uso de calculadora que los resultados dados por la calculadora en (a) son correctos. Actividad: 14 ACTIVIDADES COMPLEMENTARIAS 1) Escriba un programa que calcule el área y el perímetro de un rectángulo de base B y altura H. Ejecute el programa con los valores de comprobación B = 5,5 y H = 3,2 2) Escriba un programa que resuelva ecuaciones cuadráticas ax 2 + bx + c = 0 . El programa deberá preguntar por los coeficientes a , b y c y deberá dar ambas soluciones, incluyendo la posibilidad de números complejos. Ejecute su programa con las ecuaciones 2 x 2 + 3x − 5 = 0 y 2 x 2 + 3x + 5 = 0 . Ingrese a la ventana EQUA, ingrese a POLYNOMIAL , obtenga los resultados de las ecuaciones dadas en dicha ventana y compárelos con los dados por su programa. 3) Obtenga una tabla de valores en la ventana TABLE para las función f(x)=sen x de modo que pueda completar los siguientes datos: x sen x 0,1 0,01 0,001 0,0001 -0,01 -0,001 -0,0001 Compare la función tabulada con la función g(x) = x. ¿Qué ocurre para valores de x cercanos a cero? 3) Obtenga una tabla de valores simultánea para la función y =sen x e y = arcsen x. En la calculadora la función arcsen x se denota por sen − 1 x . Obtenga la tabla completando los siguientes valores: x sen x -π ÷ 2 -1,0 -0,5 0,0 0,5 1,0 π÷ 2 x -1,000 -0,841 -0,479 0,000 0,479 0,841 1,000 22 arcsen x Requerimientos del reporte a entregar (1) (2) (3) (4) (5) (6) (7) Responda por escrito y ordenadamente cada una de las actividades del laboratorio. Agregue todos los comentarios que le parezcan valiosos. Describa con claridad su método de razonamiento. Reporte todos los problemas y las anomalías que encuentre. Su descripción debe ser lo suficientemente convincente Recuerde el objetivo principal de los laboratorios: No se trata de realizar laboratorios, sino que de aprender de ellos Por lo tanto, sus actividades y observaciones son importantes, pero más aun lo son sus explicaciones Comparta sus inquietudes: consulte si tiene dudas y, si puede, ayude a aclararlas a otros. 23