0% encontró este documento útil (0 votos)
25 vistas57 páginas

alg-c1-tarea1 (1)

Cargado por

Viridian Qj
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas57 páginas

alg-c1-tarea1 (1)

Cargado por

Viridian Qj
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 57

Boletín 1

Variables y condicionales

1. Pedir los coeficientes de una ecuación se 2° grado, y muestre sus soluciones reales. Si no existen,
debe indicarlo.
package bol0lej0l;
public class Main (
public static void main(String[] args) |
double a,b,c; // coeficientes ax”2+bx+c=0
double x1,x2,d; // soluciones y determinante
System.out.println("Introduzca primer coeficiente (a):");
a=Entrada.entero () ;
System.out.println("Introduzca segundo coeficiente: (b):");
b=Entrada.entero();
System.out.println("Introduzca tercer coeficiente: (c):");
c=Entrada.entero () ;

// calculamos el determinante
d=((b*b) -4*a*c) ;
if (d<0)
System.out.println("No existen soluciones reales",
else(
// queda confirmar que a sea distinto de 0.

Ejercicios de Programación en Java 6


// si a=0 nos encontramos una división por cero.
x1=(-b+Math.sqrt (d))/(2*a) ;
x2=(-b-Math.sqrt (d))/(2*a) ;
System.out.println("Solucién: " + x1);
System.out.println("Solucién: " + x2);

Pedir el radio de un círculo y calcular su área. A=PI*r"2.

package bol0lej02;
public class Main (
public static void main(String[] args) (
double a,r; // área y radio
System.out.print ("Introduce el radio de un circulo:
r=Entrada.
real () ;

a-Math.PI*(r*r); // para elevar al cuadrado otra opción es: Math.pow (r, 2)


System.out.println("El área de una circunferencia de radio " + r+ " es: " + a);

Pedir el radio de una circunferencia y calcular su longitud.

package bol01ej03;
public class Main {

Ejercicios de Programación en Java 7


public static void main(String[] args) (
double 1,r; // longitud y radio
System.out.print ("Introduce el radio de una circunferencia: ");
r=Entrada.real ();
1=2*Math.PI*r;

System.out.println("La longitud de una circunferencia de radio " + r+ " es: " + 1);

4. Pedir dos números y decir si son iguales o no

package bol01ej04;

public class Main (


public static void main(String[] args) |
int nl,n2;

System.out.print ("Introduce un número: ");


ni=Entrada.entero
() ;
System.out.print ("Introduce otro número: ");
n2=Entrada.entero
() ;

if (n1==n2)
System.out.println("Son iguales
else
System.out.println("No son iguales");

Ejercicios de Programación en Java 8


5. Pedir un número e indicar si es positivo o negativo.
package bol01ej05;
public class Main (
public static void main(String[] args) {
int num;
System.out.print ("Introduce un número: ");
num=Entrada.entero () ;

if( num < 0)


System.out.print1n ("Negativo") ;
else
// suponemos que el 0 es positivo.
System.out.print1n ("Positivo") ;

6. Pedir dos números y decir si uno es múltiplo del otro.

package bol01ej06;
public class Main (
public static void main(String[] args) |
int nl,n2;

System.out.print ("Introduce un número: ");


nl=Entrada.entero () ;
System.out.print ("Introduce otro número: ");
n2=Entrada.entero();

Ejercicios de Programación en Java 9


if (n1%8n2==0)
System.out.println("Son múltiplos");
else
System.out.println("No son múltiplos");

Pedir dos números y decir cual es el mayor.

package bol01ej07;
public class Main (
public static void main(String[] args) |
int nl,n2;

System.out.print ("Introduce un número: ");


nl=Entrada.entero () ;
System.out.print ("Introduce otro número: ");
n2=Entrada.entero
() ;

// si ambos números son iguales diría que n2 es mayor que nl


if (n1>n2)
System.out.println(nl + " es mayor que " + n2);
else
System.out.println(n2 + " es mayor que " + nl);

Ejercicios de Programación en Java 10


Pedir dos números y decir cual es el mayor o si son iguales

package bol01ej08;
public class Main (
public static void main(String[] args) {
int nl,n2;
System.out.print ("Introduce un número: ");
nl=Entrada.entero
() ;
System.out.print ("Introduce otro número: ");
n2=Entrada.entero () ;

if (n1==n2)
System.out.println("Son iguales");
else
f
if (n1>n2)
System.out.println(nl + " es mayor que " + n2);
else
System.out.println(n2 + " es mayor que " + nl);

Pedir dos números y mostrarlos ordenados de mayor a menor.

package bol01ej09;
public class Main (
public static void main(String[] args) (
int n1,n2;

Ejercicios de Programación en Java 11


System.out.print ("Introduce un número: ");
nl=Entrada.entero();
System.out.print ("Introduce otro número: ");
n2=Entrada.entero () ;

if (n1>n2)
System.out.println(nl
else
System.out.println (n2

10. Pedir tres números y mostrarlos ordenados de mayor a menor.

package bol01ej10;
public class Main (
public static void main(String[] args) (
int a,b,c;

System.out.print ("Introduzca primer número: ")


a=Entrada.entero () ;
System.out.print ("Introduzca segundo número: ") ;
b=Entrada.entero () ;
System.out.print ("Introduzca tercer número: ");
c=Entrada.entero () ;
if(a>b 66 b>c)
System.out.println( a+", "£b+", M1c);
elsef
if(a>c 66 c>b)
System.out.println(a +M, Mic+", "1b);

Ejercicios de Programación en Java 12


elsef
if(b>a && a>c)
System.out.printin(b+", "+a+", "+c);
elsef
if (b>c ££ c>a)
System.out.println(b+", "+c+", "+a);
elsef
if(c>a 66 a>b)
System.out.println(c+", "ta+", "+b);
elsef
if(c>b && b>a)
System.out.println(c+", "+b+", "+a);

11. Pedir un número entre 0 y 9.999 y decir cuantas cifras tiene.

package bol0lejll;
public class Main |
public static void main(String[] args) {
int num;

System.out.print ("Introduzca un número entre 0 y 99.999: "7


num=Entrada.entero () ;
if (num<10)
System.out.printin("tiene 1 cifra");

Ejercicios de Programación en Java 13


elsef
if (num<100)
System.out.println("tiene 2 cifras");
else{
if (num<1000)
System.out.println("tiene 3 cifras");
elsef
if (num<10000)
System.out.println("tiene 4 cifras");
elsef
if (num<100000)
System.out.printin("tiene 5 cifras");
y
y

12. Pedir un número entre 0 y 9.999 y mostrarlo con las cifras al revés.

package bol0lej12;
public class Main (
public static void main(String[] args) {
int num;
int dm, um, c, d, u;

//99.999 a cada guarismo lo llamaremos:


//dm um c d u: dm (decenas de millar), um: (unidades de millar)
/ c: (centenas), d: (decenas), u: (unidades)

Ejercicios de Programación en Java 14


System.out.print ("Introduzca un número entre 0 y 99.999: ");
num=Entrada.entero () ;

// unidad
u = num % 107
num = num / 10;

// decenas
d = num % 10;
num = num / 10;

// centenas
c = num $ 10/
num = num / 10;
// unidades de millar
um = num % 10;
num = num / 10;

// decenas de millar
dm = num;

// lo imprimimos al revés:
System.out.println (u + " " +d+ " "+ c+ " " +um+ " "+ dm);

// otra forma de hacerlo es


num = 10000*u + 1000*d + 100*c + 10*um + dm;
System.out.println (num);

13. Pedir un número entre 0 y 9.999, decir si es capicúa.

package bol01ej13;

Ejercicios de Programación en Java 15


public class Main (
public static void main(String[] args) {
int num;
int dm, um, e, d, us

// 99 9 9 9 a cada guarismo lo llamaremos:


//dm um € d u: dm (decenas de millar), um: (unidades de millar)
ZA c: (centenas), d: (decenas), u: (unidades)

System.out.print ("Introduzca un número entre 0 y 99.999: ");


num=Entrada.entero () ;
// unidad
u = num $ 10;
num = num / 10;

// decenas
d = num $ 10;
num = num / 10;

// centenas
c = num $ 10;
num = num / 10;

// unidades de millar
um = num § 10;
num = num / 10;

// decenas de millar
dm = num;

// el número será capicúa si las cifras son iguales dos a dos por los extremos
// las centenas no las tenemos en cuenta

Ejercicios de Programación en Java 16


if (dm == u && um == d)
System.out.println ("el número es capicúa");
else
System.out.println ("el número NO es capicúa");
// hay que tener en cuenta que en este ejercicio el número 121 es similar al 00121 y
// resulta que 121 es capicúa, pero nuestro código lo identifica como NO capicúa. Ya
// que trabajamos con el 00121. No tendremos en cuenta este pequeño error

package bol0lej13;
public class Main f
public static void main(String[] args) (
int num;
int dm, um, ¢, d, u;

boolean capicua false; // suponemos que el número no es capicúa;


//99.9939 acada guarismo lo llamaremos:
//dm um c d u: dm (decenas de millar), um: (unidades de millar)
/7 c: (centenas), d: (decenas), u: (unidades)

// En esta versión haremos que el número 121 ó el 33 sea visto como capicúa.
// La idea es no tener en cuenta los ceros por la derecha.
System.out.print ("Introduzca un número entre 0 y 99.999: ");
num=Entrada.entero();

// unidad
u = num $ 10;
num = num / 10;

Ejercicios de Programación en Java 17


// decenas
d = num % 10;
num = num / 10;

// centenas
c = num % 10;
num = num / 10;

// unidades de millar
um = num % 10;
num = num / 10;

// decenas de millar
dm = num;

//si el número tiene 5 cifras (dm, um, c, d, u)


if (dm == u && um d)
capicua = true;

//si el número tiene 4 cifras (0, um, e, d, u)


if (dm 0 && um uRC d)
capicua = true;

//si el número tiene 3 cifras (0, 0, c, d, u)


if (dm == 0 && um==0 && C u)
capicua = true;

//si el numero tiene 2 cifras (0, 0, 0, d, u)


if (dm == 0 && um == 0 && € == 0 ££ d == u)
capicua = true;

// se entiende que un número de una cifra no es capicúa


if (capicua)
System.out.println ("el número es capicúa");

Ejercicios de Programación en Java 18


else
System.out.printin ("el número NO es capicúa");

. Pedir una nota de 0 a 10 y mostrarla de la forma: Insuficiente, Suficiente, Bien...

package bolOlejld;
public class Main (
public static void main(String[] args) {
int nota;

System.out.print ("Introduzca una nota: ");


nota=Entrada.entero () ;

// tanto los if's como los else's encierran a una sola instrucción
// y no es necesario utilizar llaves [ )
if(nota>=0 && nota<5
System.out.println ("INSUFICIENTE") ;
else
if (nota==5)
System.out.println("SUFICIENTE") ;
else
if (nota==6)
System.out.println ("BIEN") ;
else
if(nota==7 || nota==8)
System.out.println ("NOTABLE") ;
else

Ejercicios de Programación en Java 19


if(nota==9 || nota==10 )
System.out.println ("SOBRESALIENTE") ;

package bol0lejl4b;
public class Main (
public static void main(String[] args) {
int nota;
System.out.print ("Introduzca una nota: ");
nota=Entrada.entero () ;

switch (nota) f
case 0:
case 1:
case 2:
case 3:
case 4:
System.out.print1n ("INSUFICIENTE") ;
break;
case 5:
System.out.print1n ("SUFICIENTE") ;
break;
case 6:
System.out.println ("BIEN") ;
break;
case 7:
case 8:
System.out.println ("NOTABLE") ;
break;
case 9:

Ejercicios de Programación en Java 20


case 10:
System.out.println ("SOBRESALIENTE") ;
break;
default:
System.out.println ("ERROR") ;
break;

15. Pedir el día, mes y año de una fecha e indicar si la fecha es correcta. Suponiendo todos los meses de
30 días.

package bol0lej15;
public class Main (
public static void main(String[] args) {
int dia,mes,año;

// para que una fecha sea correcta se tiene que cumplir


// día en el rango 1..30
// mes en el rango 1..12
// año cualquiera distinto del 0
System.out.print ("Introduzca día: ");
dia=Entrada.entero();
System.out.print ("Introduzca mes: ");
mes=Entrada.entero () ;
System.out.print ("Introduzca año: ");
año=Entrada.entero () ;

if (dia >= 1 && dia <=30)


if (mes >= 1 && mes <= 12)

Ejercicios de Programación en Java 21


if (año != 0)
System.out.println ("Fecha correcta
else
System.out.println ("Año incorrecto");
else
System.out.println("Mes incorrecto");
else
System.out.printIn("Día incorrecto");

16. Pedir el dia, mes y año de una fecha e indicar si la fecha es correcta. Con meses de 28, 30 y 31 día
Sin años bisiestos.

package bol01ej16;
public class Main (
public static void main(String[] args) {
int dia,mes,año;
System.out.print ("Introduzca día: ");
dia=Entrada.entero();
System.out.print ("Introduzca mes: ");
mes=Entrada.entero () ;
System.out.print ("Introduzca año: ");
año=Entrada.entero () ;
// el único año que no existe es el 0
if (afio==0)
System.out.println("Fecha incorrecta");
elsef
if(mes==2 && (dia>=1 && dia<=28))

Ejercicios de Programación en Java 22


System.out.println(dia + "/" + mes + "/" + año+": Fecha correcta");
elsef
if((mes==4 || mes==6 || mes==9 sE
dia<=30))
System.out.println(dia + "/" + mes + "/" + año+": Fecha correcta");
elsef
if( (mes==1 || mes==3|| mes==5 || mes || mes==8 || mes==10 || mes==12) &&
(dia>=1 && dia<=31))
System.out.println(dia + "/" + mes + "/" + año+": Fecha correcta");
else
System.out.printin ("Fecha incorrecta");

y
)

package bol0lej16;
public class Main (
public static void main(String[] args) {
int dia,mes,año;

int dias del mes;


boolean fecha_correcta=true;
System.out.print ("Introduzca día: ");
dia=Entrada.entero () ;
System.out.print ("Introduzca mes: ");
mes=Entrada.entero () ;
System.out.print ("Introduzca año: ");
año=Entrada.entero () ;

Ejercicios de Programación en Java 23


dias del mes = 0; // si se utiliza un mes fuera del rango 1..12
// supondremos que los días del mes son 0.
if (afio==0) // el único año que no existe es el 0
fecha correcta = false;
if (dia<l || dia >31) // un día fuera del rango 1..31 no tiene sentido
fecha_correcta = false;
if (mes<I || mes >12) // un mes fuera del rango 1..12 no tiene sentido
fecha correcta = false;
if(mes==2 )
dias_del mes
if(mes==4 || mes
días del mes
if(mes==1 || mes || mes==10 || mes==12)
dias_del mes
if (dia > dias del mes)
fecha correcta = false;
if (fecha correcta)
System.out.println(dia + "/" + mes + "/" + año+": Fecha correcta");
else
System.out.print1n("Fecha incorrecta");

17. Pedir el día, mes y año de una fecha correcta y mostrar la fecha del día siguiente. suponer que todo
los meses tienen 30 días.

package bol0lejl7;
public class Main (

Ejercicios de Programación en Java 24


public static void main(String[] args) {
int dia,mes,año;
System.out.print ("Introduzca día: ");
dia=Entrada.entero();
System.out.print ("Introduzca mes: ");
mes=Entrada.entero () ;
System.out.print ("Introduzca año: ");
año=Entrada.entero () ;
// suponemos que la fecha introducida es correcta
// incrementamos el día
dia ++;

// si el día supera 30, lo reiniciamos a 1 e incrementamos el mes


if (dia >= 30)
f
dia = 1;
mes ++;

// si el mes supera 12, lo reiniciamos a 1 e incrementamos el año


if (mes >= 12)
{
mes = l;
año ++;
J
J
// habría que tener en cuenta que el año pasa del -1 al +1
// en este código pasaríamos del año -1 al 0 (que nunca existió)
// para corregirlo:
if (año 0)
año 17

Ejercicios de Programación en Java 25


System.out.println (dia + "/"+ mes + "/" + año) ;

18. Ídem que el ej. 17, suponiendo que cada mes tiene un número distinto de días (suponer que febrero tiene
siempre 28 días).

package bol0lejl8;
public class Main (
public static void main(String[] args) {
int dia,mes,año;
int dias del mes=0; // guardaremos el número de días que tiene el mes

System.out.print ("Introduzca día: ")7


dia=Entrada.entero () ;
System.out.print ("Introduzca mes: "7
mes=Entrada.entero () ;
System.out.print ("Introduzca año: ")7
año=Entrada.entero () ;

// suponemos que la fecha introducida es correcta


if (mes==2 )
dias_del mes
if(mes==4 || mes
dias del mes
if(mes==1 || mes
dias_del mes
// incrementamos el día
dia ++;

Ejercicios de Programación en Java 26


// si el día supera el número de días del mes,
// lo reiniciamos a 1 e incrementamos el mes

if (dia >= dias


del mes)
{
dia = 1;
mes ++;
// si el mes supera 12, lo reiniciamos a 1 e incrementamos el año
if (mes >= 12)
{
mes = 1;
año ++;
J
J
// habría que tener en cuenta que el año pasa del -1 al +1
// en este código pasaríamos del año -1 al 0 (que nunca existió)
// para corregirlo:
if (año
año
System.out.println (dia + "/"+ mes + "/" + año);

19. Pedir dos fechas y mostrar el número de días que hay de diferencia. Suponiendo todos los meses de 30
días.

package bol0lejl9;
public class Main (

Ejercicios de Programación en Java 27


public static void main(String[] args) (
int dial,mesl,añol;
int dia2,mes2,año2;
int total dias;
System.out.println ("Fecha 1:");
System.out.print ("Introduzca día: ");
dial=Entrada.entero();
System.out.print ("Introduzca mes: ");
mes1=Entrada.entero () ;
System.out.print ("Introduzca año: ");
añol=Entrada.entero () ;
System.out.println ("Fecha 2:");
System.out.print ("Introduzca dí ")7
dia2=Entrada.entero();
System.out.print ("Introduzca mes: ");
mes2=Entrada.entero () ;
System.out.print ("Introduzca añ ")7
año2=Entrada.entero () ;
// suponemos que las fecha introducidas son correctas
// convertimos las dos fechas a días y calculamos la diferencia
total dias = dia2-dial + 30* (mes?2-mes1)+365* (año2-añol) ;

System.out.println ("Días de diferencia: " + total dias);

20. Pedir una hora de la forma hora, minutos y segundos, y mostrar la hora en el segundo siguiente.

package bol01ej20;

Ejercicios de Programación en Java 28


public class Main (
public static void main(String[] args) {
int h,m,s; // hora, minutos y segundos
System.out.print ("Introduzca hora:
h=Entrada.entero () ;
System.out.print ("Introduzca minutos: ");
m=Entrada.entero() ;
System.out.print ("Introduzca segundos: ");
s=Entrada.entero () ;

// suponemos que la hora introducida es correcta


// incrementamos los segundos
s +
// si los segundos superan 59, los reiniciamos a 0 e incrementamos los minutos
if (s >= 60)
{
s = 0;
m ot
// si los minutos superan 59, los reiniciamos a 0 e incrementamos la hora
if (m >= 60)
{
m = 0;
h +
// si la hora supera 23, la reiniciamos a 0
if (h>=24)
h=0;
J
J
System.out.println ("Fecha: "+ h + ":"+ m + ":" + 5);

Ejercicios de Programación en Java 29


21. Pedir una nota numérica entera entre 0 y 10, y mostrar dicha nota de la forma: cero, uno, dos, tres...

package bol0lej21;
public class Main (
public static void main(String[] args) (f
int num;
System.out.print ("Introduzca una nota numérica entre 0 y 10: "7
num=Entrada.entero () ;
switch (num) {
case 0:
System. out.printlin ("CERO") ;
break;

case 1:
System. out.println ("UNO") ;
break;

case 2:
System. out.println("DOS") ;
break;

case 3:
System. out.println ("TRES") ;
break;

case 4:
System. out.println ("CUATRO") ;
break;

case 5:
System. out.println ("CINCO") ;
break;

Ejercicios de Programación en Java 30


System.out.println ("SEIS") ;

System.out.print1n ("SIETE") ;

System.out.println ("OCHO") ;

System.out.println ("NUEVE") ;

System.out.println ("DIEZ") ;

. Pedir un número de 0 a 99 y mostrarlo escrito. Por ejemplo, para 56 mostrar: cincuenta y seis.

package bol0lej22;
public class Main (
public static void main(String[] args) {
int num;
int unidades, decenas;
// esta versión muesrta 11 como diez y uno.
// es una forma de hacerlo bastante burda.

Ejercicios de Programación en Java 31


// se puede poner algunos condicionales para los números especiales: 11,12,...
// y otro condicional para mostrar "e

System.out.print ("Introduzca un número (0 a 99): ");


num=Entrada.entero () ;
unidades = num % 10;
decenas = num / 10;
switch (decenas) [
case 0:
System.out.print("
break;
case 1:
System.out.print ("diez") ;
break;
case 2:
System.out.print ("veinte") ;
break;

case 3:
System.out.print ("treinta") ;
break;

case 4:
System.out.print ("cuarenta") ;
break;
case 5:
System.out.print ("cincuenta") ;
break;

case 6:
System.out.print ("sesenta") ;

Ejercicios de Programación en Java 32


break;
case 7:
System .out.print ("setenta");
break;
case 8:
System .out.print ("ochenta") ;
break;
case 9:
System .out.print ("noventa") ;
break;
J

System.out.print (" y

switch (unidades) [
case 0:
System .out.println ("");
break;
case 1:
System. out.println("uno
break;
case 2:
System. out.printin ("dos") ;
break;
case 3:
System. out.printin ("tres") ;
break;

case 4:
System. out.printin ("cuatro") ;

Ejercicios de Programación en Java 33


break;

case 5:
System. out.println("cinco”) ;
break;

case 6:
System. out.println("seis");
break;

case 7:
System. out.printin ("siete") ;
break;

case 8:
System. out.printin ("ocho") ;
break;

case 9:
System. out.printlin ("nueva") ;
break;

Ejercicios de Programación en Java 34


Boletín 2
Condicionales y bucles

1. Leer un número y mostrar su cuadrado, repetir el proceso hasta que se introduzca un número
negativo.

package bol02ej01;
public class Main (
public static void main(String[] args) {
int num,cuadrado;
// num guardará el número que leamos
// y cuadrado guardará el cuadrado de num
System.out.print ("Introduzca número: ");
num=Entrada.entero () ;
while (num>=0) [ // repetimos el proceso mientras el número leído no sea negativo
cuadrado=num*num;
System.out.println(num+ "? es igual a "+ cuadrado);
System.out.print ("Introduzca otro número: ");
num=Entrada.entero(); // volvemos a leer num

Ejercicios de Programación en Java 35


2. Leer un número e indicar si es positivo o negativo. El proceso se repetirá hasta que se introduzca
un 0.

package bol02ej02;
public class Main (
public static void main(String[] args) (
int num;
System.out.print ("Introduzca un número: ");
num=Entrada.entero () ;

while(num!=0) // mientras num sea distinto de 0


f
i£ (num>0)
// mayor que cero: positivo
System.out.print1n ("Positivo") ;
else
// si no es positivo: es negativo
System.out.println ("Negativo") ;

// repetimos el proceso y volvemos a leer num


System.out.print ("Introduzca otro número: ");
num=Entrada.entero () ;
)
// al salir del mientras tenemos la certeza que num es 0

3. Leer números hasta que se introduzca un 0. Para cada uno indicar si es par o impar.

package bol02ej03;

Ejercicios de Programación en Java 36


public class Main (
public static void main(String[] args) (f
int num;
System.out.print ("Introduzca un número: ");
num=Entrada.entero () ;

while(num!=0) // mientras num sea distinto de 0


{
if (num$2 == 0)
// si el resto de dividir entre dos es cero: esto indica que es par
System.out.printin
("Par") ;
else
// en caso contrario: impar
System.out.println("Impar") ;

// repetimos el proceso y volvemos a leer num


System.out.print ("Introduzca otro número: ");
num=Entrada.entero () ;
J
// al salir del mientras tenemos la certeza que num es 0

Pedir números hasta que se teclee uno negativo, y mostrar cuántos números se han introducido.

package bol02ej04;
public class Main (
public static void main(String[] args) {
int num, contador;

Ejercicios de Programación en Java 37


// num guardará los números introducidos
// y contador se incrementará para llevar la cuenta de los números introducidos

System.out.print ("Introduzca un número: ");


num=Entrada.entero () ;
contador=0; // al comienzo el número de números introducidos es 0

while (num>0) // mientras num sea positiva


f
contador =contador+1; // contador toma el valor que tuviera en este momento más uno
// en definitiva: contador se incrementa en uno
System.out.print ("Introduzca otro número: ");
num=Entrada.entero () ;
J

System.out.print1n("Se han introducido: " +contador + " números");


// sin tener en cuenta el último número negativo.

5. Realizar un juego para adivinar un número. Para ello pedir un número N, y luego ir pidiendo
números indicando “mayor” o “menor” según sea mayor o menor con respecto a N. El proceso termina
cuando el usuario acierta.

package bol02ej05;
public class Main (
public static void main(String[] args) {
int n, num;

Ejercicios de Programación en Java 38


// n es el número que hay que acertar
// num guarda los números introducidos
System.out.print ("Introduce N: ");
n =Entrada.entero();

System.out.print ("Introduce número: ");


num=Entrada.entero () ;
while (num!=n) // mientras no coincidan ambos números
{
if (num>n)
System.out.println ("menor") ;
else
System.out.printin ("mayor") ;

System.out.print ("Introduce número: ");


num=Entrada.entero () ;
J

// al salir del mientras tenemos la certeza que num es igual an


System.out.printin("acertaste..."”);

package bol02ejo5;
public class Main (
public static void main(String[] args) (
int n, num;
// n es el número que hay que acertar
// num guarda los números introducidos

Ejercicios de Programación en Java 39


n=(int) (Math. random () *100) +1;
// en lugar de pedir n... podemos hacer que se n tome un valor
// aleatorio entre 1 y 100.
// Así el juego es algo más entretenido.

System.out.print ("Introduce número: ");


num=Entrada.entero () ;
while (num!=n) // mientras no coincidan ambos números
{
if (num>n)
System.out.println ("menor") ;
else
System.out.println("mayor") ;

System.out.print ("Introduce número: ")


num=Entrada.entero () ;
J

// al salir del mientras tenemos la certeza que num es igual an


System.out.println("acertaste...");

Pedir numeros hasta que se teclee un 0, mostrar la suma de todos los numeros introducidos.

package bol02ej06;
public class Main (
public static void main(String[] args) (

Ejercicios de Programación en Java 40


int num,suma;
suma=0;

do
f
System.out.print ("Introduzca un número: ");
num=Entrada.entero () ;

suma=suma+num;

while (num!=0) ;

System.out.println("La suma de todos los números es: "+suma);

Pedir números hasta que se introduzca uno negativo, y calcular la media.

package bol02ej07;
public class Main (
public static void main(String[] args) (
int num, suma, elementos;
float media; // la media puede tener decimales

// num: guardará los números introducidos por el usuario


// suma: almacenará la suma de todos los números introducidos
// elementos: será un contador que indicará el números de números 80 elementos) introducidos

Ejercicios de Programación en Java 41


System.out.print ("Introduzca un número: ");
num=Entrada.entero () ;

suma= 0;
elementos= 0;

while (num>=0) // nos interesan los positivos y el cero


{
suma+=num;
elementos++;

System.out.print ("Introduzca otro número: ");


num=Entrada.entero () ;
J

if (elementos 0) // daría un error de división por cero


System.out.print1n ("Imposible hacer la media");
else
{
media= (float)suma/elementos;
System.out.printin("La media es de: " + media);

Pedir un número N, y mostrar todos los números del 1 al N.

package bol02ej08;
public class Main (
public static void main(String[] args) (

Ejercicios de Programación en Java 42


int i,num;

System.out.print ("Introduce un número: ");


num=Entrada.entero () ;
i=1;
// i es el contador que tomard los valores de lan
while (i<=num) (
System.out.println(i);
it+;

Escribir todos los números del 100 al 0 de 7 en 7.

package bol02ej09;
public class Main (
public static void main(String[] args) (
// inicializamos la i a 100
// mientras la i sea mayor o igual a 0
// y en cada vuelta del for la i se decrementa en 7
for (int i=100;i>=0;i-=7)
System.out.printin(i) ;

// el for al llevar una sola instrucción en su cuerpo de ejecución


// no precisa de llaves ( )

Ejercicios de Programación en Java 43


10. Pedir 15 números y escribir la suma total.

package bol02ej10;
public class Main (
public static void main(String[] args) [
int num,suma total;
suma_total=0;
for (int i=1;i<=15;i++)
f
System.out.print ("Introduzca número: ");
num=Entrada.entero () ;

suma total=suma total+num;


y
System.out.printin("La suma total es de: "+suma total);

11.Diseñar un programa que muestre el producto de los 10 primeros números impares.

package bol02ej11;
public class Main (
public static void main(String[] args) (
long producto=1; // producto guardará la multiplicación de los 10 primeros números impares.
// es muy importante acordarse de inicializarlo a 1. Ya que si lo hacemos a 0,

Ejercicios de Programación en Java 44


el producto siempre valdrá 0.

// para calcular los 10 primeros números impares utilizamos un for que:


aA
// comience en 1
// y en cada vuelta se incremente en 2, así obtenemos
// 1, 3,5, 7, 9, 11, 13, 15, 17, 19.
for (int i=1; i<20; i+=2) {
producto=producto*i;

System.out.println("La multiplicación de los 10 primeros impares: " + producto);

12.Pedir un número y calcular su factorial.

package bol02ej12;
public class Main (
public static void main(String[] args) (
// long factorial; con long se puede calcular hasta el factorial de 25
double factorial;
int num;

System.out.print ("Introduce un número:


num=Entrada.entero () ;

Ejercicios de Programación en Java 45


factorial=1; // es importante inicializarlo a 1, ya que multiplicará-

// por ejemplo: el factorial de 10 es:


// 10*9*8+7*6*5*4*3+2*1

for (int i=num;i>0;i--)


{
factorial=factorial*i;

System.out.println("El factorial de " + num + " es: " + factorial);

13. Pedir 10 números. Mostrar la media de los números positivos, la media de los números negativos y
la cantidad de ceros.

package bol02ej13;
public class Main (
public static void main(String[] args) (
int num;
int cont ceros; // el contador de ceros
int cont pos; // contador de positivos
int cont_neg; // contador de negativos
int suma_pos,suma neg; // suma de los números positivos y negativos
float media pos,media neg; // las medias 8positivas y negativa9 pueden tener decimales

Ejercicios de Programación en Java 46


cont_ceros

suma_pos=0;
suma_neg=0;

for (int i=1;i<=10;i++)


f
System.out.print ("Introduce número: "7
num=Entrada.entero
() ;

if (num==0)
cont_ceros++;
else
{
if (num>0)
{
cont_pos++;
suma_pos+=num;
J
else
{
cont_negt+;
suma_neg+=num;
J
J
J

// tratamos los ceros


System.out.print1n("El número de ceros introducidos es de: "+cont_ceros) ;
//Tratamos los positivos
if (cont_pos ==0)
System.out.println("No se puede hacer la media de los positivos");

Ejercicios de Programación en Java 47


else
f
media pos= (float)suma pos/cont pos;
System.out.println("Media de los positivos: "+ media pos);
}
// tratamos los negativos
if (cont_pos ==0)
System.out.println("No se puede hacer la media de los negativos");
else
{
media neg= (float)suma neg/cont neg;
System.out.println("Media de los negativos: "+ media_neg);

. Pedir 10 sueldos. Mostrar su suma y cuantos hay mayores de 1000€.

package bol02ejl4;
public class Main (
public static void main(String(] args) {
int sueldo,suma,mayor
1000;
suma=0;
mayor_ 1000
for (int i ri<10:i++)
{
System.out.print ("Escribe un sueldo: ");
sueldo =Entrada.entero();
if (sueldo>1000)
mayor 1000++;

Ejercicios de Programación en Java 48


suma=suma+sueldo;
y
System.out.println("Mayores de 1000 hay: "+mayor 1000);
System.out.println("la suma es de: "+suma);

15. Dadas las edades y alturas de 5 alumnos, mostrar la edad y la estatura media, la cantidad de
alumnos mayores de 18 años, y la cantidad de alumnos que miden más de 1.75.

package bol02ej15;
public class Main (
public static void main(String[] args) {
int edad,media edad,suma edad,mayor edad,mayor 175; //mayor edad: mayores de 18 años
double altura,media altura,suma alt;
mayor edad=0;
media_altura=0;
mayor_175=0;
suma_alt=0;
for (int i=1;i<5;i++){
System.out.println("Alumno " +i);
System.out.print ("Introduzca edad: ");
edad=Entrada.entero () ;
System.out.print ("Introduzca altura: ");
altura=Entrada.
real () ;
if (edad>18)
mayor_edad++;

Ejercicios de Programación en Java 49


if(altura>1.75)
mayor 175++;
suma_edad=suma_edadtedad;
suma_alt=suma_alt+altura;
)
media_edad=suma_edad/5;
media_altura=suma_alt/5;
System.out.printin ("inlnLa edad media es de: " +media edad);
System.out.println("La altura media es de: " +media altura);
System.out.println("Mayor de 18 años: " +mayor_edad) ;
System.out.println("Mayor de 1.75: " +mayor 175);

16. Pide un número (que debe estar entre 0 y 10) y mostrar la tabla de multiplicar de dicho número.

package bol02ejl6;
public class Main (
public static void main(String[] args) (
int num;
do
{
System.out.print ("Introduce número (de 0 a 10): ");
num=Entrada.entero () ;

Ejercicios de Programación en Java 50


while ( ! (0<=n um && num<=10));

System.out.print In("\n\nTabla del " + num);


for (int i=. ri<=. 10;i++)
{
System.out.printin
(num + " x " + i + " = " + num*i);

17.Una empresa que se de dica a la venta de desinfectantes necesita un programa para gestionar las
facturas. En cada fac tura figura: el código del artículo, la cantidad vendida en litros y el
precio por litro.
Se pide de 5 facturas introducidas: Facturación total, cantidad en litros vendidos del artículo 1
y cuantas facturas se emitieron de más de 600 €.

package bol02ej17;
public class Main (
public static void main(String[] args) (
int codigo; // el código del artículo en cada factura
int litros; // la cantidad de litros en cada factura
float precio; // el precio por litro en cada factura

float importefa ctura; // guardará el importe de la factura con la que estemos trabajando
float facturacion total; // el importe de todas las facturas
int litros codl; // el total de litros vendidos del producto 1 en todas las facturas

Ejercicios de Programación en Java 51


int mas_600; // contador que sirve para llevar la cuenta de cuantas facturas hay de
más de 600 €

facturacion total = 0;
litros_codl = 0;
mas_600 = 0;
for (int i=1;i<=5;i++)
{
System.out.println("Factura n° " + i);
System.out.print ("código de producto: ");
codigo=Entrada.entero () ;
System.out.print ("cantidad (litros): ")7
litros=Entrada.entero () ;
System.out.print ("precio (litro): ");
precio= (float)Entrada.real ();

importe factura = litros*precio;


facturacion total += importe factura;
if (codigo == 1)
litros codl += litros;
if(importe factura >= 600)
mas 600 ++;

System.out.println("\n\n\nResumen de ventas\n");
// facturación total
System.out.println("La facturación total es de: " +facturacion_total + "€");

Ejercicios de Programación en Java 52


// litros del articulo 1
System.out.println("Ventas del producto 1: + litros codl + " litros");

// factura de mas de 600 euros


System.out.println("Factura superior a 600€: " + mas_600);

18.Igual que el anterior pero suponiendo que no se introduce el precio por litro. Solo existen tres
productos con precios:
1- 0,6 €/litro, 2- 3 €/litro y 3- 1,25 €/litro.

package bol02ej18;
public class Main (
public static void main(String[] args) {
int codigo; // el código del artículo en cada factura
int litros; // la cantidad de litros en cada factura
float precio; —// ahora el precio no se pide por teclado
float importe factura; // guardará el importe de la factura con la que estemos trabajando

float facturacion total; // el importe de todas las facturas


int litros codl; // el total de litros vendidos del producto 1 en todas las facturas

int mas_600; // contador que sirve para llevar la cuenta de cuantas facturas hay de
más de 600 €

facturacion total = 0;

Ejercicios de Programación en Java 53


litros_codl = 0;
mas_600 = 0;
for (int i=1;i<=5;1++)
{
System.out.println("Factura n* " + i);
System.out.print ("código de producto: ");
codigo=Entrada.entero() ;
System.out.print ("cantidad (litros): ");
litros=Entrada.entero();

switch (codigo)
f
case 1:
precio = 0.6f;
break;
case 2:
precio = 3f;
break;
case 3:
precio = 1.25f;
break;
default:
precio = 0; // este caso no debe darse

importe_factura = litros*precio;
facturacion total += importe factura;
if (codigo == 1)

Ejercicios de Programación en Java 54


litros codl += litros;
if (importe factura >= 600)
mas 600 ++;
}
System.out.printin ("\n\n\nResumen de ventas\n");
// facturación total
System.out.println("La facturación total es de: " +facturacion total + "€");

// litros del articulo 1


System.out.println("Ventas del producto 1: " + litros codl + " litros");

// factura de mas de 600 euros


System.out.println("Factura superior a 600€: " + mas_600);

19.Dadas 6 notas, escribir la cantidad de alumnos aprobados, condicionados (=4) y suspensos.

package bol02ej19;
public class Main (
public static void main(String[] args) {
int nota,aprobados,suspensos,condicionados;

Ejercicios de Programación en Java 55


condicionados=0;

for (int i=1;i<=6;i++)


{
System.out.print ("Introduzca nota entre 0 y 10: ");
nota=Entrada.entero () ;
if(nota == 4)
condicionados++;
else
if(nota >= 5)
aprobados++;
else
if(nota < 4) // este if sobra, ya que es el único caso posible
suspensos++;

System.out.println("Aprobados: " +aprobados) ;


System.out.print1n ("Suspensos: " +suspensos);
System.out.println("Condicionados: "+condicionados);

20 . Pedir un número N, introducir N sueldos, y mostrar el sueldo máximo.

package bol02ej20;
public class Main (
public static void main(String[] args) {

Ejercicios de Programación en Java 56


int sueldo, sueldo max;
int n;

sueldo max = 0; // como los sueldos son positivos, inicializamos el sueldo


// máximo a cero.

System.out.print ("Número de sueldos: ");


n = Entrada.entero();
System.out.println("-------- "7

for (int i=1;i<=n;i++


f
System.out.print ("Introduce sueldo: ");
sueldo=Entrada.entero () ;

if (sueldo > sueldo max)


sueldo max = sueldo;
// si leemos un sueldo mayor que el máximo, este sueldo será el nuevo máximo.
}

System.out.println("\nEl sueldo máximo es: " +sueldo_max);

package bol02ej20;
public class Main (
public static void main(String[] args) (
int sueldo, sueldo max=0
int n;

Ejercicios de Programación en Java 57


boolean primer sueldo asignado;
// esta bandera indica si hemos asignado el primer sueldo como sueldo máximo
// con esto podremos tener sueldos negativos
primer sueldo asignado = false;

System.out.print ("Número de sueldos: ");


n = Entrada.entero ();

System.out.println("-------- "7

for (int i=1;i<=n;i++)


f
System.out.print ("Introduce sueldo: ");
sueldo=Entrada.entero () ;

if (primer sueldo asignado == false)


f
// asignamos como máximo el primer sueldo leído
sueldo max = sueldo;
primer sueldo asignado = true;
J

if (sueldo > sueldo max)


sueldo max = sueldo;
// si leemos un sueldo mayor que el máximo, este sueldo será el nuevo máximo.
J

System.out.println("\nEl sueldo máximo es: " +sueldo max);

Ejercicios de Programación en Java 58


21.Pedir 10 números, y mostrar al final si se ha introducido alguno negativo.

package bol02ej21;
public class Main (
public static void main(String[] args) {
int num;
boolean hay negativo;
// la variable hay negativo según los dos posibles valores indica:
// false: no se ha introducido ningún número negativo
// true: al menos hay un número negativo
hay negativo =false;
// Suponemos que no habrá ningún negativo
for (int i=1;i<=10;i++)
{
System.out.print ("Introduce número: "7
num=Entrada.entero () ;

if (num<0)
hay negativo =true;
// si num es menor que cero, cambiamos el valor de hay negativo a true

J
if(hay negativo true)
System.out.println("Se ha introducido algún número negativo");
else
System.out.println("No hay ningún número negativo");

Ejercicios de Programación en Java 59


22.Pedir 5 calificaciones de alumnos y decir al final si hay algún suspenso.

package bol02ej22;
public class Main (
public static void main(String[] args) {
int notas;
boolean suspensos;
suspensos=false; // suponemos que en principio no hay A ningún suspenso

for (int i=0;i<5;it+)


{
System.out.print ("Introduzca nota (de 0 a 10): ");
notas=Entrada.entero();

if (notas<5)
suspensos=true;
J

if (suspensos)
System.out.print1n ("Hay alumnos suspensos");
else
System.out.println("No hay suspensos");

23.Pedir 5 números e indicar si alguno es múltiplo de 3.

package bol02ej23;
public class Main (

Ejercicios de Programación en Java 60


public static void main(String[] args) |
int num;
boolean multiplo3;
multiplo 3=false;
for (int i=0;i<5;i++){
System.out.print ("Introduzca número: ");
num=Entrada.entero () ;
if(num $3 == 0)
multiplo_3=true; // si se ejecuta esta instrucción significa que al menos hay un múltiplo
de 3.
)
if(multiplo 3 == false)
System.out.println("no existen múltiplos de 3",
else
System.out.println("Hay múltiplos de 3");
y
)

Ejercicios de Programación en Java 61


Boletín 3
Bucles anidados
1. Realiza detenidamente una traza al siguiente programa y muestra cual seria la salida por pantalla:

PROGRAMA ej_1
VARIABLES
suma, i, j: ENTERO
COMIENZO
PARA i <- 1 HASTA 4
PARA j <- 3 HASTA 0 INC -1
suma <- i*10+j
escribir (suma)
FIN PARA
FIN PARA
FIN

Ejercicios de Programación en Java 62

También podría gustarte