Autor Tema: INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES  (Leído 2611 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES
« en: 27 de Septiembre de 2004, 14:31:00 »
hOLA:
CONFIESO QUE HE TRATADO DE BUSCAR ,ANTES DE PREGUNTAR,PERO NO ENCUENTRO EL OPERADOR MATEMATICO PARA LO SIGUIENTE:

QUIERO DETECTAR CUANDO MI VARIABLE X ESTE COMPRENDIDA ENTRE 2 VALORES EJ

IF X >500 <700  THEN........

ESTE ES UN ERROR DE SINTAXIS PERO ES ESO LO QUE QUIERO HACER Y NO LO LOGRO.ES CASE??LO QUE NECESITO......
GRACIAS
KHASISTOS

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES
« Respuesta #1 en: 27 de Septiembre de 2004, 14:42:00 »
Prueba esto, Khasistos:

if x>500 and x<700 then


Desconectado tonyusp

  • PIC10
  • *
  • Mensajes: 17
RE: INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES
« Respuesta #2 en: 27 de Septiembre de 2004, 17:25:00 »
Esta totalmente correcto lo que dijo nocturno66 porlomenos en pro funciona asi en plus calculo que tambien.

Yo tenia hecho una rutinita asi:

botones:
IF PORTB.5=0 AND boton=<7 Then                  boton=boton+1                Pause 200
          Return
          EndIF
IF PORTB.6=0 AND boton>=1 Then
       boton=boton-1
       Pause 200
       Return
       EndIF
Return

Ahi vos cambias los operadores para lo que quieras =,<,>,>=,<=

Un abrazo
Tony

Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
RE: INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES
« Respuesta #3 en: 27 de Septiembre de 2004, 17:41:00 »
Hola:

Gracias ,la palabra "magica" es AND

Gracias a todos FUNCIONO......

Saludos
Khasistos

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES
« Respuesta #4 en: 28 de Septiembre de 2004, 02:48:00 »
También puedes hacer combinaciones con paréntesis:

 IF ((esto AND aquello) OR (lootro AND lodemas)) THEN

Este tipo de expresiones hace crecer mucho el código


Saludos
Ricky
Madrid-España

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES
« Respuesta #5 en: 28 de Septiembre de 2004, 04:26:00 »
Atentos a las evaluaciones muy complicadas, a veces el PBP Pro se hace un lio, recientemente perdi una tarde entera porque el maldito compilador no evaluava correctamente una igualdad del tipo:

if CHKS=(rec1+rec2+rec3+rec4+rec5+(rec6*rec7)) then comprobado

Lo que hay entre los parentesis no es exactamente lo que tenia pero es para dar una idea.

Pues bien al final tuve que hacer lo siguiente

CHKS_TEMP=(rec1+rec2+rec3+rec4+rec5+(rec6*rec7))
if CHKS=CHKS_TEMP then comprobado

si no, no funcionaba
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado khasistos

  • PIC18
  • ****
  • Mensajes: 493
RE: INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES
« Respuesta #6 en: 28 de Septiembre de 2004, 05:57:00 »
Hola :
Gracias por tus conceptos explicativos ,si me ha pasado de "aceptar" alguna operacion matematica de comparacion y luego no darle bolilla pese a compilar tambien sin errores,ambas en pro y tambien en Plus.Si la expresion que puse de ejemplo se usa en Plus separada por coma no detecta error de sintaxis ni en la compilacion y sin embargo no funciona mas que con la primer expresion.

Abrazos para todos
khasistos

Desconectado MarquesSalsero

  • PIC18
  • ****
  • Mensajes: 467
RE: INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES
« Respuesta #7 en: 28 de Septiembre de 2004, 07:13:00 »
Lo cierto es que es una, putada diriamos en españa, cuando te vuelves loco y el problema es un fallo del compilador... Y es que todos los programadores cometen fallos y los que hacen los compiladores no se quieren quedar sin su parte...
Hay 10 tipos de personas las que entienden binario y las que no

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
RE: INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES
« Respuesta #8 en: 28 de Septiembre de 2004, 07:42:00 »
Habria que tener una cosa presente en pbp , las operaciones intermedias las hacen con variables word , es decir que si un resultado es mayor a 255 y CHKS es del tipo Byte ,  es normal es que no se cumpla nunca el ejemplo expuesto :

if CHKS=(rec1+rec2+rec3+rec4+rec5+(rec6*rec7)) then comprobado

el resultado (rec1+rec2+rec3+rec4+rec5+(rec6*rec7)) es guardado en una temporal del tipo word . Aunque es un fallo que no lo hayan tenido en cuenta .



Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: INSTRUCCION PARA COMPARAR CUANDO X ESTA COMPRENDIDA ENTRE 2 LIMITES
« Respuesta #9 en: 29 de Septiembre de 2004, 04:21:00 »
Ahora encuentro la explicación a un problema que me tuvo mareado bastante tiempo.
Lo solucioné como apunta Marqués, pero no fue por lógica, más bien por intuición.
Gracias Sisco


 

anything