HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

40
HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS SESIÓN 9: ALGORITMOS Y MACROS

Transcript of HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

Page 1: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

 

 

 

 

 

 

 

 

 

 

 

HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

SESIÓN 9: ALGORITMOS Y MACROS

 

 

Page 2: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  2

ALGORITMOS Y MACROS 

 

CONTENIDOS  

Gran parte de esta sesión está clasificada como complementaria, porque contiene el uso de controles, botones y macros, objetos que pueden no adecuarse a tus objetivos en este curso. Se han incluido a petición de gran parte del alumnado de ediciones anteriores, y por creer que dichos conceptos forman parte de la cultura general informática. Quienes los estudiéis adquiriréis una visión muchos más profunda de las prestaciones que ofrece una hoja de cálculo.

ALGORITMOS 

Un algoritmo es una sucesión finita de operaciones matemáticas ordenadas destinadas a la resolución de un cálculo o problema. Por ejemplo, son algoritmos las operaciones necesarias para multiplicar o dividir dos números sin calculadora, o la olvidada forma de extraer la raíz cuadrada. 

La capacidad de la Hoja de Cálculo para usar FUNCIONES   LÓG ICAS, condicionales

y de decisión, como SI, O, NO, etc. permite la implementación de algoritmos aunque con menos vistosidad y potencia que los elaborados mediante lenguajes de programación. En casos sencillos pueden ser confeccionados en las clases.  

Esta capacidad algorítmica, junto con la posibilidad de asignar NOMBRES   a las

celdas y rangos abre la puerta a cuestiones algebraicas, con limitaciones, pero con capacidad de ordenar bien los distintos pasos de una resolución. 

Para observar estas capacidades y aprender nuevas técnicas de uso de OpenOffice.org Calc verás algunos modelos en los que está reflejada la variedad de técnicas que se pueden usar.

UN EJEMPLO DE ALGORITMO 

Abre el modelo ECUAC ION1.ODS, que con él aprenderemos algunas técnicas

nuevas. Si al iniciarse te pregunta si habilitas macros, responde que sí. En esta sesión comenzaremos la presentación de las macros, como instrumento útil de apoyo en el diseño de las hojas de cálculo. 

Page 3: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  3

 

  

Este es un ejemplo de la simplicidad y potencia de algunos algoritmos. Resuelve una ecuación de primer grado considerándola como función (es un mero artificio de cálculo), es decir, en la que se han pasando todos los términos al mismo miembro, igualando a cero y asignando una función al resultado. 

Por ejemplo, para resolver la ecuación (x-3)/7 = x – 5 se convierte en la función y = f(x) = (x-3)/7 – x + 5 = 0 

Para resolver la ecuación, se escriben dos valores de x a y b en las celdas D8 y D9 respectivamente (los valores que quieras), sobre los que se calculan los valores correspondiente de la función f(a) y f(b), (celdas F8 y F9, que escribirá el ordenador siguiendo unas instrucciones internas que ahora son invisibles para ti).

Una sencilla interpolación inversa nos despeja el valor de la solución de la ecuación:

Observa que la celda E12, la de la solución, contiene esta fórmula. 

Este algoritmo sorprende al alumnado, y es tan sencillo de construir que lo pueden lograr en pocos minutos. Puede servir de COMPROBADOR  de soluciones

previamente conseguidas con otros métodos. Tiene la ventaja de que no hay que simplificar las ecuaciones antes de escribirlas.  

Consulta las instrucciones y resuelve alguna ecuación conocida.  

Puedes seguir estos pasos: 

En el papel, pasa todos los términos de la ecuación al primer miembro y usa lenguaje algebraico de ordenador. Así, para resolver la ecuación 5(x – 3) = 2x deberás considerar la expresión 5*(X-3)-2*X  

Aquí vas a usar una técnica nueva para escribir la expresión. Observa que en la parte inferior de la pantalla ha aparecido un objeto nuevo, el botón  

Page 4: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  4

  

Si pulsas sobre ese botón, se abrirá una ventana de entrada ("inputbox"), en la que puedes escribir 5*(X-3)-2*X. Cuando pulses Aceptar, comprueba que lo que tú has escrito aparece como por arte de magia en las celdas F8 y F9 como fórmula. ¿Qué ha ocurrido? Que hemos usado una macro que el botón tenía asignada. En el siguiente apartado te la presentaremos. 

Basta con leer el contenido de la celda E12 y ya has terminado de resolver la ecuación. 

Si lees las instrucciones te darás cuenta de la posibilidad de alterar los valores de apoyo de las celdas D8 y D9 sin que se altere la solución (salvo algún redondeo). Prueba a cambiarlos. 

  

MACROS 

Una macro (palabra proveniente de “macroinstrucción”), es un conjunto de operaciones de Hoja de Cálculo que se memorizan internamente para poderlas repetir cada vez que se desee, incluso mediante una combinación de teclas o un botón que inicie ese conjunto de operaciones, como el que hemos usado en ecuacion1.ods. Puedes construirte macros para borrar rangos, ordenar contenidos, recordar formatos, implementar un algoritmo, admitir datos, etc. 

En el uso de macros podemos distinguir tres operaciones: 

• Usar macros que han programado otras personas • Grabar y ejecutar nuestras propias macros • Aprender a programar macros mediante el lenguaje Basic de OpenOffice.org 

En este curso aprenderás los dos primeros usos, y en los Complementos describiremos algunos procedimientos del lenguaje Basic muy simples, que puedes incorporar a tus trabajos. 

Hemos indicado que la admisión de la función en este modelo ha sido programada mediante una macro. Por eso te pedía permiso el programa para usar macros, como medida de seguridad. Si deseas ver su código (conjunto de instrucciones), sigue estos pasos: 

Usa la secuencia Herramientas > Macros > Organizar macros > OpenOffice.org Basic. No entres en otra ruta. Al llegar aquí, busca ecuación1.ods, expande todas sus subcarpetas y selecciona module1. Descubrirás que contiene una macro que se llama Aceptar_ecuacion 

Page 5: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  5

 

Por pura curiosidad, pulsa sobre el botón Editar y descubrirás el código de la macro. Si no tienes experiencia en esto, te parecerá ininteligible. Cierra sin tocar nada y, si tienes interés, consulta en los Complementos una pequeña explicación de este código. No creas que hay que dominar esto para usar macros, porque más adelante aprenderás a grabarlas automáticamente o a crear tus propias funciones. 

BUSCAR UN VALOR DESTINO 

Una ayuda importante para la resolución de problemas es la posibilidad de las Hojas de Cálculo de despejar una variable en una fórmula. Suele llamarse persecución de objetivos o BÚSQUEDA   DE   VALOR   DEST INO. Consiste en ajustar

el valor de una celda para conseguir otro valor determinado en otra celda distinta. 

Abre el modelo ECUAC ION2.ODS, que contiene una estructura más sencilla que

el anterior y resuelve ecuaciones de cualquier tipo, no necesariamente de primer grado.  

Su valor educativo no es muy grande, ya que la potencia de cálculo que contiene produce más admiración que motivación por entender el algoritmo implementado. No obstante, se puede usar para comprobar soluciones ya encontradas o para resolver ecuaciones inabordables por otros métodos. 

La resolución se basa en la herramienta Buscar valor destino 

Esta herramienta necesita tres datos (dos celdas y un valor): 

a) Celda de la fórmula: Es una celda que contiene una fórmula cuyo valor al evaluarla queremos fijar. En este modelo se trataría de la celda F8, que, como verás, contiene la ecuación. 

