Está en la página 1de 18

Escuela Superior Politécnica de

Chimborazo

Facultad de Informática y Electrónica

Carrera: Tecnologías de la Información

Materia: Programación orientada a objetos

Fecha: 14/04/2024

Integrantes:

Jhoan Farinango “415”

Naryiry Sanchez “290”

Sara Altamirano “327”

Docente: Ing. Vinicio Ramos Valencia. MSc.


Desarrolle los Siguientes Problemas:

1. Calcular la media de una serie de números que se leen por


teclado.
import java.util.Scanner;
public class CalcularMedia {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese la cantidad de numeros a promediar: ");
int cantidadNumeros = scanner.nextInt();
double suma = 0;
System.out.println("Ingrese los numeros:");
for (int i = 0; i < cantidadNumeros; i++) {
System.out.print("Numero " + (i + 1) + ": ");
double numero = scanner.nextDouble();
suma += numero;
}
double media = suma / cantidadNumeros;
System.out.println("La media de los numeros ingresados es: " + media);
scanner.close();
}
}

2. Leer 10 números enteros por teclado y guardarlos en un array.


Calcula y muestra la media de los números que estén en las
posiciones pares del array.
import java.util.Scanner;
public class MediaPares {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] numeros = new int[10];
int sumaPares = 0;
int contadorPares = 0;

Docente: Ing. Vinicio Ramos Valencia. MSc.


System.out.println("Introduzca 10 enteros:");
for (int i = 0; i < 10; i++) {
numeros[i] = scanner.nextInt();
}
for (int i = 0; i < 10; i += 2) {
sumaPares += numeros[i];
contadorPares++;
}
if (contadorPares > 0) {
System.out.println("La media de los números en posiciones pares es: " +
(double) sumaPares / contadorPares);
} else {
System.out.println("No se han introducido números en posiciones pares.");
}
scanner.close();
}
}

3. Leer por teclado la nota de los alumnos de una clase y calcular


la nota media del grupo. Mostar los alumnos con notas
superiores a la media.
import java.util.Scanner;
public class CalcularNota {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese la cantidad de alumnos: ");
int cantidadAlumnos = scanner.nextInt();
double[] notas = new double[cantidadAlumnos];
double suma = 0;
System.out.println("Ingrese las notas de los alumnos:");
// Leer las notas y calcular la suma
for (int i = 0; i < cantidadAlumnos; i++) {
System.out.print("Nota del alumno " + (i + 1) + ": ");

Docente: Ing. Vinicio Ramos Valencia. MSc.


notas[i] = scanner.nextDouble();
suma += notas[i];
}
// Calcular la nota media
double media = suma / cantidadAlumnos;
System.out.println("La nota media del grupo es: " + media);
// Mostrar los alumnos con notas superiores a la media
System.out.println("Alumnos con notas superiores a la media:");
for (int i = 0; i < cantidadAlumnos; i++) {
if (notas[i] > media) {
System.out.println("Alumno " + (i + 1) + ": " + notas[i]);
}
}
scanner.close();
}
}

4. Guardar en un array los 20 primeros números pares


public class Arrays {
public static void main(String[] args) {
int[] pares = new int[20];
int contador = 0;
for (int i = 0; contador < 20; i++) {
if (i % 2 == 0) {
pares[contador] = i;
contador++;
}
}
System.out.println("Los 20 primeros numeros pares son:");
for (int i = 0; i < 20; i++) {
System.out.println(pares[i]);
}

Docente: Ing. Vinicio Ramos Valencia. MSc.


}
}

5. Contar el número de elementos positivos, negativos y ceros en


un array de 10 enteros.
public class CElementos {
public static void main(String[] args) {
int[] numeros = {-100, 4, 20, 0, -16, 2, 0, -1, 44, 0};
int positivos = 0;
int negativos = 0;
int ceros = 0;
for (int i = 0; i < 10; i++) {
if (numeros[i] > 0) {
positivos++;
} else if (numeros[i] < 0) {
negativos++;
} else {
ceros++;
}
}
System.out.println("Num de positivos: " + positivos);
System.out.println("Num de negativos: " + negativos);
System.out.println("Num de ceros: " + ceros);
}
}

