Objetivo |
Aprender a utilizar ciclos para crear aplicaciones | |
Producto a Entregar |
Un archivo comprimido con el programa generado en la actividad. | |
Forma de Trabajo |
Equipos | |
Tiempo estimado |
1 hora | |
Forma de Entrega |
Por Blackboard | |
Recomendaciones |
|
Instrucciones |
|
|---|---|
Paso 1:Descarga el esqueleto de la aplicación. Abre el proyecto en NetBeans, compílalo y córrelo para verificar que todo funcione correctametne. Deberá aparecer una pantalla similar a la siguiente:
Selecciona el botón del factorial y da click derecho. Dentro del menú selecciona events -> action -> actionPerformed. Para poder resolver este problema debemos calcular el factorial de un número. Para calcular el factorial debemos multiplicar todos los números desde el uno hasta el número del que queremos calcular el factorial. Para hacer esto con un ciclo debemos utilizar una variable especial para guardar el resultado, a la que podemos llamar factorial. Este tipo de variables se conocen como acumuladores y nos permiten guardar resultados intermedios. Los acumuladores son muy utilizados en los ciclos ya que nos permiten realizar operaciones sobre los valores que vamos calculando. Como vamos a acumular un valor sobre esta variable es muy imporatnte iniciarla con un valor. El número con el que la empezamos varía dependienod de la situación, pero regularmente se selecciona 1 o 0. Como en este caso vamos a realizar multiplicaciones necesitamos empezar con 1 porque si no siempre multiplicaríamos por 0. Además de utilizar un acumulador vamos a utilizar un contador para llevar la cuenta desde el número uno hasta el número n. En cada iteración del ciclo vamos a multiplicar el número actual por el número que llevamos acumulado. En código estamos hablando de lo siguiente:
Nota: Es muy importante que agregues el incremento al contador, porque de no hacerlo el ciclo jamás terminaría y el programa se va a trabar. En caso de que corras un programa y se cicle puedes utilizar NetBeans para cancelar la ejecución. A la izquierda del IDE hay una opción que dice runtime. Dentro de runtime puedes ver todos los procesos que se están ejecutando en NetBeans y puedes cancelar cualquier haciendo click derecho y seleccionando Terminate Task como se ve en la fotografía:
Compila tu programa y verifica que funcione de manera correcta. Una vez que hayas probado que funciona bien haz click derecho en el segundo botón y selecciona events -> action -> actionPerformed para comenzar a hacer la serie de números hasta n. Dentro del código podemos ver que debemos escribir todos los números desde el 1 hasta n. Esto es muy sencillo, sólo debemos irlos guardando en un String e imprimir el String al final.
Compila y corre el programa anterior. Al utilizar este nuevo código notarás algo extraño en el resultado. Tiene una coma de más, esto es porque todos los elementos desde 1 hasta n les estamos dando el mismo tratamiento. Muchas veces en los ciclos tenemos un caso especial al principio o al final, por lo que debemos modificar nuestros ciclos para que terminen antes o empiecen después. En el código significaría quitar la última ocurrencia del while (es decir, cuando curr == n) y agregar el codigo al final que solamente agregue el último número a la serie, es decir:
Compila y corre tu programa para ver que funcione de manera correcta. Al terminar de revisarlo haz click derecho sobre el botón de secuencia de pares y por analogía realiza la serie de pares que debe iniciar en 2 y terminar con el par más cercano a n (o n en caso de que sea par). Recuerda que en este caso el contador no va a iniciar en uno como en el caso anterior ya que el primer número a imprimir es dos. También recuerda que puedes aumentar el contador de dos en dos. Una vez que hayas probado ese método vamos a continuar con el método que imprime una secuencia desde n hasta m. Este método es muy similar a los que hemos manejado hasta ahora. La única diferencia es que ahora los valores de inicio y final son variables. Tomando esto en cuenta podemos hacer el siguiente código:
Como ya nos dimos cuenta de que los tres métodos son muy similares entonces nos hemos dado cuenta de que tenemos una oportunidad de modular. Podemos generalizar el problema como un método que recibe tres parámetros (que son los únicos valores que cambian), el inicio de la serie, el final de la serie y el incremento. El método debe validar que el final de la serie sea mayor que el inicio de la serie, y debe lanzar una excepción en caso de que no sea así. El programa debe mostrar una ventana de error en caso de que esto suceda. El método debe devolver un String con la serie generada. Utilizando tus conocimentos sobre métodos crea el método String buildSequence(int start, int end, int increment) como acabamos de discutirlo. Después cambia los métodos actionPerformed() de tus botones para que utilicen este método. Como puedes ver con este ejemplo, modular puede ahorrarnos muchas líneas de código si pensamos en dónde podemos reutilizar un método. Una vez que hayas terminado el método y probado tu aplicación vamos a terminar de hacer el último método que falta. En este método debemos obtener la potencia de un número utilizando ciclos. Selecciona el botón x^y y presiona click derecho, en el menú selecciona events -> action -> actionPerformed. Para poder calcualr la potencia debemos hacer un ciclo que cuente y veces y en cada vuelta multiplique un acumulador por la variable x. Es decir:
Compila y corre tu programa. Verifica que todos los botones funcionen de manera adecuada. Comprime tu carpeta de trabajo y mándala por Blackboard. |
|