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
Posta un commento