3E e 3I SIA: Esercizio in Javascript: Creare un programma in javascript che consente di creare un array di cognomi di studenti e di voti. Stampare lo studente con la media voti più alta e lo studente con la media voti più bassa.

Creare un programma in javascript che consente di creare un array di cognomi di studenti e di voti. Stampare lo studente con la media voti più alta e lo studente con la media voti più bassa.




versione senza funzioni:

const N = 5; 

let studente = new Array(N);

let medie = new Array(N);

let studente_max, studente_min;

let medie_min, medie_max;


for (let i = 0; i < N; i++) {

    console.log("Inserire il nome dello studente " + i + " : ");

    studente[i] = prompt();

    let totale = 0;

    for (let j = 0; j < N; j++) {

        console.log("Inserire il voto della materia n" + j + " : ");

        let voti = parseFloat(prompt());

        totale = totale + voti;

    }

    medie[i] = totale / N;

}

console.log("Elenco degli studenti e le loro medie ");

for (let i = 0; i < N; i++) {

    console.log("Studente " + i + ": " + studente[i] + " media " + medie[i]);

}

medie_min = medie[0];

medie_max = medie[0];

studente_max = studente[0];

studente_min = studente[0];


for (let i = 0; i < N; i++) {

    if (medie[i] > medie_max) {

        medie_max = medie[i];

        studente_max = studente[i];

    }

}

for (let i = 0; i < N; i++) {

    if (medie[i] < medie_min) {

        medie_min = medie[i];

        studente_min = studente[i];

    }

}

console.log("Lo studente con la media più alta " + studente_max + " con la media " + medie_max);

console.log("Lo studente con la media più bassa " + studente_min + " con la media " + medie_min);


versione con le funzioni:

<!DOCTYPE html>

<html>

<head>

    <title>Calcolo Medie Studenti</title>

    <script>

        const N = 5; // Numero di studenti

        let studente = new Array(N);

        let medie = new Array(N);

        let studente_max, studente_min;

        let medie_min, medie_max;

        function calcolaMedie() {

            // Input del nome dello studente e dei voti

            for (let i = 0; i < N; i++) {

                studente[i] = prompt("Inserire il nome dello studente " + i + ": ");

                let totale = 0;


                for (let j = 0; j < N; j++) {

                    let voti = parseFloat(prompt("Inserire il voto della materia n" + j + ": "));

                    totale = totale + voti;

                }

                medie[i] = totale / N;

            }

            // Visualizzazione degli studenti e delle loro medie

            let output = "";

            for (let i = 0; i < N; i++) {

                output += "Studente " + i + ": " + studente[i] + " media " + medie[i] + "<br>";

            }

            document.getElementById("output").innerHTML = output;

            // Calcolo dello studente con media più alta e più bassa

            //Math.min()metodo statico restituisce il più piccolo 

           // dei numeri forniti come parametri di input o Infinity se non sono presenti parametri.

            medie_min = Math.min(...medie); 

           //Math.max()metodo statico restituisce il più grande

           // dei numeri forniti come parametri di input o Infinity se non sono presenti parametri.

            medie_max = Math.max(...medie);

           //  Il indexOf()metodo delle Arrayistanze restituisce il primo indice

          // in cui un dato elemento può essere trovato nell'array, oppure -1 se non è presente.

            studente_max = studente[medie.indexOf(medie_max)];

            studente_min = studente[medie.indexOf(medie_min)];


            document.getElementById("studenteMax").innerHTML = "Lo studente con la media più alta e'   " + studente_max + "   con la media " + medie_max;

            document.getElementById("studenteMin").innerHTML = "Lo studente con la media più bassa e'  " + studente_min + "  con la media " + medie_min;

        }

    </script>

</head>

<body>

    <h1>Calcolo Medie Studenti</h1>

    <button onclick="calcolaMedie()">Calcola Medie</button>

    <br><br>

    <div id="output"></div>

    <div id="studenteMax"></div>

    <div id="studenteMin"></div>

</body>

</html>

Commenti

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi sulla rappresentazione della virgola mobile IEEE 754 (Floating Point)