6. Leer 10 enteros y mostrar la media de los valores negativos y


la de los positivos.
import java.util.Scanner;
public class MediaPosiNega {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] numeros = new int[10];
int posit = 0;

Docente: Ing. Vinicio Ramos Valencia. MSc.


int negat = 0;
int sumPositivos = 0;
int sumNegativos = 0;
System.out.println("Introduzca los 10 enteros:");
for (int i = 0; i < 10; i++) {
numeros[i] = scanner.nextInt();
if (numeros[i] > 0) {
sumPositivos += numeros[i];
posit++;
} else if (numeros[i] < 0) {
sumNegativos += numeros[i];
negat++;
}
}
if (posit > 0) {
System.out.println("La media de los numeros positivos es: " + (double)
sumPositivos / posit);
} else {
System.out.println("No se han introducido positivos.");
}
if (negat > 0) {
System.out.println("La media de los numeros negativos es: " + (double)
sumNegativos / negat);
} else {
System.out.println("No se han introducido negativos.");
}
scanner.close();
}
}

7. Leer N alturas y calcular la altura media. Calcular cuántas hay


superiores a la media y cuántas inferiores.
import java.util.Scanner;

Docente: Ing. Vinicio Ramos Valencia. MSc.


public class NAltura {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Leer la cantidad de alturas
System.out.print("Ingrese la cantidad de alturas: ");
int cantidadAlturas = sc.nextInt();
// Leer las alturas
double[] alturas = new double[cantidadAlturas];
for (int i = 0; i < alturas.length; i++) {
System.out.print("Ingrese la altura " + (i + 1) + ": ");
alturas[i] = sc.nextDouble();
}
// Calcular la media
double sumaAlturas = 0;
for (double altura : alturas) {
sumaAlturas += altura;
}
double mediaAlturas = sumaAlturas / cantidadAlturas;
// Contar alturas superiores e inferiores
int superiores = 0;
int inferiores = 0;
for (double altura : alturas) {
if (altura > mediaAlturas) {
superiores++;
} else if (altura < mediaAlturas) {
inferiores++;
}
}
// Mostrar resultados
System.out.println("Media de las alturas: " + mediaAlturas);

Docente: Ing. Vinicio Ramos Valencia. MSc.


System.out.println("Las alturas superiores a la media son: " + superiores);
System.out.println("Las alturas inferiores a la media son: " + inferiores);
}
}

8. Leer el nombre y sueldo de 20 empleados y mostrar el nombre


y sueldo del empleado que más gana.
import java.util.Scanner;
public class NomSueldoEmpleados {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] empleados = new String[20];
double[] sueldos = new double[20];
String empleadoConMasSueldo = null;
double sueldoMasAlto = Double.NEGATIVE_INFINITY;
for (int i = 0; i < 20; i++) {
System.out.print("Ingresar el nombre del empleado " + (i + 1) + ": ");
empleados[i] = scanner.nextLine();
System.out.print("Ingresar el sueldo del empleado " + (i + 1) + ": ");
sueldos[i] = scanner.nextDouble();
scanner.nextLine(); // consume the newline left-over
if (sueldos[i] > sueldoMasAlto) {
sueldoMasAlto = sueldos[i];
empleadoConMasSueldo = empleados[i];
}
}
System.out.println("El empleado que mas sueldo gana es: " +
empleadoConMasSueldo + " , con un sueldo de " + sueldoMasAlto);
scanner.close();
}
}

9. Calcular la sumatoria de los X primeros números enteros


import java.util.Scanner;

Docente: Ing. Vinicio Ramos Valencia. MSc.


public class SumatoriaNumEnteros {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Leer el valor de X
System.out.print("Ingresa el numero de X: ");
int x = sc.nextInt();
// Calcular la sumatoria
int sumatoria = 0;
for (int i = 1; i <= x; i++) {
sumatoria += i;
}
// Mostrar el resultado
System.out.println("La sumatoria de los " + x + " primeros numeros enteros: " +
sumatoria);
}
}

10. Calcular el valor de S de acuerdo a la siguiente expresión:


S = 1 + ½ + 1/3 + ¼ + ..... + 1/N
import java.util.Scanner;
public class ValorS {

public static void main(String[] args) {


Scanner sc = new Scanner(System.in);
System.out.print("Ingrese el valor de N: ");
int n = sc.nextInt();
if (n <= 0) {
System.out.println("Error: El valor de N debe ser un numero positivo mayor
que 0.");
return;
}
double suma = 0;
for (int i = 1; i <= n; i++) {

Docente: Ing. Vinicio Ramos Valencia. MSc.


double termino = 1.0 / i;
suma += termino;
}
System.out.println("El valor de la suma S es: " + suma);
}

11. Calcular la factorial de N números ingresados


import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
Scanner numero = new Scanner(System.in);
System.out.print("Introduce el numero: ");
int num = numero.nextInt();
long factorial = 1;
for (int i = num; i > 0; i--) {
factorial= factorial * i;
}
System.out.println("El factorial de " + num + " es: " + factorial);
}
}

12. Determinar el rango de varios números ingresados. El rango


equivale a la diferencia entre el valor mayor y el menor.
import java.util.Scanner;
public class RangoNum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
System.out.print("Ingrese la cantidad de numeros: ");
int cantidad = sc.nextInt();
for (int i = 0; i < cantidad; i++) {
System.out.print("Ingrese el numero " + (i + 1) + ": ");

Docente: Ing. Vinicio Ramos Valencia. MSc.


int num = sc.nextInt();
min = Math.min(min, num);
max = Math.max(max, num);
}
int rango = max - min;
System.out.println("El rango de los numeros ingresados es: " + rango);
}
}

13. Calcular el promedio de los valores múltiplos de X e Y que


constan entre varios números ingresados por el usuario
import java.util.Scanner;
public class Promedio {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Ingrese el valor de X: ");
int x = sc.nextInt();
System.out.print("Ingrese el valor de Y: ");
int y = sc.nextInt();
System.out.print("Ingrese el valor minimo del rango: ");
int min = sc.nextInt();
System.out.print("Ingrese el valor maximo del rango: ");
int max = sc.nextInt();
int suma = 0;
int contador = 0;
for (int num = min; num <= max; num++) {
if (esMultiplo(num, x, y)) {
suma += num;
contador++;
}
}

Docente: Ing. Vinicio Ramos Valencia. MSc.


double promedio = (double) suma / contador;
System.out.println("El promedio de los multiplos de " + x + " y " + y +
" en el rango [" + min + ", " + max + "] es: " + promedio);
}
private static boolean esMultiplo(int num, int x, int y) {
return num % x == 0 && num % y == 0;
}
}

14. Generar los N primeros múltiplos de X comprendidos entre


los valores A y B
import java.util.Scanner;
public class PrimerosMultiplos {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Ingrese el valor de X: ");
int x = sc.nextInt();
System.out.print("Ingrese el valor minimo del rango (A): ");
int a = sc.nextInt();
System.out.print("Ingrese el valor maximo del rango (B): ");
int b = sc.nextInt();
System.out.print("Ingrese la cantidad de multiplos a generar (N): ");
int n = sc.nextInt();
if (a > b || n <= 0) {
System.out.println("Error: Rango o cantidad de multiplos invalidos.");
return;
}
int contador = 0;
for (int multiplo = x; multiplo <= b; multiplo += x) {
if (a <= multiplo) {
System.out.print(multiplo + " ");
contador++;

Docente: Ing. Vinicio Ramos Valencia. MSc.


if (contador == n) {
break;
}
}
}
}
}

15. Calcular el rango de los números primos que existen entre


