<html>
<head>

<title>Calcolo del MCD</title>
 
Apertura della pagina html
inizio della intestazione della pagina


titolo della pagina
 
<script> La parte dedicata alla programmazione è delimitata dai 'tag' <script> e </script>.
 
function controlla(m)


{
      if (isNaN(m))
                  { alert ("un dato contiene caratteri non numerici,
                              \nviene considerato nullo");
                     return 0  }
      else   
                  { return Math.floor(Math.abs(m))  }
}
La funzione controlla(m) assicura che i dati inseriti vengano trattati come numeri naturali dato che lo scopo delle nostre funzioni è di 'sperimentare' proprietà delle frazioni.
 

Se il valore inserito non è un numero (perchè contiene caratteri diversi dalle cifre, il segno - e il segno . decimale),  si mostra un avviso e si riporta 0,

 

altrimenti il numero viene reso positivo e troncato all'intero.
 

function MCD(m,n)
{
      m=controlla(m);
      n=controlla(n);

        while (n != 0)
                    {
                        r = m %  n;
                        m = n;
                        n = r;
                     }
         return m;
}

La funzione sarà richiamata dalla pagina html con due argomenti: i numeri di cui si calcola il MCD

I due argomenti della funzione vengono controllati ed eventualmente aggiustati.

L'algoritmo descritto è:
finché il secondo numero (n1) non è 0

          calcola il resto r della divisione intera tra m e n 
                    (in javascript % è l'operatore resto nella divisione intera)
          sostituisci n a m
          sostituisci r a n 

al termine del calcolo, riporta il valore di m
 

</script> tag di chiusura della parte dedicata alla definizione delle funzioni.
</head>

<body>
<h3><center>Calcolo del Massimo Comun Divisore (problema iterativo)</center></h3>
Si inseriscano due numeri nelle celle corrispondenti a m e n.
Quando si preme il bottone comparirà il loro massimo comun divisore
nella cella MCD.
 
fine dell'intestazione della pagina

inizio del corpo della pagina html contenente gli elementi
che verranno visualizzati




 
<form name=scheda>
<pre>
m = <input type=text name=d1 value=" " size=10>

n = <input type=text name=d2 value=" " size=10>

MCD = <input type=text name=d3 value=" " size=10>

<input type=button value="calcola" onClick="scheda.d3.value = MCD(scheda.d1.value, scheda.d2.value)">
</pre>
</form>
La scheda contenente i dati e il risultato, inserita nella pagina html, è delimitata dai 'tag' <form> e </form>. La scheda è individuata da un nome che serve a individuare le sue celle quando il verificarsi di un evento attiverà un'azione.
I 'tag' <pre> e </pre> delimitano una parte di pagina html che verrà visualizzata come è impostata.
Il 'tag' <input> individua un elemento interattivo della scheda: nel nostro caso sono presenti caselle di testo  (type = text) e un bottone (type=button).
Le caselle di testo sono individuate da un nome (d1, d2 e d3), da un valore iniziale e da una lunghezza.
La casella bottone ha una scritta che le  compare sopra (value="calcola") e la descrizione dell'azione da compiere qualdo lo si preme (onClick="..."). L'azione consiste nell'attribuire alla cella d3 (scheda.d3.value =) il valore restituito dalla funzione MCD, descritta sopra, con i dati  contenuti nelle celle d1 (scheda.d1.value) e d2 (scheda.d2.value)
<br>
<hr>
<br>
<a target="_blank" href="mcd_doc.htm">Mostra il codice </a>

</body>
</html>
 

 

Parte conclusiva della pagina html