Siguiente: , Anterior: , Subir: Operadores   [Índice general][Índice]

6.3 Operadores relacionales

Operator: <
Operator: <=
Operator: >=
Operator: >

Los símbolos <, <=, >= y > representan menor que, menor o igual que, mayor o igual que y mayor que, respectivamente. Los nombres de estos operadores son "<" "<=" ">=" y ">", que pueden aparecer allá donde se requiera el nombre de una función u operador.

Estos operadores relacionales son todos operadores binarios. Maxima no reconoce expresiones del estilo a < b < c.

Las expresiones relacionales devuelven valores booleanos haciendo uso de las funciones is o maybe, así como de las sentencias condicionales if, while y unless. Las expresiones relacionales no se evalúan de otra manera, aunque sus argumentos sí sean evaluados.

Cuando una expresión relacional no pueda ser evaluada a true o false, el comportamiento de is y de if estará controlado por la variable global prederror. Si prederror toma el valor true, is y if emiten un mensaje de error. Si prederror toma el valor false, is devuelve unknown y if devuelve una expresión condicional parcialmente evaluada.

maybe se comporta siempre como si prederror fuese false, al tiempo que while y unless se comportan siempre como si prederror fuese true.

Los operadores relacionales no se distribuyen sobre listas ni sobre cualesquiera otros tipos de estructuras de datos.

Véanse también =, #, equal y notequal.

Ejemplos:

Las expresiones relacionales se reducen a valores booleanos a través de ciertas funciones y sentencias condicionales.

(%i1) [x, y, z] : [123, 456, 789];
(%o1)                    [123, 456, 789]
(%i2) is (x < y);
(%o2)                         true
(%i3) maybe (y > z);
(%o3)                         false
(%i4) if x >= z then 1 else 0;
(%o4)                           0
(%i5) block ([S], S : 0, 
             for i:1 while i <= 100 do S : S + i, return (S));
(%o5)                         5050

Las expresiones relacionales no se evalúan de otra manera, aunque sus argumentos sí sean evaluados.

(%o1)                    [123, 456, 789]
(%i2) [x < y, y <= z, z >= y, y > z];
(%o2)    [123 < 456, 456 <= 789, 789 >= 456, 456 > 789]
(%i3) map (is, %);
(%o3)               [true, true, true, false]

Siguiente: , Anterior: , Subir: Operadores   [Índice general][Índice]