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.
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.
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
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.
2. Disear el algoritmo y escribirlo en pseudocdigo
Inicio n: entero i: entero (Variable de control) leer (n) Desde i = 1 mientras i < n incrementando i en 1 Imprimir (i) fin_desde Fin
EISC
Universidad del Valle
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.
3. Codificar el algoritmo usando algn lenguaje de programacin pseudocdigo Java
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.
3. Codificar el algoritmo usando algn lenguaje de programacin pseudocdigo Java Estructura De Repeticin for
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
}
EISC
Universidad del Valle
Slide 16
Estructura For
Pseudocdigo Desde inicio mientras condicin incrementando en incremento Haga instruccin 1 instruccin 2 . Fin desde Java
Slide 17
Estructura for
Pseudocdigo Java
Desde inicio mientras condicin incrementando en incremento Haga instruccin 1 instruccin 2 . Fin desde
(o prueba)
Slide 18
Estructura for
Pseudocdigo Java
Desde inicio mientras condicin incrementando en incremento Haga instruccin 1 instruccin 2 . Fin desde
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; }
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
Nmero Iteracin
1
Salida
Nmero 1
2
3
2
3
Nmero 2
Nmero 3
4
5 6
EISC
Universidad del Valle
4
5 Se interrumpe
Nmero 4
Nmero 5
Slide 24
Estructura for
Ejemplo:
for (int i =1 ; i<=5; i++) { JOptionPane.showMessageDialog (null, Nmero: + i );
}
Valor de i
1
Nmero Iteracin
1
Salida
Nmero 1
2
3
2
3
Nmero 2
Nmero 3
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()
4
5 6
EISC
Universidad del Valle
4
5 Se interrumpe
Nmero 4
Nmero 5
se ejecuta 5 veces.
Slide 25
Estructura for
Ejemplo:
public static void listarNumeros(){
for (int k =18 ; k>10; k = k - 2) { JOptionPane.showMessageDialog (null, Nmero: + k ); } } Cuantas veces se ejecutar la instruccin:
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
Nro Iteracin
1
Salida
El valor de I es 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
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
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 );
EISC
Universidad del Valle
Slide 32
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 33
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 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 1. Anlisis del problema Entradas: numeroEstudiantes, nombreEstudiante, Salidas: listadoEstudiantes Proceso:??
EISC
Universidad del Valle
Slide 35
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 1. Anlisis del problema Entradas: numeroEstudiantes, nombreEstudiante, Salidas: listadoEstudiantes Proceso:
Desde x=1 mientras x<= numeroEstudiantes incrementando en x = x +1 Haga leer(nombreEstudiante); listadoEstudiantes = listadoEstudiantes + nombreEstudiante; Fin Desde
EISC
Universidad del Valle
Slide 36
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 37
Estructura for
Ejercicio 1:
Inicio numeroEstudiantes: int; listadoEstudiantes: String; nombreEstudiante: String; leerNumEstudiantes(); leerNombres(); Fin
Slide 38
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 39
Estructura for
Ejercicio 1:
public static void main (String arg[]) {
leerNumEstudiantes (); leerNombres (); System.exit(0); } }
EISC
Universidad del Valle
Slide 40
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 41
En el ejercicio propuesto se observa que se debe crear un ciclo para manejar la serie de 1 a n, y un ciclo anidado para calcular el factorial de ni .
Por ejemplo: si el usuario digita el nmero 5 el sistema debe recorrer la serie 1 a 5, y para cada nmero devolver su factorial, as: Factorial de 1 = 1, Factorial de 2 = 2, Factorial de 3 = 6 , Factorial de 4 = 24 y el Factorial de 5 = 120. 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 42
Slide 43
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 respuesta = respuesta + El factorial de + j + es: factorial; Fin Desde
Slide 44
Slide 45
public static void main (String arg[]) { leerN (); calcularFactorial(); System.exit(0); } }
EISC
Universidad del Valle
Slide 46
Ejercicio 2:
Desarrollar un programa java que permita generar y visualizar la siguiente figura:
Slide 47
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 48
Ejercicio 2:
EISC
Universidad del Valle
Slide 49
Ejercicio 2:
EISC
Universidad del Valle
Slide 50
Los contadores y los acumuladores pueden ser usados en cualquier tipo de ciclos.
EISC
Universidad del Valle
Slide 51
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.
EISC
Universidad del Valle
Slide 52
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; leer(n) Desde i=1 mientras i<=n incrementando en i = i +1 Haga if ((i%3)==0){ contador=contador+1; } Fin Desde mostrar(contador);
Fin
EISC
Universidad del Valle
Slide 53
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; leerN() 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 54
Ejemplo:
public class MultiplosDeTres { static int n; public static void leerN() { n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese n:")); } public static boolean esMultiploDeTres(int numero) { if(numero%3==0){ return true; }else{ return false; } }
EISC
Universidad del Valle
Slide 55
Ejemplo:
public static void main (String arg[]) { int contador=0; leerN (); 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");
System.exit(0); }
EISC
Universidad del Valle
Slide 56
Ejemplo:
int contador=0;
leerN (); for (int i = 1; i <= n; i++){ if (esMultiploDeTres(i)){ contador++; } } 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 57
EISC
Universidad del Valle
Slide 58
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 59
Slide 60
Slide 61
6.
EISC
Universidad del Valle
Slide 62
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 Java while( condicion) { instruccin 1; instruccin 2; }
Slide 63
EISC
Universidad del Valle
Estructura while
Debe existir una variable de control del ciclo
// Instrucciones a repetir
}
EISC
Universidad del Valle
Estructura while
EISC
Universidad del Valle
Slide 65
Estructura while
2
Se interrumpe
EISC
Universidad del Valle
12
Slide 66
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 67
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
Java do { instruccin 1;
instruccin 2;
Mientras condicin
EISC
Universidad del Valle
} while(condicion);
Slide 68
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:
EISC
Universidad del Valle
Slide 70
Estructura do-while
Ejemplo:
2
Se interrumpe
EISC
Universidad del Valle
12
Slide 71
Estructura do-while
Observe que la primera vez se ejecutan las instrucciones aunque la condicin del ciclo no sea vlida. Por ejemplo:
EISC
Universidad del Valle
Slide 72
Estructura do-while
Observe que la primera vez se ejecutan las instrucciones aunque la condicin del ciclo no sea vlida. Por ejemplo:
Valor variable a 9 10
Valor variable c 3 6
EISC
Universidad del Valle
Slide 73
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 74
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: 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 75
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 p2 lab tra
3,2
2,4
def = 3,2
4,4
3,0
EISC
Universidad del Valle
Slide 76
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 = 1: int; Leer (nEst); mientras (j <= nEst) haga Leer (nomb) leer(par1) leer(par2) leer(lab) leer(tar) Imprimir(par1 + par2 + lab + tar + calculaDefinitiva(par1, par2, lab, tar); j++; Fin mientras Fin
EISC
Universidad del Valle
Slide 77
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= 1; 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 = 1: 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 78
EISC
Universidad del Valle
Slide 79
Fin
EISC
Universidad del Valle
Slide 80
Slide 81
}
}
EISC
Universidad del Valle
Slide 82
EISC
Universidad del Valle
Slide 83
Fin
EISC
Universidad del Valle
Slide 84
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 85
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 86
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 87
Slide 88
Slide 89
EISC
Universidad del Valle
Slide 90
EISC
Universidad del Valle
Slide 91
EISC
Universidad del Valle
Slide 92
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 93
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 p2 lab tra
3,2
2,4
def = 3,2
4,4
3,0
EISC
Universidad del Valle
Slide 94
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 95
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) leer(par1) leer(par2) leer(lab) leer(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) leer(par1) leer(par2).. mientras (nomb != Final ) ; Fin
EISC
Universidad del Valle
Slide 96
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) leer(par1) leer(par2) leer(lab) leer(tar)
haga Imprimir(par1 + par2 + lab + tar + calculaDefinitiva(par1, par2, lab, tar); Leer (nomb) leer(par1) leer(par2).. mientras (nomb != Final ) ; Fin
EISC
Universidad del Valle
Slide 97
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 98
JOptionPane.showMessageDialog(null, miScroll);
JOptionPane.showMessageDialog(null, miScroll,"Calculo de Nota Final del Curso ", JOptionPane.INFORMATION_MESSAGE); Ventana de dialogo con el ttulo "Calculo de Nota Final del Curso "
EISC
Universidad del Valle
Slide 99
Ejercicio:
EISC
Universidad del Valle
Slide 100
Slide 101
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.
EISC
Universidad del Valle
Slide 102
EISC
Universidad del Valle