Documente Academic
Documente Profesional
Documente Cultură
ESTRUCTURAS ITERATIVAS
Contenido
Estructuras de Repeticin
for Ciclos anidados Contadores y acumuladores while do-while Ejercicios
EISC
Universidad del Valle
Slide 2
Estructuras de Repeticin
EISC
Universidad del Valle
Slide 3
Estructuras de Repeticin
Ejercicio: Suponga que debe listar los nmeros del 1 a 100 en una
aplicacin Java. Se podra hacer con el siguiente mtodo:
public static void listarNumeros()
{ JOptionPane.showMessageDialog (null, El nmero es: + 1); JOptionPane.showMessageDialog (null, El nmero es: + 2); JOptionPane.showMessageDialog (null, El nmero es: + 3); JOptionPane.showMessageDialog (null, El nmero es: + 4); JOptionPane.showMessageDialog( null, El nmero es: + 100); } Y si nos piden listar del 1 al 5000?
EISC
Universidad del Valle
Slide 4
Estructuras de Repeticin
Son un grupo de instrucciones que permite la ejecucin repetitiva de otro grupo de instrucciones. Hay una variable asociada al ciclo o estructura de repeticin que controla el nmero de veces que se repetirn las instrucciones. Existen 3 estructuras de repeticin: for while do-while
EISC
Universidad del Valle
Slide 5
Estructuras de Repeticin
Problema: Desarrollar una aplicacin Java que solicite un nmero y liste los nmeros desde el 1 hasta el nmero solicitado. 1. Anlisis del problema Entradas: ?? Salidas: ?? Proceso:??
EISC
Universidad del Valle
Slide 6
Estructuras de Repeticin
Problema: Desarrollar una aplicacin Java que solicite un nmero y liste los nmeros desde el 1 hasta el nmero solicitado. 1. Anlisis del problema Entradas: n Salidas: ?? Proceso:??
EISC
Universidad del Valle
Slide 7
Estructuras de Repeticin
Problema: Desarrollar una aplicacin Java que solicite un nmero y liste los nmeros desde el 1 hasta el nmero solicitado. 1. Anlisis del problema Entradas: n Salidas: imprimir (nmero 1) imprimir (nmero 2) . . imprimir (nmero n) Proceso:??
EISC
Universidad del Valle
Slide 8
Estructuras de Repeticin
Problema: Desarrollar una aplicacin Java que solicite un nmero y liste los nmeros desde el 1 hasta el nmero solicitado. 1. Anlisis del problema Entradas: n Salidas: imprimir (nmero 1) imprimir (nmero 2) . . imprimir (nmero n) Proceso: 1 hasta n
EISC
Universidad del Valle
Slide 9
Estructuras de Repeticin
Problema: Desarrollar una aplicacin Java que solicite un nmero y liste los nmeros desde el 1 hasta el nmero solicitado. 1. Anlisis del problema Entradas: n Salidas: imprimir (nmero 1) imprimir (nmero 2) . . imprimir (nmero n) Proceso: Desde 1 hasta n Imprimir 1,2,3,.....n
EISC
Universidad del Valle
Slide 10
Estructuras de Repeticin
Problema: Desarrollar una aplicacin Java que solicite un nmero y liste los nmeros desde el 1 hasta el nmero solicitado. 2. Disear el algoritmo y escribirlo en pseudocdigo
Inicio n: entero leer (n) ???
Fin
EISC
Universidad del Valle
Slide 11
Estructuras de Repeticin
Problema: Desarrollar una aplicacin Java que solicite un nmero y liste los nmeros desde el 1 hasta el nmero solicitado.
Slide 12
Estructuras de Repeticin
Problema: Desarrollar una aplicacin Java que solicite un nmero y liste los nmeros desde el 1 hasta el nmero solicitado.
EISC
Universidad del Valle
Slide 13
Estructuras de Repeticin
Problema: Desarrollar una aplicacin Java que solicite un nmero y liste los nmeros desde el 1 hasta el nmero solicitado.
EISC
Universidad del Valle
Slide 14
Estructuras de Repeticin
Se usa para repetir una instruccin o un conjunto de instrucciones, Desde un inicio, Mientras una condicin se cumpla y con un incremento o decremento. Un ciclo for tiene tres partes: Expresin de inicio, Expresin de condicin y Expresin de incremento/decremento.
Desde i = 1; Mientras i < n; incrementar i en 1 Imprimir (i) Fin_desde
EISC
Universidad del Valle
Slide 15
Estructuras de Repeticin
. Estructura de la instruccin for
Se debe declarar la variable de control Inicializar la variable de control probar el valor final de la variable de control para continuar el ciclo Incremento o decremento de la variable de control
Slide 16
Estructura For
Pseudocdigo Java for ( inicio; condicin; incre/decremento) { instruccin 1; instruccin 2; }
Desde inicio mientras condicin incrementando en incremento Haga instruccin 1 instruccin 2 . Fin desde
Slide 17
Estructura for
Pseudocdigo
Desde inicio mientras condicin incrementando en incremento Haga instruccin 1 instruccin 2 . Fin desde
Java
(o prueba)
Slide 18
Estructura for
Pseudocdigo
Desde inicio mientras condicin incrementando en incremento Haga instruccin 1 instruccin 2 . Fin desde
Java
for ( inicio; condicin; incre/decremento) { instruccin 1; instruccin 2; }
Slide 19
Estructura for
Funcionamiento:
for ( inicio; condicin; incre/decremento){ instrucciones; }
j=(y*8)
Estructura for
Funcionamiento:
for ( inicio; condicin; incre/decremento){ instruciones; }
j!=(z%7)
EISC
Universidad del Valle
Slide 21
Estructura for
Funcionamiento:
for ( inicio; condicin; incre/decremento){ instruciones; }
Ejemplos: i++ k= k + 2
J--
EISC
Universidad del Valle
Slide 22
Estructura for
Ejemplo:
for (int i =1 ; i<=5; i++) { JOptionPane.showMessageDialog (null, Nmero: + i );
}
EISC
Universidad del Valle
Slide 23
Estructura for
Ejemplo:
for (int i =1 ; i<=5; i++) { JOptionPane.showMessageDialog (null, Nmero: + i );
}
} Valor de i 1 2 3 4 5 6
EISC
Universidad del Valle
Slide 24
Estructura for
Ejemplo:
for (int i =1 ; i<=5; i++) { JOptionPane.showMessageDialog (null, Nmero: + i );
}
} Valor de i 1 2 3 4 5 6
EISC
Universidad del Valle
El nmero de iteraciones indica la cantidad de veces que se repite la(s) instruccin(es) que estn en el cuerpo del ciclo. En el ejemplo, la instruccin:
JOptionPane.showMessageDialog()
se ejecuta 5 veces.
Slide 25
Estructura for
EISC
Universidad del Valle
Slide 26
Estructura for
Ejemplo:
for(int k =18 ; k>10; k = k - 2) { JOptionPane.showMessageDialog (null, Nmero: + k ); }
} Valor de i 18 16 14 12 10 Nmero Iteracin 1 2 3 4 Se interrumpe Salida Nmero 18 Nmero 16 Nmero 14 Nmero 12 La instruccin:
JOptionPane.showMessageDialog ()
se ejecuta 4 veces
EISC
Universidad del Valle
Slide 27
Estructura for
EISC
Universidad del Valle
Slide 28
Estructura for
Valor de i
3 4,5,6,7,8,9,10, 11,12,13 14,15,16,17,18, 19,20,21,22,23 24,25,26,27,28, 29,30
EISC
Universidad del Valle
Nro Iteracin
1 2,3,4,5,6,7,8,9, 10,11 12,13,14,15,16, 17,18,19,20,21 22,23,24,25,26, 27,28
Salida
El valor de I es 3 El valor de I es 13 El valor de I es 23 Se interrumpe
La instruccin:
JOptionPane.showMessageDialog ()
se ejecuta 3 veces
Slide 29
Estructura for
EISC
Universidad del Valle
Slide 30
Estructura for
Ejemplo:
public void muestraAlgo2( ){ for ( int j=0; j<=20; j++ ) { if ((j % 3) == 0) JOptionPane.showMessageDialog(null ,El valor de J es " + j); else JOptionPane.showMessageDialog(null ,+ j+ NO es ..." ); } }
EISC
Universidad del Valle
Slide 31
Estructura for
Una vez el ciclo se interrumpe se ejecuta la instruccin ubicada despus de l. Por ejemplo: int a=0; for (int k =0 ; k<=4; k = k + 2) { a++; } JOptionPane.showMessageDialog (null, El valor de a es: + a ); La variable a inicia con el valor de cero (0). Se ingresa al ciclo y se ejecuta tres (3) veces la instruccin a++ (recuerde que a++ es lo mismo que a=a+1). Luego se muestra en pantalla el valor de a, es decir, 3.
EISC
Universidad del Valle
Slide 32
Estructura for
Ejercicio 1:
Desarrollar un programa java que pregunte al usuario el nmero de estudiantes de un curso, luego pregunte el nombre de cada uno de ellos. Finalmente, se debe mostrar un listado con todos los estudiantes.
EISC
Universidad del Valle
Slide 33
Estructuras de Repeticin
Problema: Desarrollar un programa java que pregunte al usuario el nmero de estudiantes de un curso, luego pregunte el nombre de cada uno de ellos. Finalmente, se debe mostrar un listado con todos los estudiantes
EISC
Universidad del Valle
Slide 34
Estructuras de Repeticin
Problema: Desarrollar un programa java que pregunte al usuario el nmero de estudiantes de un curso, luego pregunte el nombre de cada uno de ellos. Finalmente, se debe mostrar un listado con todos los estudiantes
Slide 35
Estructura for
Ejercicio 1:
Inicio numeroEstudiantes: int; listadoEstudiantes: String; nombreEstudiante: String; leer(numeroEstudiantes) Desde x=1 mientras x<= numeroEstudiantes incrementando en x = x +1 Haga leer(nombreEstudiante); listadoEstudiantes = listadoEstudiantes + nombreEstudiante; Fin Desde imprimir(listadoEstudiantes ); Fin
EISC
Universidad del Valle
Slide 36
Estructura for
Ejercicio 1:
Inicio numeroEstudiantes: int; listadoEstudiantes: String; nombreEstudiante: String; leerNumEstudiantes(); leerNombres(); Fin
Slide 37
Estructura for
Ejercicio 1:
public class Asignatura { static int numEstudiantes; static String listadoEstudiantes; public static void leerNumEstudiantes () { String num = JOptionPane.showInputDialog("Ingrese el nmero de Estudiantes:"); numEstudiantes= Integer.parseInt(num); } public static void leerNombres () { listadoEstudiantes = ; for (int x = 0; x < numEstudiantes; x++){ String estudiante = JOptionPane.showInputDialog(Nombre No: +(x+1)); listadoEstudiantes += "\nEstudiante No: "+ (x+1) + " : "+ estudiante; } JOptionPane.showMessageDialog(null, listadoEstudiantes ); }
EISC
Universidad del Valle
Slide 38
Estructura for
Ejercicio 1:
public static void main (String arg[]) { leerNumEstudiantes (); leerNombres (); System.exit(0); } }
EISC
Universidad del Valle
Slide 39
Ejemplo:
Suponga que se desea crear un programa en Java que permita imprimir en pantalla el factorial de cada nmero existente en la serie 1 a n, siendo n un nmero menor a 20 el cual es digitado por un usuario.
Desde i=1 mientras i<=n incrementando en i = i +1 Haga Desde j=1 mientras j<=i incrementando en j = j +1 Haga instruccin 1 instruccin 2 Fin Desde
instruccin 3 instruccin 4
Fin Desde
NOTA: Usamos la condicin n<=20 con fines acadmicos y evitar resultados con nmeros exageradamente grandes.
EISC
Universidad del Valle
Slide 40
Nota: El factorial de un nmero n es la multiplicacin de todos los nmeros de la serie 1 a n, entonces, el factorial de 5 es 1 x 2 x 3 x 4 x 5 = 120, el factorial de 3 es 1 x 2 x 3 = 6.
EISC
Universidad del Valle
Slide 41
Slide 42
Desde i=1 mientras i<=n incrementando en i = i +1 Haga factorial=1 Desde j=1 mientras j<=i incrementando en j = j +1 Haga factorial = factorial*j Fin Desde
Slide 43
Slide 44
public static void main (String arg[]) { leerN (); calcularFactorial(); System.exit(0); } }
EISC
Universidad del Valle
Slide 45
Ejercicio 2:
Desarrollar un programa java que permita generar y visualizar la siguiente figura:
Slide 46
Ejercicio 2:
public static void crearFigura()
Inicio
Desde i=1 mientras i<=numeroFilas incrementando en i = i +1 Haga Desde j=1 mientras j<=i incrementando en j = j +1 Haga triangulo = triangulo + *; Fin Desde
triangulo = triangulo + \n;
Fin
EISC
Universidad del Valle
Slide 47
Ejercicio 2:
EISC
Universidad del Valle
Slide 48
Ejercicio 2:
EISC
Universidad del Valle
Slide 49
Los contadores y los acumuladores pueden ser usados en cualquier tipo de ciclos.
EISC
Universidad del Valle
Slide 50
Ejemplo:
Suponga que se desea crear un programa en Java que permita imprimir en pantalla la cantidad de nmeros mltiplos de 3 que se encuentran en la serie 1 a n, siendo n un nmero digitado por un usuario. Inicio
contador: entero; contador=0; Desde i=1 mientras i<=n incrementando en i = i +1 Haga if (esMultiploDeTres(i)){ contador=contador+1; } Fin Desde mostrar(contador);
Fin
EISC
Universidad del Valle
Slide 51
Ejemplo:
public class MultiplosDeTres { static int n; public static void leerN() { String num = JOptionPane.showInputDialog("Ingrese n:"); n = Integer.parseInt(num); } public static boolean esMultiploDeTres(int numero) { if(numero%3==0){ return true; }else{ return false; } }
EISC
Universidad del Valle
Slide 52
Ejemplo:
public static void contarMultiplosDeTres() { int contador=0; for (int i = 1; i <= n; i++){ if (esMultiploDeTres(i)){ contador++; } }
JOptionPane.showMessageDialog(null,"En la serie 1 a "+ n+ " hay " + contador + " mltiplos de 3");
} public static void main (String arg[]) { leerN (); contarMultiplosDeTres (); System.exit(0); }
EISC
Universidad del Valle
Slide 53
Ejemplo:
int contador=0;
for (int i = 1; i <= n; i++){ if (esMultiploDeTres(i)){ contador++; } } } public static void main (String arg[]) { leerN (); contarMultiplosDeTres (); System.exit(0); La variable contador se incrementa en 1 cada vez que el mtodo esMultiploDeTres retorna true (cierto) para el nmero i
JOptionPane.showMessageDialog(null,"En la serie 1 a "+ n+ " hay " + contador + " mltiplos de 3");
}
EISC
Universidad del Valle
Slide 54
EISC
Universidad del Valle
Slide 55
public static void calcularFactorial(int n) { La variable factorial va long factorial = 1; acumulando el valor de la String respuesta=""; multiplicacin y la variable if (n >= 0) { respuesta va acumulando las if (n<=20){ cadenas usadas como for (int i = 1; i <= n; i++){ factorial=1; respuesta en cada iteracin del for (int j = 1; j <= i; j++){ ciclo principal. factorial=factorial*j; } respuesta += "\n El Factorial de " + i + "es: " + factorial; } } } else { respuesta +=Factorial de un negativo no existe; } }
EISC
.
Slide 56
Slide 57
Slide 58
Slide 59
Estructura while
Evala una condicin dada para determinar si repite un conjunto de instrucciones. Si la condicin es verdadera se repiten las instrucciones. Observe que el primer paso es validar la condicin y luego se ejecutan las instrucciones (en caso de que la condicin cumpla).
Pseudocdigo
Mientras condicin Haga instruccin 1 instruccin 2 . Fin mientras
EISC
Universidad del Valle
Estructura while
Debe existir una variable de control del ciclo La variable de control se inicializa antes del ciclo
}
EISC
Universidad del Valle
Estructura while
Ejemplo:
Slide 62
Estructura while
Ejemplo:
Nmero Iteracin
0
Se interrumpe
Si la primera vez la condicin del ciclo while no se cumple, no se ejecuta ninguna instruccin.
EISC
Universidad del Valle
Slide 63
Estructura do-while
Los ciclos do-while funcionan de la misma manera que los
ciclos while, sin embargo un ciclo do-while ejecuta primero las instrucciones y luego hace la validacin.
Ciclo do-while: Realiza un bloque de instrucciones y despus
Haga
instruccin 1 instruccin 2 .
do { instruccin 1;
instruccin 2;
Mientras condicin
EISC
Universidad del Valle
} while(condicion);
Slide 64
Estructura do-while
Debe existir una variable de control del ciclo
Iniciar condiciones;
do { //Instrucciones a repetir } while (condiciones)
EISC
Universidad del Valle
Estructura do-while
Ejemplo:
Valor variable a 5 6 7
Valor variable c 3 6 12
Slide 66
Estructura do-while
Observe que la primera vez se ejecutan las instrucciones aunque la condicin del ciclo no sea vlida. Por ejemplo:
Nmero Iteracin 0
Valor variable a 9
Valor variable c 3
1 Se interrumpe
10
EISC
Universidad del Valle
Slide 67
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero tiene un peso de 30% y el segundo 35%), una nota de laboratorios (25%) y una nota del trabajo final del curso (10%) Calcular la nota definitiva para un grupo de n estudiantes
EISC
Universidad del Valle
Slide 68
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero pesa 30%, el segundo 35%), laboratorios (25%) y trabajo final (10%). Hallar la nota definitiva para n estudiantes. Inicialmente calculamos la nota para un estudiante, conocidas sus 4 calificaciones:
return def;
} // Fin del mtodo calculaDefinitiva
EISC
Universidad del Valle
Slide 69
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero pesa 30%, el segundo 35%), laboratorios (25%) y trabajo final (10%). Hallar la nota definitiva para n estudiantes. Prueba de escritorio del algoritmo:
real calculaDefinitiva (p1, p2, lab, tra: float ) { double def = 0; def = p1*0.3+p2*0.35+ la*0.25+ta*0.1; return def; } // Fin del mtodo calculaDefinitiva
p1
3,2
p2
2,4 def = 3,2
lab
4,4
tra
3,0
EISC
Universidad del Valle
Slide 70
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero pesa 30%, el segundo 35%), laboratorios (25%) y trabajo final (10%). Hallar la nota definitiva para n estudiantes. Ahora trabajamos en el algoritmo principal:
Inicio nomb: String; par1, par2, lab, tar: float; nEst, j = 0: int; Leer (nEst); mientras (j < nEst) haga Leer (nomb, par1, par2, lab, tar); Imprimir(par1 + par2 + lab + tar + calculaDefinitiva(par1, par2, lab, tar); j++; Fin mientras Fin
EISC
Universidad del Valle
Slide 71
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero pesa 30%, el segundo 35%), laboratorios (25%) y trabajo final (10%). Hallar la nota definitiva para n estudiantes. Ahora elaboramos el programa principal a partir del algoritmo, en Java :
public static void main (String [ ] arg) { String nomb; float par1, par2, lab, tar; int nEst, j= 0; nEs=Double.parseDouble(JOptionPane.showInputDialog (Numero de Estudiantes:")); JOptionPane.showMessageDialog(null, "\nNomb \tParc1 \t+ Parc2\tLab\tTareas\tDefin"); while (j < nEst) { nomb= JOptionPane.showInputDialog(Nombre"); par1= Double.parseDouble (JOptionPane.showInputDialog (Parcial 1")); par2, lab, tar =D.pD(JOP.sMD ()); JOptionPane.showMessageDialog(null, "\n"+nomb+\t+par1+"\t"+par2+"\t"+lab+"\t"+ tar+"\t"+calculaDefinitiva (par1, par2, lab, tar) ); j++; } }
EISC
Universidad del Valle
Inicio nomb: String; par1, par2, lab, tar: float; nEst, j = 0: int; Leer (nEst); mientras (j < nEst) haga Leer (nomb, par1, par2, lab, tar); Imprimir(par1 + par2 + lab + tar + calculaDefinitiva(par1, par2, lab, tar); j++; Fin mientras Fin
Slide 72
EISC
Universidad del Valle
Slide 73
Fin
EISC
Universidad del Valle
Slide 74
Slide 75
System.exit(0);
} }
EISC
Universidad del Valle
Slide 76
EISC
Universidad del Valle
Slide 77
Fin
EISC
Universidad del Valle
Slide 78
do{ nota= Double.parseDouble(JOptionPane.showInputDialog(Digite la nota:")); if(nota>=0.0){ if(nota>=3.0){ numAprobados = numAprobados +1; } else { numReprobados = numReprobados +1; } promedioCalificaciones = promedioCalificaciones + nota; } } while (nota<0.0);
EISC
Universidad del Valle
Slide 79
Estructuras de Repeticin
Importante:
En cualquiera de las estructuras de repeticin implementadas en Java, se puede detener el ciclo usando la instruccin break o detener una iteracin utilizando la instruccin continue. Normalmente se usan las instrucciones break o continue cuando se ha cumplido una condicin de anormalidad u otra especificada por el desarrollador dentro del contexto de un problema.
En resumen: break detiene el ciclo completamente y continue detiene una iteracin pasando a la siguiente.
EISC
Universidad del Valle
Slide 80
Estructuras de Repeticin
Importante:
Cualquiera de los ejercicios mostrados en esta presentacin pueden ser implementados sin la necesidad de crear mtodos (dentro del mtodo main).
EISC
Universidad del Valle
Slide 81
NOTA: Para cada ejercicio realice su respectiva implementacin en Java, use la estructura que le parezca ms conveniente (while o do-while)
EISC
Universidad del Valle
Slide 82
Slide 83
EISC
Universidad del Valle
Slide 84
EISC
Universidad del Valle
Slide 85
EISC
Universidad del Valle
Slide 86
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero pesa 30%, el segundo 35%), laboratorios (25%) y trabajo final (10%). Hallar la nota definitiva sin conocer el nmero de estudiantes. Inicialmente calculamos la nota para un estudiante, conocidas sus 4 calificaciones: real calculaDefinitiva (p1, p2, lab, tra : float ) {
double def = 0;
def = p1*0.3+p2*0.35+ la*0.25+ta*0.1; return def; } // Fin del mtodo calculaDefinitiva
EISC
Universidad del Valle
Slide 87
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero pesa 30%, el segundo 35%), laboratorios (25%) y trabajo final (10%). Hallar la nota definitiva sin conocer el nmero de estudiantes.
Prueba de escritorio del algoritmo:
real calculaDefinitiva (p1, p2, lab, tra: float ) { double def = 0; def = p1*0.3+p2*0.35+ la*0.25+ta*0.1; return def; } // Fin del mtodo calculaDefinitiva p1 3,2 p2 2,4 lab 4,4 tra 3,0
def = 3,2
EISC
Universidad del Valle
Slide 88
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero pesa 30%, el segundo 35%), laboratorios (25%) y trabajo final (10%). Hallar la nota definitiva sin conocer el nmero de estudiantes.
EISC
Universidad del Valle
Slide 89
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero pesa 30%, el segundo 35%), laboratorios (25%) y trabajo final (10%). Hallar la nota definitiva sin conocer el nmero de estudiantes. Ahora elaboramos el programa principal a partir del algoritmo, en Java :
Inicio nomb: String; par1, par2, lab, tar: float; Leer (nomb, par1, par2, lab, tar);
public static void main (String [ ] arg) { String nomb; float par1, par2, lab, tar; DecimalFormat forma = new DecimalFormat ("0.00"); JTextArea miArea = new JTextArea(15,30); JScrollPane miScroll = new JScrollPane(miArea); miArea.append(\nNomb \tParc1 \t+ Parc2\tLab\tTareas\tDefin"); nomb= JOptionPane.showInputDialog(Nombre"); // Sigue instruccin do-while
haga Imprimir(par1 + par2 + lab + tar + calculaDefinitiva(par1, par2, lab, tar); Leer (nomb, par1, par2, lab, tar); mientras (nomb != Final ) ; Fin
EISC
Universidad del Valle
Slide 90
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero pesa 30%, el segundo 35%), laboratorios (25%) y trabajo final (10%). Hallar la nota definitiva sin conocer el nmero de estudiantes. Ahora elaboramos el programa principal a partir del algoritmo, en Java :
do { par1= Double.parseDouble (JOptionPane.showInputDialog (Parcial 1")); par2, lab, tar =D.pD(JOP.sMD ()); miArea.append ("\n"+nomb+\t+forma.format(par1)+ "\t"+forma.format(par2)+"\t"+ forma.format(lab)+"\t"+ forma.format(tar)+"\t"+ forma.format(calculaDefinitiva (par1, par2, lab, tar) ) ); nomb= JOptionPane.showInputDialog(Nombre"); } while (!nomb.equals("Final")); } // Se realiza la impresin del rea de texto JOptionPane.showMessageDialog(null, miScroll, "Calculo de la Nota Final del Curso ", JOptionPane.INFORMATION_MESSAGE); System.exit(0); } // fin del mtodo main
Inicio nomb: String; par1, par2, lab, tar: float; Leer (nomb, par1, par2, lab, tar);
haga Imprimir(par1 + par2 + lab + tar + calculaDefinitiva(par1, par2, lab, tar); Leer (nomb, par1, par2, lab, tar); mientras (nomb != Final ) ; Fin
EISC
Universidad del Valle
Slide 91
Ejercicio: El curso de Algoritmia se califica con dos parciales (el primero pesa 30%, el segundo 35%), laboratorios (25%) y trabajo final (10%). Hallar la nota definitiva sin conocer el nmero de estudiantes. Probemos el programa:
JTextArea
Area de Texto miArea
JScrollPane
Slide 92
JOptionPane.showMessageDialog(null, miScroll);
Slide 93
Ejercicio:
m 2m
EISC
Universidad del Valle
Slide 94
Entonces la serie ser: 2 4 6 8 10 m 2m x x x x x ( 1 ) x cos (x) = 1 + ++ ... + 2 ! 4 ! 6 ! 8 ! 10 ! ( 2m )! Si tomamos 10 trminos de la serie, tenemos:
cos( / 2 ) = 1 1,23370055 013617 + 0,25366950 7901048 0,02086348 0763353 + 0,00091926 0274839426 0,00002520 2042373060 6 + ... + -0,0000000 0000052944 0020073462
Slide 95
2 3 4 5 6 x x x x x x x e = 1 + + + + + + + .. 1 !2 !3 !4 !5 !6 !
Utilice la metodologa de solucin de problemas Muestre los resultados en un JTextArea Utilice la clase DecimalFormat para mostrar los resultados reales con 8 decimales.
Slide 96
EISC
Universidad del Valle
( x 1) 2 ( x ln( x) ( x 1) 2 x3 x5 x7 senh( x) x 3! 5! 7! x 2 x3 x 4 x e 1 x 2! 3! 4!
...
EISC
Universidad del Valle