Paradoja del Si (if - then - else) con intervalos. Problemas con comparaciones dobles. (CU00144A)

Resumen: Entrega nº 43 del curso Bases de la programación Nivel I.
Codificación aprenderaprogramar.com: CU00144A

 

 

PARADOJA DEL SI (IF ... THEN ... ELSE) BURLADO POR UN INTERVALO. INCORRECCIÓN DE COMPARACIONES DOBLES.

Supongamos que se nos presenta un problema con una decisión tal que si una variable toma un valor comprendido en un intervalo hay que mostrar un mensaje y si está fuera de ese intervalo, otro mensaje.

Podríamos escribir (variable = A, intervalo 50 – 75, mensaje si está dentro del intervalo es Arabia, si está fuera es Eusebio):

 

 

Si 50 < A < 75 Entonces

Mostrar “Arabia”

SiNo

Mostrar “Eusebio”

FinSi

 

También:

Si A > 50 y A < 75 Entonces

Mostrar “Arabia”

SiNo

Mostrar “Eusebio”

FinSi

 

 

En principio, si A = 160 en ambos casos deberíamos obtener en pantalla el mensaje “Eusebio”. Sin embargo, con la sintaxis 50 < A < 75 nos podemos encontrar con que el ordenador nos devuelve “Arabia” ¿Por qué? Pues simplemente porque el lenguaje utilizado no admita comparaciones dobles del tipo x < y < z. Ante esta situación, o bien se produce un error o bien se evalúa x < y y si se cumple, se pasan a ejecutar las instrucciones contenidas en el Entonces.

Este “resultado inesperado” puede ocasionar un buen quebradero de cabeza, ya que en un programa extenso no será nada fácil detectar este error. Como remedio, usaremos siempre la escritura de condiciones una detrás de otra y no de forma múltiple, tanto en el pseudocódigo como en el código. Y como dice el refrán, “a perro muerto se acabó la rabia”.

  

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

MAYO - JUNIO 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. .NET, C#
5. JavaScript, jQuery
6. HTML, CSS
7. Php, MySql
8. Android, iOS


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación