Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/11/2011, 05:20
Avatar de sven_uri
sven_uri
 
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Problemas con Visual Basic con Excel

A nono, no hay problema en comentarlo en público, lo único que no queria ser un cara dura y que me hicieran el ejercicio sin aprender nada ni mis fallos.

Es un ejercicio de la universidad. La primera parte esta echa, que es el código que te presente anteriormente pero la segunda parte no se como hacerla. El enunciado es el siguiente:

Resulta que uno de los factores que destaca según este estudio (además de los problemas que puedan tener determinados socios) es el porcentaje de retornos debido a errores de la propia entidad, que ha emitido recibos a socios distintos de los que realmente habían hecho las actividades. Parece que el error proviene de confusiones en el Número de Socio, que es el que se utiliza (en lugar del nombre) para componer el listado de recibos.
Para evitar más errores de este tipo, se ha decidido añadir al Número de Socio un código de control al estilo de los de las cuentas bancarias, que se verifique cada vez que un socio se apunte para hacer una actividad, y así evitar confusiones.
Así, el Número de Socio actual (NS), que es siempre un número de 4 cifras (el primer socio tiene el número 1001), se le añadirá un código de control (una cifra y una letra) que se calculará siguiendo los pasos siguientes :
• se divide el NS en dos partes, una con los dos primeros dígitos (N1) y la otra con los dos últimos (N2). Por ejemplo, si NS = 2136, N1 = 21 y N2 = 36.
• se calcula la suma de los N2 primeros números enteros (1 +2 +3 +...+ N2), se multiplica por N1 y por 13.411.
• el residuo de dividir el valor anterior por 9 será la cifra del código de control.
• se calcula el residuo de dividir este mismo valor (el del paso 2) por 31. Si el valor resultante es inferior a 10, se le asigna "A" como letra de control, si está entre 10 y 19 la letra "B", y si es superior la letra "C".

Se pide:
(A) Preparar el diagrama de flujo de un algoritmo que permita calcular el código de control diseñado por la entidad a partir de la entrada del número de cualquier socio de la misma. Escribir igualmente el algoritmo en pseudo-código.
(B) Diseñar la hoja excel que serviría para comprobar que un Número de Socio completo (entrando tanto las 4 cifras como el dígito y la letra de control) es correcto, y escribir la / las macros en visual Basic que permitirían hacer esta comprobación .

Nota: Es relativamente fácil encontrar los dígitos que forman un cierto número a partir de operaciones algebraicas simples. Por ejemplo, las decenas de un número de 2 cifras se pueden obtener calculando la parte entera de dividir el número por 10 (si N = 93, partsencera (93/10) = 9) y las unidades por diferencia (93-9 * 10 = 3)


Cómo lo ves ahora? Iba mal planteandolo como lo estaba planteando?

Muchas grácias por tu tiempo.