Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero...

29
Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitec Juan José Montero Román. [email protected] Sesión 5 - Estructuras de Repetición

Transcript of Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero...

Page 1: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Algoritmo y Estructura de Datos I 2006 - I

Facultad de Ingeniería y Arquitectura

Juan José Montero Román.

[email protected]

Sesión 5 - Estructuras de Repetición

Page 2: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Estructuras de Repetición Estructura do..while

do{ accion1;

accion2;} while(condición)

Se usa la sentencia do..while para hacer validación de entrada de datos.

Page 3: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Estructuras de Repetición Estructura do..while

Se necesita ingresar un número de 3 cifras:

int n;

do{

n= LE.leerInt(“ingrese numero de 3 cifras”);

}while ( ! (n>=100 && n<=999));

Page 4: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Estructuras de Repetición Estructura do..while

Se necesita ingresar sexo (F/M):

char sexo;

do{

sexo= LE.leerChar(“ingrese sexo [F/M]”);

}while ( sexo!=‘F’ && sexo!=‘M’));

Page 5: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Estructuras de Repetición Estructura do..while

Repetición de la ejecución del programa

public static void main(String args[]){int op;do{

// todo el programa ……//……………………….op=LE.leerInt(“Desea continuar [S=1/N=0]”);

}while ( op==1);}

Page 6: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Estructuras de Repetición Estructura while

while(condición){ accion1;

accion2;..

}

La estructura while repite una acción o un conjunto de acciones mientras sea verdadera una determinada condición, para lo cual primero verifica la condición y luego ejecuta la acción. La acción puede ser una acción simple o una acción compuesta (bloque de acciones encerradas en llaves).

Page 7: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Estructuras de Repetición Uso de contadores y acumuladores

int c=0; // contadorint suma=0; //acumulador de suma de enteros

Los contadores son variables del tipo entero cuya función es la de contar.Los acumuladores son variables que almacenan sumas o productos. El tipo de variable depende del tipo del cual se esta acumulando.Los acumuladores de suma se inicializan en cero.Los acumuladores de producto se inicializan en uno.

Page 8: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Estructuras de Repetición Uso de menú

Page 9: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Estructuras de Repetición Estructura for

for ( inicialización; condición; incremento/decremento){ accion1;

accion2;}

La estructura de repetición for contempla todos los elementos de la repetición controlada por contador (repetición en la que se conoce el número de veces que se repetirá el cuerpo del bucle) al incluir al contador como parte de la propia estructura.

Page 10: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Estructuras de Repetición Estructura lógica para el manejo de errores

try{Sentencias;

}catch(Exception e){ Sentencia para visualizar el error; //Opcional}

Page 11: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

•Exception : Cualquier tipo de error•ArithmeticException : Las excepciones aritméticas son típicamente el resultado de división por 0:•NullPointerException: Se produce cuando se intenta acceder a una variable o método antes de ser definido•ClassCastException: El intento de convertir un objeto a otra clase que no es válida.•ArrayIndexOutOfBoundsException: Es la excepción que más frecuentemente se produce. Se genera al intentar acceder a un elemento de un array más allá de los límites definidos inicialmente para ese array.•etc…

Page 12: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa que reciba 10 números enteros y determine cuanto números neutros , negativos y positivos hay

Page 13: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

package domapli;import biblioteca.*;public class Prg1 {

public static void main(String[] args) {//Declaracion de variablesint n;int c=0,npos=0,nneg=0,nneu=0; // contadores

//Ingreso de datos y Proceso de calculowhile(c<10){

n=LE.leerInt("Ingrese numero");

if(n==0)nneu++;

elseif(n<0)

nneg++;else

npos++;c++;

}//Visualizacion de resultadosLE.mostrarInformacion("Los numero neutros son: "+ nneu);LE.mostrarInformacion ("Los numero negativos son: "+ nneg);LE.mostrarInformacion ("Los numero positivos son: "+ npos);

}}

Page 14: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa que 6 notas y muestra las suma y el promedio de ellas.

Page 15: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa que lea un número y lo convierta a binario (*) El programa debe tener un menú de opciones

Page 16: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa que lea un texto y lo muestre al revés

Page 17: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un juego para adivinar el numero generado por el computador, se seguirá pidiendo el numero hasta que numero ingresado sea mayor del que genero el computador.

Page 18: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

import biblioteca.*;public class Prg3 {

public static void main(String[] args) {//Declaracion de variablesint numMaq, numHombre=0, num;//Ingreso de datosnumMaq = (int) (Math.random ()* 100);LE.mostrarInformacion("Adivina el número que pense");do{

num = Lectura.leerInt("Dame un número");numHombre += num;

} while (numMaq > numHombre);//Proceso de calculo y visualizacionif (numMaq == numHombre)

LE.mostrarInformacion ("Ganaste");else

LE.mostrarInformacion("Perdiste");LE.mostrarInformacion("El numero que pensé era: " + numMaq);

}}

Page 19: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa que reciba los datos de 5 alumnos (nombre y sexo) y muestre la cantidad de mujeres y hombres que hay . Utilice un menú de opciones.

Page 20: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa para calcular la suma e imprimir de N términos de la siguiente serie

S = 1- 2 + 3- 4 + 5- 6...........

Page 21: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

package domapli;import biblioteca.*;public class Prg5 {

public static void main(String[] args) {int n, s=0;String serie="";n=LE.leerInt("Ingrese n");for (int i=1;i<=n; i++)

if (i==1){s=s+i;serie+=i;

}else{

if(i%2==0){s=s-i;serie+="-" + i;

}else{

s=s+i;serie+="+" +i;

}}

LE.mostrarInformacion(serie);LE.mostrarInformacion ("La suma de la serie es:"+s);

}}

Page 22: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa que imprima lo siguiente

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 23: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa que lea Nombre y edad de 5 alumnos y calcule la edad promedio, así como también la mayor edad

Page 24: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa para hallar la suma de N términos de la siguiente serie:

1 + 1/32 + 1/52 + 1/72 + 1/92 +....

Page 25: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa que lea un texto y halle:

Cantidad de vocalesCantidad de consonantesCantidad de espacios en blanco

Page 26: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa que genere éste grafico

******** ** ** ********

Page 27: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

Diseñe un programa para hallar la suma de dos enteros. Utilice la estructura de manejo de errores

Page 28: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.

package domapli;import biblioteca.*;public class Prg8 {

public static void main(String[] args) {int n,d;double p=0;//Ingreso de datos

n=LE.leerInt("ingrese numerador");d=LE.leerInt("ingrese denominador");

try{p=n/d;LE.mostrarInformacion("La división es:"+ p);

}catch(ArithmeticException e){

LE.mostrarInformacion ("No se realizo la division");LE.mostrarInformacion ("Ocurrio el error :"+ e);

}}

}

Page 29: Algoritmo y Estructura de Datos I 2006 - I Facultad de Ingeniería y Arquitectura Juan José Montero Román. jmonteror@usmp.edu.pe Sesión 5 - Estructuras.