Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Programa para validar el rut en formato de 7, 8 y 9 digitos.
- 'Autor: Álvaro Arcaya.
- 'Chowned.
- '07-04-2012
- CLS
- DIM RUT AS STRING
- COLOR 0, 7
- LOCATE 1, 30: PRINT "Validar Rut Chileno."
- COLOR 7, 0
- INPUT "Ingrese su rut (sin puntos ni guion): ", RUT$
- Cant = LEN(RUT$)
- SELECT CASE Cant ' Calculo de Digito Verificador.
- CASE 7: 'Rut con formado: 100.000-0
- Digitos$ = MID$(RUT$, 1, 6)
- Verificador$ = MID$(RUT$, 7, 1)
- z = 7
- acum = 0
- FOR n = 1 TO 6
- Digitos(n) = VAL(MID$(Digitos$, n, 1))
- acum = acum + Digitos(n) * z
- z = z - 1
- NEXT
- Resp = 11 - (acum MOD 11)
- CASE 8: 'Rut con formato 1.000.000-0
- Digitos$ = MID$(RUT$, 1, 7)
- Verificador$ = MID$(RUT$, 8, 1)
- acum = 0
- z = 6
- FOR n = 1 TO 7
- Digitos(n) = VAL(MID$(Digitos$, n, 1))
- NEXT
- acum = acum + Digitos(1) * 2 + Digitos(2) * 7
- FOR n = 3 TO 7
- acum = acum + Digitos(n) * z
- z = z - 1
- NEXT
- Resp = 11 - (acum MOD 11)
- CASE 9: 'Rut con formato 10.000.000-0
- Digitos$ = MID$(RUT$, 1, 8)
- Verificador$ = MID$(RUT$, 9, 1)
- acum = 0
- z = 6
- FOR n = 1 TO 8
- Digitos(n) = VAL(MID$(Digitos$, n, 1))
- NEXT
- acum = acum + Digitos(1) * 3 + Digitos(2) * 2 + Digitos(3) * 7
- FOR n = 4 TO 8
- acum = acum + Digitos(n) * z
- z = z - 1
- NEXT
- Resp = 11 - (acum MOD 11)
- END SELECT
- ' Comparaci¢n Digito Verificador
- SELECT CASE Resp
- CASE 1 TO 9: 'El digito verificador va desde 1 a 9
- IF VAL(Verificador$) = Resp THEN
- PRINT
- PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
- COLOR 0, 2
- PRINT "Es Valido"
- COLOR 7, 0
- ELSE
- PRINT
- PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
- COLOR 0, 4
- PRINT "No es Valido"
- COLOR 7, 0
- END IF
- CASE 10: 'El digito verificador es 10 (K)
- IF Verificador$ = "K" OR Verificador$ = "k" THEN
- PRINT
- PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
- COLOR 0, 2
- PRINT "Es Valido"
- COLOR 7, 0
- ELSE
- PRINT
- PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
- COLOR 0, 4
- PRINT "No es Valido"
- COLOR 7, 0
- END IF
- CASE 11: 'El digito verificador es 11 (0)
- IF Verificador$ = "11" THEN
- PRINT
- PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
- COLOR 0, 2
- PRINT "Es Valido"
- COLOR 7, 0
- ELSE
- PRINT
- PRINT "EL RUT " + Digitos$ + "-" + Verificador$ + ""
- COLOR 0, 4
- PRINT "No es Valido"
- COLOR 7, 0
- END IF
- END SELECT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement