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.5. OPERADORES DE RELACIÓN.
3. OPERADORES PARA TIPOS DE DATOS SIMPLES.
3.5. OPERADORES DE RELACIÓN.
3. OPERADORES PARA TIPOS DE DATOS SIMPLES.
3.5. OPERADORES DE RELACIÓN.

SIGUIENTE

SIGUIENTE

SIGUIENTE


‒ Operadores de relación.

Operan con Números enteros, Reales, carácter, enumerado, subrango, y el tipo de dato string. Pero siempre dan como resultado un valor Booleano. Estos operadores nos permiten comprobar las relaciones de igualdad o desigualdad entre los tipos de datos antes mencionados. Los operadores son:


‒ Operadores de relación
Operador Nombre Ejemplo Resultado
< Menor que. c:=a<b; Da como resultado verdadero, si la variable de la derecha es mayor.
> Mayor que. c:=a>b; Da como resultado verdadero, si la variable de la izquierda es mayor.
<> Desigualdad. c:=a<>b; Da como resultado verdadero, si ambos son distintos.
= igual. c:=a = b; Da como resultado verdadero, si las dos variables son iguales.
<= Menor o igual que. c:=a<=b; Da como resultado verdadero, si la variable de la derecha es mayor o igual.
>= Mayor o igual que. c:=a>=b; Da como resultado verdadero, si la variable de la izquierda es mayor o igual.


A continuación un ejemplo:


Descargar
{$codepage UTF8}

TYPE
  Numeros=(Cero,Uno,Dos,Tres,Cuatro);

VAR
  N1,N2:Numeros;
  j,h:longint;
  c1,c2:char;
  r1,r2:double;

BEGIN
  Writeln('ENTEROS');
  Write('j = ');
  Readln(j);
  Write('h = ');
  Readln(h);
  Writeln('j > h es  : ',j>h);
  Writeln('j < h es  : ',j<h);
  Writeln('j <> h es : ',j<>h);
  Writeln('j <= h es : ',j<=h);
  Writeln('j >= h es : ',j>=h);
  Writeln('j = h es  : ',j=h);
  Writeln('REALES');
  Write('r1 = ');
  Readln(r1);
  Write('r2 = ');
  Readln(r2);
  Writeln('r1 > r2 es  : ',r1>r2);
  Writeln('r1 < r2 es  : ',r1<r2);
  Writeln('r1 <> r2 es : ',r1<>r2);
  Writeln('r1 <= r2 es : ',r1<=r2);
  Writeln('r1 >= r2 es : ',r1>=r2);
  Writeln('r1 = r2 es  : ',r1=r2);
  Writeln('CARACTER');
  Write('c1 = ');
  Readln(c1);
  Write('c2 = ');
  Readln(c2);
  Writeln('c1 > c2 es  : ',c1>c2);
  Writeln('c1 < c2 es  : ',c1<c2);
  Writeln('c1 <> c2 es : ',c1<>c2);
  Writeln('c1 <= c2 es : ',c1<=c2);
  Writeln('c1 >= c2 es : ',c1>=c2);
  Writeln('c1 = c2 es  : ',c1=c2);
  Writeln('ENUMERADOS');
  N1:=Dos;
  N2:=Cuatro;
  Writeln('N1 = Dos');
  Writeln('N2 = Cuatro');
  Writeln('N1 > N2 es  : ',N1>N2);
  Writeln('N1 < N2 es  : ',N1<N2);
  Writeln('N1 <> N2 es : ',N1<>N2);
  Writeln('N1 <= N2 es : ',N1<=N2);
  Writeln('N1 >= N2 es : ',N1>=N2);
  Writeln('N1 = N2 es  : ',N1=N2);
  Readln
END.
Código fuente 7: Ejemplo del uso de los operadores relacionales.
Descargar

Cuando comprobamos las relaciones de igualdad o desigualdad, sólo se deben usar estas comprobaciones con variables del mismo tipo de dato (Enteros, carácter, enumerado, subrango, string).

Al comparar variables con tipos de datos string, las variables se comparan de izquierda a derecha, revisando el código que tiene cada carácter, hasta que se encuentren dos caracteres diferentes. Por ejemplo, si la variable cad1 tiene asignado el nombre antonio, y la variable cad2 tiene asignado el nombre alberto, la comparación se hará con los caracteres n y l, con los resultados que se muestran a continuación:


cad1:='antonio' cad2:='alberto'
110 es el código de la letra n, y 108 es el código de la letra l, para las codificaciones de caracteres ASCII y UTF8.
Operación Resultado
cad1 < cad2 Da como resultado falso, porque 110 no es menor que 108.
cad1 > cad2 Da como resultado verdadero, porque 110 es mayor que 108.
cad1 <> cad2 Da como resultado verdadero, porque 110 es diferente a 108.
cad1 = cad2 Da como resultado falso, porque 110 no es igual a 108.
cad1 <= cad2 Da como resultado falso, porque 110 no es menor que 108.
cad1 >= cad2 Da como resultado verdadero, porque 110 es mayor que 108.


Ejemplo:


Descargar
{$codepage UTF8}

VAR
  cad1,cad2:string;

BEGIN
  cad1:='antonio';
  cad2:='alberto';
  Writeln('cad1:=',cad1);
  Writeln('cad2:=',cad2);
  Writeln('ordinal n = ',ord('n'));
  Writeln('ordinal n = ',ord('l'));
  Writeln('cad1<cad2=',cad1<cad2);
  Writeln('cad1>cad2=',cad1>cad2);
  Writeln('cad1<>cad2=',cad1<>cad2);
  Writeln('cad1=cad2=',cad1=cad2);
  Writeln('cad1<=cad2=',cad1<=cad2);
  Writeln('cad1>=cad2=',cad1>=cad2); 
  Readln
END.
Código fuente 8: Ejemplo del uso de los operadores relacionales con el tipo de dato string.
Descargar

Si deseamos comparar determinados caracteres directamente, cómo los siguientes caracteres en UTF8: ② y ⑨, entonces el compilador convertirá los caracteres de UTF8 a UTF16, y evaluará sus códigos correspondientes en UTF16. Ejemplo:


Descargar
{$codepage UTF8} 

BEGIN   
  Writeln(Ord('②'));
  Writeln(Ord('⑨')); 
  Writeln('②'<'⑨');
  Writeln('②'>'⑨');
  Writeln('②'<>'⑨');
  Writeln('②'='⑨');
  Writeln('②'<='⑨');
  Writeln('②'>='⑨');
  Readln
END.
Código fuente 9: Ejemplo del uso de los operadores relacionales con el tipo de dato string.
Descargar

Debe tener en cuenta que si se asignan estos caracteres a una variable de tipo char entonces lo que se podría evaluar serían signos de interrogación, esto dependerá mucho del administrador de caracteres y la codificación de caracteres que esté usando el Sistema operativo.

Al comparar números reales se debe tener mucho cuidado, por ejemplo veamos el siguiente programa y el resultado que se obtiene:


Descargar
{$codepage UTF8}

VAR
  a:double;

BEGIN
  a:=1/3;
  Writeln(a=1/3);
END.
Código fuente 10: Comparación de reales.
Descargar

Como podemos observar, la comparación con 1/3, no es igual al valor almacenado en la variable a. Que sucede, la razón esta en como se almacenan los números reales. Primero debemos observar que se compara la variable a con el valor 1/3, pero este 1/3 se interpreta por el compilador como un número de tipo extended, que es un tipo de dato real de mayor precisión, y la fracción almacenada en la variable a es de menor precisión, porque es un tipo de dato double, haciendo que la comparación sea falsa. Dicho de otro modo es como comparar 0.33 con 0.3333, o 0.33333 con 0.333333333333, en donde obviamente el que puede interpretar o almacenar la mayor cantidad de números decimales será siempre el mayor.


Última revisión: 09/04/2014.



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.


Comments System WIDGET PACK






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.