Ejercicios Prácticos de Programación en Java: Vectores, Matrices e Histogramas

Informática6,13 KB

Introducción a la Programación en Java

A continuación, se presentan tres ejercicios prácticos desarrollados en el lenguaje de programación Java, enfocados en la manipulación de vectores, matrices y el procesamiento de datos estadísticos básicos.

1. Ordenamiento de Vectores

Este programa permite ingresar una serie de elementos numéricos desordenados y los organiza utilizando un algoritmo de selección.


import java.io.*; 
import disc.*; 
class OrdenaVector {
    public static void main (String args[]) throws IOException {
        int[] desorden = new int[100]; 
        int[] orden = new int[100]; 
        int n, mayor, cont, tope; 
        PantallaSalida.println("Ingrese la cantidad de elementos:"); 
        n = PantallaEntrada.getInt(); 
        for (int i = 0; i < n; i++) {
            PantallaSalida.println("Ingrese elemento " + i); 
            desorden[i] = PantallaEntrada.getInt(); 
        } 
        cont = 0; 
        tope = 101; 
        for (int i = 0; i < n; i++) {
            mayor = desorden[0]; 
            for (int j = 0; j < n; j++) {
                if (desorden[j] > mayor && desorden[j] < tope) {
                    mayor = desorden[j]; 
                } 
            } 
            orden[cont] = mayor; 
            tope = mayor; 
            cont++; // es el índice del vector que guarda los números ordenados 
        } 
        for (int i = 0; i < n; i++) {
            PantallaSalida.println(orden[i]); 
        } 
    } 
}

2. Generación de Histograma de Notas

Este algoritmo recopila calificaciones de alumnos (del 1 al 7), almacena los datos en un vector y genera un conteo detallado que funciona como histograma de rendimiento.


import disc.*; 
import java.io.*; 
public class HistogramaNotas {
    public static void main(String[] args) throws IOException {
        String resp = ""; 
        int nota, i = 0, n = 0, cont1 = 0, cont2 = 0, cont3 = 0, cont4 = 0, cont5 = 0, cont6 = 0, cont7 = 0; 
        int nvector[] = new int[49]; 

        for (i = 0; i <= 49; i++) {
            do {
                PantallaSalida.println("Ingrese la nota."); 
                nota = PantallaEntrada.getInt(); 
                nvector[i] = nota; 
                n = i; 
            } while (nota < 1 || nota > 7); 
            
            if (nota == 1) { cont1++; }
            if (nota == 2) { cont2++; }
            if (nota == 3) { cont3++; }
            if (nota == 4) { cont4++; }
            if (nota == 5) { cont5++; }
            if (nota == 6) { cont6++; }
            if (nota == 7) { cont7++; }
            
            PantallaSalida.println("¿Hay más alumnos para seguir ingresando notas?"); 
            resp = PantallaEntrada.getString(); 
            if (resp.equalsIgnoreCase("no")) {
                break; 
            } 
        } 
        
        i = 0; 
        PantallaSalida.println("Las notas son:"); 
        for (i = 0; i <= n; i++) {
            PantallaSalida.println(nvector[i]); 
        } 
        
        PantallaSalida.println("Histograma:"); 
        PantallaSalida.println("La cantidad de notas 1 es: " + cont1); 
        PantallaSalida.println("La cantidad de notas 2 es: " + cont2); 
        PantallaSalida.println("La cantidad de notas 3 es: " + cont3); 
        PantallaSalida.println("La cantidad de notas 4 es: " + cont4); 
        PantallaSalida.println("La cantidad de notas 5 es: " + cont5); 
        PantallaSalida.println("La cantidad de notas 6 es: " + cont6); 
        PantallaSalida.println("La cantidad de notas 7 es: " + cont7); 
    } 
}

3. Operaciones con Matrices y Diagonales

Este script realiza operaciones avanzadas sobre matrices bidimensionales, incluyendo la extracción de la diagonal principal hacia un vector, modificación de filas específicas y cálculo de sumas por filas.


import java.io.*; 
import disc.*; 
class EjercicioDiagonalaVector {
    public static void main (String args[]) throws IOException {
        int[] v = new int[50]; 
        int[] v2 = new int[50]; 
        int[][] m = new int[50][50]; 
        int n, fila, columna, contador, sumafilas = 0, contador2 = -1; 
        
        PantallaSalida.println("Ingrese el tamaño de la matriz (cantidad de filas y columnas)"); 
        n = PantallaEntrada.getInt(); 

        for (fila = 0; fila < n; fila++) {
            for (columna = 0; columna < n; columna++) {
                PantallaSalida.println("Ingrese valores a la matriz"); 
                m[fila][columna] = PantallaEntrada.getInt(); 
            } 
        } 
        
        contador = 0; 
        for (fila = 0; fila < n; fila++) {
            for (columna = 0; columna < n; columna++) {
                if (fila == columna) { // se busca la diagonal principal 
                    v[contador] = m[fila][columna]; 
                    contador = contador + 1; 
                } 
            } 
        } 
        
        for (contador = 0; contador < n; contador++) {
            PantallaSalida.println("Los elementos del vector son : " + v[contador]); 
        } 
        
        // Cambio de valores en la primera y última fila
        for (fila = 0; fila < n; fila++) {
            for (columna = 0; columna < n; columna++) {
                if (fila == 0) 
                    m[fila][columna] = 1; 
                if (fila == (n - 1)) 
                    m[fila][columna] = 100; 
            } 
        } 
        
        for (fila = 0; fila < n; fila++) {
            for (columna = 0; columna < n; columna++) {
                PantallaSalida.println("La matriz cambiada queda " + m[fila][columna]); 
            } 
        } 
        
        for (fila = 0; fila < n; fila++) {
            sumafilas = 0; 
            contador2++; 
            for (columna = 0; columna < n; columna++) {
                sumafilas = sumafilas + m[fila][columna]; 
                v2[contador2] = sumafilas; 
            } 
        } 
        
        for (contador2 = 0; contador2 < n; contador2++) {
            PantallaSalida.println("Vector con la suma de filas: " + v2[contador2]); 
        } 
    } 
}

Descargar

PDF Word HTML