Líneas de algoritmo en CalcMe

Una nueva forma de definir variables y crear algoritmos está disponible en CalcMe. El propósito de esta página es proporcionar un resumen de lo que esta nueva función tiene para ofrecer, los problemas que pretende resolver y la interacción esperada del usuario.

calc.algorithm_line_example.calc.png

Problemas que se pretenden resolver

Después de analizar en profundidad la experiencia de usuario de CalcMe, nos dimos cuenta de que varios problemas menores podrían mejorarse con el desarrollo de líneas de algoritmo. Los principales problemas que pretende abordar esta nueva funcionalidad son:

  • No es posible copiar y pegar varias líneas en CalcMe. A partir de ahora, será posible reutilizar partes de un algoritmo fácilmente.

  • Es complicado recordar de memoria todos los comandos. La nueva opción de autocompletado te ayudará a encontrar la función adecuada en cada momento.

  • CalcMe presenta problemas de rendimiento en sesiones largas debido a las muchas instancias de editores MathType que deben usarse. Este problema desaparece al generar los algoritmos con el editor de código proporcionado.

  • No es posible agregar comentarios dentro de varias estructuras de línea. Además, tampoco es posible cambiar una línea de comentada a activa fácilmente.

Interacción esperada del usuario

Hay un nuevo botón en la barra de herramientas que permite crear un editor de código. Este botón habilita la función de línea de algoritmo en la línea actual, donde puedes ingresar tus algoritmos directamente.

toolbar_button.png

Las funciones y constantes creadas por el usuario (como las representadas por r(), crear_matriz_aleatoria(m,n) y A) obtienen su estilo una vez que el editor de código pierde el foco, para evitar el impacto en el rendimiento de actualizar la gramática con cada pulsación de tecla.

Por otro lado, las variables definidas dentro de un editor de código están disponibles en líneas estándar posteriores CalcMe para operaciones o verificación de valores. Además, se pueden crear múltiples editores de código en una página, y cada uno de ellos puede acceder a las variables de los anteriores.

calc.interaction_example.calc.png

Atención

Si utilizas esta funcionalidad en versiones previas a WirisQuizzes 4.2.7 (lo cual incluye WirisQuizzes 3),  debes tener en cuenta que sesiones únicamente con editor de código no serán detectadas. Ésto puede ser fácilmente solucionado añadiendo cualquier cosa en la CalcMe tal y como puedes ver en la siguiente captura.

wq3_workaround.png

Algoritmos escritos préviamente en la Hoja de CalcMe

Si tienes un algoritmo escrito préviamente con la hoja de CalcMe sheet, puedes convertirlo de forma automática al editor de código. Existe un nuevo botón en la barra de herramientas que te permite realizar tal acción.

sheet_to_algorithm.gif

De este modo, podrás traducir esos algoritmos viejos que te daban problemas de rendimiento al editor de código.

Sobre la sintaxis

La sintaxis utilizada en los editores de código es el lenguaje Omega language, , el lenguaje interno del kernel Wiris CAS. Aunque es muy similar a la sintaxis utilizada en las líneas de CalcMe estándar, existen varias acciones para ayudarte a obtener la sintaxis correcta.

  • Al hacer clic en un botón del menú de CalcMe mientras se está dentro de un editor de código, se ingresará su expresión equivalente en Omega:

syntax_menu.png
  • Usando del modo de autocompletado de nombre de función a través del atajo de teclado Ctrl + Space (Cmd + Shift + Space en macOS):

syntax_autocompletion.png

Sintaxis de comentario

Como se ha mencionado anteriormente, es posible usar la sintaxis de comentarios dentro del editor de código. Puedes usar el símbolo # para marcar una línea como comentario, y la secuencia /# para iniciar un bloque de comentarios (puedes cerrarlo usando el símbolo #/).

syntax_comment.png

Comando sustituir cadena

Si quieres utilizar el comando sustituir_cadena() con una expresión matemática, deberás seguir utilizando la hoja de CalcMe correspondientemente. Se trata de una limitación del editor actual y, aunque no sea la situación ideal, no mostrará correctamente las fórmulas si están introducidas desde el editor de código.

calc.string_substitution_example.calc.png