Inicio Guía didáctica Actividades Recursos Vídeos   Ayuda

 
Actividad 1
Actividad 2
Actividad 3
Actividad 4
Actividad 5
Actividad 6
Actividad 7
Actividad 8
Actividad 9
Actividad 10
Actividad 11
Actividad 12
Actividad 13
Actividad 14
Actividad 15

Ejecución

Guión de la actividad

En primer lugar explicaremos que pasos debemos seguir para obtener la letra del NIF partiendo del DNI. El proceso es muy fácil, simplemente deberemos dividir el DNI entre 23 y quedarnos con el resto. Seguidamente deberemos mirar en la siguiente tabla para obtener la letra que forma parte del NIF:

Ahora empezamos arrancando el KPL y creando un nuevo programa.

Escribimos en las primeras líneas de código el comentario:

/*Programa: Nif

      Autores: Lidia y Pablo

      Descripción: Este programa devuelve a partir del DNI, sin

      letra,el NIF, es decir, DNI+letra*/

Poner título al programa: Borrar MyNewProgram y poner Nif en su lugar.

En el Método Principal, Method Main(), definimos la variable llamada vector que es lo que en programación se conoce como un ARRAY, es decir, un tipo de datos complejo que consiste en una colección de variables del mismo tipo, y que es semejante al concepto matemático de vector, de la siguiente forma:

      // Definimos un vector de índice 23 y con elementos

      // caracteres

            Var vector As String[23]

            vector[1]="T"

            vector[2]="R"

            vector[3]="W"

            vector[4]="A"

            vector[5]="G"

            vector[6]="M"

            vector[7]="Y"

            vector[8]="F"

            vector[9]="P"

            vector[10]="D"

            vector[11]="X"

            vector[12]="B"

            vector[13]="N"

            vector[14]="J"

            vector[15]="Z"

            vector[16]="S"

            vector[17]="Q"

            vector[18]="V"

            vector[19]="H"

            vector[20]="L"

            vector[21]="C"

            vector[22]="K"

            vector[23]="E"

asignando valores a sus 23 elementos teniendo en cuanta la forma en la que se calcula la letra del NIF.

Escribimos el código siguiente:

      // mostramos la consola, ponemos fuente verdana tamaño 24,

      // color naranja de fondo y la pluma azul

      ShowConsole()

      SetConsoleFont("Verdana",24)

      SetConsoleBackgroundColor(orange)

      SetConsoleFontColor(blue)

Con ShowConsole() se muestra la consola, con SetConsoleFont("Verdana",24) se fija el tipo de letra en verdana y el tamaño de la letra a 24, con SetConsoleBackgroundColor(orange) se fija el color naranja de fondo para la consola (el color puede especificarse a través del número de color o de su nombre) y con SetConsoleFontColor(blue) se fija el color azul de la letra.

A continuación tecleamos las siguientes líneas de código:

     // pedimos al usuario su nombre (no es necesario pero queda

     // bonito :-)

     Var Usuario As String=ConsoleReadLine("Por favor, introduce tu nombre: ",True)

     If Usuario<>"" Then

         ConsoleWriteLine("Hola "+Usuario)

     Else

         ConsoleWriteLine("No has introducido tu nombre, chiao!")

         Return      //salimos inmediatamente del programa

     End If

Con ConsoleReadLine se lee el texto introducido en el área de entrada de la consola y se guarda en la variable Usuario. El IF que hemos diseñado hace que si el usuario no introduce un nombre, el programa finaliza inmediatamente con RETURN; en caso contrario, el programa saluda al usuario con Hola más el nombre introducido. 

Escribimos el código siguiente, donde definimos la variable que guardará el valor del DNI, y nos aseguramos, con el WHILE, de que ese valor introducido está entre 0 y 99999999, es decir tiene máximo 10 dígitos:

Var x As Integer=ConsoleReadInt("Introduce tu DNI sin letra: ", True)

//detectamos posibles errores en la introducción del DNI

While x<=0 Or x>99999999

      ConsoleWriteLine("Por favor, tiene que ser mayor que cero y menor que 99.999.999")

      x=ConsoleReadInt("Introduce tu DNI sin letra: ", True)

End While

Definimos la variable resto teniendo en cuenta que lo que queremos hacer es dividir el DNI entre 23 y quedarnos con el resto (recuerda que x Mod 23 es el resto de dividir x entre 23):

//se calcula el resto de dividir x entre 23

      Var resto As Integer=x Mod 23

Tecleamos las líneas siguientes para que el programa imprima por pantalla la solución:

   ConsoleWriteLine("")

   ConsoleWriteLine(Usuario+", tu NIF es "+x+"-"+vector[resto+1])

Finalmente añadimos un efecto de sonido:

//efecto de sonido durante 2 segundos, ¿queda bien?

      PlaySound("Utopia Asterisk.wav")

      Delay(2000)

La acción PlaySound("Utopia Asterisk.wav") ejecuta el archivo de sonido llamado Utopia Asterisk.wav que está en C:\Documents and Settings\kpl\Mis documentos\My Phrogram Files\Media Files\Sounds. Con Delay(2000) retardamos el efecto 2 segundos.

Guardamos el archivo picando en Archivo/Guardar como nuevo programa y escribiremos el nombre Nif, seleccionando la carpeta donde quiera ir almacenando todas las actividades. Por defecto la carpeta elegida es My Phrograms Files que está en Mis Documentos.

En el caso de existir algún error en el CÓDIGO FUENTE de nuestro programa, KPL nos informa con un aviso de ERROR y el cursor se sitúa sobre la línea y secuencia errónea. Lo rectificaremos.

Al ejecutar el programa (F5), nos pedirá un nombre, introducimos Alicia, damos intro y obtenemos:

Introducimos por ejemplo el DNI 71998112, pulsamos intro y nos sale la siguiente ventana acompaña de un efecto de sonido:

Ejecuta el programa y prueba con tu DNI.

Haz pruebas y cambia en el código fuente el color de fondo, el tipo y color de letra, el efecto de sonido, etc.

Planteamiento Ejecución Resolución
 
Enlaces Web de interés

Ver la presentación

 

Autores: Pablo Flórez Valbuena y Lidia Getino Llamas

Abril 2007