Ominide 1931 punti

HTML e Javascript - Calcolo della somma o del prodotto delle cifre di un numero

In questo appunto impareremo a realizzare una pagina HTML che dia la possibilità all'utente di scegliere un numero intero, di cui calcolare la somma o il prodotto delle cifre.
Dato un numero intero N, bisogna staccarne la cifra per calcolarne il prodotto o la somma. Per cui consideriamo R come N modulo 10, e aggiungiamo tutti i valori di R finché le cifre non terminano; inoltre c'è anche da tenere conto che dopo aver considerato R, N diventerà: (N-R)/10.

<html>
<head>
<title>Somma delle cifre di un numero</title>
<script>
function sommaCifre(){
N = document.getElementById("num").value;
S = 0;
while(N > 0){
R = N%10;
S = S + R;
N = (N-R)/10;
}
document.getElementById("risultato").innerHTML = S;
}

function prodottoCifre(){

N = document.getElementById("num").value;
P = 1;
while(N > 0){
R = N%10;
P = P * R;
N = (N-R)/10;
}
document.getElementById("risultato").innerHTML = P;
}
</script>
</head>
<body>
<input type = "text" id = "num">
<button onclick = "sommaCifre()" type = "button">Calcola la somma delle cifre</button>
<button onclick = "prodottoCifre()" type = "button">Calcola il prodotto delle cifre</button>
<p id = "risultato"></p>
</body>
</html>

Spiegazione dello script
<script>
function sommaCifre(){
N = document.getElementById("num").value; //Leggi n dall'input chiamato num
S = 0; //la somma parte da 0
while(N > 0){ //mentre n è maggiore di 0 fai
R = N%10; //Considera R come N modulo 10
S = S + R; //La somma viene aumentata col valore di R
N = (N-R)/10; //N diventa (N-R)/10
}
document.getElementById("risultato").innerHTML = S; //Si stampa il risultato
}
//Qui funziona tutto analogamente, solo che P parte da 1, perché se P partisse da 0, allora per qualsiasi intero N l'output sarebbe 0.
function prodottoCifre(){
N = document.getElementById("num").value; //
P = 1;
while(N > 0){
R = N%10;
P = P * R;
N = (N-R)/10;
}
document.getElementById("risultato").innerHTML = P;
}
</script>

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email