Advertisement
Guest User

Validar RUT GW-Basic FINAL

a guest
Apr 7th, 2012
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'Programa para validar el rut en formato de 7, 8 y 9 digitos.
  2. 'Autor: Álvaro Arcaya.
  3. 'Chowned.
  4. '07-04-2012
  5. CLS
  6. DIM RUT AS STRING
  7. COLOR 0, 7
  8. LOCATE 1, 30: PRINT "Validar Rut Chileno."
  9. COLOR 7, 0
  10. INPUT "Ingrese su rut (sin puntos ni guion): ", RUT$
  11. Cant = LEN(RUT$)
  12. SELECT CASE Cant ' Calculo de Digito Verificador.
  13.     CASE 7: 'Rut con formado: 100.000-0
  14.         Digitos$ = MID$(RUT$, 1, 6)
  15.         Verificador$ = MID$(RUT$, 7, 1)
  16.         z = 7
  17.         acum = 0
  18.         FOR n = 1 TO 6
  19.             Digitos(n) = VAL(MID$(Digitos$, n, 1))
  20.             acum = acum + Digitos(n) * z
  21.             z = z - 1
  22.         NEXT
  23.         Resp = 11 - (acum MOD 11)
  24.  
  25.     CASE 8: 'Rut con formato 1.000.000-0
  26.         Digitos$ = MID$(RUT$, 1, 7)
  27.         Verificador$ = MID$(RUT$, 8, 1)
  28.         acum = 0
  29.         z = 6
  30.         FOR n = 1 TO 7
  31.             Digitos(n) = VAL(MID$(Digitos$, n, 1))
  32.         NEXT
  33.         acum = acum + Digitos(1) * 2 + Digitos(2) * 7
  34.         FOR n = 3 TO 7
  35.             acum = acum + Digitos(n) * z
  36.             z = z - 1
  37.         NEXT
  38.         Resp = 11 - (acum MOD 11)
  39.  
  40.     CASE 9: 'Rut con formato 10.000.000-0
  41.         Digitos$ = MID$(RUT$, 1, 8)
  42.         Verificador$ = MID$(RUT$, 9, 1)
  43.         acum = 0
  44.         z = 6
  45.         FOR n = 1 TO 8
  46.             Digitos(n) = VAL(MID$(Digitos$, n, 1))
  47.         NEXT
  48.         acum = acum + Digitos(1) * 3 + Digitos(2) * 2 + Digitos(3) * 7
  49.         FOR n = 4 TO 8
  50.             acum = acum + Digitos(n) * z
  51.             z = z - 1
  52.         NEXT
  53.         Resp = 11 - (acum MOD 11)
  54. END SELECT
  55.  
  56. ' Comparaci¢n Digito Verificador
  57. SELECT CASE Resp
  58.     CASE 1 TO 9: 'El digito verificador va desde 1 a 9
  59.         IF VAL(Verificador$) = Resp THEN
  60.             PRINT
  61.             PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
  62.             COLOR 0, 2
  63.             PRINT "Es Valido"
  64.             COLOR 7, 0
  65.         ELSE
  66.             PRINT
  67.             PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
  68.             COLOR 0, 4
  69.             PRINT "No es Valido"
  70.             COLOR 7, 0
  71.         END IF
  72.  
  73.     CASE 10: 'El digito verificador es 10 (K)
  74.         IF Verificador$ = "K" OR Verificador$ = "k" THEN
  75.             PRINT
  76.             PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
  77.             COLOR 0, 2
  78.             PRINT "Es Valido"
  79.             COLOR 7, 0
  80.         ELSE
  81.             PRINT
  82.             PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
  83.             COLOR 0, 4
  84.             PRINT "No es Valido"
  85.             COLOR 7, 0
  86.         END IF
  87.  
  88.     CASE 11: 'El digito verificador es 11 (0)
  89.         IF Verificador$ = "11" THEN
  90.             PRINT
  91.             PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
  92.             COLOR 0, 2
  93.             PRINT "Es Valido"
  94.             COLOR 7, 0
  95.         ELSE
  96.             PRINT
  97.             PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
  98.             COLOR 0, 4
  99.             PRINT "No es Valido"
  100.             COLOR 7, 0
  101.         END IF
  102.  
  103. END SELECT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement