Estructuras Repetitivas Teoria y Ejercicios
Estructuras Repetitivas Teoria y Ejercicios
Estructuras Repetitivas Teoria y Ejercicios
Donde:
Si:Indica el comando de comparación
Condición : Indica la condición a evaluar
Entonces : Precede a las acciones a realizar cuando se cumple la condición
Instrucción(es):Son las acciones a realizar cuando se cumple o no la condición
si no :Precede a las acciones a realizar cuando no se cumple la condición
Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o
más acciones.
ESTRUCTURAS CONDICIONALES MULTIPLES:
Pseudocódigo:
INICIO
Not1, Not2, Not 3 :REAL
Def: REAL
LEA Nota1, Nota2, Nota3
Def ß (Not1 + Not2 + Not3) /3
Si Def < 3 entonces
Escriba “Reprobó el curso”
Sino
Escriba “Aprobó el curso”
Fin-Si
FIN
Diagrama de flujo:
Se desea escribir un algoritmo que pida la altura de una persona, si la altura es
menor o igual a 150 cm envíe el mensaje: “Persona de altura baja”; si la altura
está entre 151 y 170 escriba el mensaje: “Persona de altura media” y si la
altura es mayor al 171 escriba el mensaje: “Persona alta”. Exprese el algoritmo
usando Pseudocódigo y diagrama de flujos.
Pseudocódigo:
INICIO
Altura: ENTERO
ESCRIBA “Cuál es tu altura? ”
LEA Altura
Si Altura <=150 entonces
ESCRIBA “persona de altura baja”
Sino
Si Altura <=170 entonces
ESCRIBA “persona de altura media”
Sino
Si Altura>170 ENTONCES
ESCRIBA “persona alta”
Fin-Si
Fin-Si
Fin-Si
FIN
¡Es importante ser ordenado en el código que se escribe!
Diagrama de flujo:
Pseudocódigo: Pseudocódigo:
INICIO
Dia: ENTERO
ESCRIBA “Diga un número para escribir su día”
LEA Dia
En-caso-de Dia haga
Caso 1: ESCRIBA “Lunes”
Caso 2: ESCRIBA “Martes”
Caso 3: ESCRIBA “Miércoles”
Caso 4: ESCRIBA “Jueves”
Caso 5: ESCRIBA “Viernes”
Caso 6: ESCRIBA “Sábado”
Caso 7: ESCRIBA “Domingo”
SINO: ESCRIBA “Escribió un numero fuera del rango 1-7”
Fin-Caso
FIN
Diagrama de flujo:
Ejemplo 3
Ingresar el nombre de un empleado, las horas trabajadas,
luego Calcular pagobruto (50 lps la hora) IHSS y total a
pagar, presentar los resultado del programa
Nota
el seguro social es 84 si el sueldo es mayor 2400 sino es el
3.5% del sueldodel empleado.
int main(void)
{
int i;
printf("Introduzca número del 1 al 5:");
scanf("%d",&i);
if (i!=4) {
printf("Es primo.");
}
else
{
printf("No es primo.");
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
printf("Introduzca número:");
scanf("%d",&i);
if (i%2==0) {
printf("Es par.");
}
else
{
printf("Es impar.");
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
printf("Introduzca número del 1 al 7:");
scanf("%d",&i);
switch(i){
case 1:
printf ("Lunes\n");
break;
case 2:
printf ("Martes\n");
break;
case 3:
printf ("Miércoles\n");
break;
case 4:
printf ("Jueves\n");
break;
case 5:
printf ("Viernes\n");
break;
case 6:
printf ("Sábado\n");
break;
case 7:
printf ("Domingo\n");
break;
default:
printf ("Opción no válida\n");
break;
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
printf("Introduzca número del 1 al 12:");
scanf("%d",&i);
switch(i){
case 1:
printf ("Enero\n");
break;
case 2:
printf ("Febrero\n");
break;
case 3:
printf ("Marzo\n");
break;
case 4:
printf ("Abril\n");
break;
case 5:
printf ("Mayo\n");
break;
case 6:
printf ("Junio\n");
break;
case 7:
printf ("Julio\n");
break;
case 8:
printf ("Agosto\n");
break;
case 9:
printf ("Septiembre\n");
break;
case 10:
printf ("Octubre\n");
break;
case 11:
printf ("Noviembre\n");
break;
case 12:
printf ("Diciembre\n");
break;
default:
printf ("Opción no válida\n");
break;
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1;
if (num1>0){
printf("Es positivo\n");
}
else if (num1<0){
printf("Es negativo\n");
}
else
{
printf("Es cero\n");
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char c;
printf("Introduzca un carácter:");
scanf("%c",&c);
if (c=='s' || c=='n' ){
printf("Es correcto\n");
}
else
{
printf("Es incorrecto\n");
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1;
printf("Introduzca un número:");
scanf("%d",&num1);
if (num1>100){
printf("Es mayor\n");
}
else
{
printf("Es menor\n");
}
system("PAUSE");
return 0;
}
11. Que pida una letra y detecte si es una vocal.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char c;
printf("Introduzca un carácter:");
scanf("%c",&c);
switch (c)
{
case 'a':
printf ("Es vocal\n");
break;
case 'e':
printf ("Es vocal\n");
break;
case 'i':
printf ("Es vocal\n");
break;
case 'o':
printf ("Es vocal\n");
break;
case 'u':
printf ("Es vocal\n");
break;
default:
printf ("No es vocal\n");
break;
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
if (num1<num2)
{
if (num2<num3)
{
printf("Orden creciente");
}
else
{
printf("No están introducidos en orden creciente ");
}
}
else
{
printf("No están introducidos en orden creciente ");
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
if (num1>num2)
{
if (num2>num3)
{
printf("Orden decreciente");
}
else
{
printf("No están introducidos en orden decreciente ");
}
}
else
{
printf("No están introducidos en orden decreciente ");
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int
num1,num2,num3,num4,num5,num6,num7,num8,num9,num10,mayor,menor;
mayor=0;
menor=10;
if (num1>mayor)
{
mayor=num1;
}
else if (num1<menor)
{
menor=num1;
}
if (num2>mayor)
{
mayor=num2;
}
else if (num2<menor)
{
menor=num2;
}
if (num3>mayor)
{
mayor=num3;
}
else if (num3<menor)
{
menor=num3;
}
if (num4>mayor)
{
mayor=num4;
}
else if (num4<menor)
{
menor=num4;
}
if (num5>mayor)
{
mayor=num5;
}
else if (num5<menor)
{
menor=num5;
}
if (num6>mayor)
{
mayor=num6;
}
else if (num6<menor)
{
menor=num6;
}
if (num7>mayor)
{
mayor=num7;
}
else if (num7<menor)
{
menor=num7;
}
if (num8>mayor)
{
mayor=num8;
}
else if (num8<menor)
{
menor=num8;
}
if (num9>mayor)
{
mayor=num9;
}
else if (num9<menor)
{
menor=num9;
}
if (num10>mayor)
{
mayor=num10;
}
else if (num10<menor)
{
menor=num10;
}
printf("El mayor es:%d\n",mayor);
printf("El menor es:%d\n",menor);
system("PAUSE");
return 0;
}
15. Que pida tres números e indicar si el tercero es igual a la suma del
primero y el segundo.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
if (num1+num2==num3)
{
printf("El tercer número es la suma de los dos primeros.\n");
}
else
{
printf("El tercer número NO es la suma de los dos primeros.\n");
}
system("PAUSE");
return 0;
}
16. Que muestre un menú que contemple las opciones “Archivo”, “Buscar”
y “Salir”, en caso de que no se introduzca una opción correcta se
notificará por pantalla.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int opcion;
printf("Seleccione opción:\n");
printf("1 - Archivo\n");
printf("2 - Buscar\n");
printf("3 - Salir\n");
scanf("%d",&opcion);
system("PAUSE");
return 0;
}
17. Que tome dos números del 1 al 5 y diga si ambos son primos.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2;
printf("Introduzca número del 1 al 5:");
scanf("%d",&num1);
system("PAUSE");
return 0;
}
18. Que tome dos números y diga si ambos son pares o impares.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2;
printf("Introduzca primer número:");
scanf("%d",&num1);
system("PAUSE");
return 0;
}
19. Que tome tres números y diga si la multiplicación de los dos primeros es
igual al tercero.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
if (num1*num2==num3)
{
printf("El tercer número es la multiplicación de los dos primeros.\n");
}
else
{
printf("El tercer número NO es la multiplicación de los dos primeros.\
n");
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
if (num1%num2==num3)
{
printf("El tercer número es el resto de la división de los dos primeros.\n");
}
else
{
printf("El tercer número NO es el resto de la división de los dos primeros.\
n");
}
system("PAUSE");
return 0;
}
21. Que muestre un menú donde las opciones sean “Equilátero”, “Isósceles”
y “Escaleno”, pida una opción y calcule el perímetro del triángulo
seleccionado.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int lado, base, opcion;
printf("Seleccione opción:\n");
printf("1 - Equilátero\n");
printf("2 - Isósceles\n");
printf("3 - Escaleno\n");
scanf("%d",&opcion);
switch (opcion)
{
case 1:
printf("El perímetro es:%d\n",3*lado);
break;
case 2:
printf("El perímetro es:%d\n",(2*lado)+base);
break;
case 3:
printf("El perímetro es:%d\n",lado + lado + lado);
break;
default:
printf("Opción no válida.");
break;
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int peso;
printf("Seleccione opción:\n");
printf("1 - Hectogramos\n");
printf("2 - Decagramos\n");
printf("3 - Gramos\n");
printf("4 - Decigramos\n");
printf("5 - Centigramos\n");
printf("6 - Miligramos\n");
scanf("%d",&opcion);
switch (opcion)
{
case 1:
printf("El peso es:%d\n",peso/10);
break;
case 2:
printf("El peso es:%d\n",peso/100);
break;
case 3:
printf("El peso es:%d\n",peso/1000);
break;
case 4:
printf("El peso es:%d\n",peso/10000);
break;
case 5:
printf("El peso es:%d\n",peso/100000);
break;
case 6:
printf("El peso es:%d\n",peso/1000000);
break;
default:
printf("Opción no válida.");
break;
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float importe, deduccion;
printf("Introduzca Importe:");
scanf("%f",&importe);
if (importe>15000)
{
deduccion=importe*0.16;
}
else
{
deduccion=importe*0.1;
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int horas, minutos, segundos;
printf("Introduzca Hora:");
scanf("%d",&horas);
printf("Introduzca Minutos:");
scanf("%d",&minutos);
printf("Introduzca Segundos:");
scanf("%d",&segundos);
segundos=segundos+1;
if (minutos>59)
{
minutos=0;
}
if (horas>23)
{
horas=0;
}
if (segundos>59)
{
segundos=0;
minutos=minutos+1;
if (minutos>59)
{
minutos=0;
horas=horas+1;
if (horas>23)
{
horas=0;
}
}
}
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float importe, aumento;
int antiguedad;
importe=40000;
if (antiguedad>=10)
{
aumento=importe*0.1;
}
else if (antiguedad<10 && antiguedad>=5)
{
aumento=importe*0.07;
}
else if (antiguedad<5 && antiguedad>=3)
{
aumento=importe*0.05;
}
else
{
aumento=importe*0.03;
}
system("PAUSE");
return 0;
}
1
public class PruebaApp {
2
3 public static void main(String[] args) {
4
5 int precio=300;
6
7 if (precio>100){
8 System.out.println("El precio es mayor que 100");
}
9
}
10
11 }
12
Donde colocamos la condición, podemos colocar una variable booleana, ya
que su valor puede ser true o false.
if – else: es como el anterior solo que después de cerrarse la llave de if,
se añade else sin indicarle ninguna condición. Esto sirve para que si
la condicióndel if no es verdadera, ejecute otras instrucciones que
estarán dentro de else. Se suele traducir como “Si se cumple
esta condición haz esto y sino haz esto”.
Veamos un ejemplo:
1
2 public class PruebaApp {
3
4 public static void main(String[] args) {
5
6 int precio=50;
7
8 if (precio>100){
System.out.println("El precio es mayor que 100");
9 }else{
10 System.out.println("El precio es menor que 100");
11 }
12 }
13
}
14
if -elseif: esta estructura es como una mezcla de los anteriores, esto nos
permite, que si no se cumple la condición podamos indicar
otra condición para hacerlo aún mas especifico. Se suele traducir
como “Si se cumple esta condición haz esto y sino si cumple
esta condición haz esto”.
Veamos un ejemplo:
1
2 public class PruebaApp {
3
4 public static void main(String[] args) {
5
int precio=50;
6
7 if (precio>100){
8 System.out.println("El precio es mayor que 100");
9 }else if(precio>80){
10 System.out.println("El precio es mayor que 80");
}else{
11
System.out.println("El precio es menor que 80");
12 }
13 }
14 }
15
El ejemplo anterior es equivalente al siguiente, esto es lo que se conoce
como if anidados, podemos anidar tantos como queramos:
Una cosa más, si haya varios casos que tienen ejecuta las mismas
instrucciones, podemos agruparlas. Veamos un ejemplo:
1
2
import javax.swing.JOptionPane;
3 public class PruebaApp {
4
5 public static void main(String[] args) {
6
7 String dia=JOptionPane.showInputDialog("Introduce un dia de la semana");
8
9 switch(dia){
10 case "lunes":
case "martes":
11 case "miercoles":
12 case "jueves":
13 case "viernes":
14 System.out.println("Es un dia laboral");
break;
15
case "sabado":
16 case "domingo":
17 System.out.println("Es un dia festivo");
18 default:
19 System.out.println("Introduce un dia de la semana");
}
20 }
21 }
22
23
CONDICIONALES EN JAVA
1. Ingrese un número entero y encuentre el dígito mayor y el dígito
menor.
SOLUCIÓN:
import java.util.Scanner;
public class MAYORMENOR {
public static void main(String[] args) {
Scanner b=new Scanner(System.in);
while(n>0){
digito=n%10;
n=n/10;
if(digito>=mayor){
mayor=digito;
}
if(digito<menor){
menor=digito;
}
}
System.out.println("El digito mayor es: "+mayor);
System.out.println("El digito menor es: "+menor);
}
}
import java.util.Scanner;
public class EJERCICIO3 {
public static void main(String[] args) {
Scanner consola=new Scanner(System.in);
pago=cantidad*precio;
if(pago<50){
descuento=pago*0.08;
pago=pago-descuento;
System.out.println("el descuento es: "+descuento+" , el pago a realizar es:
"+pago);
}
else{
descuento=pago*0.1;
pago=pago-descuento;
System.out.println("el descuento es: "+descuento+" , el pago a realizar
es: "+pago);
}
}
}
Al gen que resuelva este ejercicio
Una compañía de seguros para autos ofrece dos tipos de póliza: cobertura
amplia (A) y daños a terceros (B). Para el plan A, la cuota
base es de S/. 1,200, y para el B, de S/. 950. A ambos planes se les carga
10% del costo si la persona que conduce tiene por hábito beber alcohol, 5% si
utiliza lentes, 5% si padece alguna enfermedad –como deficiencia cardiaca o
diabetes–, y si tiene más de 40 años, se le carga
20%, de lo contrario sólo 10%. Todos estos cargos se realizan sobre
el costo base. Realice diagrama de flujo que represente el algoritmo para
determinar cuánto le cuesta a una persona
contratar una póliza.
Responder
while(n>0){
digito=n%10;
n=n/10;
if(digito>=mayor){
mayor=digito;
}
if(digito<menor){
menor=digito;
}
}
System.out.println("El digito mayor es: "+mayor);
System.out.println("El digito menor es: "+menor);
}
}
TUTORIAL DE T U TO R I A L E S 3 J AVA :
ESTRUCTURAS CONDICIONALES Y
EXCEPCIONES
¡Bienvenidos a un nuevo tutorial de Java! Como ya dije en el Tutorial 2 Java:
Estructuras secuenciales, hoy vamos a aprender cómo funcionan las
estructuras condicionales y las excepciones.
Para realizar el tutorial y que todo quede bien claro, voy a resolver un pequeño
problema, que tratará de hacer un programa que indique si un número
introducido por el usuario es par o impar. Esto lo sabremos calculando el
resto de una división entre dos. Si el resultado es cero, será par, si no, impar.
¡Vamos a comenzar!
Se produce una excepción, la cual no nos deja ejecutar el programa. Para ello,
utilizaremos un try - catch, aunque también podríamos utilizar try - catch - finally. La
única diferencia entre ellos es que en el segundo, se ejecutará siempre el código que
se encuentre en el finally. Lo programaremos como mostraré a continuación. Es muy
sencillo. try{ numero=reader.nextInt(); resto=numero%2; if(resto==0)
{ System.out.println("El número "+numero+" es par."); } else
{ System.out.println("El número "+numero+" es impar."); } } catch
(Exception exception){ System.out.println("Por favor, introduzca un
número entero. Gracias."); } El código completo: package parimpar; import
java.util.Scanner; /** * * @author Mario * Tutorial 3: Estructuras
condicionales y excepciones * */ public class Parimpar { public static
void main(String[] args) { Scanner reader=new Scanner(System.in); int
numero, resto; System.out.print("Introduzca un número entero: "); try{
numero=reader.nextInt(); resto=numero%2; if(resto==0)
{ System.out.println("El número "+numero+" es par."); } else
{ System.out.println("El número "+numero+" es impar."); } } catch
(Exception exception){ System.out.println("Por favor, introduzca un
número entero. Gracias."); } } }
Estructuras repetitivas (while, do-
while, for)
3.2. Estructuras repetitivas
Hemos visto cómo comprobar condiciones, pero no cómo hacer que una
cierta parte de un programa se repita un cierto número de veces o
mientras se cumpla una condición (lo que llamaremos un “bucle”). En C
tenemos varias formas de conseguirlo.
3.2.1. while
Si queremos hacer que una sección de nuestro programa se repita
mientras se cumpla una cierta condición, usaremos la orden “while”. Esta
orden tiene dos formatos distintos, según comprobemos la condición al
principio o al final.
while (condición)
sentencia;
/*---------------------------*/
/* Ejemplo en C nº 26: */
/* C026.C */
/* */
/* La orden "while" */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int numero;
return 0;
}
Ejercicios propuestos:
do
sentencia;
while (condición);
Como ejemplo, vamos a ver cómo sería el típico programa que nos pide
una clave de acceso y nos nos deja entrar hasta que tecleemos la clave
correcta. Eso sí, como todavía no sabemos manejar cadenas de texto, la
clave será un número:
/*---------------------------*/
/* Ejemplo en C nº 27: */
/* C027.C */
/* */
/* La orden "do..while" */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int valida = 711;
int clave;
do
{
printf("Introduzca su clave numérica: ");
scanf("%d", &clave);
if (clave != valida) printf("No válida!\n");
}
while (clave != valida);
printf("Aceptada.\n");
return 0;
}
Ejercicios propuestos:
Así, para contar del 1 al 10, tendríamos 1 como valor inicial, <=10 como
condición de repetición, y el incremento sería de 1 en 1. Por tanto, el
programa quedaría:
/*---------------------------*/
/* Ejemplo en C nº 28: */
/* C028.C */
/* */
/* Uso básico de "for" */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int contador;
return 0;
}
Recordemos que “contador++” es una forma abreviada de escribir
“contador=contador+1”, de modo que en este ejemplo aumentamos la
variable de uno en uno.
Ejercicios propuestos:
for ( ; ; )
Los bucles “for” se pueden anidar (incluir uno dentro de otro), de modo
que podríamos escribir las tablas de multiplicar del 1 al 5 con:
/*---------------------------*/
/* Ejemplo en C nº 29: */
/* C029.C */
/* */
/* "for" anidados */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int tabla, numero;
return 0;
}
En estos ejemplos que hemos visto, después de “for” había una única
sentencia. Si queremos que se hagan varias cosas, basta definirlas como
un bloque (una sentencia compuesta) encerrándolas entre llaves. Por
ejemplo, si queremos mejorar el ejemplo anterior haciendo que deje una
línea en blanco entre tabla y tabla, sería:
/*---------------------------*/
/* Ejemplo en C nº 30: */
/* C030.C */
/* */
/* "for" anidados (2) */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
int tabla, numero;
return 0;
}
Al igual que ocurría con "if" y con "while", suele ser buena
costumbre incluir siempre las llaves, aunque haya una única orden que
se repita en el "for", para evitar funcionamientos incorrectos si después
hay que añadir más sentencias que deban repetirse y se olvida incluir las
llaves en ese momento.
/*---------------------------*/
/* Ejemplo en C nº 31: */
/* C031.C */
/* */
/* "for" que usa "char" */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
char letra;
return 0;
}
/*---------------------------*/
/* Ejemplo en C nº 32: */
/* C032.C */
/* */
/* "for" que descuenta */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*---------------------------*/
#include <stdio.h>
int main()
{
char letra;
return 0;
}
ESTRUCTURAS DE CONTROL
REPETITIVAS EN JAVA: FOR, WHILE, DO
WHILE
ejecutar
for(variable_inicializacion;condicion;incremento)
1
2{
3
//instrucciones
4
}
1
package com.ecodeup.ciclos;
2
PROCESO
1 package com.ecodeup.ciclos;
2
3 public class TestCiclos {
4 public static void main(String[] args) {
5 for (int i = 2; i < 21;) {
6 System.out.println("Número: " + i);
7 i += 2;
8 }
9 }
10 }
package com.ecodeup.ciclos;
1
2
public class TestCiclos {
3
}
En este caso la variable i es visible para todo el
programa puesto que la hemos declarado fuera del
ciclo.
LA ESTRUCTURA DE CONTROL WHILE
Esta estructura es parecida al ciclo for, la diferencia
está en su sintaxis:
1 while (condicion) {
2
//instrucciones
3
}
1 package com.ecodeup.ciclos;
2
3
import java.util.Scanner;
4
11
System.out.println("Ingrese un número:");
12
13 try {
14
numero = entrada.nextInt();
15
while ((numero % 10) != 0) {
16
17
numero++;
18 }
19 System.out.println("La decena superior es: " +
20 numero);
21 } catch (Exception e) {
System.out.println("Número no válido");
}
}
}
1
do {
2 //instrucciones
3
} while (condicion);
1 package www.ecodeup.com;
2
public class TestCiclos {
3
4
public static void main(String[] args) {
5
12 contador++;
13 } while (numero != 0);
14 System.out.println("El número tiene " + contador + "
15 dígitos");
}
}
EJERCICIOS RESUELTOS
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
int monto, i, b1 = 0, b2=0, b3=0, b4=0, b5=0, b500, b200, b100, b50, b20;
do{
monto=Integer.parseInt(consola.readLine());
}while((monto<=30||monto>1500)||monto%10!=0);
while(monto>=20){
if(monto>=500&&(monto!=510&&monto!=530)){
if(monto>1000){
b1+=(int)monto/500;
monto=monto-b1*500;
else{
if(monto%500!=30&&monto%500!=10){
b1+=(int)monto/500;
monto=monto-b1*500;
if(monto>=200&&(monto%200>=10||monto%200==0)){
if(monto>410){
b2+=(int)monto/200;
monto=monto-b2*200;
else{
if(monto%200!=30&&monto%200!=10){
b2+=(int)monto/200;
monto=monto-b2*200;
if(monto>=100&&(monto%100>=10||monto%100==0)){
if(monto>110){
b3++;
monto=monto-100;
else{
if(monto%100!=30&&monto%100!=10){
b100=(int)monto/100;
b3=b3+b100;
monto=monto-b100*100;
}
if(monto>=50&&(monto%50>=10||monto%50==0)){
if(monto>100){
b4++;
monto=monto-50;
else{
if(monto%50!=30&&monto%50!=10){
b50=(int)monto/50;
b4=b4+b50;
monto=monto-b50*50;
if(monto>=20){
b20=(int)monto/20;
b5=b5+b20;
monto=monto-b20*20;
if(b1>0){
if(b2>0){
if(b3>0){
if(b4>0){
System.out.println("Billetes de 50: "+b4);
if(b5>0){
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
boolean m = false;
String N;
do{
numero=Integer.parseInt(consola.readLine());
N=Integer.toString(numero);
for(i=0;i<N.length();i++){
if(N.charAt(i)=='0'||N.charAt(i)=='1'){
m=true;
b++;
}while(b<N.length());
j=numero;
while(numero>0){
numero=(int)numero/10;
k++;
for(i=0;i<k;i++){
equivalente+=(j%10)*Math.pow(2,i);
j=(int)j/10;
import java.util.Scanner;
int n, suma=1,i=2;
n=b.nextInt();
while(i<n){
if(n%i==0){
suma=suma+i;
i++;
if(suma==n){
else{
asiento=teclado.nextInt();
while(asiento>500){
fila++;
asiento=asiento-500;
fila++;
columna=asiento;
do{
base=teclado.nextInt();
}while(base<=1||base>=10);
while(numero>=base){
div=div+(numero%base)*i;
numero=(int)(numero/base);
i=i*10;
div=div+(numero*i);