|
En este capítulo trataremos sobre un conjunto de recursos que hacen que las posibilidades de wiris se incrementen notablemente.
Recomendamos a una buena parte de usuarios que los estudien y así, tal vez, podrán servirles para iniciarse o iniciar sus alumnos
en el mundo de la programación. Claro está que, como que la programación nos conduce a cuestiones un poco
abstractas, el lenguaje de este capítulo puede resultar un poco más técnico que el de los anteriores.
Los apartados del capítulo son los siguientes:
La información sobre booleanos y operadores lógicos entre booleanos, que tienen un papel fundamental en la programación, se encuentra más adelante.
si...: icono o , sentencia si
cond
entonces
cos
fin si
cond
entonces
cos
sino
cos2
fin si
cond
entonces
cos
sino_si
cond2
entonces
cos2
sino
cos3
finRealiza las instrucciones de
cos
según si se cumple la condición
cond
. En caso de no cumplirse la condición y, si hay un sino, entonces realiza las instrucciones de
cos2
. También existe la posibilidad de condicionantrs múltiples y diversos grupos de instrucciones con la inserción de condicionales del tipo sino_si a través del menú de la pestanya de programación.
|
para...: icono , sentencia para
rec
hacer
cos
finRepite las instrucciones de
cos
según el recorrido de
rec
.
|
repetir...: icono , sentencia repetir
cos
hasta
cond
Repite las instrucciones de
cos
hasta que se cumple la condición
cond
.
|
Completamos la descripción de estructuras de datos del capítulo Objetos matemáticos.
recorridos: Son objetos de la forma a..b o a..b..d donde a, b y d son
números reals ( a..b equivale a a..b..1). Si d es diferente de 0 el recorrido
a..b..d representa la lista formada por los elementos de la progresión aritmética a, a+d, a+2d, ... mientras no
sobrepasemos b. Si d es zero el recorrido representa la lista vacía. Por ejemplo 1..6 representa
{1,2,3,4,5,6}, 1..6..2 representa {1,3,5} y 6..1..-3 representa {6,3}.
La función lista aplicada a un recorrido devuelve la lista que representa.
|
booleanos: Son las constantes lógicas cierto o falso que corresponden a los valores cierto y falso. Principalmente, los obtenemos aplicando el operador ? a ecuaciones y inecuaciones.
Los operadores lógicos, básicos a la hora de definir condiciones en las sentencias de control, son
| operador lógico |
símbolo |
| conjunción - y |
& |
| disyunción - o |
| |
| negación - no |
no
|
Vemos unos ejemplos de su comportamiento:
|
dominios: Los objetos matemáticos de wiris se pueden clasificar en conjuntos matemáticos. A estos conjuntos los denominamos dominios. Algunos ejemplos de dominios son Entero, Racional, Irracional, Real, Polinomio, ... Con el comando es? podemos saber si un objeto pertenece a un dominio.
Los operadores lógicos ( & , | , no)actúan como lo hacen los operadores intersección, unión y complementario con los conjuntos. Esto nos permite definir nuevos dominios con facilidad:
| operador lógico |
operador de conjuntos |
símbolo |
| conjunción - y |
intersección |
& |
| disyunción - o |
unión |
| |
| negación - no |
complementario |
no
|
Finalmente, hace falta mencionar que la función implicar? permite conocer si un dominio está contenido en otro o no, y que obtener_dominio nos proporciona el dominio al cual pertenece un objeto.
La aplicación principal de los dominios es permitir la definición de funciones en conjuntos no continuos. .
|
reglas y sustituciones: Desde el punto de vista sintáctico, una regla es una lista de objetos del tipo x=>y o x:=>y.
Llamaremos variable o patrón a x según sí es una variable o tiene valor, respectivamente, a y lo llamaremos imagen y a x=>y o x:=>y lo llamaremos par. Una sustitución es una regla definida exclusivamente por variables. Si escogemos => usaremos el valor de x para definir la regla y, en cambio, al escoger => consideramos x como variable al definir la regla.
Los símbolos => y :=> se pueden crear con los iconos
y , respectivamente.
Al aplicar una regla a una expresión todas las ocurrencias de cada patrón (o variable) en esta expresión quedan sustituidas por
la imagen de su patrón (o variable). Los términos que no encajan con el patrón (o variable) no se modifican.
|
divisores: Desde el punto de vista sintáctico, un divisor es un vector de objetos del tipo x->y. Diremos que x es un índice, y su valor asociado y x->y un par del divisor. Para recuperar el valor asociado a un índice se aplica el objeto al divisor, si no tiene índice asociado el resultado de aplicarlo es 0. El símbolo -> se puede crear con el icono .
Los divisores son especialmente relevantes en varios contextos. Por ejemplo, la estructura que devuelve la función factorizar es
un Divisor que tiene por índices los divisores primeros del objeto factorizado (como por ejemplo un número entero o un polinomio) y por
valores los exponentes de los divisores primeros citados.
|
relaciones: Desde el punto de vista sintáctico, la relación es una lista de objetos del tipo x->y. Diremos que x es un índice, y su valor asociado y x->y un par de la relación. El aspecto más importante de las relaciones es recuperar el valor (o secuencia de valores) asociado a un índice; esto se hace aplicando el objeto a la relación. Si un objeto no tiene índice asociado en una relación, el resultado de aplicarlo a la relación es nulo. El símbolo -> se puede crear con el icono .
|
|