b) Valor destino: Es el valor que deseamos que contenga la celda de la fórmula. En este caso debemos lograr que valga cero. 

Page 6: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  6

c) Celda variable: Contiene un valor del cual depende el resultado de la celda de la fórmula. Este valor es el que deseamos que el ordenador calcule a fin de que aparezca en la celda variable el valor deseado. En este caso se tratará del valor de X, contenido en la celda D8, y por tanto la solución de la ecuación. 

 

Esto, en lenguaje algebraico, equivale a despejar una variable en una fórmula. 

Al abrir el modelo la celda F8 contiene la fórmula =X^2+X-200, que se corresponde con la resolución de la ecuación de segundo grado x2 + x – 200 = 0. Esta celda será la celda de fórmula y su valor destino será cero. La celda D8 contiene el valor de x, luego será la celda variable. 

Podemos plantearnos cualquier otra ecuación. Por ejemplo, deseamos saber en qué instante un cuerpo arrojado hacia arriba verticalmente, con ecuación de movimiento 20t-4,9t2 alcanza una determinada altura, por ejemplo 15 m. Sabemos que este problema puede tener dos soluciones, una, o ninguna. Con este procedimiento sólo encontramos una, la que esté más al alcance del valor previo que escribamos. 

La resolución se consigue con las siguientes operaciones: 

• Escribe en la celda de X un valor cualquiera que produzca un resultado no muy grande en el valor de la ecuación. Podíamos escribir 2 segundos. Escribe la fórmula =20*X-4,9*X^2-15 en la celda F8, que según el planteamiento del problema, debe ser igual a cero. 

• Activa la orden Herramientas > Búsqueda de valor destino...  • Como celda de fórmula escribe F8  • Como valor destino escribe un CERO  • En celda variable escribe D8  • Pulsa Aceptar y se ajustará el valor de la celda variable a la solución de la

ecuación. Se tardan 0,9902 segundos en alcanzar la altura de 15 metros. 

Repite el cálculo, pero escribiendo 5 segundos en la celda D8 ¿qué ocurre? ¿qué significado físico tiene esta otra solución? 

Cambia ahora los 15 metros que has escrito en la fórmula de la celda F8 por 40 metros. ¿Qué ocurre entonces? ¿Qué significa el valor de 2,05 s. propuesto? 

Como ves, es una herramienta muy útil y fácil de manejar, y que esconde más potencia de cálculo de la que parece en un primer estudio. 

Page 7: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  7

Esta técnica la puedes usar en cualquier cálculo de las materias de Ciencias, siempre que desees despejar una variable de una fórmula. Además admite toda clase de funciones matemáticas en su resolución, permitiendo resolver ecuaciones del tipo XcosX = 0,3 ó X + LN(X) = 4. En estos casos debes respetar la forma de escribir las funciones en OpenOffice.org Calc.  

 EJEMPLO DE COMPROBADOR 

Abre el modelo CORRECTALG.ODS, que es un corrector de simplificaciones

algebraicas.  

Sigue las instrucciones para comprobar algunas identidades, como por ejemplo (a+b)(a-b)=a2 – b2, o, en lenguaje de ordenador =(a+b)*(a-b) y =a^2-b^2. 

Observa el funcionamiento del modelo: 

 

  

En primer lugar se generan valores aleatorios entre 1 y 10 para las variables a, b, x, y, p y q, que serán la base de las expresiones que deseamos simplificar. Pulsa reiteradamente la tecla F9 para ver cómo cambian. En la sesión 10 aprenderemos a generar esos valores aleatorios. 

Con base en estas variables se escriben dos expresiones cuya equivalencia se desea comprobar. La escritura se efectúa con formato de ordenador y aquí tenemos de nuevo la novedad de las macros, y es que se pueden insertar botones de acción en una hoja de cálculo y después asignarles una macro.  

Puedes comprobar que si pulsas el primer botón ("Escribir primera expresión") te permitirá escribir una expresión algebraica, por ejemplo (a+b)*(a-b), y al pulsar en el botón Aceptar, se copia esa expresión dos veces: en la celda D12 como fórmula (por eso resulta un número, al evaluar la fórmula) y en la celda G12 como texto. Esto sin macros no podría hacerse. Como indicamos antes, más adelante puedes leer la explicación. 

Pulsa ahora el otro botón y escribe a^2-b^2. Los resultados de las celdas D12 y D16 serán iguales. Pulsa F9 de forma reiterada. Los valores siempre coincidirán (salvo redondeos).  

El funcionamiento se basa en la definición de identidad algebraica: "Una igualdad que se cumple para todos los valores de las variables", pues al

Page 8: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  8

recalcular con la tecla F9 observaremos que las celdas D12 y D16 contienen valores iguales aunque cambien los valores de las variables. En realidad hemos efectuado una inducción incompleta. 

Estudia la fórmula contenida en H20. Esta expresión, mediante la función SI, decide su opinión según sea el valor absoluto de la diferencia de los dos valores. No se usa la identidad perfecta entre las dos expresiones para dar margen a los errores de redondeo.

 

MEJORAS EN LA PRESENTACIÓN DE MODELOS 

El modelo del apartado anterior, corectalg.ods contiene algunas mejoras de presentación que conviene destacar:

Unión de celdas

Para la elaboración de rótulos atractivos es útil la capacidad de OpenOffice.org Calc para UNIR  VAR IAS  CELDAS en una. Ya lo vimos en la sesión

4, pero no viene mal recordarlo. 

Observa, moviendo el cursor sobre el mismo, que el título Corrector algebraico ocupa una sola celda, la cual ha sido construida sobre varias de las primitivas. 

Intenta hacer lo mismo:  

Selecciona un rango de celdas adecuado para contener el título de las Instrucciones, por ejemplo desde la B18 hasta la H18. Pide Combinar celdas, para convertir el rango en una sola celda. Esto lo puedes conseguir con la orden de menú Formato > Combinar celdas o bien usando el botón  

   

Con Formato > Celda.. > Alineación puedes centrar el título vertical y horizontalmente. 

Si deseas volver a la configuración primitiva selecciona la celda y sigue la secuencia Formato > Unir Celdas > Dividir o bien usa de nuevo el botón 

   

 

Suprimir líneas de división 

Page 9: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  9

Habrás observado que en este modelo no se ven las líneas de división de las celdas. Esto lo logras activando la secuencia de comandos HERRAMIENTAS   >  

OPCIONES   >   OPENOFF ICE .ORG   CALC   >   VER y desactivando la opción de líneas de

cuadrícula. 

Con la misma ruta de comandos puedes volver a la configuración primitiva de ver las líneas e incluso cambiar su color. 

 

Protección de una hoja

Intenta cambiar algo en el modelo, como los valores de las variables o algunos textos, y te será imposible, pues la hoja está PROTEG IDA frente a los

cambios, salvo las cuatro celdas en las que se escriben las expresiones. 

Para anular la protección basta que acudas a Herramientas > Proteger documento y desactives la protección de Hoja de Cálculo. No te pide contraseña porque no se incluyó ninguna al protegerla. 

Cambia ahora cualquier contenido de celda y observarás que no se te impide ninguna escritura. 

Experimenta con la protección y desprotección de hojas con un modelo nuevo. Debes recordar lo siguiente: 

(a) Cada celda tiene el carácter de protegida o de desprotegida. Cuando tú creas un documento nuevo, todas las celdas se consideran protegidas, pero esa cualidad no se hace efectiva hasta que no proteges las hojas de cálculo completas. Funcionan como si no estuvieran protegidas hasta ese momento. Intenta escribir en cualquiera de ellas y te lo permitirá. 

(b) Si proteges la hoja de cálculo con la secuencia Herramientas > Proteger documento > Hoja de Cálculo, esa cualidad de protegidas se hace efectiva y ya no podrás alterar ninguna celda, salvo que con las mismas órdenes vuelvas a desproteger toda la hoja.  

Es importante que recuerdes que si el documento tiene varias hojas, has de protegerlas una por una. Habrás notado también que puedes definir una contraseña para poder desproteger después. 

(c) Para desproteger sólo unas celdas concretas y que las demás sigan protegidas debes usar la secuencia Formato > Celdas… > Protección de Celda teniendo seleccionadas esas celdas y desactivar el carácter de Protegido. Así, aunque protejas después toda la hoja, esas celdas estarán abiertas a la escritura o a cualquier alteración. 

Page 10: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  10

(d) Si proteges todo el documento con Herramientas > Proteger documento > Documento, lo único que proteges es la estructura de hojas, que no puedes eliminarlas ni cambiarlas, pero las celdas no alteran su carácter por ello. 

Intenta practicarlo tú: 

• En primer lugar, con la secuencia Formato > Celda... > Protección de celda desactiva dicha protección para las celdas que te interese que no estén protegidas.  

• Pide Herramientas > Proteger documento > Hoja de Cálculo y escribe una contraseña si así lo deseas.  

• Intenta escribir en las distintas celdas y sólo podrás editar las que has declarado previamente como no protegidas.  

Para desproteger sigue la misma secuencia Herramientas > Proteger documento y escribe la contraseña si te la pide. 

La protección es útil para que el alumnado no altere las fórmulas cuando usan modelos ya confeccionados.

 

FUNCIONES MATEMÁTICAS 

OpenOffice.org Calc dispone de un gran catálogo de funciones de tipo matemático, superior incluso al de otros programas no gratuitos. Mediante el Asistente de Funciones puedes investigar qué funciones puedes usar en tus cálculos. Lo tienes junto a la línea de edición rotulado como fx

 

Generales: EXP, LOG, LN, RAÍZ, PI, ... 

Trigonométricas: SENO, COS, TAN, ASEN, ACOS, ATAN,... 

De divisibilidad: M.C.D., M.C.M, ESPAR, ESIMPAR,... 

De transformación: TRUNC, REDONDEAR, ENTERO, SIGNO,... 

De Combinatoria: FACT, COMBINAR, COMBINAR2,... 

Funciones de tipo entero 

Son muy interesantes las operaciones y funciones de tipo entero, es decir, las que no usan decimales: 

Page 11: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  11

COCIENTE: Calcula la parte entera del cociente entre dos números. Así, COCIENTE(234;20) = 11 

RESIDUO: Es el complemento de la anterior, pues calcula el resto de dividir un número entre otro mediante división entera: RESIDUO(234;20) = 14 

La unión de las dos funciones anteriores reproduce la división entera. Por ejemplo 1290 dividido entre 543 dará un cociente de 2 y un resto de 204. En el modelo DIVENT.ODS puedes realizar estas divisiones, que son útiles en

muchos problemas. 

También es útil la función ENTERO, que aproxima cualquier número al mayor entero que es menor que él. Así, son válidas las igualdades ENTERO(17,4) = 17 ENTERO(-3,2) = -4 

PRÁCTICAS  

MULTIPLICAR MEDIANTE DUPLICACIÓN Y MEDIACIÓN 

Como práctica de lo que has aprendido puedes construir un algoritmo clásico para la multiplicación, que se remonta al antiguo Egipto y que también es conocido como multiplicación rusa. Consiste en duplicar sucesivamente uno de los factores, mientras el otro (de forma paralela) se va reduciendo a mitades enteras. Después el producto se consigue tachando las parejas cuya parte “mitad” es impar y sumando los “dobles” restantes. 

En la siguiente tabla puedes ver el proceso de multiplicar 345 por 67:

Algoritmo

345 67 67

172 134

86 268

43 536 536

21 1072 1072

10 2144

Uno de los números se va duplicando y el otro dividiendo entre 2 de forma entera. Cuando este llega a 1 o 0, se para el proceso.

Después basta con sumar las duplicaciones cuya mitad sea impar (Están destacadas en color rojo)

Resultado 17132

5 4288 4288

Page 12: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  12

2 8576

1 17132 17132

Resultado 23115

No discutiremos en este momento por qué funciona el algoritmo. En libros de Matemáticas Recreativas o de Historia de las Matemáticas podrás consultar otros detalles. Sólo nos detendremos en la construcción del algoritmo en una Hoja de Cálculo. 

Construcción del algoritmo 

Abre un archivo nuevo de Hoja de Cálculo para implementar el algoritmo. Puedes comenzar por una cabecera de datos parecida a la siguiente: 

Los números no han de ser necesariamente 345 y 67, como ya habrás comprendido, pero te será útil mantenerlos para comprobar tus operaciones. 

Aprovecha para practicar la unión de celdas en el encabezamiento del modelo. El 67 de la derecha de la imagen déjalo para una segunda fase de la construcción. 

Después deberemos duplicar el 67 (por ejemplo) y dividir por la mitad el 345. Para ello crearemos tres columnas como las siguientes, que iremos explicando una a una: 

Duplicaciones del segundo factor 

Page 13: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  13

Esta columna no presenta inconvenientes: En cada celda deberás escribir la fórmula =celda de arriba*2 Por ejemplo, si el número está contenido en la celda F9, las fórmulas deberán ser F9*2, F10*2, F11*2...Arrastra ese tipo de fórmula hasta una columna de unos 20 ó 25 datos. Cuantos más haya, mayores podrán ser los factores. 

Mitades del otro factor 

A primera vista parecería que podríamos usar la misma técnica: C9/2, C10/2, C11/2, etc., pero como deseamos que la mitad sea entera, deberemos usar las funciones COCIENTE o ENTERO, que estudiamos en la teoría. Ambas valen.  

Puedes usar 

=COCIENTE(Celda de arriba;2) 

o bien 

=ENTERO(Celda de arriba/2) 

Prueba cualquiera de las dos y arrastra hasta formar la columna. Comprueba los resultados con los de la imagen de arriba. 

Sumandos 

Ahora sólo nos queda decidir qué duplicaciones convertimos en sumandos, que como ya hemos explicado en el esquema, serán las correspondientes a las mitades impares. 

Selecciona la celda de cabecera de esta tercera columna, que se corresponderá con el 67 de la primera imagen que dejamos sin rellenar. Recuerda que esta tercera columna comienza a la misma altura que los factores, porque si el primero es impar, habrá que contar con él. 

Una vez seleccionada la celda de la derecha de los factores, la convertiremos en sumando si la mitad es par y en caso contrario la rellenaremos con un espacio en blanco. La fórmula puede ser: 

=SI(ESIMPAR(Su paralelo en la columna de mitades);Su paralelo en los dobles;" ") 

Es decir, si su paralelo en las mitades es impar, se toma su paralelo en los dobles y en caso contrario se escribe un espacio en blanco. 

Pruébalo bien hasta que funcione. Si tienes dificultades consulta el modelo MULT I .ODS. 

Page 14: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  14

Termina sumando la tercera columna mediante autosuma o con la función SUMA. En ambos casos los espacios en blanco se ignorarán y quedará como resultado el producto “ruso” o por duplicación. 

Puedes terminar comparando este producto con el normal, conseguido mediante la fórmula  

=Primer factor * Segundo factor 

 

 

