alg-c1-tarea1 (1)
alg-c1-tarea1 (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.
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 () ;
package bol01ej03;
public class Main {
System.out.println("La longitud de una circunferencia de radio " + r+ " es: " + 1);
package bol01ej04;
if (n1==n2)
System.out.println("Son iguales
else
System.out.println("No son iguales");
package bol01ej06;
public class Main (
public static void main(String[] args) |
int nl,n2;
package bol01ej07;
public class Main (
public static void main(String[] args) |
int nl,n2;
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);
package bol01ej09;
public class Main (
public static void main(String[] args) (
int n1,n2;
if (n1>n2)
System.out.println(nl
else
System.out.println (n2
package bol01ej10;
public class Main (
public static void main(String[] args) (
int a,b,c;
package bol0lejll;
public class Main |
public static void main(String[] args) {
int num;
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;
// 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);
package bol01ej13;
// 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
package bol0lej13;
public class Main f
public static void main(String[] args) (
int num;
int dm, um, ¢, d, u;
// 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;
// centenas
c = num % 10;
num = num / 10;
// unidades de millar
um = num % 10;
num = num / 10;
// decenas de millar
dm = num;
package bolOlejld;
public class Main (
public static void main(String[] args) {
int nota;
// 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
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:
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;
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))
y
)
package bol0lej16;
public class Main (
public static void main(String[] args) {
int dia,mes,año;
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 (
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
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 (
20. Pedir una hora de la forma hora, minutos y segundos, y mostrar la hora en el segundo siguiente.
package bol01ej20;
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;
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.
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") ;
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") ;
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;
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
package bol02ej02;
public class Main (
public static void main(String[] args) (
int num;
System.out.print ("Introduzca un número: ");
num=Entrada.entero () ;
3. Leer números hasta que se introduzca un 0. Para cada uno indicar si es par o impar.
package bol02ej03;
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;
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;
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
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) (
do
f
System.out.print ("Introduzca un número: ");
num=Entrada.entero () ;
suma=suma+num;
while (num!=0) ;
package bol02ej07;
public class Main (
public static void main(String[] args) (
int num, suma, elementos;
float media; // la media puede tener decimales
suma= 0;
elementos= 0;
package bol02ej08;
public class Main (
public static void main(String[] args) (
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) ;
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 () ;
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,
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;
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
suma_pos=0;
suma_neg=0;
if (num==0)
cont_ceros++;
else
{
if (num>0)
{
cont_pos++;
suma_pos+=num;
J
else
{
cont_negt+;
suma_neg+=num;
J
J
J
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++;
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++;
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 () ;
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
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 ();
System.out.println("\n\n\nResumen de ventas\n");
// facturación total
System.out.println("La facturación total es de: " +facturacion_total + "€");
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
int mas_600; // contador que sirve para llevar la cuenta de cuantas facturas hay de
más de 600 €
facturacion total = 0;
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)
package bol02ej19;
public class Main (
public static void main(String[] args) {
int nota,aprobados,suspensos,condicionados;
package bol02ej20;
public class Main (
public static void main(String[] args) {
package bol02ej20;
public class Main (
public static void main(String[] args) (
int sueldo, sueldo max=0
int n;
System.out.println("-------- "7
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");
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
if (notas<5)
suspensos=true;
J
if (suspensos)
System.out.print1n ("Hay alumnos suspensos");
else
System.out.println("No hay suspensos");
package bol02ej23;
public class Main (
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