Manual Estructura de Datos FORYWHILE

10
 Estructura de Datos Luis Arias Hidalgo IDAT Tema 3: Sentencias Repetitivas - Bucles (For , While) Sentencia FOR (PARA HASTA) FOR (Para Hasta) Su sintaxis es:  for (inicialización;condición;incremento o decremento){ sentencia1; sentencia2; } El FOR necesita una variable que controle las vueltas que se da Esta variable guardara el inicio, la condición y el incremento o decremento. Ejemplo 1: for(i=0;i<=10;i++){ } En este for se esta empezando de 0 y la condicion es que mientras i sea menor o igual que 10, finalmente i se incrementara en 1 por cada vuelta que se de. (se dará 11 vueltas) Ejemplo 2: for(i=2;i<=10;i=i+2){ } En este FOR se empieza de 2 mientras que i sea menor o igual que 10, finalmente i se incrementara de 2 en 2. (se dará 5 vueltas). Ejemplo 3: For(i=10;i>0;i--){ } En este FOR se empieza de 10 mientras que i sea mayor que 0, finalmente i se decrementará en 1 (se dará 10 vueltas). - 1 -

Transcript of Manual Estructura de Datos FORYWHILE

Page 1: Manual Estructura de Datos FORYWHILE

5/14/2018 Manual Estructura de Datos FORYWHILE - slidepdf.com

http://slidepdf.com/reader/full/manual-estructura-de-datos-forywhile 1/10

Estructura de Datos Luis Arias HidalgoIDAT

Tema 3: Sentencias Repetitivas - Bucles (For , While)

Sentencia FOR (PARA HASTA)FOR (Para Hasta)

Su sintaxis es:for (inicialización;condición;incremento o decremento){

sentencia1;sentencia2;}

El FOR necesita una variable que controle las vueltas que se daEsta variable guardara el inicio, la condición y el incremento o decremento.Ejemplo 1:for(i=0;i<=10;i++){

}En este for se esta empezando de 0 y la condicion es que mientras i sea menor o igual que 10,finalmente i se incrementara en 1 por cada vuelta que se de.(se dará 11 vueltas)Ejemplo 2:for(i=2;i<=10;i=i+2){

}En este FOR se empieza de 2 mientras que i sea menor o igual que 10, finalmente i se incrementarade 2 en 2. (se dará 5 vueltas).Ejemplo 3:For(i=10;i>0;i--){

}En este FOR se empieza de 10 mientras que i sea mayor que 0, finalmente i se decrementará en 1(se dará 10 vueltas).

- 1 -

Page 2: Manual Estructura de Datos FORYWHILE

5/14/2018 Manual Estructura de Datos FORYWHILE - slidepdf.com

http://slidepdf.com/reader/full/manual-estructura-de-datos-forywhile 2/10

Estructura de Datos Luis Arias HidalgoIDATEJERCICIOS RESUELTOS

1. Haga un programa que imprima los números del 20 al -10 en orden descendente.

public class ejercicio {public static void main(String[] args) {

int i; 

for (i =20 ; i>=-10;i-- ){System.out.println(i);

}}

}

2. Escribir un programa que lea 10 números y encuentre el promedio, el máximo y el mínimo deesos valores

import java.util.Scanner;public class ejercicio {public static void main(String[] args) {

int i, n, max, min;double prom;String Num;Scanner scan = new Scanner(System.in);

System.out.print("Ingrese Numero : ");Num = scan.nextLine();n = Integer.parseInt(Num);max=n;min =n;

prom=n;

for (i =1 ; i<=9;i++ ){System.out.print("Ingrese Numero : ");Num = scan.nextLine();n = Integer.parseInt(Num);if(n<min){

min = n;}if(n>max){

max=n;}prom=prom+n;

}prom = prom/10;System.out.println("El minimo valor es : " + min);System.out.println("El máximo valor es : " + max);System.out.println("El promedio es : " + prom);

}}

- 2 -

Page 3: Manual Estructura de Datos FORYWHILE

5/14/2018 Manual Estructura de Datos FORYWHILE - slidepdf.com

http://slidepdf.com/reader/full/manual-estructura-de-datos-forywhile 3/10

Estructura de Datos Luis Arias HidalgoIDATEjercicios practicos

1.- Ingrese un número y ver la tabla de multiplicar de ese numero.

import javax.swing.JOptionPane;public class Ejer1 {

public static void main(String[] args){int Num,i;Num = Integer.parseInt(JOptionPane.showInputDialog("Ingrese Numero"));for(i=1;i<=12;i++){

System.out.println(i + " * " + Num + " = " + (i*Num));}

}}

En este ejercicio se ingresara un número y se almacenará en la variable num luego se tendrá quemultiplicar esa variable por 1,2,3,4,5,6,7,8,9,10,11,12La sentencia System.out.println(i + " * " + Num + " = " + (i*Num));Significa que primero se escribirá el valor de i luego se escribira el carácter “ * “ luego se va a escribir el valor de num luego se escribe el carácter “ = “ luego se escribe el valor de i * num. Esto se repetira

12 veces.Si el numero a ingresar es el 6 el resultado seria si:

Ejercicio 2Visualizar los números pares o impares hasta el 100 en forma ascendente o descendente.

Para eso se ingresara por teclado que clase de numero se quiere ver ‘P’ par o ‘I’ impar y tambien seingresara por teclado la forma de visualizacion si es ‘A’ ascendente y si es ‘D’ descendente.

import javax.swing.JOptionPane;public class Ejer2 {

public static void main(String[] args){String Tipo,Orden;int Num,i,valorini=0,valorfin=0;Tipo = JOptionPane.showInputDialog("Ingrese Tipo de numeros a imprimir Par[P] o Impar[I]");Orden= JOptionPane.showInputDialog("Ingrese Orden de salida Ascen[A] o Desc[D]");if(Tipo.equals("P")){

valorini=2;valorfin = 100;

}else{valorini=1;valorfin = 99;

}if(Orden.equals("A")){

for(i=valorini;i<=valorfin;i+=2){System.out.println(i);

}}else{

for(i=valorfin;i>=valorini;i-=2){

- 3 -

Page 4: Manual Estructura de Datos FORYWHILE

5/14/2018 Manual Estructura de Datos FORYWHILE - slidepdf.com

http://slidepdf.com/reader/full/manual-estructura-de-datos-forywhile 4/10

Estructura de Datos Luis Arias HidalgoIDAT

System.out.println(i);}

}}

}

Ejercicio 3: Visualizar la tabla de multiplicar de un numero x para lo cual se deberá ingresar primeroel numero que se va a multiplicar luego desde donde empieza la tabla y también hasta donde terminala tabla

import javax.swing.JOptionPane;public class eJER3 {

public static void main(String[] args){int Num,Inicio,Fin,i;Num = Integer.parseInt(JOptionPane.showInputDialog("Ingrese Numero a multiplicar"));Inicio = Integer.parseInt(JOptionPane.showInputDialog("Ingrese Inicio de la tabla"));Fin = Integer.parseInt(JOptionPane.showInputDialog("Ingrese Fin de la tabla"));for(i=Inicio;i<=Fin;i++){

System.out.println(i + " * " + Num + " = " + (i*Num));}

}}El resultado será el siguiente:

- 4 -

Page 5: Manual Estructura de Datos FORYWHILE

5/14/2018 Manual Estructura de Datos FORYWHILE - slidepdf.com

http://slidepdf.com/reader/full/manual-estructura-de-datos-forywhile 5/10

Estructura de Datos Luis Arias HidalgoIDATSentencia WHILE y DO WHILE (HACER MIENTRAS)

 Ambas sentencias son las mismas con la unica diferencia que el WHILEcontrola la condición antesde entrar en el bucle. Si ésta no se cumple, el programa no entrará en el bucle. Y el DO WHILEcontrola la condición al final del bucle. Si ésta se cumple, el programa vuelve a ejecutar lassentencias del bucle.

Sintaxis del WHILE es:

while (condición) {sentencia;

}

Esto se define Mientras que la condicion se cumpla hacer.Sintaxis del DO WHILE es:

do{sentencia1;sentencia2;

}while (condición);

Esto se define Hacer mientras que la condicion se cumpla.

Ejemplos resueltos

Ejercicio 1:Ingresar un numero de cualquier cantidad de cifras y al final mostrar la suma de sus cifras pares eimpares.import javax.swing.JOptionPane;public class Ejer4 {

public static void main(String[] args){int numero,cifra,sumpar=0,sumimp=0;numero=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Numero"));

while(numero>0){cifra=numero%10;if (cifra%2==0){

sumpar+=cifra;}else{

sumimp+=cifra;}numero=numero/10;

}System.out.println("Suma de pares:" + sumpar);System.out.println("Suma de impares:" + sumimp);

}

}

- 5 -

Page 6: Manual Estructura de Datos FORYWHILE

5/14/2018 Manual Estructura de Datos FORYWHILE - slidepdf.com

http://slidepdf.com/reader/full/manual-estructura-de-datos-forywhile 6/10

Estructura de Datos Luis Arias HidalgoIDATEjercicio 2:Ingresar un numero de cualquier cantidad de cifras y mostrarlo en forma invertida.import javax.swing.JOptionPane;public class Ejer5 {

public static void main(String[] args){int numero,cifra,numeroinv=0;numero=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Numero"));while(numero>0){

cifra=numero%10;numeroinv=numeroinv*10 + cifra;numero=numero/10;

}System.out.println("Numero Invertido es :" + numeroinv);

}}

Ejercicio 3:

public class Dec2Bin{

public static void main(String args[]){int decimal = 252222;String binario = "";while ( decimal > 0 ) {binario = decimal % 2 + binario;decimal /= 2;

}System.out.println(binario);

}}

Ejercicio 4:

public class impnum{public static void main(String arg[ ]) {

int num = 50;while(num < 101){

System.out.println(num);num = num + 1;

}}

}

- 6 -

Page 7: Manual Estructura de Datos FORYWHILE

5/14/2018 Manual Estructura de Datos FORYWHILE - slidepdf.com

http://slidepdf.com/reader/full/manual-estructura-de-datos-forywhile 7/10

Estructura de Datos Luis Arias HidalgoIDATEjercicios resueltos

1. Pida por pantalla el ingreso de números enteros y muestre la cantidad de númerosingresados y la suma de los mismos. Realice esta acción hasta que el usuario ingrese “no”.import java.util.Scanner;public class ejercicio {public static void main(String[] args) {

int tot_num, n, suma;String Num;Scanner scan = new Scanner(System.in);

tot_num=0;suma=0;

do {System.out.print("Ingrese numero: ");Num = scan.nextLine();if (Num != "no"){

n = Integer.parseInt(Num);suma = suma+n;tot_num = tot_num +1;

}suma = suma + 1;

}while(Num != "no");

System.out.println("Cantidad de numeros : " + suma);System.out.println("La suma es : " + suma);

}}

2. Leer un valor positivo mayor que 1, y hacer la siguiente secuencia: si el número es par,dividirlo entre 2; sino, multiplicarlo por 3 y sumarle 1. Repetir lo anterior hasta que el valor sea 1,imprimiendo cada valor, también se deberá imprimir cuantas operaciones de estas son hechas.

import java.util.Scanner;public class ejercicio {public static void main(String[] args) {

int n, res, operaciones;String Num;Scanner scan = new Scanner(System.in);operaciones = 0;do {

operaciones ++;System.out.print("Ingrese numero: ");Num = scan.nextLine();n = Integer.parseInt(Num);if (n % 2 == 0){

res = n/2;}else{res = n+1;

}System.out.println("Resultado : " + res);

}while(n > 0);

System.out.println("Operaciones : " + operaciones);}

}

- 7 -

Page 8: Manual Estructura de Datos FORYWHILE

5/14/2018 Manual Estructura de Datos FORYWHILE - slidepdf.com

http://slidepdf.com/reader/full/manual-estructura-de-datos-forywhile 8/10

