Herramientas de usuario

Herramientas del sitio


es:manual:items:patron:logica

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:manual:items:patron:logica [2021/05/19 09:25] rootes:manual:items:patron:logica [2023/05/08 11:34] (actual) root
Línea 5: Línea 5:
 Evidentemente, el número de variables $n$, incrementa el número de interpretaciones, ya que la complejidad del cálculo es claramente del orden de $2^n$, pero para los casos que normalmente se plantean no hay problema incluso con 12 o más variables. Como se verá mas adelante, al describir el uso de variables numéricas, la interpretación en estos casos puede asignar valores numéricos a las variables. Evidentemente, el número de variables $n$, incrementa el número de interpretaciones, ya que la complejidad del cálculo es claramente del orden de $2^n$, pero para los casos que normalmente se plantean no hay problema incluso con 12 o más variables. Como se verá mas adelante, al describir el uso de variables numéricas, la interpretación en estos casos puede asignar valores numéricos a las variables.
  
-coniuación se presentan algunos ejemplos de uso de este patrón. El siguiente epígrafe se hace una descripción completa del lenguaje.+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 === === Ejemplo 1 ===
  
-^ Enunciado | Escriba una representación lógica del siguiente enunciado: "Si aumentan los impuestos  sobre los carburantes, subirá la inflación y disminuirá el consumo". Considere lo siguiente:<html><br> +^ Enunciado | Escriba una representación lógica del siguiente enunciado: "Si aumentan los impuestos  sobre los carburantes, subirá la inflación y disminuirá el consumo". Considere lo siguiente: p: aumentan los impuestos sobre los carburantes  q: sube la inflación  r:  disminuye el consumo | 
-p: aumentan los impuestos sobre los carburantes <br> +^ Patrón.   | <typo fs:courier new>p  -> (q & r)</typo>  | 
-q: sube la inflación <br> +^ Respuestas reconocidas   | <typo fs:courier new>p  -> (r & q)</typo>  | 
-r:  disminuye el consumo +^:::   | <typo fs:courier new>(p --> r) && (p --> q)</typo>  | 
-</html> +^ Respuestas no reconocidas   | <typo fs:courier new; fc:red>p --> r && p --> q</typo>  | La prioridad de operación del operador && es mas fuerte que la del operador -> |
-^ Patrón.   | <html><code>p  -> (q & r)</code></html>  | +
-^ Respuestas reconocidas   | <html><code>p  -> (r & q)$</code></html>  | +
-^:::   | <html><code>(p --> r) && (p --> q)</code></html>  | +
-^ Respuestas no reconocidas   | <html><code><font color='red'>p --> r && p --> q</font></code></html>  | La prioridad de operación del operador && es mas fuerte que la del operador -> |+
  
 +
 +=== Ejemplo 2 ===
 +
 +^ Enunciado | Escriba una expresión lógica equivalente a $p \to q$ sin utilizar el operador $\to$ |
 +^ Patrón.   | <typo fs:courier new> -> q @noIMP </typo>  |
 +^ Respuestas reconocidas   | $!p \lor q$  |
 +^:::   | <typo fs:courier new>!(p && !q)</typo>  |
 +^ Respuestas no reconocidas   | <typo fs:courier new; fc:red>p --> q</typo>  | No se admite el operador -> |
 +
 +
 +=== Ejemplo 3 ===
 +
 +^ Enunciado | ¿Que condición debe cumplirse para que pueda realizarse esta oparación $1/a + 1/b$ ?|
 +^ Patrón.   | <nowiki>a != 0 && b != 0 </nowiki>  |
 +^ Respuestas reconocidas   | $a \ne 0 \land b \ne 0$  |
 +^:::   | <nowiki>(a > 0 || a < 0) && (b > 0 || b < 0)</nowiki>  |
 +^:::   | $a == 1 \land b==1$   |
 +
 +Cuando en la expresión lógica aparecen operadores relacionales, se supone que a ambos lados hay una expresión numérica. Si no se especifica ninguna otra cosa, la interpretación solo asigna a las variables implicadas valores numéricos 1 y 0, resolviendo la comparación en estos casos. Pueden definirse los valores que puede tomar la variables mediante una instrucción de asignación, como se muestra los siguientes ejemplos:
 +
 +
 +=== Ejemplo 4 ===
 +^ Patrón.   | <typo fs:courier new><nowiki>a>0 && b>0 @a<-{0,1,2}</nowiki></typo> | La expresión <typo fs:courier new><nowiki>@a<-{0,1,2}</nowiki></typo> indica que la variable a puede tomar los valores numéricos 0,1 y 2. La variable b toma valores 0 o 1.|
 +^ Respuestas no reconocidas   | <typo fs:courier new; fc:red><nowiki>a==1 && b==1</nowiki></typo>  | La interpretación a<-2, b<-1; hace que el valor del patrón sea verdadero, pero el valor de la respuesta es falso. |
 +
 +
 +=== Ejemplo 5 ===
 +^ Patrón.   | <typo fs:courier new><nowiki>a>0 && b>a @a<-{0,1} @b<-{0,1}</nowiki></typo> | |
 +^ Respuestas no reconocidas   | <typo fs:courier new; fc:red><nowiki>a>0 && b>0</nowiki></typo>  | La interpretación a<-1, b<-1; hace que el valor del patrón sea falso, pero el valor de la respuesta es verdadero. |
  
 ==== Descripción del lenguaje ==== ==== Descripción del lenguaje ====
  
-Las variables se escriben siempre como un solo caracter. En todo el lenguaje no se distingue nunca entre mayusculas  minúsculas. La sintaxis del para escribir tanto los patrones como la respuesta puede considerarse como una sintesis de diversos lenguajes de programación (como java o C)  y lenguajes que incluyen símbolos contenidos en las expresiones lógicas (como Unicode, LaTeX, Html), con algunas extensiones propias para intentar reconocer la mayor parte de las posibles representaciones de las expresiones lógicas+Las variables se escriben siempre como un solo carácter. En todo el lenguaje no se distingue nunca entre mayúsculas  minúsculas. La sintaxis del para escribir tanto los patrones como la respuesta puede considerarse como una síntesis de diversos lenguajes de programación (como java o C)  y lenguajes que incluyen símbolos contenidos en las expresiones lógicas (como Unicode, LaTeX, Html), con algunas extensiones propias para intentar reconocer la mayor parte de las posibles representaciones de las expresiones lógicas
  
 === Operadores lógicos === === Operadores lógicos ===
Línea 124: Línea 149:
  
  
-=== Instrucciones ===+=== 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: 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:
Línea 139: Línea 164:
  
  
 +=== 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.1621416317.txt.gz · Última modificación: 2021/05/19 09:25 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki