es:manual:items:patron:logica
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
es:manual:items:patron:logica [2021/05/18 17:18] – root | es:manual:items:patron:logica [2023/05/08 11:34] (actual) – root | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
===== Patrón de expresiones lógicas ===== | ===== Patrón de expresiones lógicas ===== | ||
~~NOTOC~~ | ~~NOTOC~~ | ||
- | En este caso, tanto el patrón como las respuestas del alumno representan una expresión lógica en la que interviene un número finito (y limitado) de variables y un conjunto de operadores booleanos. Se considera que la respuesta encaja con el patron cuando el valor de verdad de la expresión es exactamente el mismo para todas las posibles interpretaciones. | + | En este caso, tanto el patrón como las respuestas del alumno representan una expresión lógica en la que interviene un número finito (y limitado) de variables y un conjunto de operadores booleanos. Se considera que la respuesta encaja con el patron cuando el valor de verdad de la expresión es exactamente el mismo para todas las posibles interpretaciones. |
+ | |||
+ | Evidentemente, | ||
+ | |||
+ | A continuación se presentan algunos ejemplos de uso de este patrón. El siguiente epígrafe se hace una descripción completa del lenguaje. | ||
+ | |||
+ | === Ejemplo 1 === | ||
+ | |||
+ | ^ Enunciado | Escriba una representación lógica del siguiente enunciado: "Si aumentan los impuestos | ||
+ | ^ Patrón. | ||
+ | ^ Respuestas reconocidas | ||
+ | ^::: | <typo fs:courier new>(p --> r) && (p --> q)</ | ||
+ | ^ Respuestas no reconocidas | ||
+ | |||
+ | |||
+ | === Ejemplo 2 === | ||
+ | |||
+ | ^ Enunciado | Escriba una expresión lógica equivalente a $p \to q$ sin utilizar el operador $\to$ | | ||
+ | ^ Patrón. | ||
+ | ^ Respuestas reconocidas | ||
+ | ^::: | <typo fs:courier new>!(p && !q)</ | ||
+ | ^ Respuestas no reconocidas | ||
+ | |||
+ | |||
+ | === Ejemplo 3 === | ||
+ | |||
+ | ^ Enunciado | ¿Que condición debe cumplirse para que pueda realizarse esta oparación $1/a + 1/b$ ?| | ||
+ | ^ Patrón. | ||
+ | ^ Respuestas reconocidas | ||
+ | ^::: | < | ||
+ | ^::: | $a == 1 \land b==1$ | | ||
+ | |||
+ | Cuando en la expresión lógica aparecen operadores relacionales, | ||
+ | |||
+ | |||
+ | === Ejemplo 4 === | ||
+ | ^ Patrón. | ||
+ | ^ Respuestas no reconocidas | ||
+ | |||
+ | |||
+ | === Ejemplo 5 === | ||
+ | ^ Patrón. | ||
+ | ^ Respuestas no reconocidas | ||
+ | |||
+ | ==== Descripción del lenguaje ==== | ||
+ | |||
+ | Las variables se escriben siempre como un solo carácter. En todo el lenguaje no se distingue nunca entre mayúsculas | ||
+ | |||
+ | === Operadores lógicos === | ||
+ | |||
+ | ^Operador lógico ^Estilo ^Expresiones válidas^ | ||
+ | |Verdadero |Texto, C, Java |true | | ||
+ | |Falso |Texto, C, Java |false | | ||
+ | |Negación |Texto | ||
+ | |::: |::: | ||
+ | |::: |::: | ||
+ | |::: |C, Java | ||
+ | |::: |Unicode | ||
+ | |::: |::: |\u02DC | ||
+ | |::: |LaTeX | ||
+ | |::: |::: |\bar | | ||
+ | |::: |Html | ||
+ | |::: |::: | ||
+ | |::: |::: |&# | ||
+ | |::: |::: |& | ||
+ | |::: |::: | ||
+ | |::: |::: | ||
+ | |Disyunción |Texto | ||
+ | |::: |::: | ||
+ | |::: |::: | ||
+ | |::: |C, Java | ||
+ | |::: |Unicode | ||
+ | |::: |LaTeX | ||
+ | |::: |Html | ||
+ | |::: |::: | ||
+ | |Conjunción |Texto | ||
+ | |::: |::: | ||
+ | |::: |::: | ||
+ | |::: |C, Java | ||
+ | |::: |Unicode | ||
+ | |::: |LaTeX | ||
+ | |::: |::: | ||
+ | |::: |::: | ||
+ | |::: |Html | ||
+ | |::: |::: | ||
+ | |Implicación |Texto | ||
+ | |::: |::: | ||
+ | |::: |::: | ||
+ | |::: |Unicode | ||
+ | |::: |LaTeX | ||
+ | |::: |::: | ||
+ | |::: |Html |↔ | | ||
+ | |::: |::: | ||
+ | |Doble implicación |Texto | ||
+ | |::: |::: | ||
+ | |::: |::: | ||
+ | |::: |::: | ||
+ | |::: |Unicode | ||
+ | |::: |LaTeX | ||
+ | |::: |Html |→ | | ||
+ | |::: |::: |&# | ||
+ | |Disyunción exclusiva |Texto | ||
+ | |Disyunción opuesta |Texto | ||
+ | |Conjunción opuesta |Texto | ||
+ | |||
+ | |||
+ | La sintaxis de las expresiones es la habitual en los lenguajes de programación. La prioridad y asoicatividad de los operadores es tambien la habitual. Todos los operadores son asociativos por la izquierda. El siguiente cuadro muestra las precedencias de menor (mas arriba) a mayor (mas abajo). La prioridad de operación puede alterarse mediante el uso de paréntesis. | ||
+ | |||
+ | | DIMP | | ||
+ | | IMP | | ||
+ | | OR, XOR, NOR | | ||
+ | | AND, NAND | | ||
+ | | NOT | | ||
+ | |||
+ | |||
+ | === Operadores relacionales === | ||
+ | |||
+ | Además de los operadores lógicos el lenguaje incluye operadores relacionales para comparar variables o expresiones numéricas. El siguiente cuadro muestra los aspectos léxicos de estos operadores: | ||
+ | |||
+ | ^Operador relacional ^Estilo ^Expresiones válidas^ | ||
+ | |Igual | ||
+ | |Distinto | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |Menor | ||
+ | |::: | ||
+ | |Menor o igual |C, Java | < | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |Mayor | ||
+ | |::: | ||
+ | |Mayor o igual |C, Java | < | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |::: | ||
+ | |||
+ | |||
+ | El lenguaje tambien incluye constantes enteras y reales. (números), que puede formar parte de las expresiones relacionales. Los operadores relacionales tienen mayor prioridad de operación que los operadores lógicos. No se han incluido en el lenguaje operadores aritméticos. | ||
+ | |||
+ | |||
+ | === Instrucciones de restricción === | ||
+ | |||
+ | El lenguaje de patrones de expresiones lógicas incluye un conjunto de instrucciones para controlar los operadores que se admiten como válidos en las respuestas, de manera que se pueda forzar al alumno a utilizar, o mejor dicho a no utilizar determinados operadores. Son los siguientes: | ||
+ | |||
+ | ^Instrucción ^Significado ^ | ||
+ | | @noNOT | No se puede utilizar el operador NOT | | ||
+ | | @noOR | No se puede utilizar el operador OR | | ||
+ | | @noXOR | No se puede utilizar el operador XOR | | ||
+ | | @noNOR | No se puede utilizar el operador NOR | | ||
+ | | @noAND | No se puede utilizar el operador AND | | ||
+ | | @noNAND | No se puede utilizar el operador NAND | | ||
+ | | @noIMP | No se puede utilizar el operador IMP | | ||
+ | | @noDIMP | No se puede utilizar el operador DIMP | | ||
+ | |||
+ | |||
+ | === Instrucciones de asignación === | ||
+ | |||
+ | Cuando en una fórmula lógica intervienen variables numéricas, por defecto se le asignan valores 0 y 1 como posibles interpretaciones. Se puede especificar el rango de valores que puede tomar una variable lógica mediante una instrucción de asignación de la forma: | ||
+ | |||
+ | @v <- { valor, valor, valor .... } | ||
+ | |||
+ | el siguiente ejemplo indica que la variable a puede tomar los valores 0,1 o 2.: | ||
+ | |||
+ | @a <- { 0,1,2 } | ||
+ | |||
+ | Tambien puede expresarse los valores mediante rangos de variación con un cierto incremento. Por ejemplo, la siguiente expresión asigna a la variable x los posibles valores 0, 0.25, 0.5, 0.75 o 1. | ||
+ | |||
+ | @x <- [0,1, 0.25] | ||
+ | |||
+ | En cualquier caso los posibles valores siempre son finitos, y debe tenerse en cuenta que la complejidad del cálculo crece al aumentar el numero de posibles interpretaciones. |
es/manual/items/patron/logica.1621358289.txt.gz · Última modificación: 2021/05/18 17:18 por root