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

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