Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Programa para calcular digito verificador de un RUT
program CalcularDigitoVerificador; var digito1, digito2, digito3, digito4, digito5, digito6, digito7, digito8 : integer; digito_verificador : integer; digito_verificador_k : char; rut : int64; auxdig1, auxdig2, auxdig3, auxdig4, auxdig5, auxdig6, auxdig7, auxdig8, res_auxdig : integer; i : integer; divisor : integer; begin read(rut); digito_verificador_k := 'k'; digito1:=rut div 10000000; digito2:=(rut mod 10000000) div 1000000; digito3:=(rut mod 1000000) div 100000; digito4:=(rut mod 100000) div 10000 ; digito5:=(rut mod 10000) div 1000; digito6:=(rut mod 1000) div 100; digito7:=(rut mod 100) div 10; digito8:=rut mod 10; // Se invierten los numeros horizontalmente. auxdig1:= digito8; auxdig2:= digito7; auxdig3:= digito6; auxdig4:= digito5; auxdig5:= digito4; auxdig6:= digito3; auxdig7:= digito2; auxdig8:= digito1; // Se sacan valores multiplicando por 2, 3, 4, 5, 6 y 7 auxdig1:= auxdig1*2; auxdig2:= auxdig2*3; auxdig3:= auxdig3*4; auxdig4:= auxdig4*5; auxdig5:= auxdig5*6; auxdig6:= auxdig6*7; auxdig7:= auxdig7*2; auxdig8:= auxdig8*3; // Ahora se suman los resultados res_auxdig:= auxdig1+auxdig2+auxdig3+auxdig4+auxdig5+auxdig6+auxdig7+auxdig8; // ...y se divide por 11 para obtener el resto divisor := 11; res_auxdig:=res_auxdig mod divisor; // Ahora al número 11, se le resta el resto de la división anterior. divisor := divisor - res_auxdig; // Ahora se analizan 3 casos // Si el número obtenido es 1, 2, 3, 4, 5, 6, 7, 8 ó 9; ése es el dígito verificador. // Si el número obtenido es 11, el dígito verificador es 0. // Si el número obtenido es 10, el dígito verificador es K. if (divisor >= 1) and (divisor <= 9) then writeln('El digito verificador es: ',divisor) else if (divisor = 11) then writeln('El digito verificador es: 0') else if (divisor = 10) then writeln('El digito verificador es: ',digito_verificador_k); end.
run
|
edit
|
history
|
help
0
tekl
Светофор-графика
aaaaa
12 13
Homework 5
This
Banking
123
1 2 9
practica 7 ejercicio B2