varios valores ingresados por el usuario
import java.util.Scanner;
public class RangoNumPrimos {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Ingrese el valor minimo del rango: ");
int min = sc.nextInt();
System.out.print("Ingrese el valor maximo del rango: ");
int max = sc.nextInt();
if (min > max) {
System.out.println("Error: El valor minimo debe ser menor o igual al valor
maximo.");
return;
}
int[] criba = new int[max + 1];
marcarNoPrimos(criba);
int primerPrimo = 0;
int ultimoPrimo = 0;
int contadorPrimos = 0;
for (int i = min; i <= max; i++) {
if (criba[i] == 0) { // Es primo
contadorPrimos++;
if (primerPrimo == 0) {

Docente: Ing. Vinicio Ramos Valencia. MSc.


primerPrimo = i;
}
ultimoPrimo = i;
}
}
int rangoPrimos = ultimoPrimo - primerPrimo;
System.out.println("El rango de numeros primos en el rango [" + min + ", " + max
+ "] es: " + rangoPrimos);
if (rangoPrimos > 0) {
System.out.println("Numeros primos encontrados: " + primerPrimo + ", " +
ultimoPrimo);
} else {
System.out.println("No se encontraron numeros primos en el rango
especificado.");
}
}
private static void marcarNoPrimos(int[] criba) {
for (int i = 2; i * i <= criba.length; i++) {
if (criba[i] == 0) { // Es primo
for (int j = i * i; j <= criba.length; j += i) {
criba[j] = 1; // No es primo
}
}
}
}
}

16. Determinar los puntos de coordenadas enteras que están sobre


la circunferencia X2 + Y2 = R2
import java.util.ArrayList;
public class PuntosCoordenadas {
public static void main(String[] args) {
int radio = 10; // Cambia el valor del radio según sea necesario

Docente: Ing. Vinicio Ramos Valencia. MSc.


ArrayList<int[]> puntos = new ArrayList<>();
for (int x = -radio; x <= radio; x++) {
for (int y = -radio; y <= radio; y++) {
if (x * x + y * y == radio * radio) {
int[] punto = {x, y};
puntos.add(punto);
}
}
}
System.out.println("Los puntos de coordenadas enteras sobre la circunferencia
son:");
for (int[] punto : puntos) {
System.out.println("(" + punto[0] + ", " + punto[1] + ")");
}
}
}

17. Determinar los valores que se encuentran repetidos


consecutivamente entre varios números enteros ingresados por
el usuario.
import java.util.Scanner;
public class Repetidos {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Ingrese la cantidad de numeros: ");
int cantidadNumeros = sc.nextInt();
int[] numeros = new int[cantidadNumeros];
for (int i = 0; i < numeros.length; i++) {
System.out.print("Ingrese el numero " + (i + 1) + ": ");
numeros[i] = sc.nextInt();
}
int repeticionesConsecutivas = 0;
int valorAnterior = Integer.MIN_VALUE;

Docente: Ing. Vinicio Ramos Valencia. MSc.


for (int i = 0; i < numeros.length; i++) {
int valorActual = numeros[i];
if (valorActual == valorAnterior) {
repeticionesConsecutivas++;
} else {
if (repeticionesConsecutivas > 0) {
System.out.println("Valor repetido " + (repeticionesConsecutivas + 1) +
" veces: " + valorAnterior);
}
repeticionesConsecutivas = 0;
valorAnterior = valorActual;
}
}
if (repeticionesConsecutivas > 0) {
System.out.println("Valor repetido " + (repeticionesConsecutivas + 1) + "
veces: " + valorAnterior);
}
}
}

18.- calculo factorial y insertar 5 números y el resultado


imprimirlo en un vector

import java.util.Scanner;

public class FactorialCalculator {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

// Pedir al usuario que ingrese 5 números

Docente: Ing. Vinicio Ramos Valencia. MSc.


int[] numeros = new int[5];
System.out.println("Por favor, ingrese 5 números:");

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


numeros[i] = scanner.nextInt();
}

// Calcular el factorial de cada número y almacenarlo en un vector


long[] factoriales = new long[5];
for (int i = 0; i < 5; i++) {
factoriales[i] = calcularFactorial(numeros[i]);
}

// Imprimir los resultados


System.out.println("Factoriales de los números ingresados:");
for (int i = 0; i < 5; i++) {
System.out.println("El factorial de " + numeros[i] + " es: " + factoriales[i]);
}
}

// Método para calcular el factorial de un número


public static long calcularFactorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
long factorial = 1;
for (int i = 2; i <= n; i++) {
factorial *= i;
}
return factorial;

Docente: Ing. Vinicio Ramos Valencia. MSc.


}
}

Docente: Ing. Vinicio Ramos Valencia. MSc.

También podría gustarte