Ejecución |
 |
Guión de la actividad 12.2:
Transformar a
fracción irreducible una fracción cualquiera |
Arrancar el KPL y abrimos el archivo SimplificarFraccion1
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:
SimplificarFracción2
Autores: Lidia y Pablo
Descripción: Este
Programa reduce a
fracción simple
cualquier fracción
introducida por el
usuario*/
|
Poner título al programa:
SimplificarFraccion2 en
lugar de
SimplificarFraccion1.
En el Method ReducirFraccion(),
en las condiciones del primer while, cambiamos n por Abs(n)
y d por Abs(d) para poder
trabajar con enteros
negativos, quedándonos la
línea así:
While
(divisor<=Abs(n))
And
(divisor<=Abs(d)).
ABS es una función
matemática predefinida
disponible en KPL que
devuelve el valor absoluto
del número.
También dentro de nuestro
Method ReducirFraccion(),
añadimos las líneas:
|
If
n<0
And
d<0
Then
n=Abs(n)
d=Abs(d)
End If
If
n>0
And
d<0
Then
n=-n
d=-d
End If
|
Con el primer IF, lo que
hacemos es decirle al
programa que si n y d son
negativos, lo trasforme a
positivos pues en la
fracción n/d, “menos
dividido por menos es igual
a más”. El segundo IF,
hace que cuando el signo
negativo esté en el
denominador, por convenio
y elegancia lo pondremos
en el numerador.
En el Método Principal,
Method Main(), definimos las
variables: |
n=ConsoleReadInt("Introduzca
numerador: ",True)
d=ConsoleReadInt("Introduzca
denominador: ",True)
|
A continuación programamos a
la defensiva, estudiando el
caso en el que el usuario
nos pueda introducir cero
para el denominador: |
//ojo con el denominador
igual a cero
While
d=0
d=ConsoleReadInt("Por
favor, el denominador no
puede ser cero;
introduzca denominador:
",True)
End While
|
Cambiamos
PrintLine("Mi
fracción es "+n+"/"+d) por: |
ConsoleWriteLine("Mi
fracción es "+n+"/"+d)
|
y finalmente donde está PrintLine("Simplificando mi
fracción obtenemos "+n+"/"+d) introducimos el código: |
If d<>1
Then
ConsoleWriteLine("Simplificando
mi fracción obtenemos "+n+"/"+d)
Else
ConsoleWriteLine("Simplificando
mi fracción obtenemos un
entero "+n)
End If
|
Con ello hacemos que si el
denominador es distinto de
uno, por pantalla se
escribirá la fracción
simplificada, pero si el
denominador es 1, para
dejarlo “más bonito”, el
programa dirá que la
fracción es un número entero
e imprimirá sólo el
numerador. |
Guardamos el archivo picando en Archivo/Guardar como
nuevo programa y
escribiremos el
nombre
SimplificarFraccion2
, 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 ,
nos pedirá el
numerador:
|
 |
|
Por ejemplo introducimos
3584 y damos a intro,
obtendremos: |
 |
Ahora para el denominador
introducimos 0, intro y
obtenemos: |
 |
No podemos poner cero en el
denominador, introducimos
-1024, intro y sale: |
 |
Utilizando el programa que
hemos diseñado reduce a
fracción simple:
a.
5000 / 2510
b.
5610 / 9000
c.
1024/512
d.
123456 / 78910 |