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 10.2: Números primos entre dos valores introducidos por el usuario

Arrancar el KPL y abrimos el archivo Primos1  creado anteriormente bien desde la carpeta My Programs Files que está en Mis Documentos o bien desde:

Editamos las primeras líneas de código para que el comentario nos quede así:

/*Programa: Primos2

      Autores: Lidia y Pablo

Descripción: Este programa imprime la lista de los números

primos entre dos valores naturales introducidos por el

usuario, dando el resultado en 15 columnas*/

Poner título al programa: Primos2 en lugar de Primos1.

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

La Function EsPrimo() no la tocamos.

En el Método Principal, Method Main(), definimos la variable columna:

Var columna As Integer       //contador de columnas

A continuación añadimos el código:

ConsoleWriteLine("Sabías que el número de números naturales primos es infinito?")

ConsoleWriteLine("Vamos a hallar todos los primos entre dos números naturales dados")

ConsoleWriteLine("")

Hacemos que la variable n tome el valor que introduzca el usuario a través de la consola:

Var n As Integer=ConsoleReadInt("Introduzca un número natural: ",True)

e introducimos un WHILE para que ese valor de n sea un número entero mayor que cero:

While n<=0

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

n=ConsoleReadInt("Introduzca un número natural: ",True)

End While

Idem para la variable m:

While m<=0

ConsoleWriteLine("Por favor, otra vez igual,tiene que ser mayor que cero")

m=ConsoleReadInt("Introduzca otro número natural: ",True)

End While

Escribimos a continuación:

//impresión del resultado

ConsoleWriteLine("")

ConsoleWriteLine("Los números primos comprendidos entre los valores "+Min(n,m)+" y "+Max(n,m)+" son:")

ConsoleWriteLine("")

donde Min(n,m) es una función matemática predefinida disponible en KPL que devuelve el menor valor de n y m, y Max(n,m) es también una función matemática predefinida disponible en KPL que devuelve el mayor valor de n y m.

Después editamos el FOR en el que k recorre todos los valores entre Min(n,m) y Max(n,m) y que imprime k cuando k es primo:

For k=Min(n,m) To Max(n,m)

            If EsPrimo(k) Then

                  ConsoleWrite(k)

                  ConsoleWrite("     ")

                  columna=columna+1

                  If columna=15 Then

                        columna=0

                        ConsoleWriteLine("")

                  End If

            End If

      Next

Cuando EsPrimo(k) sea True se imprimirá k, unos espacios en blanco y  además el contador de columnas aumentará en 1 (ver columna=columna+1). A continuación hemos introducimos un IF para que cuando el contador de columnas sea 15, entonces asigna a la variable columna el valor cero y además hace un salto de línea de impresión.

Guardamos el archivo picando sobre el icono o Archivo/Guardar.

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á el primer el número natural:

Si por ejemplo introducimos -324 y damos a intro, obtendremos:

Ahora si introducimos 324, intro y después nos pedirá otro número natural; introducimos por ejemplo 1500, intro y obtenemos:

Puedes comprobar que si se introduce 1500 primero y 324 después, el programa imprime el mismo resultado. Esto se lo tenemos que agradecer a las funciones matemáticas Min y Max.

¿Cuáles son los primos entre 5000 y 20000?

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