Ho un sito web di matematica http://finitehelp.com che insegna agli studenti Finite Math. Ho pensato che sarebbe stato bello includere una calcolatrice, quindi ne ho creata una per le combinazioni e le permutazioni in Javascript. La calcolatrice live è http://finitehelp.com/finite-calculator.html. Non conosco quasi nulla di Javascript e mi permetto di indovinare che c'è un modo molto più efficace per scrivere quanto segue, in particolare a causa dell'uso eccessivo delle variabili. Se qualcuno potesse aiutarmi, sarei molto grato.Il modo più efficace per scrivere Calcolatrice di combinazioni e permutazioni in Javascript
<script type="text/javascript">
// calculate n!
Math.factorial = function(n)
{
if(typeof n == 'string') n = Number(n);
if(typeof n != 'number' || isNaN(n))
{
alert("Factorial requires a numeric argument.");
return null;
}
if (n < 2) return 1;
return (n * Math.factorial(n-1));
}
Math.divide = function(a,b)
{
return a/b;
}
</script>
<form class="form" name="combination" action="">
<p>C(<input type="text" value="n" name="T1" size="1">,<input type="text" value="r" name="T2" size="1">)
<input type="button" value="Calculate"
onclick="var n = T1.value; var r = T2.value; var n_minus_r = parseFloat(n) - parseFloat(r); var numerator = Math.factorial(T1.value); var n_minus_r_fact = Math.factorial(n_minus_r); var r_fact = Math.factorial(r); var denominator = n_minus_r_fact * r_fact; T3.value = Math.divide(numerator,denominator); return true;">
= <input type="text" name="T3" size="12" readonly></p>
</form>
Credo che sarà il modo più efficiente di assegnare il compito a uno studente. Pensa ai benefici extra! A prescindere dal fatto che non richiede alcuno sforzo da parte tua, lo studente imparerà anche nuove cose, e, auspicabilmente, manterrà e aggiornerà il codice in caso di necessità: D. – mingos