Estructura de Datos Luis Arias HidalgoIDATLaboratorio 3: Bucles

1. Desarrolle un programa que permita intercambiar el valor de dos variables.2. Visualice la suma de las cifras de un número introducido por teclado y muestre la diferencia

entre el número inicial y el resultante de colocar las cifras en orden inverso.3. Haga un programa que lea un número por pantalla; determine si es par, impar o neutro.4. Se ingresa un año por teclado, el programa debe mostrar si es bisiesto o no.5. En un colegio primario aplican un 5% de aumento por cada grado de estudio. Realice un

programa que permita ingresar el precio de pago del 1º grado y muestre el precio de losdemás años de estudio.

6. En la siguiente tabla se muestra el número de camas de las habitaciones de una casa rural,además de la planta donde está ubicada cada una de ellas:

Habitación Camas Planta

1. Azul 2 Primera

2. Roja 1 Primera

3. Verde 3 Segunda

4. Rosa 2 Segunda

5. Gris 1 Tercera

Diseñe el algoritmo (en pseudocódigo) de un programa que:

• Muestre el listado de las habitaciones de la casa rural.

• Pida por teclado el número (dato entero) asociado a una habitación.

• Muestre por pantalla la planta y el número de camas de la habitación seleccionada.

7. Escribir un programa que lea números hasta que se encuentre el cero. El segundo númerose sumará al primero, luego el tercero se restará, el cuarto se sumará, y así se deberá seguir alternado hasta que se llegue al cero. Cuando se llegue a esta condición deberá imprimir elresultado, el total de operandos de la operación (sin incluir el cero), y la suma de losoperandos que se restaron.

8. Diseñe el algoritmo (en pseudocódigo) de un programa que:

• Pida por teclado la arista (dato real) de un cubo.

• En el caso de que la arista sea mayor que cero, muestre por pantalla el mensaje:"Elvolumen del cubo de arista <arista> es: <volumen>".

• Repita los primeros pasos, mientras que, la arista introducida sea mayor que cero.

• Muestre por pantalla cuantos volúmenes de cubos han sido calculados.

9. Desplegar múltiplos de 4 entre 60 y 20 acompañados de su logaritmos de base 10 y base erespectivos.

10. Construir la tabla de multiplicar que el usuario indique.11. Calcular los valores de la suma del capital y el interes compuesto para un período dado de

años. Para cada año el interes es calculado como:interes = capital * tasa_interes / 100capital += interes;

12. Escribir un programa que lea dos caracteres, e imprima su valor cuando se pueda interpretar como un número hexadecimal. Aceptar letras mayúsculas y minúsculas para los valores del10 al 15.

- 8 -

Page 9: Manual Estructura de Datos FORYWHILE

5/14/2018 Manual Estructura de Datos FORYWHILE - slidepdf.com

http://slidepdf.com/reader/full/manual-estructura-de-datos-forywhile 9/10

Estructura de Datos Luis Arias HidalgoIDAT

13. Leer un valor entero. Suponer que el número es un día de la semana. Suponer que 1corresponde a Lunes y así sucesivamente. Imprimir el nombre del día.

14. Dados como entrada 3 enteros representando la fecha como día, mes, año, imprimir la fechadel día anterior. Por ejemplo para una entrada como: 1 3 1992 La salida será: Fecha anterior a 1-3-1992 es 29-02-1992.

15. Escribir un programa el cual lea dos valores enteros. Si el primero es menor que el segundo,que imprima el mensaje ``Arriba''. Si el segundo es menor que el primero, que imprima elmensaje ``Abajo''. Si los números son iguales, que imprima el mensaje ``igual''. Si hay unerror en la lectura de los datos, que imprima un mensaje conteniendo la palabra ``Error'' yhaga finalice.

- 9 -

Page 10: Manual Estructura de Datos FORYWHILE

5/14/2018 Manual Estructura de Datos FORYWHILE - slidepdf.com

http://slidepdf.com/reader/full/manual-estructura-de-datos-forywhile 10/10

Estructura de Datos Luis Arias HidalgoIDAT

- 10 -