/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

digito verificador

 
      Índice del Foro elrincondelc.com -> Trabajos de clase
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
MasterKiller



Registrado: 26 Sep 2007
Mensajes: 18

MensajePublicado: 14/11/2007 2:04 pm
Título: digito verificador

Bueno amigo..
nesesito hacer un analisis y un programa pero no se como se puede hacer...
nose si alguien me podria ayudar...
esto tengo que hacer:

Cita:
Se debe ingresar un rol(ID o RUT) de 7 digitos. El digito verificador se calcula a partir del rol del alumno de la siguiente manera:

* Sea d7, d6, d5, d4, d3, d2, d1 los 7 dígitos del rol.
* Calcular un numero indicador como:

Ni=(d1x1 + d2x2 + d3x3 +..... d7x7)/(d1+d7)

* Este indicador redondeado fija el numero de terminos n de la sucesion que permite calcular el numero de serie es Sn donde

Sn=Sn-1 + Sn-2

Con s0=d7 y s1=d1 si n es par,
o s0=1 y s1=d7 si n es impar.

* imprimir el valor de ka cabtudad de términos de la sucesión n y el número de serie.


y otro que tengo que hacer es este....



bueno amigos...
este es el gran problema que tengo...
no le estoy pidiendo que me agan el programa (aunque si son tan amables se lo agradeceria muchisimo)
solo que me ayuden a entenderlo y como puedo relalizar estoy programas...
bueno amigos..
espero su ayuda...
ya que son los unicos que me pueden salvar la vida...
confio en ustedes...
gracias...

PD: Todo tiene que ser en C++
bye
Volver arriba
david_celta



Registrado: 02 Jun 2005
Mensajes: 95

MensajePublicado: 14/11/2007 6:35 pm
Título:

ROL=1234567
d1=1
d2=2
...
d3=7
Ni=(1*1+2*2+..7*7)/(1+7)=17(si es redondeado hacia abajo),18 (si es redondeado hacia arriba)

¿N es par? No
entonces usamos s0=1 y s1=7 para calcular S17 (o S18 depende del redondeo)

S18=S17+S16=?
S17=S16+S15=?
S16=S15+S14=?
...
S2=S1+S0=7+1=8

Segun eso:
1. Ingresas un numero de 7 digitos y extraes sus digitos (a un arreglo por ejemplo A[])
2. Multiplicas cada digito del arreglo por la secuencia (1..7) (A[0]*1,A[1]*2 y asi hasta A[6]*7)
3. Sumas todos los elementos del arreglo(A[0]+A[1]+...A[6]) y lo divides entre la suma del prmero+el ultimo(A[0]+A[6])
4.Redondeas el resultado
5.Preguntas si el numero ingresado es par o impar y defines los valores de s0 y s1(puede ser otro arreglo llamado S[])
6.Calculas los valores de S hasta S[Ni] empezando por S[2]=S[1]+S[0], luego S[3]=S[2]+S[1] y asi hasta S[Ni]=S[Ni-1]+S[Ni-2]
7.Imprimes el arreglo S y pides tu nota
_________________
Rueda y rueda la vida, rueda y rueda el balón... y detras de la esperanza, palpita cada corazón.
Volver arriba
MasterKiller



Registrado: 26 Sep 2007
Mensajes: 18

MensajePublicado: 15/11/2007 10:35 am
Título:

bueno amigo... me sirvio arto tu respuesta... pero me kedo una duda...

que cosa isite en esta parte???

Cita:
S18=S17+S16=?
S17=S16+S15=?
S16=S15+S14=?
...
S2=S1+S0=7+1=8


no entendi como lo isiste... me podrias ayudar??
gracias!
Volver arriba
david_celta



Registrado: 02 Jun 2005
Mensajes: 95

MensajePublicado: 15/11/2007 5:30 pm
Título:

Cita:

Ni=(d1x1 + d2x2 + d3x3 +..... d7x7)/(d1+d7)

* Este indicador redondeado fija el numero de terminos n de la sucesion que permite calcular el numero de serie es Sn donde

Sn=Sn-1 + Sn-2

Con s0=d7 y s1=d1 si n es par,
o s0=1 y s1=d7 si n es impar


Significa que Ni indica el numero de terminos de la sucesion S (el arreglo S en este caso)

Si Ni=18, el arreglo S tiene 18 elementos
Si Ni=10, el arreglo S tiene 10 elementos

Segun la ecuacion que te dan Sn=Sn-1+Sn-2, donde n es el indice obtenemos una sucesion para Ni=10 como sigue:

cuando el indice n=10
S[10]=S[10-1]+S[10-2]=S[9]+S[8]

cuando el indice n=9
S[9]=S[9-1]+S[9-2]=S[8]+S[7]

y asi sucesivamente, por lo cual primero debes calcular S[0], S[1], S[2], S[3] y asi sucesivamente hasta S[Ni] utilizando esa ecuacion (Sn=Sn-1+Sn-2)

Entonces para Ni=10:
S[2]=S[1]+S[0]=d1+d7=, como Ni=10 es par entonces S[0]=d7, S[1]=d1
S[3]=S[2]+S[1]=
S[4]=S[3]+S[2]=
...
S[10]=S[9]+S[8]=

Si Ni fuera impar, entonces usas S[0]=1,S[1]=d7 y haces lo mismo.
_________________
Rueda y rueda la vida, rueda y rueda el balón... y detras de la esperanza, palpita cada corazón.
Volver arriba
      Índice del Foro elrincondelc.com -> Trabajos de clase
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com