División por duplicación 

El mismo procedimiento se puede usar para dividir, pero tomando nota de las potencias que equivalen a las duplicaciones. En la tabla tienes un esquema para dividir 320 entre 29: 

Duplicaciones  Potencias

29  1 

58  2 

116  4 

232  8 

Resto 320 – 232 = 88 y tomo nota de la potencia 8.

Resto 88 – 58 = 30 y tomo nota del 2.Resto 30-29 = 1 y tomo nota de la potencia 1.

Sumo las potencias: 8+2+1= 11. que es el cociente.

El resto será el último 1 sobrante. 

     

El algoritmo es sencillo, pero en la Hoja de Cálculo se complica. Si te interesa el tema y deseas aprender más técnicas algorítmicas, estudia el modelo DIV I .ODS.

 

RESOLUCIÓN DE LA ECUACIÓN DE SEGUNDO GRADO 

La resolución de una ecuación de segundo grado es un buen ejemplo de algoritmo cuya confección está al alcance de los alumnos y alumnas de Enseñanza Secundaria.  

Intenta crear un modelo que contenga esa resolución. 

Page 15: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  15

Todo el algoritmo ocupa tan sólo parte de una hoja. Procura usar el lenguaje más cercano al algebraico que puedas, asignando nombres a casi todas las celdas. 

 

  

• Asigna nombre (a, b y c) a las celdas que recibirán los tres coeficientes de la ecuación ax2 + bx + c = 0. En la imagen unas celdas contienen los rótulos a=,b= y c= y otras los valores 1, -11 y 18 de los coeficientes. Los nombres debes asignarlos a estos últimos valores 1, -11 y 18. 

• Escribe la fórmula b2 – 4ac para la celda del discriminante y asígnale el nombre de d.  • Recuerda que si d>0 resultan dos soluciones distintas, si d=0, iguales (o una sola) y si d<0 no hay solución. Si usas el ejemplo de la figura deberá darte 49. 

• Con la función SI rellena una celda en la que aparezcan los mensajes "Hay dos soluciones", "Sólo hay una solución" o "No hay soluciones" según los valores de d. Necesitarás dos funciones SI anidadas, es decir, una dentro de otra =SI(d>=0;SI(d=0;mensaje1;mensaje2);mensaje3)) 

• También con la función SI rellena las dos soluciones en el caso en el que el discriminante sea mayor o igual a cero (-b + RAÍZ(d))/2/a y (-b - RAÍZ(d))/2/a.  

  

 

Page 16: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  16

EJERCICIOS 

 

EJERCICIO 1 

¿Se te olvidó la forma de extraer la raíz cuadrada?

Tenemos que confesarlo. Casi nadie recuerda cómo obtener una raíz cuadrada sin calculadora. El algoritmo que aprendimos en la niñez se nos ha olvidado por falta de uso.

Como ejercicio puedes construir un algoritmo distinto, que calcula la raíz cuadrada sólo con sumas y divisiones y que si no se te olvidó dividir, puedes organizarlo con papel y bolígrafo. Aquí usaremos la Hoja de Cálculo, ya que de ella va el curso.

El esquema que te pedimos está contenido en esta imagen. Puedes usar los mismos valores para comprobar:

• Construye todo el encabezamiento de arriba con la estética que desees. El verdadero algoritmo está contenido en la tabla del centro:

• En la primera celda de esa tabla, en la columna X, copia el valor del número con el signo = (Si el número 4,57 está en la celda D6, entonces escribirás =D6), y en la celda de al lado un 1. Imagina que ambos valores son aproximaciones (por ahora muy malas) de la raíz. Una es el mismo número 4,57 y la otra el 1.

• Si lográramos conseguir que X y N/X tuvieran el mismo valor, ya habríamos encontrado la raíz cuadrada (piensa bien por qué funciona esta idea). Así que en la siguiente celda de la izquierda, como valor de X, calculamos el promedio de N y 1, para acercar sus valores, mediante la semisuma de las dos celdas situadas en la fila anterior, y en la celda de su derecha calculamos N/X, usando una referencia absoluta para N (signos $). Comprueba si lo has hecho bien.

Page 17: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  17

• Arrastra hacia abajo con el controlador de relleno las dos fórmulas de la segunda fila. Entonces se irán aproximando los valores de X y de N/X hasta desembocar ambos en la raíz cuadrada pedida. Fija el número de decimales que desees.

• Añade una columna a la derecha en la que se escriba “Vale” si la diferencia (en valor absoluto) entre X y N/X es menor que la precisión que tú marques.

• Por último, en la parte inferior, comprueba si el cálculo es correcto mediante el uso de la función RAÍZ de la hoja de cálculo.

• Añade cualquier otro detalle que haga más atractivo el algoritmo. • Cambia varias veces el valor del número para comprobar mejor la

validez de los cálculos.

 

EJERCICIO   2 

Búsqueda de valor destino en la Enseñanza de las Ciencias 

Todas las materias de Ciencias presentan ecuaciones que no se pueden resolver mediante métodos elementales. El segundo ejercicio que te proponemos consiste en resolver dos de estas ecuaciones imposibles de abordar en la enseñanza no universitaria, en concreto las referentes al perímetro y la superficie de un segmento circular. 

 

En efecto, si llamamos A al ángulo POQ del segmento circular y R al radio OP, tanto el área AR como el perímetro P presentan unas fórmulas en las que es imposible despejar el ángulo A. 

  

La fórmula del área sólo es válida si el ángulo es inferior a 180º. En caso contrario habría que cambiar el signo - por el + 

Construye un modelo inspirándote en ECUAC ION2.ODS, pero con dos estructuras

distintas de búsqueda de valor destino, y resuelve con él estas dos cuestiones: 

(A) ¿Qué ángulo ha de tener un segmento circular de radio 7 cm y de perímetro 17,6 cm? 

Page 18: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  18

(B) ¿Qué ángulo debería tener otro de radio 10 para que su área fuera de 11,8 cm2? 

Tu modelo debe contener los elementos que puedes observar en la figura 

 

La imagen del segmento circular la puedes incluir desde este mismo documento con Copiar y Pegar. 

El cuadro de texto del título puedes cambiarlo a tu gusto. 

Las dos fórmulas de arriba deberán estar contenidas en las celdas de perímetro y área, y referida cada una al radio y ángulo que figura sobre ella, para que constituyan módulos independientes. Observa que los valores están cercanos a los que te piden las cuestiones. 

Vas a tener una dificultad, y es que las funciones SENO y COS sólo actúan sobre radianes en esta hoja de cálculo, por lo que tendrás que escribirlas así: 

SENO(RADIANES("Celda del ángulo"/2)) y COS(RADIANES("Celda del ángulo"/2))  

Sustituye la expresión "Celda del ángulo" por las referencias concretas de las celdas que lo contienen. Las soluciones exactas que te deben dar son : (A) 74,61º (B) 65,77º 

  

 

EJERCICIO   3 

Expresión binaria de un número natural

Un método rápido para expresar un número natural en sistema de numeración en base 2 es el ir dividiendo el número y los sucesivos restos entre potencias de 2, tomando nota de los cocientes resultantes. Por ejemplo:

78 en base 2:

78 entre 64 da 1 Resto 14

Page 19: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  19

14 entre 32 da 0 Resto 14

14 entre 16 da 0 Resto 14

14 entre 8 da 1 Resto 6

6 entre 4 da 1 Resto 2

2 entre 2 da 1 Resto 0

0 entre 1 da 0 Resto 0

La expresión binaria de 78 estará formada por los cocientes: 1001110

El ejercicio que se propone consiste en implementar este algoritmo en una hoja de cálculo.

Organiza, en primer lugar, una cabecera para el algoritmo:

 

En la imagen figuran todas las potencias de 2 entre 1 y 512, para que el algoritmo se pueda aplicar a todos los números naturales menores que 1000. Puedes ampliar a más potencias si lo deseas.

La fila de residuos se consigue con la función RESIDUO(A;B). El primero se consigue comparando el número dado con 512, el segundo se calcula igual, pero a partir del primer resto, que en la imagen vuelve a ser 78, y así se siguen calculando unos residuos a partir de otros.

La fila de cocientes se forma a partir de la función COCIENTE(a;b), dividiendo cada residuo anterior entre la correspondiente potencia.

La comprobación la consigues mediante la función SUMAPRODUCTO aplicada a las potencias y los cocientes. Si no lo logras así, búscate otro método similar.

COMPLEMENTOS 

El uso de macros es utilísimo en muchas cuestiones de cálculo. Aquí sólo esbozaremos algunos temas para indicarte un camino nuevo que puedes seguir y profundizar en él cuanto desees. Aunque todos los temas están clasificados como complementarios, debes profundizar bien en alguno de ellos que consideres más útil para ti.

Page 20: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  20

USO DE MODELOS CON LAS FUNCIONES AMPLIADAS 

A continuación te presentamos unos modelos que poseen un catálogo ampliado de funciones. Sólo tienes que abrirlos, leer sus instrucciones y usarlos en las clases si te apetece. También puedes imitar su contenido según las orientaciones que te daremos en el apartado de Define tus propias funciones. 

Una función en Openoffice.org Calc es todo procedimiento que devuelve un valor a partir de unos parámetros (uno o varios) de los que depende. Son funciones, como ya sabes, SUMA, que devuelve la suma de muchos parámetros, CONTAR.SI, que devuelve un recuento de números que cumplen unos criterios, RAÍZ, que calcula la raíz cuadrada de un número, etc. 

Todas las funciones se escriben con su nombre seguido de un paréntesis que contiene los parámetros separados por punto y coma o dos puntos: SUMA(3;4;c7), PROMEDIO(A1:A11), EXP(7), ... 

Las nuevas funciones tendrán la misma estructura: PITAG(2;3), CAPAC(F;C), BOBADA(2;3;4) pero con el número de parámetros y definición que decidamos. 

A continuación te indicamos algunos modelos del curso que puedes usar, modificar o ampliar. Todos ellos incluyen una lista de funciones nuevas (sólo para ellos) y algunas instrucciones de uso. Tú puedes después añadir hojas para tus propios planteamientos. 

 

Circuito de corriente alterna con autoinducción y capacidad 

Modelo CAPAC.ODS  

Este tema de Electricidad se caracteriza por incluir fórmulas largas con conceptos complicados y difíciles de aprender. Si tienes implementadas algunas de ellas, te puedes dedicar más a los conceptos y no a la memorización (no se han incluido unidades de medida). 

En el modelo se incluye una lista de algunas funciones (no todas, para que si quieres añadas Intensidad Eficaz, Tensión Media, Tensión Eficaz, etc). Las definiciones las puedes ver abriendo el Editor de Basic con Herramientas > Macros > Organizar macros > OpenOffice.org Basic, elige la carpetas capac.odc > Standard > Module1 y encontrarás el desarrollo de cada una. 

Al abrir cualquiera de estos modelos se te preguntará si se ejecutan las macros. Responde siempre afirmativamente. 

 

Page 21: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  21

Deslizamiento libre de un cuerpo por un plano inclinado 

Modelo PLANOI .ODS  

Similar al anterior, contiene algunas funciones relativas a la dinámica de un cuerpo que se desliza por un plano inclinado sometido únicamente a la fuerza de la gravedad. Puede constituir un modelo para planteamientos más complicados. 

 

Paneles de divisibilidad 

Modelo DIV IS IB .ODS  

Es un modelo sólo para que lo uses, pues las técnicas de programación que incluye son algo complicadas. Te servirá para descubrir en clase la relación que existe entre los divisores (primos o todos) de dos números y los de su MCD y MCM.

GRABACIÓN DE MACROS 

Para que te inicies en la grabación de macros, vamos a crear una que borre un determinado rango. Crea un archivo nuevo de hoja de cálculo, y llámale, por ejemplo, paralelo (imagina que vas a estudiar resistencia eléctricas en paralelo).

Escribe algunos datos en el rango que tú quieras, para poderlos borrar posteriormente mediante una macro.

Para crear una macro mediante grabación has de seguir esta secuencia:

1. Pides Herramientas > Macros > Grabar macro 2. Realizas las operaciones que deseas que automatice la macro, en este

caso borrar unos datos 3. Decides Finalizar la grabación 4. Guardas la macro en un módulo contenedor. 5. Ejecutas la macro para comprobar que la has grabado bien.

Intentaremos recorrer esa secuencia con la mejor explicación posible:

1. Recuerda bien qué celdas deseas borrar. Por ejemplo, pueden ser las que van desde A12 hasta D30.

Activa la secuencia de menú Herramientas > Macros > Grabar Macro.

Page 22: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  22

Te aparecerá una pequeña ventana con el botón de Finalizar Grabación. Ignórala por ahora.

2. Realiza manualmente las operaciones para borrar los datos:

(a) Selecciona los datos

(b) Pulsa la tecla Supr

(c) Elige Eliminar todo (u otra opción que prefieras) y pulsa Aceptar.

3. Pulsa sobre el botón de Finalizar grabación

Con esto ya tienes grabada la macro. Pasamos a guardarla

4. Guardar macro

En cuanto des al botón de Finalizar se te abrirá esta ventana.

Pulsa sobre el signo + de la carpeta paralelo para que se abra la subcarpeta Standard, como ves en la imagen. Ahora debes decidir en qué módulo (contenedor de macros) vas a guardar tu macro y cómo la vas a llamar. No es difícil hacerlo:

- Pulsa sobre el botón Módulo Nuevo y se te ofrecerá un módulo llamado Module1 o Module2 o similar. Si quieres conservas el nombre y si quieres lo cambias. Supongamos que se llama Module3. Pulsa el botón de Aceptar y observarás que se ha creado una subcarpeta de Standard llamada Module3. Ahí estará tu macro.

Page 23: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  23

- En la línea de Nombre de la macro escribe, por ejemplo, Borrar y pulsa sobre el botón Guardar. Se cerrará la ventana, dejando guardada macro con el nombre de Borrar.

5. Ejecutar la macro Borrar.

Escribe varios números en la zona de datos que deseas borrar posteriormente, para probar tu macro.

Pide ahora Herramientas > Macros... > Ejecutar Macro

Busca tu macro abriendo sucesivamente las carpetas paralelo > Standard > Module3 (u otro nombre) y la verás.

Ya solo tienes que seleccionarla y pulsar sobre el botón Ejecutar. Si has seguido las instrucciones correctamente, se deberán borrar todos los datos del rango.

Esta secuencia se puede simplificar usando la combinación de teclas Mayúscula + F10.

Más adelante veremos una forma más rápida de ejecutar macros mediante botones.

 

 

 

Page 24: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  24

DEFINE TUS PROPIAS FUNCIONES  

OpenOffice.org Calc posee un lenguaje de programación del tipo Basic, que es el que permite definir macros y funciones nuevas. Si ya has trabajado con ese lenguaje, no tendrás ninguna dificultad en seguir las indicaciones de este apartado. En caso contrario también podrás sacar mucho provecho si consultas los modelos que se han preparado para ayudarte. 

Para entender lo que te vamos a proponer abre el modelo P ITAG.ODS,

contenido, como todos ellos, en la carpeta modelos del CD. Te pedirá si deseas ejecutar macros. Responde afirmativamente, pues en esas macros están contenidas las nuevas funciones. 

Observa bien sus cuatro hojas. En la primera se te presenta el contenido del documento, explicando que contiene funciones nuevas. Estas funciones no se han incorporado al catálogo general, sino que son propias de este modelo. No intentes usarlas en otros, porque no funcionarían. Si deseas que funcionen en todos los archivos deberás copiarlas todas en la carpeta Mis macros y diálogos – Standard, creando un módulo nuevo en ella. 

Observarás que se han incluido unas funciones nuevas, referentes a un triángulo rectángulo. Por ejemplo, hipot(2;3) calcularía la longitud de una hipotenusa correspondiente a los catetos 2 y 3. Pasa a la segunda hoja y a la tercera y podrás recorrer el catálogo de las funciones nuevas.  

Estas funciones se pueden ya usar en cualquier fórmula de cualquier celda. Lee la parte inferior de la hoja Uso de las funciones. En ella se han usado las funciones nuevas para comprobar si se verifican los tres grandes teoremas de un triángulo rectángulo. Lee el contenido de las celdas en las que se lee Verdadero y verás que se usan las nuevas funciones. 

Por último, estudia las orientaciones incluidas en el siguiente apartado, y que te servirán para crear nuevas funciones. Intenta construir la función bobada y ver si funciona bien. También puedes usar alguna función en celdas vacías, mezclándola con otros cálculos. Por ejemplo, =4+altura(4;C7)/hipot(5;F8) 

Si estudias bien este modelo puedes atreverte ya a diseñar funciones referentes a la materia y tema que te apetezca.  

  

Secuencia aconsejada para definir tus funciones: 

  

Sigue el menú Herramientas > Macros > Organizar macros > OpenOffice.org Basic… para abrir el editor.  

Page 25: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  25

 Si es la primera función que defines, busca la carpeta Standard

correspondiente al nombre de tu modelo (si lo acabas de crear, se llamará Sin Nombre). No señales la otra carpeta Standard, que es más general, salvo que desees crear funciones que estén activas en todos tus modelos. 

 Una vez elegida la carpeta, pulsa el botón Nuevo para abrir un módulo

contenedor. Se te ofrecerá el nombre de module1, module2 u otro similar. Acepta el nombre o cámbialo según tu criterio. Al aceptar el nombre se abrirá el editor de macros. Por defecto aparecerá la macro Main, que puedes borrar o ignorar. 

 Para definir la función sustituye lo que el programa te propone: 

Sub Main 

End sub 

por 

Public Function “nombre de la función” 

End function 

y le añades los parámetros entre paréntesis detrás del nombre y la definición en la siguiente línea. 

Señala tu función en el catálogo y usa el botón Borrar si no te satisface lo que has creado. 

Por ejemplo, la función de elevar al cubo podía escribirse de esta forma: 

Public Function cubo(numero) cubo=numero*numero*numero End function 

y la mitad entera por exceso de un número natural (sea par o impar) 

Public Function mitad(numero) mitad=Int((numero+1)/2) End function 

La palabra Public se puede eliminar, pero así garantiza mejor que tu función se puede usar en casi todas las operaciones de Calc.

 

Page 26: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  26

CÓDIGOS DE MACROS 

Este tema no es fácil. Si al comenzarlo ves que no te interesa o que supera tus objetivos, pasa a otras cuestiones. 

Abre de nuevo el modelo ECUAC ION1.ODS. Sigue la ruta ya explicada para

localizar sus macros: Herramientas > Macros > Organizar macros > OpenOffice.org Basic. Al llegar aquí, busca ecuación1.ods, expande todas sus subcarpetas y selecciona module1. Descubrirás que contiene una macro que se llama Aceptar_ecuacion. Pulsa finalmente el botón Editar. 

Podrás leer este código: 

Sub Aceptar_ecuacion dim doc as object dim hoja as object dim celda as object Dim ecuacion As String ecuacion = InputBox ("Escribe la ecuación:","Entrada de datos") doc=StarDesktop.CurrentComponent hoja=doc.sheets(0) celda=hoja.GetCellByPosition(5,7) celda.formula="="+ecuacion celda=hoja.GetCellByPosition(5,8) celda.formula="="+ecuacion End Sub No te dejes intimidar. Es más fácil entenderlo de lo que parece a simple vista. Veamos qué significa cada línea: 

Inicio y final de una macro (o procedimiento) 

Sub Aceptar_ecuacion 

......

...... 

End Sub 

Si quieres escribir tus macros, deberás comenzar por estas dos sentencias: Una primera, compuesta por la palabra Sub y el nombre que le quieras asignar, y una última, que siempre será End Sub. Entre las dos frases deberás escribir el código de tu macro, que es el conjunto de instrucciones que obedecerá. 

Declaración de variables 

Page 27: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  27

Esta parte es compleja, por lo que en principio deberás copiar literalmente los ejemplos. Aquí hay cuatro declaraciones: 

dim doc as object dim hoja as object dim celda as object Dim ecuacion As String  

Doc es el documento en el que estamos trabajando (ecuacion1.ods), hoja la hoja de cálculo actual, celda, la celda a la que irá la ecuación, y ecuacion, el contenido de esta última.  

Como aquí no vamos a enseñarte a programar, si te quieres construir una macro, basta que copies literalmente este tipo de instrucciones. 

Instrucciones o sentencias 

Lo que sigue en el código son ya las órdenes concretas: 

ecuacion = InputBox ("Escribe la ecuación:","Entrada de datos") 

Esta orden obliga al programa a abrir una ventana de admisión de datos, con los mismos textos que están entre paréntesis, y lo que tú escribas lo almacenará en la variable ecuacion, que ya estaba declarada. 

Cada vez que desees admitir datos deberás usar una sentencia de tipo InputBox. 

doc=StarDesktop.CurrentComponent hoja=doc.sheets(0)  

Estas dos sentencias indican, en primer lugar, que el documento con el que trabajamos es el que está abierto, y la segunda indica que estamos en la primera hoja (se cuenta a partir del 0). Si estudias otras macros, verás que estas dos sentencias son prácticamente imprescindibles. 

celda=hoja.GetCellByPosition(5,7) celda.formula="="+ecuacion celda=hoja.GetCellByPosition(5,8) celda.formula="="+ecuacion 

En estas instrucciones se indica que la ecuación que has escrito debe ir, como fórmula (por eso se les añade un signo "=") a la celda de posición (5,7) y a la celda de posición (5,8). Hay que advertir que las filas y columnas se cuentan desde cero, en primer lugar la columna y en segundo la fila, por tanto: 

Page 28: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  28

hoja.GetCellByPosition(5,7) equivale a la celda F8 

hoja.GetCellByPosition(5,8) equivale a la celda F9 

Recorre ahora de nuevo todo el código, y seguro que le encuentras un sentido, aunque no lo hayas comprendido del todo. 

¿Te quedan ánimos para seguir? 

Repasa el código de macros del modelo correctalg.ods, que lo hemos copiado aquí con comentarios en rojo y es muy probable que lo entiendas todo a la primera: 

Sub Aceptar_expresion1 macro para aceptar la primera expresión 

