Autor Tema: como hago una condicion con if para limitar un rango???  (Leído 28912 veces)

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

Desconectado CEAUGO

  • PIC10
  • *
  • Mensajes: 13
como hago una condicion con if para limitar un rango???
« en: 25 de Mayo de 2008, 18:40:17 »
Hola a todos, ps estoy haciendo un programa que hace una diferencia de voltages dentro de mi programa, y con esta debo limitarla en un rango de voltage para cierta funcion...

lo explico:

hay de pronto un if que me diga que de acuerdo a los valores que esten entre 0.5 y -0.5 entre a este y cumpla una funcion...
espero haberme hecho entender....perdon por la pregunta, y gracias por su atencion...

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: como hago una condicion con if para limitar un rango???
« Respuesta #1 en: 25 de Mayo de 2008, 19:47:29 »
Hola CEAUGO, no entiendo bien que quieres hacer, trata de explayarte un poco mas y ser mas especifico, sino tendremos que estar adivinando.

Supongo que lo que quieres hacer es verificar si una variable se encuentra dentro de cierto rango o no, por lo que el código deberá ser:

Código: [Seleccionar]
float Tension;

if ((Tension <= 0.5)&&(Tension >= -0.5)) {
   // Aqui va el código que debe ejecutarse si la variable Tension se encuentra en el rango entre -0,5 a 0,5.
}
else {
   // Aqui va el código que debe ejecutarse si la variable Tension se encuentra fuera del rango.
}

La cuestión es bastante sencilla, por eso no entiendo si es realmente lo que preguntas.

Un saludo.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: como hago una condicion con if para limitar un rango???
« Respuesta #2 en: 25 de Mayo de 2008, 20:23:42 »
jeje Gonzalo, cuando uno empieza con c, eso que acabas de escribir parece súper difícil  :mrgreen:

Yo hace tiempo también tenía problemas para comparar datos de esa forma, pero con el tiempo se va tomando experiencia.

Desconectado CEAUGO

  • PIC10
  • *
  • Mensajes: 13
Re: como hago una condicion con if para limitar un rango???
« Respuesta #3 en: 25 de Mayo de 2008, 23:48:45 »
Hola CEAUGO, no entiendo bien que quieres hacer, trata de explayarte un poco mas y ser mas especifico, sino tendremos que estar adivinando.

Supongo que lo que quieres hacer es verificar si una variable se encuentra dentro de cierto rango o no, por lo que el código deberá ser:

Código: [Seleccionar]
float Tension;

if ((Tension <= 0.5)&&(Tension >= -0.5)) {
   // Aqui va el código que debe ejecutarse si la variable Tension se encuentra en el rango entre -0,5 a 0,5.
}
else {
   // Aqui va el código que debe ejecutarse si la variable Tension se encuentra fuera del rango.
}

La cuestión es bastante sencilla, por eso no entiendo si es realmente lo que preguntas.

Un saludo.
-------------------------------------------------------------------------------------------------------------------
Hola si, lo entendistes bien.....ya lo probe y funciono te agradezco enormemente....muchas gracias exitos...

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: como hago una condicion con if para limitar un rango???
« Respuesta #4 en: 26 de Mayo de 2008, 00:48:14 »
podria ser asi tambien?

float valor;

if (-0.5=<valor=>0.5){
/////haz lo que tengas que hacer
}else{
///////otra condicion
}

si me equivico sorry
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: como hago una condicion con if para limitar un rango???
« Respuesta #5 en: 26 de Mayo de 2008, 02:48:21 »
Así no funciona, scientist, no puedes meter tres comparaciones en una misma condición.

A mí se me ocurren dos maneras más de hacerlo:

if (abs(valor)<=0.5)

o bien

if ((valor+0.5)<1)

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: como hago una condicion con if para limitar un rango???
« Respuesta #6 en: 26 de Mayo de 2008, 05:40:47 »
Hola a todos. Nocturno, me parece que tu primera solución es la mas compacta y la mas adecuada.

No entiendo tu segunda solución, pues no funciona cuando el valor desciende de -0,5, ya que la expresion sigue dando menor que 1, tal vez deberia ser:

Código: [Seleccionar]
if ((abs(Valor)+0.5)<1) {;}
Pero en realidad lo que estas haciendo es plantear la misma solución que la primera, solo que desplazas el punto de comparación por media unidad. Yo creo que has acertado con la primera solución, havbria que ver el ASM, pero seguramente es la mas rápida de ejecutar. Espero sus opiniones.

Saludos gente.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: como hago una condicion con if para limitar un rango???
« Respuesta #7 en: 26 de Mayo de 2008, 05:49:23 »
Tienes razón, la segunda opción no vale

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: como hago una condicion con if para limitar un rango???
« Respuesta #8 en: 26 de Mayo de 2008, 09:39:32 »
 :shock:

Si la primera propuesta de Nocturno ahorra código en ensamblador, es recomendable publicarla aquí:

Complicando para simplificar
http://www.todopic.com.ar/foros/index.php?topic=18676.0

 :mrgreen:

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: como hago una condicion con if para limitar un rango???
« Respuesta #9 en: 26 de Mayo de 2008, 16:05:21 »
jejeje, quien sabe en que estaba pensando, cuando puse eso,  :lol: definitivamente buena por esa nocturno
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....