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. |