






Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Programacion, Profesor: Marilina Rivero, Carrera: Ingeniería Técnica en Telecomunicación Especialidad Telemática., Universidad: UJAEN
Tipo: Apuntes
1 / 11
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!







Relación Problemas nº
1. Calcular el máximo de 50 números introducidos desde el teclado.
import ccj.*;
import java.util.*;
public class Maximo{
public static void main (String[] args) {
int array[];
array=new int[20];
int numero;
int i;
for(i=0;i<20;i++){
System.out.println("Introduzca número");
numero=Console.in.readInt();
array[i]=numero;
Arrays.sort(array);
System.out.println(array[19]);
2. Realizar un programa en Java que reciba 10 nombres desde el teclado y para cada uno
muestre un mensaje de saludo.
import ccj.*;
public class Relacion4ejer2{
public static void main(String args[]){
String nombre[];
nombre=new String[10];
String nom;
int i;
for(i=0;i<10;i++){
System.out.println("Introduzca nombre");
nom=Console.in.readLine();
nombre[i]=nom;
for(i=0;i<10;i++){
System.out.println("Hola "+nombre[i]);
3. Calcular la suma y la media de varios enteros que se introducen desde el teclado. El
algoritmo debe parar cuando se introduzca el número -1.
import ccj.*;
public class Relacion4ejer3{
public static void main(String args[]){
int i;
int a=0;
double numero[]=new double[999999];
double nun;
double suma=0;
double media;
for(i=0;i<numero.length;i++){
System.out.println("Introduzca número");
nun=Console.in.readDouble();
if(nun==-1){
a=i;
a=numero.length;
}else{
numero[i]=nun;
for(i=0;i<numero.length;i++){
suma=suma+numero[i];
media=suma/a;
System.out.println("La suma es: "+suma+"\nLa media es: "+media);
4. Realizar un programa en Java que lea números desde el teclado hasta que se introduzca el
número -70. Se desea que el algoritmo muestre cuantos números se han introducido y el valor
medio de los mismos.
import ccj.*;
public class Relacion4ejer4{
public double [] numeros;
public double n;
public Relacion4ejer4(){
numeros=new double[1];
n=0;
public void IntroNumeros(){
int i=0;
int m;
do{
System.out.println("Introduzca un número: ");
n=Console.in.readInt();
if(n!=(-70)){
numeros[i]=n;
double aux[]=new double[1+numeros.length];
5. Hacer un programa en Java que lea un nombre que llamaremos base. A continuación debe
seguir pidiendo nombres y decir si son anteriores alfabéticamente al nombre base o si son
posteriores. El algoritmo debe parar cuando introduzcamos un nombre igual al nombre base.
import ccj.*;
import java.util.*;
public class Relacion4ejer5{
public static void main(String args[]){
int n=0;
String names[]=new String[2];
System.out.println("Introduce el nombre base: ");
String base=Console.in.readLine();
do{
System.out.println("Introduzca nombre");
String nombre=Console.in.readLine();
if(!nombre.equals(base)){
names[0]=base;
names[1]=nombre;
Arrays.sort(names);
if(names[0].equals(base)){
System.out.println(nombre+" es posterior alfabéticamente a
"+base);
}else{
System.out.println(nombre+" es anterior alfabéticamente a
"+base);
n=0;
}else{
n=1;
}while(n==0);
6. Hacer un programa que lea 50 enteros y devuelva la suma de los elementos pares por un
lado, y la de los elementos impares por el otro.
import ccj.*;
public class Relacion4ejer6{
public static void main(String args[]){
int []enteros=new int[50];
int i, numero;
int par=0;
int impar=0;
for(i=0;i<50;i++){
System.out.println("Introduzca numero: ");
numero=Console.in.readInt();
if(numero%2==0){
par=par+numero;
else{
impar=impar+numero;
System.out.println("La suma par: "+par);
System.out.println("La suma impar: "+impar);
7. Escribe un programa en Java que lea un número N mayor que 0 y calcule la siguiente suma
import ccj.*;
public class Relacion4ejer7{
public static void main(String args[]){
System.out.println("Introduzca un número: ");
int numero=Console.in.readInt();
int suma=0;
do{
suma=suma+numero;
numero--;
}while(numero!=0);
System.out.println("La suma es: "+suma);
8. Después de ejecutar el siguiente fragmento de programa, ¡cuál será el valor final de la
variable x?
int x=0;
int n=16;
while (n%2==0){
x=x+n;
n=n/2;
x=16+8+4+2=
9. Escribe un programa que cálcule el mínimo, el máximo y la media de una lista de números
enteros positivos introducidos por el usuario. La lista finalizará cuando se introduzca un
número negativo.
import ccj.*;
import java.util.*;
public class Relacion4ejer9{
public static void main(String args[]){
int i=0;
int m;
int n;
int []numeros=new int [1];
do{
System.out.println("Introduzca un número: ");
n=Console.in.readInt();
11. Escribe un programa que solicite del usuario un número N y luego muestre por pantalla la
siguiente ejecución:
import ccj.*;
public class Relacion4ejer11{
public static void main(String args[]){
System.out.println("Introduce un numero:");
int n=Console.in.readInt();
String salida="";
String sal="";
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
if(j==1){
sal=sal+j;
}else{
sal=sal+"+"+j;
salida=salida+sal+"\n\r";
if(i==n){System.out.println(salida);}
sal="";
12. En el siguiente fragmento de programa, ¿cuántas veces se ejecuta la sentencia
System.out.println?
for (int i=1;i<=20;i=i+2){
a=0;
do{
System.out.println(i+” “+a);
a=a+1;
}while (a<10);
La sentencia System.out.println(), se ejecuta 10veces en cada do{} por las 10 veces que se ejecuta
el for, en total 10x10=100veces.
13. Escribe en Java un programa que lea de forma repetida un número N. Para cada número
leído el programa calculará la suma 1+2+3+...+N. Una vez mostrado el resultado, el programa
preguntará al usuario si desea continuar, si introduce s el program continuará la ejecución, en
caso contrario finalizará.
import ccj.*;
public class Relacion4ejer13{
public static void main(String args[]){
String s;
String ese="salir";
do{
System.out.println("Introduce un numero:");
int n=Console.in.readInt();
String salida="";
String sal="";
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
if(j==1){
sal=sal+j;
}else{
sal=sal+"+"+j;
salida=salida+sal+"\n\r";
if(i==n){System.out.println(salida);}
sal="";
System.out.println("Si desea salir de la ejecucion marque ´salir´");
s=Console.in.readLine();
Console.in.readLine();
}while(!s.equals(ese));
14. Escribe un programa que lea un mes en número (1 para enero, 2 para febrero, ..) y un año
e indique el número de días de ese mes. Recuerde que un año es bisiesto si es divisible por
cuatro, excepto cuando es divisible por 100, a no ser que sea divisible por 400. Así, 1900 no fue
bisiesto, pero el año 2000 sí lo fue.
import ccj.*;
public class Relacion4ejer14{
public static void main(String args[]){
int [] meses=new int[12];
int i;
int anio;
meses[0]=31;//enero
meses[2]=31;//marzo;
meses[3]=30;//abril
meses[4]=31;//mayo
meses[5]=30;//junio
meses[6]=31;//julio
meses[7]=31;//agosto
16. Un número perfecto es un entero positivo igual a la suma de sus divisores propios. Un
divisor propio es un entero positivo distinto que el número en sí mismo, que divide al número
de forma exacta ( es decir, sin resto). Por ejemplo, 6 es un número perfecto, porque la suma
de sus divisores propios 1,2 y 3 es igual a 6. 8 no es un número perfectro, porque la suma de
sus divisores propios,1 +2+4 es distinto de 8. Escriba un programa que acepte un entero
positivo y determine si es un número perfecto. Igualmente, muestree todos los divisores
propios del número.
import ccj.*;
public class Relacion4ejer16{
public static void main(String args[]){
System.out.println("Introduce un numero entero positivo");
int numero=Console.in.readInt();
int suma=0;
String propios="";
for(int i=1;i<numero;i++){
if(numero%i==0){
suma=suma+i;
propios=propios+" "+i;
if(suma==numero){
System.out.println("El numero "+numero+" es un numero perfecto");
System.out.println("Divisores propios: "+propios);
}else{
System.out.println("El numero "+numero+" no es un numero perfecto");
17. Escribe un programa en Java que lea un número entero y lo descompongas en factores
primos.
import ccj.*;
public class Relacion4ejer17{
public static void main(String args[]){
System.out.println("Introduce número");
int numero=Console.in.readInt();
String salida="";
for(int i=1;i<numero;i++){
if(numero%i==0){
numero=numero/i;
salida=salida+" "+i;
System.out.println("Los factores primos de "+numero+" son: "+salida);
18. Calcular el factorial de K números introducidos por teclado
import ccj.*;
public class Relacion4ejer18{
public static void main(String args[]){
System.out.println("Introduce un numero");
int numero=Console.in.readInt();
int factorial=1;
for(int i=1;i<=numero;i++){
factorial=factorial*i;
System.out.println("Su factorial es: "+factorial);
19. Realizar un programa para implementar el sumatorio:
(21+24) + (31+34+39)+ ... + (m1+m2+ ... +mm**
import ccj.*;
public class Relacion4ejer19{
public static void main(String args[]){
System.out.println("Introduce un numero");
int numero=Console.in.readInt();
double suma=0;
double resul=0;
for(int i=0;i<=numero;i++){
for(int j=0;j<=Math.pow(i,2);j++){
resul=resul+i*j;
suma=suma+resul;
System.out.println(suma);