Ver Mensaje Individual
  #1  
Antiguo 18-11-2010
Parabol77 Parabol77 is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 10
Reputación: 0
Parabol77 Va por buen camino
Problema con condicionales "compuestos"

Buenas a todos.

En un programa tengo que incluir un condicional If "compuesto". No sé si es así como se llama técnicamente, pero me explico.

Tengo tres variables, dos de entrada y una de salida. La variable de salida adquiere un valor dependiendo de los valores que alcancen las dos de entrada. Copio y pego lo que tengo hecho, para que se entienda mejor:
Código:
   If Ze<=17 Then 
      If Zn<=17 Then J:=0.3
      Else If Zn<=20 Then J:=0.32
      Else If Zn<=24 Then J:=0.34
      Else If Zn<=30 Then J:=0.36
      Else If Zn<=35 Then J:=0.37
      Else If Zn<=40 Then J:=0.38
      Else If Zn<=45 Then J:=0.39
      Else If Zn<=50 Then J:=0.4
      Else If Zn<=60 Then J:=0.41
      Else If Zn<=80 Then J:=0.42
      Else If Zn<=125 Then J:=0.43
      Else J:=0.45

   Else If Ze<=25 Then 
      If Zn<=17 Then J:=0.3
      Else If Zn<=20 Then J:=0.32
      Else If Zn<=24 Then J:=0.35
      Else If Zn<=30 Then J:=0.37
      Else If Zn<=35 Then J:=0.38
      Else If Zn<=40 Then J:=0.39
      Else If Zn<=45 Then J:=0.4
      Else If Zn<=50 Then J:=0.41
      Else If Zn<=60 Then J:=0.42
      Else If Zn<=80 Then J:=0.44
      Else If Zn<=125 Then J:=0.45
      Else J:=0.47

   Else If Ze<=35 Then 
      If Zn<=17 Then J:=0.31
      Else If Zn<=20 Then J:=0.33
      Else If Zn<=24 Then J:=0.35
      Else If Zn<=30 Then J:=0.38
      Else If Zn<=35 Then J:=0.39
      Else If Zn<=40 Then J:=0.4
      Else If Zn<=45 Then J:=0.41
      Else If Zn<=50 Then J:=0.42
      Else If Zn<=60 Then J:=0.43
      Else If Zn<=80 Then J:=0.44
      Else If Zn<=125 Then J:=0.46
      Else J:=0.48

   Else If Ze<=50 Then 
      If Zn<=17 Then J:=0.31
      Else If Zn<=20 Then J:=0.33
      Else If Zn<=24 Then J:=0.36
      Else If Zn<=30 Then J:=0.39
      Else If Zn<=35 Then J:=0.4
      Else If Zn<=40 Then J:=0.41
      Else If Zn<=45 Then J:=0.42
      Else If Zn<=50 Then J:=0.43
      Else If Zn<=60 Then J:=0.44
      Else If Zn<=80 Then J:=0.46
      Else If Zn<=125 Then J:=0.48
      Else J:=0.49

   Else If Ze<=85 Then 
      If Zn<=17 Then J:=0.32
      Else If Zn<=20 Then J:=0.34
      Else If Zn<=24 Then J:=0.36
      Else If Zn<=30 Then J:=0.39
      Else If Zn<=35 Then J:=0.41
      Else If Zn<=40 Then J:=0.42
      Else If Zn<=45 Then J:=0.43
      Else If Zn<=50 Then J:=0.44
      Else If Zn<=60 Then J:=0.45
      Else If Zn<=80 Then J:=0.47
      Else If Zn<=125 Then J:=0.49
      Else J:=0.51

   Else If Ze>85 Then 
      If Zn<=17 Then J:=0.32
      Else If Zn<=20 Then J:=0.35
      Else If Zn<=24 Then J:=0.37
      Else If Zn<=30 Then J:=0.4
      Else If Zn<=35 Then J:=0.42
      Else If Zn<=40 Then J:=0.43
      Else If Zn<=45 Then J:=0.44
      Else If Zn<=50 Then J:=0.45
      Else If Zn<=60 Then J:=0.47
      Else If Zn<=80 Then J:=0.48
      Else If Zn<=125 Then J:=0.5
      Else J:=0.52
   ;
Las variables de entrada son Zn y Ze. Si Ze tiene un valor determinado, Zn tendrá otra serie de valores, y el resultado (la variable J) dependerá de ambos. Una vez explicado, más o menos, lo que quiero, explico mi problema.

Luego escribo una operación usando la variable J, pero cuando ejecuto el programa me dice que la variable J no se inicializa, con lo que supongo que hay algún error en el código de los condicionales.

¿Cómo podría introducir condicionales dentro de otros condicionales?

Muchas gracias de antemano.
Un saludo.
Responder Con Cita