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

Números primos entre 1 y 100

Arrancar el KPL y crear un nuevo programa.

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

/*Programa: Primos1

Autores: Lidia y Pablo

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

primos entre 1 y 100*/

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

Antes del Método Principal, Method Main(), definimos la variable k, que vamos a utilizar tanto en el Method Main() como en la Function con la que trabajaremos:

Var k As Integer  //número a ensayar     

Escribimos el comentario:

//función que indica si "k" es primo

A continuación definimos la Función EsPrimo. Una función es como un subprograma que realiza una determinada acción y que devuelve un valor. FUNCTION debe contener siempre la sentencia RETURN, que devuelve como valor de la función el resultado de los cálculos realizados. Además FUNCTION acaba siempre con End Function. Tecleamos el código:

Function EsPrimo(k As Integer) As Boolean

Var d As Integer  //posible divisor

For d=2 To (-1+k)

If k Mod d=0 Then

Return False

End If

Next

Return True

End Function

Esta función devuelve True (verdadero) si k es primo y False (falso) si k no es primo. Lo primero que hacemos es definir la variable d con tipo de datos enteros, que actuará de posible divisor de k. A continuación abrimos un FOR desde d=2 hasta (k-1) y dentro un IF que provoca la salida de la función con RETURN False en el caso de que k sea divisible por d (“k Mod d” es la forma de escribir el resto que sale al dividir k entre d), es decir el resto de dividir k entre d es cero.

En el caso de k Mod d sea distinto de cero para todos los valores de d entre 2 y (k-1) entonces el programa salta a la línea siguiente y se ejecuta RETURN True, es decir, k es primo.

Ahora ya dentro del Método Principal, Method Main(), definimos las variables n y m y les asignamos los valores 1 y 100 respectivamente, pues queremos calcular los primos entre esos dos valores:

Var n As Integer

Var m As Integer

n=1

m=100

Escribimos:

//impresión del resultado

PrintLine("Los números primos comprendidos entre los valores "+n+" y "+m+" son:")

PrintLine("")

y después un FOR en el que k recorre todos los valores entre n (=1) y m (=100) y que imprime k cuando k es primo:

For k=n To m

If EsPrimo(k) Then

Print(k)

Print("     ")

End If

Next

Obsérvese que EsPrimo(k) es la forma de invocar la función que hemos definido anteriormente, entonces, cuando EsPrimo(k) sea True se imprimirá k y unos espacios en blanco.

Guardamos el archivo picando en Archivo/Guardar como nuevo programa y escribiremos el nombre Primos1, 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), obtenemos:

¿Qué tendremos que cambiar en el código fuente de nuestro programa para obtener los primos entre 25 y 121?

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