SlideShare a Scribd company logo
1 of 100
Download to read offline
ALGORITMIA Y PROGRAMACIÓN
ESTRUCTURAS ITERATIVAS
Contenido


Estructuras de Repetición







For
Ciclos anidados
Contadores y acumuladores
While
Do-while
Ejercicios

EISC
Universidad del Valle

Slide 2
Estructuras de Repetición


Ejercicio: Suponga que debe mostrar los números del 1 a
100 en ventanas separadas en una aplicación Java.

EISC
Universidad del Valle

Slide 3
Estructuras de Repetición
Ejercicio: Suponga que debe mostrar los números del 1 a 100 en
ventanas separadas en una aplicación Java.
Se podría hacer con el siguiente método:
public static void listarNumeros()
{
JOptionPane.showMessageDialog (null, “El número es: ” + 1);
JOptionPane.showMessageDialog (null, “El número es: ” + 2);
JOptionPane.showMessageDialog (null, “El número es: ” + 3);
JOptionPane.showMessageDialog (null, “El número es: ” + 4);
……
JOptionPane.showMessageDialog( null, “El número es: ” + 100);
}
Y si nos piden listar del 1 al 5000?
EISC
Universidad del Valle

Slide 4
Estructuras de Repetición
Son un grupo de instrucciones que permite la ejecución
repetitiva de otro grupo de instrucciones. Hay una variable
asociada al ciclo o estructura de repetición que controla
el número de veces que se repetirán las instrucciones.
Existen 3 estructuras de repetición:

for
while
do-while

EISC
Universidad del Valle

Slide 5
Estructuras de Repetición
Problema: Desarrollar una aplicación Java que solicite un
número y muestre los números desde el 1 hasta el número
solicitado.

1. Análisis del problema
Entradas: ??
Salidas: ??
Proceso:??

EISC
Universidad del Valle

Slide 6
Estructuras de Repetición
Problema: Desarrollar una aplicación Java que solicite un
número y muestre los números desde el 1 hasta el número
solicitado.

1. Análisis del problema
Entradas: n
Salidas: ??
Proceso:??

EISC
Universidad del Valle

Slide 7
Estructuras de Repetición
Problema: Desarrollar una aplicación Java que solicite un
número y muestre los números desde el 1 hasta el número
solicitado.
1. Análisis del problema
Entradas: n
Salidas:
imprimir (número 1)
imprimir (número 2)
.
.
imprimir (número n)
Proceso:??
EISC
Universidad del Valle

Slide 8
Estructuras de Repetición
Problema: Desarrollar una aplicación Java que solicite un
número y muestre los números desde el 1 hasta el número
solicitado.
1. Análisis del problema
Entradas: n
Salidas:
imprimir (número 1)
imprimir (número 2)
.
.
imprimir (número n)
Proceso:
desde 1 hasta n
EISC
Universidad del Valle

Slide 9
Estructuras de Repetición
Problema: Desarrollar una aplicación Java que solicite un
número y muestre los números desde el 1 hasta el número
solicitado.
1. Análisis del problema
Entradas: n
Salidas:
imprimir (número 1)
imprimir (número 2)
.
.
imprimir (número n)
Proceso:
desde 1 hasta n
Imprimir 1,2,3,.....n
EISC
Universidad del Valle

Slide 10
Estructuras de Repetición
Problema: Desarrollar una aplicación Java que solicite un
número y muestre los números desde el 1 hasta el número
solicitado.
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
n: entero
leer (n)
???

Fin
EISC
Universidad del Valle

Slide 11
Estructuras de Repetición
Problema: Desarrollar una aplicación Java que solicite un
número y muestre los números desde el 1 hasta el número
solicitado.
2. Diseñar el algoritmo y escribirlo en pseudocódigo
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 Repetición
Problema: Desarrollar una aplicación Java que solicite un
número y muestre los números desde el 1 hasta el número
solicitado.
3. Codificar el algoritmo usando algún lenguaje de programación
pseudocódigo

Java

Desde i = 1; Mientras i <= n; incrementar i en 1
Imprimir (i)
Fin_desde

EISC
Universidad del Valle

Slide 13
Estructuras de Repetición
Problema: Desarrollar una aplicación Java que solicite un
número y muestre los números desde el 1 hasta el número
solicitado.
3. Codificar el algoritmo usando algún lenguaje de programación
pseudocódigo

Java

Estructura
Desde i = 1; Mientras i <= n; incrementar i en 1 De
Repetición
Imprimir (i)
for
Fin_desde

EISC
Universidad del Valle

Slide 14
Estructuras de Repetición
Se usa para repetir una instrucción o un conjunto de instrucciones,
Desde un inicio, Mientras una condición se cumpla y con un
incremento o decremento.
Un ciclo for tiene tres partes:
Expresión de inicio,
Expresión de condición y
Expresión 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 Repetición
.
Estructura de la instrucción 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

for (inicio; prueba; actualización) {
//Instrucciones a Repetir‫‏‬
}
EISC
Universidad del Valle

Slide 16
Estructura For
Pseudocódigo

Java

Desde inicio mientras condición
incrementando en incremento
Haga
instrucción 1
instrucción 2
…….
Fin desde

for ( inicio; condición; incre/decremento)
{
instrucción 1;
instrucción 2;
……
}

Expresión de inicio
Expresión de condición (o prueba)
Expresión de incremento/decremento
EISC
Universidad del Valle

Slide 17
Estructura for
Pseudocódigo

Java

Desde inicio mientras condición
incrementando en incremento
Haga
instrucción 1
instrucción 2
…….
Fin desde

for( inicio; condición; incre/decremento)
{
instrucción 1;
instrucción 2;
……
}

Expresión de inicio
Expresión de condición
Expresión de incremento/decremento

(o prueba)

EISC
Universidad del Valle

Slide 18
Estructura for
Pseudocódigo

Java

Desde inicio mientras condición
incrementando en incremento
Haga
instrucción 1
instrucción 2
…….
Fin desde

for ( inicio; condición; incre/decremento)
{
instrucción 1;
instrucción 2;
……
}

Expresión de inicio
Expresión de condición
Expresión de incremento/decremento
EISC
Universidad del Valle

Slide 19
Estructura for
Funcionamiento:
for ( inicio; condición; incre/decremento){
instrucciones;
}

Expresión de Inicio: Es una expresión que permite dar un valor inicial
a la variable de control del ciclo.

Variable de control: Es la variable que se utiliza para contar la cantidad
de iteraciones realizadas y es usada en la condición que determina el
límite de repeticiones a realizar.
Ejemplos:
i=1
k=m

j=(y*8)

i, k , j en cada caso será la
variable de control del ciclo.

EISC
Universidad del Valle

Slide 20
Estructura for
Funcionamiento:
for ( inicio; condición; incre/decremento){
instruciones;
}

Expresión de Condición: Es una condición que se evalúa
antes de realizar el bloque de instrucciones en el ciclo. Esta
prueba condiciona la cantidad de veces que se va a realizar el
ciclo, para determinar cuando se termina su ejecución.
i, k , j en cada caso será la
Ejemplos:
variable de control del ciclo.
i<=5
k>total
j!=(z%7)
EISC
Universidad del Valle

Slide 21
Estructura for
Funcionamiento:
for ( inicio; condición; incre/decremento){
instruciones;
}

Expresión de Incre/Decremento: Es una expresión usada para
incrementar o decrementar (actualizar) el valor de la variable de
control del ciclo.

Ejemplos:
i++
k= k + 2

J--

EISC
Universidad del Valle

Slide 22
Estructura for


Ejemplo:

public static void listarNumeros(){
for (int i =1 ; i<=5; i++) {
JOptionPane.showMessageDialog (null, “ Número: ” + i );
}
}

EISC
Universidad del Valle

Slide 23
Estructura for


Ejemplo:

public static void listarNumeros(){
for (int i =1 ; i<=5; i++) {
JOptionPane.showMessageDialog (null, “ Número: ” + i );
}
}

Valor de i

Número Iteración

Salida

1

1

“Número 1”

2

2

“Número 2”

3

3

“Número 3”

4

4

“Número 4”

5

5

“Número 5”

6

Se interrumpe

EISC
Universidad del Valle

Slide 24
Estructura for


Ejemplo:

public static void listarNumeros(){
for (int i =1 ; i<=5; i++) {
JOptionPane.showMessageDialog (null, “ Número: ” + i );
}
}

Valor de i

Número Iteración

Salida

1

1

“Número 1”

2

2

“Número 2”

3

3

“Número 3”

4

4

“Número 4”

En el ejemplo, la instrucción:

5

5

“Número 5”

se ejecuta 5 veces.

6

Se interrumpe

El número de iteraciones indica la
cantidad de veces que se repite
la(s) instrucción(es) que estén en
el cuerpo del ciclo.
JOptionPane.showMessageDialog(…)

EISC
Universidad del Valle

Slide 25
Estructura for


Ejemplo:
public static void listarNumeros(){
for (int k =18 ; k>10; k = k - 2) {
JOptionPane.showMessageDialog (null, “ Número: ” + k );
}
}
 Cuantas veces se ejecutará la instrucción:

JOptionPane.showMessageDialog (null, “ Número: ” + k );

EISC
Universidad del Valle

Slide 26
Estructura for


Ejemplo:

public void listarNumeros(){
for(int k =18 ; k>10; k = k - 2) {
JOptionPane.showMessageDialog (null, “ Número: ” + k );
}
}
Valor de i

Número Iteración

Salida

18

1

“Número 18”

16

2

“Número 16”

14

3

“Número 14”

12

4

“Número 12”

10

Se interrumpe

La instrucción:
JOptionPane.showMessageDialog (…)

se ejecuta 4 veces

EISC
Universidad del Valle

Slide 27
Estructura for


