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("
")
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? |