BotonMenu
BotonIndice

Visita : http://www.conoce3000.com
Paypal : https://www.paypal.me/conoce3000/1

PASCAL CON FREE PASCAL

PASCAL CON FREE PASCAL

PASCAL CON FREE PASCAL


3. OPERADORES PARA TIPOS DE DATOS SIMPLES.
3.4. OPERADORES LÓGICOS O BOOLEANOS.
3. OPERADORES PARA TIPOS DE DATOS SIMPLES.
3.4. OPERADORES LÓGICOS O BOOLEANOS.
3. OPERADORES PARA TIPOS DE DATOS SIMPLES.
3.4. OPERADORES LÓGICOS O BOOLEANOS.

SIGUIENTE

SIGUIENTE

SIGUIENTE


‒ Operadores lógicos o booleanos.

Los operadores lógicos trabajan con tipos de datos booleanos, realizan las operaciones lógicas de conjunción ( and ), disyunción ( or ), negación ( not ) y la disyunción exclusiva ( xor ).


‒ Operadores lógicos o booleanos.
Operador Nombre Ejemplo Resultado
and Conjunción. c:=a and b ; Da como resultado verdadero (true), si todas las variables tienen un valor verdadero (true). Da como resultado falso (false), si al menos una de las variables tiene un valor falso (false).
or Disyunción. c:=a or b; Da como resultado verdadero (true), si al menos una de las variables tiene un valor verdadero (true). Da como resultado falso (false), si todas las variables tienen un valor falso (false).
xor Disyunción exclusiva. c:=a xor b;

Da como resultado verdadero (true), si al menos una de las variables tiene un valor diferente a las otras variables. Da como resultado falso (false), si todas las variables tienen valores iguales.

not Negación. c:=not a; Invierte el valor de la variable. si es verdadero (true), lo cambia a falso (false); y si es falso(false), lo cambia a verdadero (true).


A continuación un ejemplo:


Descargar
{$codepage UTF8}

VAR
  a,b,c:Boolean;

BEGIN
  a:=True;
  b:=False;
  Writeln('a = ',a);
  Writeln('b = ',b);
  c:=a and b;
  Writeln('a and b = ',c);
  c:=a or b;
  Writeln('a or  b = ',c);
  c:=a xor b;
  Writeln('a xor b = ',c);
  c:= not a;
  Writeln('not a = ',c);
  Readln
END.
Código fuente 5: Ejemplo del uso de los operadores lógicos o booleanos.
Descargar

Al usar más de un operador lógico, el programa siempre evaluará las operaciones, de tal modo que cuando se conoce el primer resultado el resto de las operaciones ya no serán evaluadas, a esto se le conoce como: short-cut boolean evaluation, que en español sería "evaluación booleana de atajo" o "evaluación booleana en corto circuito".

Por ejemplo, en la siguiente operación booleana:

a:=(x>0) and (y>1)

Si x es negativo, entonces (x>0) es falso (false), y cuando este es falso toda la operación resultará falso (false), sin importar si el valor de (y>1) sea verdadero o falso. Es decir si se sabe que (x>0) es falso, no habrá necesidad de evaluar (y>1). Algo similar ocurre con or, si (x>0) es verdadero entonces no es necesario evaluar (y>1) y toda la operación resultará verdadero.

Ahora veamos el siguiente programa de ejemplo:


Descargar
{$codepage UTF8}

VAR
  m,n:integer;
  a:Boolean;

BEGIN
  m:=40;
  readln(n);
  a:=(n>0) and ((m div n)>4);
  Writeln(a)
END.
Código fuente 6: No generar error division por cero.
Descargar

Si ingresamos un 0 para n, aparentemente el programa haría una división por cero generando un error, pero esto no sucede ya que (n>0) será falso y no se evaluará el resto de la operación, evitando de esa manera la división con cero. Pero si se cambian las operaciones del siguiente modo: ((m div n)>4) and (n>0), entonces el error si se producirá. La evaluación booleana en atajo o corto circuito, es útil sólo cuando se presentan situaciones en la que el resto de operaciones no están bien definidas.




SIGUIENTE
SIGUIENTE
SIGUIENTE


 
‒ Comentarios y sugerencias.

Agradezco de antemano, todo comentario, sugerencia, y donativo (a través de Paypal me), que ayude a mejorar los contenidos educativos de Conoce 3000. Además, cualquier pregunta o duda que tengas lo puedes hacer por este medio. Pero, todo contenido que pueda resultar ofensivo, malicioso, racista, sexista, discriminatorio, obsceno, vulgar será eliminado.








PORTADA |  INTERESANTE |  APUNTES |  LIBROS |  GALERIA


Creative Commons License


Todos los textos, imágenes y videos de Conoce3000 estan colocados bajo una licencia : Creative Commons Reconocimiento-NoComercial 3.0 Unported License.