• Viernes 8 de Noviembre de 2024, 10:05

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - nelson.nelis

Páginas: [1]
1
Diseño de Algoritmos / Muchos If .. ElseIf ... Else Anidados
« en: Miércoles 3 de Agosto de 2011, 20:54 »
Hola a todos,

Queria consultarles a los expertos en teoria de la computacion, si existe un mecanismo mas elegante y/o eficiente de implementar el resultado de una secuencia de IF/ELSEIF/ELSE. Es decir:

Código: C
  1. IF (condicion) THEN
  2.     ....
  3. ELSEIF (condicion) THEN
  4.     ....
  5. ELSEIF (condicion) THEN
  6. .
  7. .
  8. .
  9. .
  10. ELSE
  11.     ....
  12. ENDIF


He oído de métodos matriciales para resolver esto cuando los estas condiciones IF/ELSEIF/ELSE son muchísimas.

Bueno, eso .. de antemano muchas gracias.

2
VB .NET / Re: dilema con expresiones regulares
« en: Jueves 26 de Marzo de 2009, 15:46 »
Ya encontré la solución, era cosa de leer un poco y entender como funcan estas cosas. Aqui la solucion, si a alguien le interesa. Esto era para limitar lo que se conoce como direcciones Modbus.

Lo unico que me esta faltando, seria que para el caso de los valores inferiores a 100000 (es decir entre 0 y 99999) si yo ingreso un 15, la expresion regular sea capas de comprender que debe completar con ceros (por lo tanto el 15 quedaria 000015, si entra un 171 la expresion regular deba completar con ceros asi 000171).

No se si eso es posible, pero bueno allí les dejo la inquetud
Código: Visual Basic
  1.  
  2. "^((([0-1]([0-9]{5}))|([3-4]([0-9]{5}):(d|1[0-5])))|([3-4][0-9]{5}))$"
  3.  
  4.  

Saludos

3
VB .NET / dilema con expresiones regulares
« en: Miércoles 25 de Marzo de 2009, 17:30 »
Hola,

una consulta. alguien sabrá como hacer una expresión regular, para certificar el siguiente tipo de datos ?

1. 400001 (entre 0 y 499999)
2. 400001:15 (la parte anterior a : es igual a la restricción anterior, desde : en adelante es totalmente opcional, pero si hay un : entonces el valor a tomar luego del : es entre 0 a 15).

Intente hacer algo como lo que sigue:
Código: vb.net
  1.  
  2.     Private Function valida(ByVal cadena As String) As Boolean
  3.         Dim objRegExp As New System.Text.RegularExpressions.Regex("^(d[0-4]ddddd?(:d|1[0-5]))$")
  4.         If objRegExp.IsMatch(cadena) Then
  5.             valida = True
  6.         Else
  7.             valida = False
  8.         End If
  9.     End Function
  10.  
  11.  

respecto de la expresion regular:

1. La parte d[0-4]ddddd seria para limitar la parte antes de : entre 0 y 499999.
2. La parte ?(:d|1[0-5]) seria la parte opcional, y que en caso de que existan : entonces el valor posterior seria entre 0 a 15.

Alguien podría ayudarme, please.

Gracias

Páginas: [1]