3I Sia: Verifica sugli Array in Javascript e soluzione che spiegherò il 24 aprile in laboratorio

Traccia della verifica sul Javascript





Creare un programma in Javascript usando gli array che permetta di leggere in input i nomi di N studenti e N voti per studente.

Il risultato deve permettere di visualizzare:

1) studente con la media più alta

2) studente con la media più bassa

3) ricerca dello studente e visualizzare tutti i voti di quello studente e la media dei voti

4) se la ricerca non trova il nome dello studente deve apparire il messaggio: “studente inesistente”

5) La possibilità di cambiare il voto di uno studente tramite il modulo di ricerca nel caso abbia recuperato la materia.


La mia soluzione (non ho usato le funzioni) dell'esercizio in Javascript della verifica sarà spiegata mercoledì 24 aprile in laboratorio


const N = 2;

let studente = [];
let studente_max, studente_min;
let studente_cercato;
let medie = [];
let medie_min, medie_max;
let voti = [];
let totale = 0;

for (let i = 0; i < N; i++) {
studente[i] = prompt("Inserire il nome dello studente " + i + " : ");
voti[i] = [];
for (let j = 0; j < N; j++) {
voti[i][j] = parseFloat(prompt("Inserire il voto della materia n" + j + " : "));
totale += voti[i][j];
}
medie[i] = totale / N;
totale = 0;
}

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 piu' alta " + studente_max + " con la media " + medie_max);
console.log("Lo studente con la media piu' bassa " + studente_min + " con la media " + medie_min);

studente_cercato = prompt("inserisci il nome dello studente da trovare   ");

let studenteTrovato = false;

for (let i = 0; i < N; i++) {
if (studente[i] == studente_cercato) {
studenteTrovato = true;
console.log("Studente trovato. Modifica il voto: ");
voti[i][0] = parseFloat(prompt("Modifica il voto n. 1: "));
console.log(" voto modificato: ");
}
}

if (!studenteTrovato) {
console.log("Studente non trovato");
}

for (let i = 0; i < N; i++) {
console.log("Studente ");
console.log (studente[i]);
for (let j = 0; j < N; j++) {
console.log( voti[i][j]);

}
}

Commenti

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

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