Ejemplo:
public void muestraAlgo1( ){
int i=0;
for ( i=3; i<=30; i++ ) {
if ((i % 10) == 3) {
JOptionPane.showMessageDialog(null ,“El valor de i es " + i);
}
}
}

 Cuantas veces se ejecutará la instrucción:
JOptionPane.showMessageDialog(null ,“El valor de i es " + i);

EISC
Universidad del Valle

Slide 28
Estructura for


Ejemplo:
public void muestraAlgo1( ){
int i=0;
for ( i=3; i<=30; i++ ) {
if ((i % 10) == 3) {
JOptionPane.showMessageDialog(null ,“El valor de I es " + i);
}
}
}

Valor de i

Nro Iteración

Salida

3

1

“El valor de I es” 3

4,5,6,7,8,9,10,
11,12,13

2,3,4,5,6,7,8,9,
10,11

“El valor de I es” 13

14,15,16,17,18,
19,20,21,22,23

12,13,14,15,16,
17,18,19,20,21

“El valor de I es” 23

24,25,26,27,28,
29,30

22,23,24,25,26,
27,28

Se interrumpe

La instrucción:
JOptionPane.showMessageDialog (…)

se ejecuta 3 veces

EISC
Universidad del Valle

Slide 29
Estructura for


Ejemplo:
public void muestraAlgo2( ){
for ( int j=0; j<=100; j++ ) {
if ((j % 3) == 0) {
JOptionPane.showMessageDialog(null ,“El valor de J es " + j);}
else{
JOptionPane.showMessageDialog(null ,+ j+“ NO es ..." );}
}
}

 Que debo completar en el mensaje “ NO es ...“ ?
JOptionPane.showMessageDialog(null ,+ j+“ NO es ..." );

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 instrucción ubicada después
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 instrucción ubicada después
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 instrucción 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 número 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 Repetición
Problema: Desarrollar un programa Java que pregunte al usuario el
número 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. Análisis del problema
Entradas: numeroEstudiantes, nombreEstudiante,
Salidas: listadoEstudiantes

Proceso:??

EISC
Universidad del Valle

Slide 35
Estructuras de Repetición
Problema: Desarrollar un programa Java que pregunte al usuario el
número de estudiantes de un curso, luego pregunte el nombre de cada
uno de ellos. Finalmente, se debe mostrar un listado con todos los
estudiantes

numeroEstudiantes
nombreEstudiantes

Desde x=1 mientras x<=numeroEstudiantes
incrementando en x = x +1 Haga
leer(nombreEstudiante)
listadoEstudiantes = listadoEstudiantes +
nombreEstudiante
Fin Desde

listadoEstudiantes

EISC
Universidad del Valle

Slide 36
Estructuras de Repetición
Problema: Desarrollar un programa Java que pregunte al usuario el
número 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. Análisis 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 37
Estructura for


Ejercicio 1:

Inicio
numeroEstudiantes: entero
listadoEstudiantes: texto
nombreEstudiante: texto
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 38
Estructura for


Ejercicio 1:

public class Asignatura {
public static void main (String arg[]) {
int numEstudiantes;
String listadoEstudiantes= “”;
String nombreEstudiante;

numEstudiantes= Integer.parseInt(JOptionPane.showInputDialog("Ingrese el
número de Estudiantes:"));
for (int x = 1; x <= numEstudiantes; x++){
nombreEstudiante = JOptionPane.showInputDialog(“Nombre No: “+x);
listadoEstudiantes = listadoEstudiantes + "nEstudiante No: "+ x + " : "+
nombreEstudiante;
}
JOptionPane.showMessageDialog(null, listadoEstudiantes );
}
}
EISC
Universidad del Valle

Slide 39
Estructura for – Ciclos Anidados


Ejemplo:
Suponga que se desea crear un programa en Java que permita imprimir en
pantalla el factorial de cada número existente en la serie 1 a n, siendo n un
número 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
instrucción 1
instrucción 2
…
Fin Desde
instrucción 3
instrucción 4
Fin Desde

NOTA: Usamos la condición n<=20 con fines académicos y evitar resultados con
números exageradamente grandes.
EISC
Universidad del Valle

Slide 40
Estructura for – Ciclos Anidados
Un ciclo anidado es un ciclo, de cualquier tipo, que contiene otro ciclo de
cualquier tipo.
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 número 5 el sistema debe recorrer la
serie 1 a 5, y para cada número 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 número n es la multiplicación de todos los números 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
Estructura for – Ciclos Anidados
Inicio
factorial, n: entero
respuesta: texto
leer(n)
SI n <= 20 Entonces
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

imprima(respuesta)
SINO
imprima(“Ha digitado un numero superior a 20”)
Fin
EISC
Universidad del Valle

Slide 42
Estructura for – Ciclos Anidados
Inicio
factorial,n: entero
respuesta: texto
leer(n)
SI n<= 20

El ciclo principal, basado en la variable
de control i, contiene un ciclo anidado
basado en la variable de control j.

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

imprima(respuesta)
SINO
imprima(“Ha digitado un numero superior a 20”)
Fin
EISC
Universidad del Valle

Slide 43
Estructura for – Ciclos Anidados
public class Factorial {
public static void main(String arg[]){
int n, factorial;
String respuesta = "";
n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese n:"));
if(n<=20){
for (int i = 1; i <= n; i++){
factorial=1;
for (int j = 1; j <= i; j++){
factorial=factorial*j;
}
respuesta = respuesta + "n El Factorial de " + i + "es: " + factorial;
}
JOptionPane.showMessageDialog(null,respuesta);
}else{
JOptionPane.showMessageDialog(null,"Ha digitado un número superior a 20");
}
}
}
EISC
Universidad del Valle

Slide 44
Estructura for – Ciclos Anidados


Ejercicio 2:
Desarrollar un programa java que permita generar y visualizar la siguiente
figura:

 Tenga en cuenta que el usuario ingresa al programa el número

de líneas que debe tener la figura (En el ejemplo hay 7 filas).
EISC
Universidad del Valle

Slide 45
Estructura for – Ciclos Anidados


Ejercicio 2:
crearFigura(numeroFilas : entero)
Inicio
triangulo = “” : texto
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 Desde
imprimir(triangulo)

Fin

EISC
Universidad del Valle

Slide 46
Estructura for – Ciclos Anidados


Ejercicio 2:

EISC
Universidad del Valle

Slide 47
Estructura For – Ciclos Anidados


Ejercicio 2:

EISC
Universidad del Valle

Slide 48
Estructura for - Contadores
Los contadores son variables utilizadas para realizar, como su
nombre lo indica, conteos de la cantidad de veces que se
cumple una situación específica.
Como su objetivo principal es contar, deben ser de tipo
entero y normalmente se inicializan en cero.

Los contadores y los acumuladores
pueden ser usados en cualquier tipo
de ciclos.

EISC
Universidad del Valle

Slide 49
Estructura for - Contadores


Ejemplo:
Suponga que se desea crear un programa en Java que permita imprimir en
pantalla la cantidad de números múltiplos de 3 que se encuentran en la
serie 1 a n, siendo n un número digitado por un usuario.

EISC
Universidad del Valle

Slide 50
Estructura for - Contadores


Ejemplo:
Suponga que se desea crear un programa en Java que permita imprimir en
pantalla la cantidad de números múltiplos de 3 que se encuentran en la
serie 1 a n, siendo n un número 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
imprimir(contador);

Fin
EISC
Universidad del Valle

Slide 51
Estructura for - Contadores


Ejemplo:
Suponga que se desea crear un programa en Java que permita imprimir en
pantalla la cantidad de números múltiplos de 3 que se encuentran en la
serie 1 a n, siendo n un número 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
imprimir(contador)

Fin
EISC
Universidad del Valle

Slide 52
Estructura for - Contadores


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 53
Estructura for - Contadores


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 + " múltiplos de 3");

System.exit(0);
}

EISC
Universidad del Valle

Slide 54
Estructura for - Contadores


Ejemplo:

public static void main (String arg[]) {

int contador=0;
leerN ();
for (int i = 1; i <= n; i++){
if (esMultiploDeTres(i)){
contador++;
}
}

La variable contador se
incrementa en 1 cada vez que el
método esMultiploDeTres
retorna true (cierto) para el
número i

JOptionPane.showMessageDialog(null,"En la serie 1 a "+ n+ " hay " + contador + " múltiplos de 3");

System.exit(0);

}

EISC
Universidad del Valle

Slide 55
Estructura for - Acumuladores
Los acumuladores son variables utilizadas para ir almacenando
(acumulando) el resultado de una operación.
Pueden ser de tipo numérico (entero o real) en las cuales acumula
el resultado de operaciones matemáticas, o de tipo cadena en las
cuales se concatenan frases o palabras.
En el ejemplo del factorial se pueden observar las variables
factorial y respuesta las cuales actúan como acumuladores
numéricos y de cadena respectivamente.

EISC
Universidad del Valle

Slide 56
Estructura For - Acumuladores
…
public static void calcularFactorial(int n) {
La variable factorial va
int factorial = 1;
acumulando el valor de la
String respuesta="";
multiplicación 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 iteración 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

Universidad del Valle

Slide 57
Ejercicios Estructura for
1. Diseñe un algoritmo que permita detectar los números pares
existentes en una serie de 1 a n, siendo n un número digitado por
un usuario.
2. Diseñe un algoritmo que permita obtener la suma de todos los
números enteros existentes en una serie de 1 a n y la cantidad de
números pares encontrados, siendo n un número digitado por un
usuario. Use un ciclo for en su diseño.
3. Suponga que se desea saber la nota promedio del curso de
algoritmia, diseñe un algoritmo que solicite la cantidad de
estudiantes del curso y el promedio de cada estudiante.
NOTA: Para cada ejercicio realice su respectiva implementación en
Java
EISC
Universidad del Valle

Slide 58
Ejercicios Estructura for
4.

Suponga que el calculo de la pensión de una persona se realiza de la
siguiente manera: por cada año de servicio se paga $80 si el empleado
ingresó en o después de 1995 y $100 si ingresó antes, dicho valor (80 o
100) se multiplica por el número de cada año más la edad que tenía en
el año (ej. (100*1994+32)+(100*1995+33)+…), el descuento de
seguridad social salud es del 12%. El programa debe recibir el año de
ingreso y la edad del empleado en el año de ingreso, devolver el sueldo
o mesada bruta, la mesada neta y el valor del descuento por salud.
Ejemplo: Para una persona que ingresó en el 2009 y que tenía 44 años
en dicho año, su mesada o sueldo bruto para el 2011 es $482.535, el
descuento por salud es $57.904 y por lo tanto su sueldo o mesada neta
es $424.630.

NOTA: Realice la respectiva implementación en Java.
EISC
Universidad del Valle

Slide 59
Ejercicios Estructura for
5.

Escribir una aplicación que permita: generar los números
enteros impares entre a y b

6.

Crear una aplicación que permita:
• Generar los números pares entre p y q

• Generar los primeros z múltiplos de 3
• Generar la suma de m primeros múltiplos de 7 más los n
primeros múltiplos de 9

NOTA: Realice la respectiva implementación en Java.

EISC
Universidad del Valle

Slide 60
Estructura while




Evalúa una condición dada para determinar si repite un conjunto
de instrucciones. Si la condición es verdadera se repiten las
instrucciones.
Observe que el primer paso es validar la condición y luego se
ejecutan las instrucciones (en caso de que la condición cumpla).

Pseudocódigo

Java

Mientras condición
Haga
instrucción 1
instrucción 2
…….
Fin mientras

while( condicion)
{
instrucción 1;
instrucción 2;
……
}

EISC
Universidad del Valle

Slide 61
Estructura while
Debe existir una variable
de control del ciclo

La variable de control se
inicializa antes del ciclo

Iniciar condiciones;
while (condiciones)‫‏‬
{
// Instrucciones a repetir
}

La variable de control se
compara contra el valor final

La variable debe
actualizarse dentro de
cada ciclo

EISC
Universidad del Valle

Slide 62
Estructura while


Ejemplo:

int a=5, b=7, c=3;
while (a < b){
c = c *2;
a = a + 1;
}

EISC
Universidad del Valle

Slide 63
Estructura while


Ejemplo:

int a=5, b=7, c=3;
while (a < b){
c = c *2;
a = a + 1;
}
Número
Iteración

Valor variable Valor variable
a
c

0

5

3

1

6

6

2

7

12

Se interrumpe
EISC
Universidad del Valle

Slide 64
Estructura while


Ejemplo:

int a=9, b=7, c=3;
while (a < b){
c = c *2;
a = a + 1;

Número
Iteración
0

Valor variable Valor variable
a
c
9

3

Se interrumpe

}

 Si la primera vez la condición del ciclo while no se cumple, no
se ejecuta ninguna instrucción.

EISC
Universidad del Valle

Slide 65
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 validación.
 Ciclo do-while: Realiza un bloque de instrucciones y después

evalúa la condición para determinar si repite el bloque o no.
Pseudocódigo
Haga
instrucción 1
instrucción 2
…….

Mientras condición

Java
do
{ instrucción 1;
instrucción 2;
……

} while(condicion);

EISC
Universidad del Valle

Slide 66
Estructura do-while
Debe existir una variable
de control del ciclo

La variable de control se
inicializa antes del ciclo

Iniciar condiciones;
do‫{‏‬

La variable de control
debe actualizarse
dentro de cada ciclo

//Instrucciones a repetir

} while (condiciones)

La variable de control
se compara contra el
valor final

EISC
Universidad del Valle

Slide 67
Estructura do-while


Ejemplo:

int a=5, b=7, c=3;
do
{

c = c *2;
a = a + 1;
} while (a<b);

EISC
Universidad del Valle

Slide 68
Estructura do-while


Ejemplo:

int a=5, b=7, c=3;
do
{

c = c *2;
a = a + 1;
} while (a<b);
Valor variable
a

Valor variable
c

0

5

3

1

6

6

2

7

12

Número
Iteración

Se interrumpe
EISC
Universidad del Valle

Slide 69
Estructura do-while


Observe que la primera vez se ejecutan las instrucciones aunque la
condición del ciclo no sea válida. Por ejemplo:

int a=9, b=7, c=3;
do
{

c = c *2;
a = a + 1;
} while (a < b);

EISC
Universidad del Valle

Slide 70
Estructura do-while


Observe que la primera vez se ejecutan las instrucciones aunque la
condición del ciclo no sea válida. Por ejemplo:

int a=9, b=7, c=3;
do
{

c = c *2;
a = a + 1;
} while (a < b);

Número
Iteración

Valor variable
a

Valor variable
c

0

9

3

1

10

6

Se interrumpe

EISC
Universidad del Valle

Slide 71
Ejercicio Estructura while


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 72
Ejercicio Estructura while


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 : real) {
real def = 0
def = p1*0.3+p2*0.35+ la*0.25+ta*0.1

retornar def
} // Fin del método calculaDefinitiva
EISC
Universidad del Valle

Slide 73
Ejercicio Estructura while




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: real)
{
real def = 0
def = p1*0.3+p2*0.35+ la*0.25+ta*0.1;
retornar def
} // Fin del método calculaDefinitiva
p1

p2

lab

tra

3,2

2,4

4,4

3,0

def = 3,2
EISC
Universidad del Valle

Slide 74
Ejercicio Estructura while




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: texto
par1, par2, lab, tar: real
nEst, j = 1: entero
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 75
Ejercicio Estructura while




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;
double par1, par2, lab, tar;
int nEst, j= 1;
nEs=Integer.parseInt(JOptionPane.showInputDialog
(“Numero de Estudiantes:"));
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++;
}

Inicio
nomb: texto
par1, par2, lab, tar: real
nEst, j = 1: entero
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 76
Ejercicio Estructura while


Ejercicio: Para ingresar al curso de Producción Cinematográfica se
realizó un prueba clasificatoria. Se tiene los resultados de dicho
examen por aspirante (una nota comprendida entre 0.0 y 5.0) y se
desea saber cuántos aspirantes aprobaron el examen, cuántos lo
perdieron (nota menor que 3.0) y cuál fue el promedio de todo el
grupo de aspirantes. No sabemos cuántos aspirantes son, pero
sabemos que cuando se quiera indicar que se finalizó el ingreso de
notas se digitará un valor negativo.

EISC
Universidad del Valle

Slide 77
Ejercicio Estructura while
void determinarEstadisticasSegunNotas()
Inicio
nota, promedioCalificaiones: real numAprobados, numReprobados : entero
leer(nota)
Mientras nota>=0 Haga
Si (nota<=5 ){
Si (nota>=3 ){
numAprobados = numAprobados +1
}
sino{
numReprobados = numReprobados + 1
}
promedioCalificaciones = promedioCalificaciones + nota
}
leer(nota)
Fin mientras
promedioCalificaciones = promedioCalificaciones / (numAprobados + numReprobados)
imprimir(numAprobados, numReprobados, promedioCalificaciones)

Fin
EISC
Universidad del Valle

Slide 78
Ejercicio Estructura while

public class NotasAsignatura {

static int numAprobados,numReprobados; static double promedioCalificaciones;
public static void determinarEstadisticasSegunNotas() {
numAprobados =0;
numReprobados =0;
promedioCalificaciones=0.0;
double nota= Double.parseDouble(JOptionPane.showInputDialog(“Digite la nota:"));
while (nota>=0.0){
if(nota<=5){
if(nota>=3){
numAprobados = numAprobados +1;
}
else{
numReprobados = numReprobados +1;
}
promedioCalificaciones = promedioCalificaciones + nota;
}
nota= Double.parseDouble(JOptionPane.showInputDialog(“Digite la nota:"));
}
promedioCalificaciones = promedioCalificaciones / (numAprobados + numReprobados );
JOptionPane.showMessageDialog(null, “Aspirantes aprobados :”+ numAprobados +
“n Aspirantes reprobados :”+ numReprobados + “n Promedio notas :”+
promedioCalificaciones );
EISC

}

Universidad del Valle

Slide 79
Ejercicio Estructura while
public static void main (String arg[]) {
determinarEstadisticasSegunNotas();
System.exit(0);

}
}

EISC
Universidad del Valle

Slide 80
Ejercicio Estructura do-while


Ejercicio: Realice el ejercicio anterior (sobre el calculo de
estadísticas para el ingreso al curso de Producción Cinematográfica)
utilizando el ciclo do-while.

EISC
Universidad del Valle

Slide 81
Ejercicio Estructura do-while
Ejercicio: Algoritmos del programa Curso Cinematografía.
void determinarEstadisticasSegunNotas()
Inicio
numAprobados, numReprobados : entero nota, promedioCalificaciones : real

Haga
leer(nota)
Si (nota>=0 && nota <=5){
Si (nota>=3) {
numAprobados = numsAprobados +1
}
Sino {
numReprobados = numReprobados + 1
}

promedioCalificaciones = promedioCalificaciones + nota
}
Mientras (nota>=0);
promedioCalificaciones = promedioCalificaciones / (numAprobados + numReprobados )
imprimir(numAprobados, numReprobados, promedioCalificaciones)

Fin
EISC
Universidad del Valle

Slide 82
Ejercicio Estructura do-while
public static void determinarEstadisticasSegunNotas() {
numAprobados =0;
double nota;

numReprobados =0;

promedioCalificaciones=0.0;

do{
nota= Double.parseDouble(JOptionPane.showInputDialog(“Digite la nota:"));
if(nota>=0.0 && nota <=5){
if(nota>=3.0){
numAprobados = numAprobados +1;
} else {
numReprobados = numReprobados +1;
}
promedioCalificaciones = promedioCalificaciones + nota;

}
} while (nota>=0.0);

…
EISC
Universidad del Valle

Slide 83
Estructuras de Repetición
Importante:
En cualquiera de las estructuras de repetición implementadas en Java,
se puede detener el ciclo usando la instrucción break o detener una
iteración utilizando la instrucción continue.
Normalmente se usan las instrucciones break o continue cuando se ha
cumplido una condición 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 iteración pasando a la siguiente.

EISC
Universidad del Valle

Slide 84
Estructuras de Repetición
Importante:
Cualquiera de los ejercicios mostrados en esta presentación
pueden ser implementados sin la necesidad de crear métodos
(dentro del método main).

EISC
Universidad del Valle

Slide 85
Ejercicios Estructuras while y do-while
1. Diseñe un algoritmo que reciba números digitados por el
usuario y los imprima en pantalla, el programa debe terminar
cuando el usuario digite un número negativo.
2. Diseñe un algoritmo que reciba números digitados por el
usuario y al final imprima la suma de los números digitados, el
programa debe terminar cuando el usuario digite 0 (cero).
3. Cree un algoritmo que permita digitar palabras y al final
imprima la concatenación de las palabras digitadas, el
programa debe terminar cuando el usuario digite la palabra
“terminar”.
NOTA:
Para cada ejercicio realice su respectiva implementación en
Java, use la estructura que le parezca más conveniente (while
o do-while)
EISC
Universidad del Valle

Slide 86
Ejercicios Estructuras while y do-while
4. Suponga que el cálculo de la pensión de una persona se realiza de
la siguiente manera: por cada año de servicio se paga $80 si el
empleado ingresó en o después de 1995 y $100 si ingresó antes,
dicho valor (80 o 100) se multiplica por el número de cada año más
la edad que tenía en el año (ej (100*1994+32)+(100*1995+33)+…),
el descuento de seguridad social en salud es del 12%. El programa
debe recibir el año de ingreso y la edad del empleado en el año de
ingreso, devolver el sueldo o mesada bruta, la mesada neta y el
valor del descuento por salud.
Ejemplo: Para una persona que ingresó en el 2009 y que tenía 44
años en dicho año, su mesada o sueldo bruto para el 2011 es
$482.535, el descuento por salud es $57.904 y por lo tanto su
sueldo o mesada neta es $424.630.
NOTA: Realice la respectiva implementación en Java.
EISC
Universidad del Valle

Slide 87
Ejercicios Estructuras while y do-while
Suponga que el administrador de una tienda desea calcular el
total de ventas del día, para ello debe registrar el nombre del
producto, el valor del producto y la cantidad de unidades
vendidas. Al final el sistema debe mostrar la lista de productos
digitados, el total de ventas por cada producto, el total de ventas
del día y el valor global cobrado por concepto del IVA.
El administrador puede registrar productos hasta que él decida
que ha terminado para lo cual digita un dato negativo.
NOTA: Realice la respectiva implementación en Java.
EISC
Universidad del Valle

Slide 88
Ejercicio Estructura while
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%).
Se pide calcular la nota definitiva, pero ahora NO se conoce el
número de estudiantes


EISC
Universidad del Valle

Slide 89
Ejercicio Estructura while


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 número de estudiantes.



Inicialmente calculamos la nota para un estudiante, conocidas sus 4
calificaciones:
real calculaDefinitiva (p1, p2, lab, tra : real) {
real def = 0
def = p1*0.3+p2*0.35+ la*0.25+ta*0.1
retornar def
} // Fin del método calculaDefinitiva

EISC
Universidad del Valle

Slide 90
Ejercicio Estructura while


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 número de estudiantes.



Prueba de escritorio del algoritmo:
real calculaDefinitiva (p1, p2, lab, tra: real)
{
real def = 0
def = p1*0.3+p2*0.35+ la*0.25+ta*0.1
retornar def
} // Fin del método calculaDefinitiva
p1

p2

lab

tra

3,2

2,4

4,4

3,0

def = 3,2
EISC
Universidad del Valle

Slide 91
Ejercicio Estructura while


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 número de
estudiantes.



Ahora trabajamos en el algoritmo principal:
Inicio
nomb: texto
par1, par2, lab, tar: real
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) leer(lab) leer(tar)
mientras (nomb != “Final” )
Fin

EISC
Universidad del Valle

Slide 92
Ejercicio Estructura while




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 número de 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;
DecimalFormat forma = new DecimalFormat ("0.00");
JTextArea miArea = new JTextArea(15,30);
JScrollPane miScroll = new JScrollPane(miArea);
miArea.append(“nNomb tParc1 t”+
“Parc2tLabtTareastDefin");
nomb= JOptionPane.showInputDialog(“Nombre");
// Sigue instrucción do-while
…

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 93
Ejercicio Estructura while




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 número 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 impresión del área de texto
JOptionPane.showMessageDialog(null, miScroll,
"Calculo de la Nota Final del Curso ",
JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
} // fin del método 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 94
Ejercicio Estructura while




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 número de estudiantes.
Probemos el programa:

JTextArea
Area de Texto
miArea

JScrollPane

barra de
desplazamiento
miScroll
EISC
Universidad del Valle

Slide 95
Uso del JTextArea
La instrucción JOptionPane.showMessageDialog sirve para
mostrar el conjunto formado por el área de texto y el scroll

JOptionPane.showMessageDialog(null, miScroll);

Scroll donde
se insertó el
área de
texto
(miArea)

JOptionPane.showMessageDialog(null, miScroll,"Calculo de Nota
Final del Curso ", JOptionPane.INFORMATION_MESSAGE);
Ventana de dialogo con el título
"Calculo de Nota Final del Curso "
EISC
Universidad del Valle

Slide 96
Estructura de Iteración (do-while)
Ejercicio:

Calcular el valor del cos (X) (coseno del ángulo x), usando
la serie infinita:

Imprima el valor del cos (Π/2) con 8 dígitos de
precisión

EISC
Universidad del Valle

Slide 97
Estructura de Iteración (do-while)
1. Entender el Problema
Sea x = π/2
Entonces la serie será:

Si tomamos 10 términos de la serie, tenemos:
cos(π / 2 ) = 1  1,23370055013617 + 0,253669507901048 
0,020863480763353 + 0,000919260274839426 
0,0000252020423730606 + ... + -0,000000000000529440020073462

Para un valor final de la suma igual a 0.00
EISC
Universidad del Valle

Slide 98
Ejercicios Estructuras de Iteración
a. Generar los números enteros impares entre p y q utilizando un ciclo
for
b. Generar el valor de e x para los números enteros x entre p y q
utilizando un ciclo do-while





Utilice la metodología de solución 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 99
Ejercicios Estructuras de Iteración
Construya una aplicación Java para los siguientes problemas:
x 2 x 4 x 6 x 8 x10
(1) m x 2 m
cos( x)  1 


 
 ... 
2! 4! 6! 8! 10!
(2m)!
x 3 x 5 x 7 x 9 x11
(1) m x 2 m 1
sen( x)  x 




 ... 
3! 5! 7! 9! 11!
(2m  1)!
x2
x4
x6
x8
x10
x 2m
cosh( x )  1 




 ... 
2!
4!
6!
8! 10!
( 2m)!

( x  1) 2 ( x  1) 3 ( x  1) 4 ( x  1) 5
ln( x)  ( x  1) 



 ...
2
3
4
5
x 3 x 5 x 7 x 9 x11
x 2 m 1
senh( x)  x 




 ... 
3! 5! 7! 9! 11!
(2m  1)!
x 2 x3 x 4 x5
( 1) n X n
x
e  1 x 



 ... 
2! 3!
4! 5!
n!


Utilice la metodología de solución de problemas

EISC
Universidad del Valle

Slide 100

More Related Content

What's hot

Pseint Variables Y Comentarios
Pseint Variables Y ComentariosPseint Variables Y Comentarios
Pseint Variables Y ComentariosMonjeOneble
 
Arreglos en pseudocodigo 01
Arreglos en pseudocodigo 01Arreglos en pseudocodigo 01
Arreglos en pseudocodigo 01Emerson Garay
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificaciónAlex Uhu Colli
 
Resumen microcontroladores
Resumen microcontroladoresResumen microcontroladores
Resumen microcontroladoresXavier Solis
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Obmaro García
 
Ejercicios resueltos de java
Ejercicios resueltos de javaEjercicios resueltos de java
Ejercicios resueltos de javaFaral TF
 
Estructura for and while pseint - Herramientas CASE
Estructura for and while pseint - Herramientas CASEEstructura for and while pseint - Herramientas CASE
Estructura for and while pseint - Herramientas CASEUniversidad de cordoba
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónAna Ruth G H
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 

What's hot (20)

Pseint Variables Y Comentarios
Pseint Variables Y ComentariosPseint Variables Y Comentarios
Pseint Variables Y Comentarios
 
Arreglos en pseudocodigo 01
Arreglos en pseudocodigo 01Arreglos en pseudocodigo 01
Arreglos en pseudocodigo 01
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Estructura de registros
Estructura de registrosEstructura de registros
Estructura de registros
 
Enunciados de casos para Bases de Datos
Enunciados de casos para Bases de DatosEnunciados de casos para Bases de Datos
Enunciados de casos para Bases de Datos
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificación
 
Resumen microcontroladores
Resumen microcontroladoresResumen microcontroladores
Resumen microcontroladores
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
arreglos y matrices
arreglos  y matricesarreglos  y matrices
arreglos y matrices
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++
 
Colas estáticas. IESIT
Colas estáticas. IESITColas estáticas. IESIT
Colas estáticas. IESIT
 
Ejercicios resueltos de java
Ejercicios resueltos de javaEjercicios resueltos de java
Ejercicios resueltos de java
 
Estructura for and while pseint - Herramientas CASE
Estructura for and while pseint - Herramientas CASEEstructura for and while pseint - Herramientas CASE
Estructura for and while pseint - Herramientas CASE
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 

Viewers also liked

C1 intro java
C1 intro javaC1 intro java
C1 intro javaalenco
 
Estructuras de Control - Algoritmia
Estructuras de Control - AlgoritmiaEstructuras de Control - Algoritmia
Estructuras de Control - AlgoritmiaDaniel Gómez
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Daniel Gómez
 
Estructuras de control selectiva
Estructuras de control selectivaEstructuras de control selectiva
Estructuras de control selectivaIEO Santo Tomás
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Daniel Gómez
 
Intro. Lenguaje de Programación Java - Algoritmia
Intro. Lenguaje de Programación Java - AlgoritmiaIntro. Lenguaje de Programación Java - Algoritmia
Intro. Lenguaje de Programación Java - AlgoritmiaDaniel Gómez
 
Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaDaniel Gómez
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en javaANGELA FREIRE
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5srBichoRaro
 
Flujo de un programa Java (I)
Flujo de un programa Java (I)Flujo de un programa Java (I)
Flujo de un programa Java (I)alvaro gonzalez
 
Fase 5 ciclo for
Fase 5 ciclo forFase 5 ciclo for
Fase 5 ciclo forluisoctis
 
86535551 ciclo-de-vida-jsf
86535551 ciclo-de-vida-jsf86535551 ciclo-de-vida-jsf
86535551 ciclo-de-vida-jsfpablo lopez
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
Sentencias de control en java
Sentencias de control en javaSentencias de control en java
Sentencias de control en javaLorenna Glez
 

Viewers also liked (20)

C1 intro java
C1 intro javaC1 intro java
C1 intro java
 
Estructuras de Control - Algoritmia
Estructuras de Control - AlgoritmiaEstructuras de Control - Algoritmia
Estructuras de Control - Algoritmia
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia
 
Estructuras de control selectiva
Estructuras de control selectivaEstructuras de control selectiva
Estructuras de control selectiva
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)
 
Intro. Lenguaje de Programación Java - Algoritmia
Intro. Lenguaje de Programación Java - AlgoritmiaIntro. Lenguaje de Programación Java - Algoritmia
Intro. Lenguaje de Programación Java - Algoritmia
 
Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - Algoritmia
 
Ciclos
CiclosCiclos
Ciclos
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en java
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5
 
Modulo 1
Modulo 1Modulo 1
Modulo 1
 
While do while
While do whileWhile do while
While do while
 
Flujo de un programa Java (I)
Flujo de un programa Java (I)Flujo de un programa Java (I)
Flujo de un programa Java (I)
 
Programación III (Java) - 08 threads
Programación III (Java) - 08 threadsProgramación III (Java) - 08 threads
Programación III (Java) - 08 threads
 
Fase 5 ciclo for
Fase 5 ciclo forFase 5 ciclo for
Fase 5 ciclo for
 
86535551 ciclo-de-vida-jsf
86535551 ciclo-de-vida-jsf86535551 ciclo-de-vida-jsf
86535551 ciclo-de-vida-jsf
 
Clojure: Java y Lisp, unidos
Clojure: Java y Lisp, unidosClojure: Java y Lisp, unidos
Clojure: Java y Lisp, unidos
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Curso java
Curso javaCurso java
Curso java
 
Sentencias de control en java
Sentencias de control en javaSentencias de control en java
Sentencias de control en java
 

Similar to Ciclos Java - NetsBeans - Algoritmia

FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)Videoconferencias UTPL
 
Guia 2nd o & 3er
Guia 2nd o & 3erGuia 2nd o & 3er
Guia 2nd o & 3ermartell024
 
ESTRUCTURAS CONDICIONALES PARA. PSEINT
ESTRUCTURAS CONDICIONALES PARA. PSEINTESTRUCTURAS CONDICIONALES PARA. PSEINT
ESTRUCTURAS CONDICIONALES PARA. PSEINTJuanCardenas501369
 
PBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfPBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfJessenia Realpe
 
Echenique objeto digital 2
Echenique objeto digital 2Echenique objeto digital 2
Echenique objeto digital 2Edy Echenique
 
CLASE 11 - PRINCIPIOS DE ALGORITMOS - GÁLVEZ-1.pdf
CLASE 11 - PRINCIPIOS DE ALGORITMOS - GÁLVEZ-1.pdfCLASE 11 - PRINCIPIOS DE ALGORITMOS - GÁLVEZ-1.pdf
CLASE 11 - PRINCIPIOS DE ALGORITMOS - GÁLVEZ-1.pdfAndrCamones
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosmarigelcontreras
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosmarigelcontreras
 
Estructuras repetitivas (bloques de instrucciones)
Estructuras repetitivas (bloques de instrucciones)Estructuras repetitivas (bloques de instrucciones)
Estructuras repetitivas (bloques de instrucciones)Royer Lopez Nuñez
 
11 estructuras de repeticion-tema11
11 estructuras de repeticion-tema1111 estructuras de repeticion-tema11
11 estructuras de repeticion-tema11Elba Sepúlveda
 
Diagrama de Flujo y Pseudocodigo.pptx
Diagrama de Flujo y Pseudocodigo.pptxDiagrama de Flujo y Pseudocodigo.pptx
Diagrama de Flujo y Pseudocodigo.pptxNaidalyRincn
 
programacion estructurada
programacion estructuradaprogramacion estructurada
programacion estructuradaToMMy549133
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoJosé Antonio Sandoval Acosta
 

Similar to Ciclos Java - NetsBeans - Algoritmia (20)

FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
FUNDAMENTOS DE LA PROGRAMACION ( I Bimestre Abril Agosto 2011)
 
5.instrucciones de control en java parte2
5.instrucciones de control en java parte25.instrucciones de control en java parte2
5.instrucciones de control en java parte2
 
Guia 2nd o & 3er
Guia 2nd o & 3erGuia 2nd o & 3er
Guia 2nd o & 3er
 
Sesión 09 Fund Programación
Sesión 09 Fund ProgramaciónSesión 09 Fund Programación
Sesión 09 Fund Programación
 
ESTRUCTURAS CONDICIONALES PARA. PSEINT
ESTRUCTURAS CONDICIONALES PARA. PSEINTESTRUCTURAS CONDICIONALES PARA. PSEINT
ESTRUCTURAS CONDICIONALES PARA. PSEINT
 
Lenguaje C_Curso Secap
Lenguaje C_Curso SecapLenguaje C_Curso Secap
Lenguaje C_Curso Secap
 
PBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdfPBD_EST_DO_WHILE_1ROS.pdf
PBD_EST_DO_WHILE_1ROS.pdf
 
5.instrucciones de control en c++ parte 2
5.instrucciones de control en c++  parte 25.instrucciones de control en c++  parte 2
5.instrucciones de control en c++ parte 2
 
Echenique objeto digital 2
Echenique objeto digital 2Echenique objeto digital 2
Echenique objeto digital 2
 
Práctica N°3.pdf
Práctica N°3.pdfPráctica N°3.pdf
Práctica N°3.pdf
 
CLASE 11 - PRINCIPIOS DE ALGORITMOS - GÁLVEZ-1.pdf
CLASE 11 - PRINCIPIOS DE ALGORITMOS - GÁLVEZ-1.pdfCLASE 11 - PRINCIPIOS DE ALGORITMOS - GÁLVEZ-1.pdf
CLASE 11 - PRINCIPIOS DE ALGORITMOS - GÁLVEZ-1.pdf
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Estructuras iterativas
Estructuras iterativasEstructuras iterativas
Estructuras iterativas
 
Estructuras repetitivas (bloques de instrucciones)
Estructuras repetitivas (bloques de instrucciones)Estructuras repetitivas (bloques de instrucciones)
Estructuras repetitivas (bloques de instrucciones)
 
11 estructuras de repeticion-tema11
11 estructuras de repeticion-tema1111 estructuras de repeticion-tema11
11 estructuras de repeticion-tema11
 
Diagrama de Flujo y Pseudocodigo.pptx
Diagrama de Flujo y Pseudocodigo.pptxDiagrama de Flujo y Pseudocodigo.pptx
Diagrama de Flujo y Pseudocodigo.pptx
 
programacion estructurada
programacion estructuradaprogramacion estructurada
programacion estructurada
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de Flujo
 

More from Daniel Gómez

Distribuciones de Probabilidad (Variable Aleatoria Continua)
Distribuciones de Probabilidad (Variable Aleatoria Continua)Distribuciones de Probabilidad (Variable Aleatoria Continua)
Distribuciones de Probabilidad (Variable Aleatoria Continua)Daniel Gómez
 
Distribución Probabilidad (Variable Aleatoria Discreta)
Distribución Probabilidad (Variable Aleatoria Discreta)Distribución Probabilidad (Variable Aleatoria Discreta)
Distribución Probabilidad (Variable Aleatoria Discreta)Daniel Gómez
 
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...Daniel Gómez
 
Coagulación - Floculación - Sedimentación Lixiviados
Coagulación - Floculación - Sedimentación LixiviadosCoagulación - Floculación - Sedimentación Lixiviados
Coagulación - Floculación - Sedimentación LixiviadosDaniel Gómez
 
Tratamiento Lixiviados por Coagulación-Floculación-Sedimentación
Tratamiento Lixiviados por Coagulación-Floculación-SedimentaciónTratamiento Lixiviados por Coagulación-Floculación-Sedimentación
Tratamiento Lixiviados por Coagulación-Floculación-SedimentaciónDaniel Gómez
 

More from Daniel Gómez (8)

Distribuciones de Probabilidad (Variable Aleatoria Continua)
Distribuciones de Probabilidad (Variable Aleatoria Continua)Distribuciones de Probabilidad (Variable Aleatoria Continua)
Distribuciones de Probabilidad (Variable Aleatoria Continua)
 
Distribución Probabilidad (Variable Aleatoria Discreta)
Distribución Probabilidad (Variable Aleatoria Discreta)Distribución Probabilidad (Variable Aleatoria Discreta)
Distribución Probabilidad (Variable Aleatoria Discreta)
 
Probabilidad
Probabilidad Probabilidad
Probabilidad
 
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...
 
Coagulación - Floculación - Sedimentación Lixiviados
Coagulación - Floculación - Sedimentación LixiviadosCoagulación - Floculación - Sedimentación Lixiviados
Coagulación - Floculación - Sedimentación Lixiviados
 
Carbohidratos
CarbohidratosCarbohidratos
Carbohidratos
 
Carbo3
Carbo3Carbo3
Carbo3
 
Tratamiento Lixiviados por Coagulación-Floculación-Sedimentación
Tratamiento Lixiviados por Coagulación-Floculación-SedimentaciónTratamiento Lixiviados por Coagulación-Floculación-Sedimentación
Tratamiento Lixiviados por Coagulación-Floculación-Sedimentación
 

Ciclos Java - NetsBeans - Algoritmia

  • 2. Contenido  Estructuras de Repetición       For Ciclos anidados Contadores y acumuladores While Do-while Ejercicios EISC Universidad del Valle Slide 2
  • 3. Estructuras de Repetición  Ejercicio: Suponga que debe mostrar los números del 1 a 100 en ventanas separadas en una aplicación Java. EISC Universidad del Valle Slide 3
  • 4. Estructuras de Repetición Ejercicio: Suponga que debe mostrar los números del 1 a 100 en ventanas separadas en una aplicación Java. Se podría hacer con el siguiente método: public static void listarNumeros() { JOptionPane.showMessageDialog (null, “El número es: ” + 1); JOptionPane.showMessageDialog (null, “El número es: ” + 2); JOptionPane.showMessageDialog (null, “El número es: ” + 3); JOptionPane.showMessageDialog (null, “El número es: ” + 4); …… JOptionPane.showMessageDialog( null, “El número es: ” + 100); } Y si nos piden listar del 1 al 5000? EISC Universidad del Valle Slide 4
  • 5. Estructuras de Repetición Son un grupo de instrucciones que permite la ejecución repetitiva de otro grupo de instrucciones. Hay una variable asociada al ciclo o estructura de repetición que controla el número de veces que se repetirán las instrucciones. Existen 3 estructuras de repetición: for while do-while EISC Universidad del Valle Slide 5
  • 6. Estructuras de Repetición Problema: Desarrollar una aplicación Java que solicite un número y muestre los números desde el 1 hasta el número solicitado. 1. Análisis del problema Entradas: ?? Salidas: ?? Proceso:?? EISC Universidad del Valle Slide 6
  • 7. Estructuras de Repetición Problema: Desarrollar una aplicación Java que solicite un número y muestre los números desde el 1 hasta el número solicitado. 1. Análisis del problema Entradas: n Salidas: ?? Proceso:?? EISC Universidad del Valle Slide 7
  • 8. Estructuras de Repetición Problema: Desarrollar una aplicación Java que solicite un número y muestre los números desde el 1 hasta el número solicitado. 1. Análisis del problema Entradas: n Salidas: imprimir (número 1) imprimir (número 2) . . imprimir (número n) Proceso:?? EISC Universidad del Valle Slide 8
  • 9. Estructuras de Repetición Problema: Desarrollar una aplicación Java que solicite un número y muestre los números desde el 1 hasta el número solicitado. 1. Análisis del problema Entradas: n Salidas: imprimir (número 1) imprimir (número 2) . . imprimir (número n) Proceso: desde 1 hasta n EISC Universidad del Valle Slide 9
  • 10. Estructuras de Repetición Problema: Desarrollar una aplicación Java que solicite un número y muestre los números desde el 1 hasta el número solicitado. 1. Análisis del problema Entradas: n Salidas: imprimir (número 1) imprimir (número 2) . . imprimir (número n) Proceso: desde 1 hasta n Imprimir 1,2,3,.....n EISC Universidad del Valle Slide 10
  • 11. Estructuras de Repetición Problema: Desarrollar una aplicación Java que solicite un número y muestre los números desde el 1 hasta el número solicitado. 2. Diseñar el algoritmo y escribirlo en pseudocódigo Inicio n: entero leer (n) ??? Fin EISC Universidad del Valle Slide 11
  • 12. Estructuras de Repetición Problema: Desarrollar una aplicación Java que solicite un número y muestre los números desde el 1 hasta el número solicitado. 2. Diseñar el algoritmo y escribirlo en pseudocódigo 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
  • 13. Estructuras de Repetición Problema: Desarrollar una aplicación Java que solicite un número y muestre los números desde el 1 hasta el número solicitado. 3. Codificar el algoritmo usando algún lenguaje de programación pseudocódigo Java Desde i = 1; Mientras i <= n; incrementar i en 1 Imprimir (i) Fin_desde EISC Universidad del Valle Slide 13
  • 14. Estructuras de Repetición Problema: Desarrollar una aplicación Java que solicite un número y muestre los números desde el 1 hasta el número solicitado. 3. Codificar el algoritmo usando algún lenguaje de programación pseudocódigo Java Estructura Desde i = 1; Mientras i <= n; incrementar i en 1 De Repetición Imprimir (i) for Fin_desde EISC Universidad del Valle Slide 14
  • 15. Estructuras de Repetición Se usa para repetir una instrucción o un conjunto de instrucciones, Desde un inicio, Mientras una condición se cumpla y con un incremento o decremento. Un ciclo for tiene tres partes: Expresión de inicio, Expresión de condición y Expresión de incremento/decremento. Desde i = 1; Mientras i <= n; incrementar i en 1 Imprimir (i) Fin_desde EISC Universidad del Valle Slide 15
  • 16. Estructuras de Repetición . Estructura de la instrucción 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 for (inicio; prueba; actualización) { //Instrucciones a Repetir‫‏‬ } EISC Universidad del Valle Slide 16
  • 17. Estructura For Pseudocódigo Java Desde inicio mientras condición incrementando en incremento Haga instrucción 1 instrucción 2 ……. Fin desde for ( inicio; condición; incre/decremento) { instrucción 1; instrucción 2; …… } Expresión de inicio Expresión de condición (o prueba) Expresión de incremento/decremento EISC Universidad del Valle Slide 17
  • 18. Estructura for Pseudocódigo Java Desde inicio mientras condición incrementando en incremento Haga instrucción 1 instrucción 2 ……. Fin desde for( inicio; condición; incre/decremento) { instrucción 1; instrucción 2; …… } Expresión de inicio Expresión de condición Expresión de incremento/decremento (o prueba) EISC Universidad del Valle Slide 18
  • 19. Estructura for Pseudocódigo Java Desde inicio mientras condición incrementando en incremento Haga instrucción 1 instrucción 2 ……. Fin desde for ( inicio; condición; incre/decremento) { instrucción 1; instrucción 2; …… } Expresión de inicio Expresión de condición Expresión de incremento/decremento EISC Universidad del Valle Slide 19
  • 20. Estructura for Funcionamiento: for ( inicio; condición; incre/decremento){ instrucciones; } Expresión de Inicio: Es una expresión que permite dar un valor inicial a la variable de control del ciclo. Variable de control: Es la variable que se utiliza para contar la cantidad de iteraciones realizadas y es usada en la condición que determina el límite de repeticiones a realizar. Ejemplos: i=1 k=m j=(y*8) i, k , j en cada caso será la variable de control del ciclo. EISC Universidad del Valle Slide 20
  • 21. Estructura for Funcionamiento: for ( inicio; condición; incre/decremento){ instruciones; } Expresión de Condición: Es una condición que se evalúa antes de realizar el bloque de instrucciones en el ciclo. Esta prueba condiciona la cantidad de veces que se va a realizar el ciclo, para determinar cuando se termina su ejecución. i, k , j en cada caso será la Ejemplos: variable de control del ciclo. i<=5 k>total j!=(z%7) EISC Universidad del Valle Slide 21
  • 22. Estructura for Funcionamiento: for ( inicio; condición; incre/decremento){ instruciones; } Expresión de Incre/Decremento: Es una expresión usada para incrementar o decrementar (actualizar) el valor de la variable de control del ciclo. Ejemplos: i++ k= k + 2 J-- EISC Universidad del Valle Slide 22
  • 23. Estructura for  Ejemplo: public static void listarNumeros(){ for (int i =1 ; i<=5; i++) { JOptionPane.showMessageDialog (null, “ Número: ” + i ); } } EISC Universidad del Valle Slide 23
  • 24. Estructura for  Ejemplo: public static void listarNumeros(){ for (int i =1 ; i<=5; i++) { JOptionPane.showMessageDialog (null, “ Número: ” + i ); } } Valor de i Número Iteración Salida 1 1 “Número 1” 2 2 “Número 2” 3 3 “Número 3” 4 4 “Número 4” 5 5 “Número 5” 6 Se interrumpe EISC Universidad del Valle Slide 24
  • 25. Estructura for  Ejemplo: public static void listarNumeros(){ for (int i =1 ; i<=5; i++) { JOptionPane.showMessageDialog (null, “ Número: ” + i ); } } Valor de i Número Iteración Salida 1 1 “Número 1” 2 2 “Número 2” 3 3 “Número 3” 4 4 “Número 4” En el ejemplo, la instrucción: 5 5 “Número 5” se ejecuta 5 veces. 6 Se interrumpe El número de iteraciones indica la cantidad de veces que se repite la(s) instrucción(es) que estén en el cuerpo del ciclo. JOptionPane.showMessageDialog(…) EISC Universidad del Valle Slide 25
  • 26. Estructura for  Ejemplo: public static void listarNumeros(){ for (int k =18 ; k>10; k = k - 2) { JOptionPane.showMessageDialog (null, “ Número: ” + k ); } }  Cuantas veces se ejecutará la instrucción: JOptionPane.showMessageDialog (null, “ Número: ” + k ); EISC Universidad del Valle Slide 26
  • 27. Estructura for  Ejemplo: public void listarNumeros(){ for(int k =18 ; k>10; k = k - 2) { JOptionPane.showMessageDialog (null, “ Número: ” + k ); } } Valor de i Número Iteración Salida 18 1 “Número 18” 16 2 “Número 16” 14 3 “Número 14” 12 4 “Número 12” 10 Se interrumpe La instrucción: JOptionPane.showMessageDialog (…) se ejecuta 4 veces EISC Universidad del Valle Slide 27
  • 28. Estructura for  Ejemplo: public void muestraAlgo1( ){ int i=0; for ( i=3; i<=30; i++ ) { if ((i % 10) == 3) { JOptionPane.showMessageDialog(null ,“El valor de i es " + i); } } }  Cuantas veces se ejecutará la instrucción: JOptionPane.showMessageDialog(null ,“El valor de i es " + i); EISC Universidad del Valle Slide 28
  • 29. Estructura for  Ejemplo: public void muestraAlgo1( ){ int i=0; for ( i=3; i<=30; i++ ) { if ((i % 10) == 3) { JOptionPane.showMessageDialog(null ,“El valor de I es " + i); } } } Valor de i Nro Iteración Salida 3 1 “El valor de I es” 3 4,5,6,7,8,9,10, 11,12,13 2,3,4,5,6,7,8,9, 10,11 “El valor de I es” 13 14,15,16,17,18, 19,20,21,22,23 12,13,14,15,16, 17,18,19,20,21 “El valor de I es” 23 24,25,26,27,28, 29,30 22,23,24,25,26, 27,28 Se interrumpe La instrucción: JOptionPane.showMessageDialog (…) se ejecuta 3 veces EISC Universidad del Valle Slide 29
  • 30. Estructura for  Ejemplo: public void muestraAlgo2( ){ for ( int j=0; j<=100; j++ ) { if ((j % 3) == 0) { JOptionPane.showMessageDialog(null ,“El valor de J es " + j);} else{ JOptionPane.showMessageDialog(null ,+ j+“ NO es ..." );} } }  Que debo completar en el mensaje “ NO es ...“ ? JOptionPane.showMessageDialog(null ,+ j+“ NO es ..." ); EISC Universidad del Valle Slide 30
  • 31. 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
  • 32. Estructura for Una vez el ciclo se interrumpe se ejecuta la instrucción ubicada después 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
  • 33. Estructura for Una vez el ciclo se interrumpe se ejecuta la instrucción ubicada después 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 instrucción 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
  • 34. Estructura for  Ejercicio 1: Desarrollar un programa Java que pregunte al usuario el número 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
  • 35. Estructuras de Repetición Problema: Desarrollar un programa Java que pregunte al usuario el número 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. Análisis del problema Entradas: numeroEstudiantes, nombreEstudiante, Salidas: listadoEstudiantes Proceso:?? EISC Universidad del Valle Slide 35
  • 36. Estructuras de Repetición Problema: Desarrollar un programa Java que pregunte al usuario el número de estudiantes de un curso, luego pregunte el nombre de cada uno de ellos. Finalmente, se debe mostrar un listado con todos los estudiantes numeroEstudiantes nombreEstudiantes Desde x=1 mientras x<=numeroEstudiantes incrementando en x = x +1 Haga leer(nombreEstudiante) listadoEstudiantes = listadoEstudiantes + nombreEstudiante Fin Desde listadoEstudiantes EISC Universidad del Valle Slide 36
  • 37. Estructuras de Repetición Problema: Desarrollar un programa Java que pregunte al usuario el número 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. Análisis 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 37
  • 38. Estructura for  Ejercicio 1: Inicio numeroEstudiantes: entero listadoEstudiantes: texto nombreEstudiante: texto 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 38
  • 39. Estructura for  Ejercicio 1: public class Asignatura { public static void main (String arg[]) { int numEstudiantes; String listadoEstudiantes= “”; String nombreEstudiante; numEstudiantes= Integer.parseInt(JOptionPane.showInputDialog("Ingrese el número de Estudiantes:")); for (int x = 1; x <= numEstudiantes; x++){ nombreEstudiante = JOptionPane.showInputDialog(“Nombre No: “+x); listadoEstudiantes = listadoEstudiantes + "nEstudiante No: "+ x + " : "+ nombreEstudiante; } JOptionPane.showMessageDialog(null, listadoEstudiantes ); } } EISC Universidad del Valle Slide 39
  • 40. Estructura for – Ciclos Anidados  Ejemplo: Suponga que se desea crear un programa en Java que permita imprimir en pantalla el factorial de cada número existente en la serie 1 a n, siendo n un número 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 instrucción 1 instrucción 2 … Fin Desde instrucción 3 instrucción 4 Fin Desde NOTA: Usamos la condición n<=20 con fines académicos y evitar resultados con números exageradamente grandes. EISC Universidad del Valle Slide 40
  • 41. Estructura for – Ciclos Anidados Un ciclo anidado es un ciclo, de cualquier tipo, que contiene otro ciclo de cualquier tipo. 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 número 5 el sistema debe recorrer la serie 1 a 5, y para cada número 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 número n es la multiplicación de todos los números 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
  • 42. Estructura for – Ciclos Anidados Inicio factorial, n: entero respuesta: texto leer(n) SI n <= 20 Entonces 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 imprima(respuesta) SINO imprima(“Ha digitado un numero superior a 20”) Fin EISC Universidad del Valle Slide 42
  • 43. Estructura for – Ciclos Anidados Inicio factorial,n: entero respuesta: texto leer(n) SI n<= 20 El ciclo principal, basado en la variable de control i, contiene un ciclo anidado basado en la variable de control j. 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 imprima(respuesta) SINO imprima(“Ha digitado un numero superior a 20”) Fin EISC Universidad del Valle Slide 43
  • 44. Estructura for – Ciclos Anidados public class Factorial { public static void main(String arg[]){ int n, factorial; String respuesta = ""; n = Integer.parseInt(JOptionPane.showInputDialog("Ingrese n:")); if(n<=20){ for (int i = 1; i <= n; i++){ factorial=1; for (int j = 1; j <= i; j++){ factorial=factorial*j; } respuesta = respuesta + "n El Factorial de " + i + "es: " + factorial; } JOptionPane.showMessageDialog(null,respuesta); }else{ JOptionPane.showMessageDialog(null,"Ha digitado un número superior a 20"); } } } EISC Universidad del Valle Slide 44
  • 45. Estructura for – Ciclos Anidados  Ejercicio 2: Desarrollar un programa java que permita generar y visualizar la siguiente figura:  Tenga en cuenta que el usuario ingresa al programa el número de líneas que debe tener la figura (En el ejemplo hay 7 filas). EISC Universidad del Valle Slide 45
  • 46. Estructura for – Ciclos Anidados  Ejercicio 2: crearFigura(numeroFilas : entero) Inicio triangulo = “” : texto 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 Desde imprimir(triangulo) Fin EISC Universidad del Valle Slide 46
  • 47. Estructura for – Ciclos Anidados  Ejercicio 2: EISC Universidad del Valle Slide 47
  • 48. Estructura For – Ciclos Anidados  Ejercicio 2: EISC Universidad del Valle Slide 48
  • 49. Estructura for - Contadores Los contadores son variables utilizadas para realizar, como su nombre lo indica, conteos de la cantidad de veces que se cumple una situación específica. Como su objetivo principal es contar, deben ser de tipo entero y normalmente se inicializan en cero. Los contadores y los acumuladores pueden ser usados en cualquier tipo de ciclos. EISC Universidad del Valle Slide 49
  • 50. Estructura for - Contadores  Ejemplo: Suponga que se desea crear un programa en Java que permita imprimir en pantalla la cantidad de números múltiplos de 3 que se encuentran en la serie 1 a n, siendo n un número digitado por un usuario. EISC Universidad del Valle Slide 50
  • 51. Estructura for - Contadores  Ejemplo: Suponga que se desea crear un programa en Java que permita imprimir en pantalla la cantidad de números múltiplos de 3 que se encuentran en la serie 1 a n, siendo n un número 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 imprimir(contador); Fin EISC Universidad del Valle Slide 51
  • 52. Estructura for - Contadores  Ejemplo: Suponga que se desea crear un programa en Java que permita imprimir en pantalla la cantidad de números múltiplos de 3 que se encuentran en la serie 1 a n, siendo n un número 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 imprimir(contador) Fin EISC Universidad del Valle Slide 52
  • 53. Estructura for - Contadores  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 53
  • 54. Estructura for - Contadores  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 + " múltiplos de 3"); System.exit(0); } EISC Universidad del Valle Slide 54
  • 55. Estructura for - Contadores  Ejemplo: public static void main (String arg[]) { int contador=0; leerN (); for (int i = 1; i <= n; i++){ if (esMultiploDeTres(i)){ contador++; } } La variable contador se incrementa en 1 cada vez que el método esMultiploDeTres retorna true (cierto) para el número i JOptionPane.showMessageDialog(null,"En la serie 1 a "+ n+ " hay " + contador + " múltiplos de 3"); System.exit(0); } EISC Universidad del Valle Slide 55
  • 56. Estructura for - Acumuladores Los acumuladores son variables utilizadas para ir almacenando (acumulando) el resultado de una operación. Pueden ser de tipo numérico (entero o real) en las cuales acumula el resultado de operaciones matemáticas, o de tipo cadena en las cuales se concatenan frases o palabras. En el ejemplo del factorial se pueden observar las variables factorial y respuesta las cuales actúan como acumuladores numéricos y de cadena respectivamente. EISC Universidad del Valle Slide 56
  • 57. Estructura For - Acumuladores … public static void calcularFactorial(int n) { La variable factorial va int factorial = 1; acumulando el valor de la String respuesta=""; multiplicación 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 iteración 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 Universidad del Valle Slide 57
  • 58. Ejercicios Estructura for 1. Diseñe un algoritmo que permita detectar los números pares existentes en una serie de 1 a n, siendo n un número digitado por un usuario. 2. Diseñe un algoritmo que permita obtener la suma de todos los números enteros existentes en una serie de 1 a n y la cantidad de números pares encontrados, siendo n un número digitado por un usuario. Use un ciclo for en su diseño. 3. Suponga que se desea saber la nota promedio del curso de algoritmia, diseñe un algoritmo que solicite la cantidad de estudiantes del curso y el promedio de cada estudiante. NOTA: Para cada ejercicio realice su respectiva implementación en Java EISC Universidad del Valle Slide 58
  • 59. Ejercicios Estructura for 4. Suponga que el calculo de la pensión de una persona se realiza de la siguiente manera: por cada año de servicio se paga $80 si el empleado ingresó en o después de 1995 y $100 si ingresó antes, dicho valor (80 o 100) se multiplica por el número de cada año más la edad que tenía en el año (ej. (100*1994+32)+(100*1995+33)+…), el descuento de seguridad social salud es del 12%. El programa debe recibir el año de ingreso y la edad del empleado en el año de ingreso, devolver el sueldo o mesada bruta, la mesada neta y el valor del descuento por salud. Ejemplo: Para una persona que ingresó en el 2009 y que tenía 44 años en dicho año, su mesada o sueldo bruto para el 2011 es $482.535, el descuento por salud es $57.904 y por lo tanto su sueldo o mesada neta es $424.630. NOTA: Realice la respectiva implementación en Java. EISC Universidad del Valle Slide 59
  • 60. Ejercicios Estructura for 5. Escribir una aplicación que permita: generar los números enteros impares entre a y b 6. Crear una aplicación que permita: • Generar los números pares entre p y q • Generar los primeros z múltiplos de 3 • Generar la suma de m primeros múltiplos de 7 más los n primeros múltiplos de 9 NOTA: Realice la respectiva implementación en Java. EISC Universidad del Valle Slide 60
  • 61. Estructura while   Evalúa una condición dada para determinar si repite un conjunto de instrucciones. Si la condición es verdadera se repiten las instrucciones. Observe que el primer paso es validar la condición y luego se ejecutan las instrucciones (en caso de que la condición cumpla). Pseudocódigo Java Mientras condición Haga instrucción 1 instrucción 2 ……. Fin mientras while( condicion) { instrucción 1; instrucción 2; …… } EISC Universidad del Valle Slide 61
  • 62. Estructura while Debe existir una variable de control del ciclo La variable de control se inicializa antes del ciclo Iniciar condiciones; while (condiciones)‫‏‬ { // Instrucciones a repetir } La variable de control se compara contra el valor final La variable debe actualizarse dentro de cada ciclo EISC Universidad del Valle Slide 62
  • 63. Estructura while  Ejemplo: int a=5, b=7, c=3; while (a < b){ c = c *2; a = a + 1; } EISC Universidad del Valle Slide 63
  • 64. Estructura while  Ejemplo: int a=5, b=7, c=3; while (a < b){ c = c *2; a = a + 1; } Número Iteración Valor variable Valor variable a c 0 5 3 1 6 6 2 7 12 Se interrumpe EISC Universidad del Valle Slide 64
  • 65. Estructura while  Ejemplo: int a=9, b=7, c=3; while (a < b){ c = c *2; a = a + 1; Número Iteración 0 Valor variable Valor variable a c 9 3 Se interrumpe }  Si la primera vez la condición del ciclo while no se cumple, no se ejecuta ninguna instrucción. EISC Universidad del Valle Slide 65
  • 66. 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 validación.  Ciclo do-while: Realiza un bloque de instrucciones y después evalúa la condición para determinar si repite el bloque o no. Pseudocódigo Haga instrucción 1 instrucción 2 ……. Mientras condición Java do { instrucción 1; instrucción 2; …… } while(condicion); EISC Universidad del Valle Slide 66
  • 67. Estructura do-while Debe existir una variable de control del ciclo La variable de control se inicializa antes del ciclo Iniciar condiciones; do‫{‏‬ La variable de control debe actualizarse dentro de cada ciclo //Instrucciones a repetir } while (condiciones) La variable de control se compara contra el valor final EISC Universidad del Valle Slide 67
  • 68. Estructura do-while  Ejemplo: int a=5, b=7, c=3; do { c = c *2; a = a + 1; } while (a<b); EISC Universidad del Valle Slide 68
  • 69. Estructura do-while  Ejemplo: int a=5, b=7, c=3; do { c = c *2; a = a + 1; } while (a<b); Valor variable a Valor variable c 0 5 3 1 6 6 2 7 12 Número Iteración Se interrumpe EISC Universidad del Valle Slide 69
  • 70. Estructura do-while  Observe que la primera vez se ejecutan las instrucciones aunque la condición del ciclo no sea válida. Por ejemplo: int a=9, b=7, c=3; do { c = c *2; a = a + 1; } while (a < b); EISC Universidad del Valle Slide 70
  • 71. Estructura do-while  Observe que la primera vez se ejecutan las instrucciones aunque la condición del ciclo no sea válida. Por ejemplo: int a=9, b=7, c=3; do { c = c *2; a = a + 1; } while (a < b); Número Iteración Valor variable a Valor variable c 0 9 3 1 10 6 Se interrumpe EISC Universidad del Valle Slide 71
  • 72. Ejercicio Estructura while  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 72
  • 73. Ejercicio Estructura while  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 : real) { real def = 0 def = p1*0.3+p2*0.35+ la*0.25+ta*0.1 retornar def } // Fin del método calculaDefinitiva EISC Universidad del Valle Slide 73
  • 74. Ejercicio Estructura while   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: real) { real def = 0 def = p1*0.3+p2*0.35+ la*0.25+ta*0.1; retornar def } // Fin del método calculaDefinitiva p1 p2 lab tra 3,2 2,4 4,4 3,0 def = 3,2 EISC Universidad del Valle Slide 74
  • 75. Ejercicio Estructura while   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: texto par1, par2, lab, tar: real nEst, j = 1: entero 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 75
  • 76. Ejercicio Estructura while   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; double par1, par2, lab, tar; int nEst, j= 1; nEs=Integer.parseInt(JOptionPane.showInputDialog (“Numero de Estudiantes:")); 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++; } Inicio nomb: texto par1, par2, lab, tar: real nEst, j = 1: entero 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 76
  • 77. Ejercicio Estructura while  Ejercicio: Para ingresar al curso de Producción Cinematográfica se realizó un prueba clasificatoria. Se tiene los resultados de dicho examen por aspirante (una nota comprendida entre 0.0 y 5.0) y se desea saber cuántos aspirantes aprobaron el examen, cuántos lo perdieron (nota menor que 3.0) y cuál fue el promedio de todo el grupo de aspirantes. No sabemos cuántos aspirantes son, pero sabemos que cuando se quiera indicar que se finalizó el ingreso de notas se digitará un valor negativo. EISC Universidad del Valle Slide 77
  • 78. Ejercicio Estructura while void determinarEstadisticasSegunNotas() Inicio nota, promedioCalificaiones: real numAprobados, numReprobados : entero leer(nota) Mientras nota>=0 Haga Si (nota<=5 ){ Si (nota>=3 ){ numAprobados = numAprobados +1 } sino{ numReprobados = numReprobados + 1 } promedioCalificaciones = promedioCalificaciones + nota } leer(nota) Fin mientras promedioCalificaciones = promedioCalificaciones / (numAprobados + numReprobados) imprimir(numAprobados, numReprobados, promedioCalificaciones) Fin EISC Universidad del Valle Slide 78
  • 79. Ejercicio Estructura while public class NotasAsignatura { static int numAprobados,numReprobados; static double promedioCalificaciones; public static void determinarEstadisticasSegunNotas() { numAprobados =0; numReprobados =0; promedioCalificaciones=0.0; double nota= Double.parseDouble(JOptionPane.showInputDialog(“Digite la nota:")); while (nota>=0.0){ if(nota<=5){ if(nota>=3){ numAprobados = numAprobados +1; } else{ numReprobados = numReprobados +1; } promedioCalificaciones = promedioCalificaciones + nota; } nota= Double.parseDouble(JOptionPane.showInputDialog(“Digite la nota:")); } promedioCalificaciones = promedioCalificaciones / (numAprobados + numReprobados ); JOptionPane.showMessageDialog(null, “Aspirantes aprobados :”+ numAprobados + “n Aspirantes reprobados :”+ numReprobados + “n Promedio notas :”+ promedioCalificaciones ); EISC } Universidad del Valle Slide 79
  • 80. Ejercicio Estructura while public static void main (String arg[]) { determinarEstadisticasSegunNotas(); System.exit(0); } } EISC Universidad del Valle Slide 80
  • 81. Ejercicio Estructura do-while  Ejercicio: Realice el ejercicio anterior (sobre el calculo de estadísticas para el ingreso al curso de Producción Cinematográfica) utilizando el ciclo do-while. EISC Universidad del Valle Slide 81
  • 82. Ejercicio Estructura do-while Ejercicio: Algoritmos del programa Curso Cinematografía. void determinarEstadisticasSegunNotas() Inicio numAprobados, numReprobados : entero nota, promedioCalificaciones : real Haga leer(nota) Si (nota>=0 && nota <=5){ Si (nota>=3) { numAprobados = numsAprobados +1 } Sino { numReprobados = numReprobados + 1 } promedioCalificaciones = promedioCalificaciones + nota } Mientras (nota>=0); promedioCalificaciones = promedioCalificaciones / (numAprobados + numReprobados ) imprimir(numAprobados, numReprobados, promedioCalificaciones) Fin EISC Universidad del Valle Slide 82
  • 83. Ejercicio Estructura do-while public static void determinarEstadisticasSegunNotas() { numAprobados =0; double nota; numReprobados =0; promedioCalificaciones=0.0; do{ nota= Double.parseDouble(JOptionPane.showInputDialog(“Digite la nota:")); if(nota>=0.0 && nota <=5){ if(nota>=3.0){ numAprobados = numAprobados +1; } else { numReprobados = numReprobados +1; } promedioCalificaciones = promedioCalificaciones + nota; } } while (nota>=0.0); … EISC Universidad del Valle Slide 83
  • 84. Estructuras de Repetición Importante: En cualquiera de las estructuras de repetición implementadas en Java, se puede detener el ciclo usando la instrucción break o detener una iteración utilizando la instrucción continue. Normalmente se usan las instrucciones break o continue cuando se ha cumplido una condición 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 iteración pasando a la siguiente. EISC Universidad del Valle Slide 84
  • 85. Estructuras de Repetición Importante: Cualquiera de los ejercicios mostrados en esta presentación pueden ser implementados sin la necesidad de crear métodos (dentro del método main). EISC Universidad del Valle Slide 85
  • 86. Ejercicios Estructuras while y do-while 1. Diseñe un algoritmo que reciba números digitados por el usuario y los imprima en pantalla, el programa debe terminar cuando el usuario digite un número negativo. 2. Diseñe un algoritmo que reciba números digitados por el usuario y al final imprima la suma de los números digitados, el programa debe terminar cuando el usuario digite 0 (cero). 3. Cree un algoritmo que permita digitar palabras y al final imprima la concatenación de las palabras digitadas, el programa debe terminar cuando el usuario digite la palabra “terminar”. NOTA: Para cada ejercicio realice su respectiva implementación en Java, use la estructura que le parezca más conveniente (while o do-while) EISC Universidad del Valle Slide 86
  • 87. Ejercicios Estructuras while y do-while 4. Suponga que el cálculo de la pensión de una persona se realiza de la siguiente manera: por cada año de servicio se paga $80 si el empleado ingresó en o después de 1995 y $100 si ingresó antes, dicho valor (80 o 100) se multiplica por el número de cada año más la edad que tenía en el año (ej (100*1994+32)+(100*1995+33)+…), el descuento de seguridad social en salud es del 12%. El programa debe recibir el año de ingreso y la edad del empleado en el año de ingreso, devolver el sueldo o mesada bruta, la mesada neta y el valor del descuento por salud. Ejemplo: Para una persona que ingresó en el 2009 y que tenía 44 años en dicho año, su mesada o sueldo bruto para el 2011 es $482.535, el descuento por salud es $57.904 y por lo tanto su sueldo o mesada neta es $424.630. NOTA: Realice la respectiva implementación en Java. EISC Universidad del Valle Slide 87
  • 88. Ejercicios Estructuras while y do-while Suponga que el administrador de una tienda desea calcular el total de ventas del día, para ello debe registrar el nombre del producto, el valor del producto y la cantidad de unidades vendidas. Al final el sistema debe mostrar la lista de productos digitados, el total de ventas por cada producto, el total de ventas del día y el valor global cobrado por concepto del IVA. El administrador puede registrar productos hasta que él decida que ha terminado para lo cual digita un dato negativo. NOTA: Realice la respectiva implementación en Java. EISC Universidad del Valle Slide 88
  • 89. Ejercicio Estructura while 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%). Se pide calcular la nota definitiva, pero ahora NO se conoce el número de estudiantes  EISC Universidad del Valle Slide 89
  • 90. Ejercicio Estructura while  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 número de estudiantes.  Inicialmente calculamos la nota para un estudiante, conocidas sus 4 calificaciones: real calculaDefinitiva (p1, p2, lab, tra : real) { real def = 0 def = p1*0.3+p2*0.35+ la*0.25+ta*0.1 retornar def } // Fin del método calculaDefinitiva EISC Universidad del Valle Slide 90
  • 91. Ejercicio Estructura while  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 número de estudiantes.  Prueba de escritorio del algoritmo: real calculaDefinitiva (p1, p2, lab, tra: real) { real def = 0 def = p1*0.3+p2*0.35+ la*0.25+ta*0.1 retornar def } // Fin del método calculaDefinitiva p1 p2 lab tra 3,2 2,4 4,4 3,0 def = 3,2 EISC Universidad del Valle Slide 91
  • 92. Ejercicio Estructura while  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 número de estudiantes.  Ahora trabajamos en el algoritmo principal: Inicio nomb: texto par1, par2, lab, tar: real 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) leer(lab) leer(tar) mientras (nomb != “Final” ) Fin EISC Universidad del Valle Slide 92
  • 93. Ejercicio Estructura while   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 número de 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; DecimalFormat forma = new DecimalFormat ("0.00"); JTextArea miArea = new JTextArea(15,30); JScrollPane miScroll = new JScrollPane(miArea); miArea.append(“nNomb tParc1 t”+ “Parc2tLabtTareastDefin"); nomb= JOptionPane.showInputDialog(“Nombre"); // Sigue instrucción do-while … 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 93
  • 94. Ejercicio Estructura while   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 número 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 impresión del área de texto JOptionPane.showMessageDialog(null, miScroll, "Calculo de la Nota Final del Curso ", JOptionPane.INFORMATION_MESSAGE); System.exit(0); } // fin del método 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 94
  • 95. Ejercicio Estructura while   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 número de estudiantes. Probemos el programa: JTextArea Area de Texto miArea JScrollPane barra de desplazamiento miScroll EISC Universidad del Valle Slide 95
  • 96. Uso del JTextArea La instrucción JOptionPane.showMessageDialog sirve para mostrar el conjunto formado por el área de texto y el scroll JOptionPane.showMessageDialog(null, miScroll); Scroll donde se insertó el área de texto (miArea) JOptionPane.showMessageDialog(null, miScroll,"Calculo de Nota Final del Curso ", JOptionPane.INFORMATION_MESSAGE); Ventana de dialogo con el título "Calculo de Nota Final del Curso " EISC Universidad del Valle Slide 96
  • 97. Estructura de Iteración (do-while) Ejercicio: Calcular el valor del cos (X) (coseno del ángulo x), usando la serie infinita: Imprima el valor del cos (Π/2) con 8 dígitos de precisión EISC Universidad del Valle Slide 97
  • 98. Estructura de Iteración (do-while) 1. Entender el Problema Sea x = π/2 Entonces la serie será: Si tomamos 10 términos de la serie, tenemos: cos(π / 2 ) = 1  1,23370055013617 + 0,253669507901048  0,020863480763353 + 0,000919260274839426  0,0000252020423730606 + ... + -0,000000000000529440020073462 Para un valor final de la suma igual a 0.00 EISC Universidad del Valle Slide 98
  • 99. Ejercicios Estructuras de Iteración a. Generar los números enteros impares entre p y q utilizando un ciclo for b. Generar el valor de e x para los números enteros x entre p y q utilizando un ciclo do-while    Utilice la metodología de solución 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 99
  • 100. Ejercicios Estructuras de Iteración Construya una aplicación Java para los siguientes problemas: x 2 x 4 x 6 x 8 x10 (1) m x 2 m cos( x)  1       ...  2! 4! 6! 8! 10! (2m)! x 3 x 5 x 7 x 9 x11 (1) m x 2 m 1 sen( x)  x       ...  3! 5! 7! 9! 11! (2m  1)! x2 x4 x6 x8 x10 x 2m cosh( x )  1       ...  2! 4! 6! 8! 10! ( 2m)! ( x  1) 2 ( x  1) 3 ( x  1) 4 ( x  1) 5 ln( x)  ( x  1)      ... 2 3 4 5 x 3 x 5 x 7 x 9 x11 x 2 m 1 senh( x)  x       ...  3! 5! 7! 9! 11! (2m  1)! x 2 x3 x 4 x5 ( 1) n X n x e  1 x      ...  2! 3! 4! 5! n!  Utilice la metodología de solución de problemas EISC Universidad del Valle Slide 100