dim doc as object Declara las variables documento, hoja y celda dim hoja as object dim celda as object Dim expre As String Declara la variable expre, que recogerá la primera expresión expre = InputBox ("Escribe la primera expresión:","Entrada de datos") Admite la primera expresión y la guarda en expre doc=StarDesktop.CurrentComponent Concreta que estamos trabajando en la primera hoja del documento hoja=doc.sheets(0) celda=hoja.GetCellByPosition(3,11) Guarda la expresión 1, como fórmula en la celda D12 celda.formula="="+expre celda=hoja.GetCellByPosition(6,11) Guarda la expresión 1, como texto (string) en la celda G12 celda.string=expre End Sub Fin de macro 

Sub Aceptar_expresion2 macro para aceptar la segunda expresión 

dim doc as object Declara las variables documento, hoja y celda dim hoja as object

Page 29: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  29

dim celda as object Dim expre As String Declara la variable expre, que recogerá la segunda expresión expre = InputBox ("Escribe la primera expresión:","Entrada de datos") Admite la segunda expresión y la guarda en expre doc=StarDesktop.CurrentComponent Concreta que estamos trabajando en la primera hoja del documento hoja=doc.sheets(0) celda=hoja.GetCellByPosition(3,15) Guarda la expresión 2, como fórmula en la celda D16 celda.formula="="+expre celda=hoja.GetCellByPosition(6,15) Guarda la expresión 2, como texto (string) en la celda G16 celda.string=expre End Sub

ASIGNACIÓN DE MACROS 

Asignación de una macro a un objeto

La forma de ejecutar una macro mediante la secuencia Herramientas - Macros... - Ejecutar macro es muy lenta. Sería preferible ejecutar macros con una sola pulsación de ratón. Para ello basta con asignar la macro a un objeto, como una imagen, autoforma, rótulo, cuadro de texto, botón, etc.

Lo veremos con varios ejemplos, y simultáneamente aprenderemos algunas operaciones sobre celdas.

Incremento del valor de una celda

Escribe un número cualquiera en la celda B4 y algún rótulo de presentación sobre ella. Por ejemplo así:

Page 30: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  30

Ahora, con Herramientas - Galería - Página principal, arrastra una imagen de botón junto a la celda B4. Si no dominas esta operación, inserta una imagen cualquiera.

Guarda la hoja con el nombre prueba.ods u otro similar.

Accede a la edición de una macro nueva siguiendo los pasos Herramientas - Macros - Organizar macros - OpenOffice.org Basic... Si no tienes módulo contenedor, créalo como ya vimos en un apartado anterior.

Si no se abre de forma automática el editor de macros, pulsa el botón Editar y obtendrás una pantalla de edición, en la que quizás esté iniciada la macro Main, que puedes borrar o ignorar.

Page 31: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  31

Escribe debajo este código de macros (puedes copiarlo desde esta misma página web con CTRL-C y CTRL-V), aunque todavía no lo entiendas:

Sub incrementar v=StarDesktop.CurrentComponent.sheets(0).GetCellByPosition(1,3).value v=v+1 StarDesktop.CurrentComponent.sheets(0).GetCellByPosition(1,3).value=v end sub

Esta macro te incrementa de 1 en 1 el valor de la celda B4 cada vez que pulses sobre la imagen que has insertado. Después la explicaremos.

Ahora viene lo más fácil: Señala la imagen del botón y pulsa el botón derecho. Elige la opción de Asignar macro... Se te abrirá este cuadro de diálogo (a veces tarda en aparecer)

Busca tu archivo prueba.ods, el módulo Module1 (u otro que tengas) y la macro incrementar. Selecciónala y pulsa Asignar y después Aceptar.

Con esto, cada vez que pulses sobre la imagen (el puntero del ratón se transformará en un dedo señalador) se incrementará el valor de la celda B4.

Explicación del código

Aunque este documento no pretende enseñarte a programar, te vendrá bien saber interpretar el código que has copiado.

Page 32: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  32

Sub incrementar v=StarDesktop.CurrentComponent.sheets(0).GetCellByPosition(1,3).value v=v+1 StarDesktop.CurrentComponent.sheets(0).GetCellByPosition(1,3).value=v end sub

Lo explicamos por partes:

Todas las macros han de comenzar con la palabra clave Sub seguida del nombre de la macro (en este caso incrementar) y han de terminar con la línea end sub.

En la segunda línea y en la cuarta se usan tres palabras que conviene interpretar bien. Son nombres de objetos de OpenOffice.org.

StarDesktop.CurrentComponent: Se refiere al archivo actual de OpenOffice.org que tienes abierto.

sheets(0): Se refiere a la hoja en la que se actuará. Se usa el cero para referirse a la primera hoja, porque la numeración en los objetos comienza siempre con el 0 y no con el 1.

GetCellByPosition(1,3): Es la referencia al objeto celda B4. El 1 se refiere a la columna B, que es la segunda, pero como comenzamos a contar por el cero, hay que escribir un 1. El 3 se refiere a la cuarta fila, que también hay que situar contando desde cero.

Explicado esto, se entiende mejor lo que ejecuta la macro:

Línea 1: Comienzo obligatorio con la palabra Sub y el nombre de la macro. Línea 2: Se lee el valor de la celda B4 (palabra value) y el resultado se guarda en una variable llamada v. Línea 3: Se incrementa v en un unidad. Línea 4: Se copia el valor de v en la celda B4 de nuevo, pero ya incrementado. Línea 5: Sentencia obligatoria end sub

La explicación anterior sólo pretende que te vayas acostumbrando a la forma de trabajar en Basic. Un aprendizaje más profundo requiere un manual sistematizado.

USO DE BOTONES 

Se llama control a cualquier objeto activo, es decir, con sus propiedades y métodos, que se inserte en la hoja de cálculo para actuar de interfase entre

Page 33: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  33

los usuarios y la hoja. Son controles los botones de acción, las casillas de verificación, las listas desplegables, etc. Son elementos que has visto en cualquier programa de ordenador, que también se pueden usar en OpenOffice.org.

Para ver cuántos controles puedes usar, pide Ver - Barra de herramientas y activa la barra de Campos de control de formulario.

Recorre uno a uno con el ratón sin pulsar para aprenderte sus nombres.

Un caso práctico

Diseñaremos un botón tal que al pulsar sobre él aparezca una ventana nueva en la que figure escrita la fecha actual. Los pasos que hemos de dar son:

Preparar una macro

Repite los pasos que diste para definir la macro del apartado anterior, la que incrementaba el valor de la celda B4: crea un archivo de hoja de cálculo llamado, por ejemplo, fecha.ods.

Accede al editor de macros como ya has aprendido, pero ahora escribe lo siguiente:

Sub fecha_actual

msgbox(date$,0,"Fecha actual")

End Sub

Guarda el archivo que has creado.

Diseñar un botón

Asegúrate de tener a la vista la barra de controles:

Si no es así, actívala con el menú Ver, como ya se indicó antes.

Page 34: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  34

Si los controles se ven en gris desvaído, es que no está activo el modo de diseño. Para activarlo pulsa el segundo botón, el que representa un lápiz y

una escuadra [Imagen: boton1.gif]

Pincha sobre el icono de botones [Imagen: boton2.gif]

Pasa a cualquier celda de la hoja y, sin soltar el dedo del ratón, dibuja un rectángulo con el mismo:

Ya tienes creado un botón de acción.

Sería conveniente cambiarle el nombre, por ejemplo a Fecha actual. Para ello, pulsa sobre él con el botón derecho y elige Campo de control...

Obtendrás una completa ventana de propiedades. Busca la pestaña General y en ella la propiedad Título. Cámbialo a "Fecha actual".

De forma inmediata cambiará su título.

Page 35: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  35

Asignación de la macro

Para que el botón sea útil deberemos asignarle una macro que se ejecute al pulsarlo. Los pasos a dar son los siguientes:

Pulsa con el botón derecho del ratón sobre el botón. En la ventana que se abre elige la pestaña Acontecimientos.

Pulsa ahora sobre el botón de puntos suspensivos situado a la derecha de la frase "Al ejecutar"

En la siguiente ventana elige Al iniciar y pulsa sobre el botón Macro.

Al pulsar puede ser que tarde un poco en aparecer la ventana de asignación. Espera sin inquietarte.

Busca la macro fecha_actual, selecciónala y pulsa Aceptar.

Page 36: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  36

Con estas operaciones has terminado de configurar el botón de acción. Ahora debe funcionar. Pulsa Aceptar en todas las ventanas y cierra la de propiedades.

Ejecución desde el botón

En primer lugar, asegúrate de que has salido del modo de diseño en la barra

de controles. Si no tienes la seguridad, pulsa varias veces en el botón hasta que veas los controles en gris desvaído. Eso será señal de que has entrado en el modo de ejecución.

Ahora, cada vez que pulses sobre el botón que has creado, aparecerá un mensaje con la fecha actual.

Práctica

Intenta repetir todo el trabajo creando un botón nuevo titulado "Hora actual" y en el código de la macro, en lugar de la variable date$ escribe time$, para que te devuelva la hora en lugar de la fecha.

Page 37: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  37

SUGERENCIAS DE USO DIDÁCTICO  IDEAS  PARA  TRABAJOS  FINALES  

Álgebra con hojas de cálculo

Los temas de Álgebra y Algoritmos tratados con Hoja de Cálculo permiten organizar actividades complementarias en el aprendizaje general de los conceptos algebraicos.  

Las sesiones de trabajo serán siempre posteriores al aprendizaje básico, pues sería muy difícil abrir caminos nuevos con un instrumento que carece de cálculo simbólico. 

Estas actividades son adecuadas para tratar la diversidad, como hemos comprobado en diversos proyectos de innovación. Destacamos a continuación algunos objetivos generales y medios de atención a la diversidad: 

Objetivos 

• Afianzar los conocimientos y técnicas algebraicas mediante otras formas de operar. 

• Aumentar la motivación con el uso del ordenador. • Incluir la posibilidad de discutir ecuaciones y sistemas sin pérdidas de

tiempo en cálculos engorrosos. • Habituar al alumnado a no dar por bueno un resultado hasta haber sido

comprobado. • Efectuar prácticas rápidas como forma de entrenamiento. • Aprender que no todos los problemas de Álgebra tienen solución. • Conocer problemas con infinitas soluciones. • Relacionar el lenguaje algebraico usual con el propio de los ordenadores,

especialmente en el uso del signo "*" para multiplicar. 

Medios para atender la diversidad 

• Distintos ritmos de aprendizaje en el uso de modelos de Hoja de Cálculo. • El tipo de material, organizado como entradas, algoritmos y resultados, que

supone, para el alumnado, el poder contar con otras formas de aprendizaje, algunas de las cuales puede ser las que resuelvan algún problema de comprensión concreto. 

• Uso de un ciclo de Observar - Relacionar - Expresar - Inventar - Nuevos caminos para que cada grupo alcance el nivel mejor adaptado a sus capacidades en cada tema algebraico. 

• Reparto selectivo de materiales según los niveles de conocimiento existentes. 

• Itinerarios con varios finales según los distintos niveles de aprovechamiento. 

Page 38: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  38

• Composición adecuada de los grupos de trabajo, compensatoria u homogénea. 

Consulta MODELOS  ALGEBRA ICOS para ver algunos modelos interesantes. 

En el apartado de ALGORITMOS puedes activar otros modelos, que en realidad

tienen más valor como exhibición de las posibilidades de una Hoja de Cálculo que como instrumentos didácticos. No obstante, siempre se puede obtener rentabilidad de ellos. 

Cajas de herramientas

Con fórmulas, funciones definidas, algoritmos implementados e incluso macros, podemos construir una “caja de herramientas” que sirva de apoyo en ejercicios y experimentaciones posteriores al aprendizaje de conceptos. También se pueden usar estas cajas como instrumento previo de ensayo, pruebas e investigaciones conducentes al aprendizaje teórico.

Por ejemplo, el modelo P ITAG.ODS es una caja de herramientas para la

trigonometría del triángulo rectángulo. Los modelos usados en la sesión 6 son cajas de herramientas de cálculos estadísticos.

Si decides construir una caja de herramientas como ejercicio final de curso, piensa que deben ser como unos apuntes ampliados: un poco de teoría, imágenes y propiedades y después una colección de herramientas de cálculo sobre el tema tratado.

En convocatorias anteriores de este curso han abundado ejercicios finales que ofrecían teoría y herramientas en los temas más variados: Geometría, Mecánica, Electricidad, Química, Trigonometría, Álgebra, Física, etc. Es un tipo de ejercicio en el que puedes incluir tus conocimientos sobre un tema y tu forma de enseñarlo.

Puedes consultar la PÁGINA  DE   INTERCAMBIO  DE  TRABAJOS.

Un tipo particular de caja sería un modelo con funciones definidas en Basic, como los estudiados en esta sesión.

Juegos y pasatiempos

Programar un juego o pasatiempo en una hoja de cálculo no es fácil, pero su rentabilidad didáctica es muy grande. Normalmente los juegos contienen imágenes atractivas y animaciones, y esto no es posible implementarlo en Calc con un mínimo de calidad. No obstante, si los rebajamos a la categoría de pasatiempos, pueden ser aceptados por el alumnado en momentos especiales del desarrollo del curso:

Page 39: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  39

• Inicio de curso • Como complemento de trabajo para los grupos que hayan terminado

antes una tarea. • Jornadas especiales en las que no “apetece” avanzar programa • Como reto o premio.

En la página HTTP://HOJAMAT.ES/S INDEC IMALES/ JUEGOS/ IN I JUEGOS.HTM puedes

conseguir algunos de ellos.

Page 40: HOJA DE CÁLCULO EN LA ENSEÑANZA DE LAS CIENCIAS

  40

CONTENIDO  

 

Algoritmos y macros.....................................................................................................................................2

Contenidos ...............................................................................................................................................2

Algoritmos ................................................................................................................................................2

Un ejemplo de algoritmo...................................................................................................................... 2

Macros..................................................................................................................................................4

Buscar un valor destino ........................................................................................................................ 5

Ejemplo de comprobador.....................................................................................................................7

Mejoras en la presentación de modelos ..............................................................................................8

Funciones matemáticas......................................................................................................................10

Prácticas .................................................................................................................................................11

Multiplicar mediante duplicación y mediación ..................................................................................11

Resolución de la ecuación de segundo grado ....................................................................................14

Ejercicios.................................................................................................................................................16

Ejercicio 1 ...........................................................................................................................................16

Ejercicio  2...........................................................................................................................................17

Ejercicio  3...........................................................................................................................................18

Complementos .......................................................................................................................................19

Uso de modelos con las funciones ampliadas ....................................................................................20

Grabación de macros..........................................................................................................................21

Define tus propias funciones..............................................................................................................24

Códigos de macros .............................................................................................................................26

Asignación de macros.........................................................................................................................29

Uso de botones...................................................................................................................................32

Sugerencias de uso didáctico .................................................................................................................37