<< pagina principale < ·············································································

JavaScript

per Matematica e Fisica
pagine di Roberto Ricci L.S. "A. Righi", Bologna.

Primi passi:

Per realizzare un "programma" con JavaScript ed eseguirlo:
  1. creare un file HTML (una pagina web vuota):
  2. aprire il file e fare Visualizza/Html
  3. inserire il codice JavaScript tra i marcatori <SCRIPT> ... </SCRIPT>.
  4. salvare di nuovo
  5. premere Aggiorna del browser per avviare l'esecuzione

    L'istruzione document.write() e quella d'assegnazione, del risultato di un'espressione a una variabile, sono strumenti fondamentali per costruire un programma.
    La dichiarazione delle variabili, che si fa con un generico 'var' senza distinguere il tipo, non è necessaria ma caldamente suggerita per questione di stile (un buono stile facilita la lettura e la manutenzione dei programmi ma anche la loro creazione).

    Esempi

    1. semplice programma per visualizzare un messaggio
    2. semplice programma per visualizzare un messaggio con commenti (sempre elementi di buono stile soprattutto per programmi complessi)
    3. semplice programma per visualizzare un messaggio con 'a capo'
    4. semplice programma per visualizzare il contenuto di una variabile
    5. semplice programma per visualizzare il valore calcolato di un'espressione

    Esercizi:

  6. Si può anche inserire l'input attraverso una finestra con il comando
    prompt(messaggio di richiesta di input,stringa iniziale)
    
    Il valore letto è un oggetto String, cioè una sequenza di caratteri racchiusa tra doppie virgolette. Per esser certi che l'input sia interpretato come numerico si suggerisce di far valutare la stringa in input mediante il comando eval(stringa).

    Esempi

    1. programma che letto il nome dell'utente fornisce un saluto personalizzato
    2. programma che letta una variabile calcola un'espressione e visualizza il risultato
    3. programma per calcolare e visualizzare la somma di due variabili?

    Esercizi:

Strutture linguistiche per scrivere algoritmi:

  1. Una struttura di selezione:
    if (condizione){
    	blocco istruzioni da eseguire se la condizione è vera
    }else{
    	blocco istruzioni da eseguire se la condizione è vera
    }
    

    Esempi

    1. programma per discriminare tra valori positivi e non della variabile in input
    2. programma che calcola e visualizza il valore assoluto della variabile in input

    Esercizi:

  2. Una struttura di ripetizione:
    while (condizione){
    	blocco istruzioni da eseguire fintanto che la condizione è vera
    }
    
    

    Esempi

    1. programma per sommare i primi numeri naturali

    Esercizi:

Tipi di dato semplici:

Le azioni descritte dalle istruzioni di un programma ed eseguite dall'automa vengono svolte su oggetti: semplici numeri, caratteri, sequenze di caratteri, ...
  1. La function predefinita typeOf() applicata a oggetti diversi fornisce il nome del tipo di tale oggetto, che può essere: number,boolean, string, function, object, undefined. Provare a modificare l'argomento di tale function con: 3, "3", 3*4.5, "pippo", x, math, Math, Math.sin, document ...
  2. Gli oggetti più semplici sono i numeri, oggetti matematici il cui significato è strettamente legato alle operazioni nelle quali possono essere coinvolti.
    Operatore Simbolo Descrizione
    Addizione + Somma due operandi
    Sottrazione - Sottrae il secondo operando dal primo
    Moltiplicazione * Moltiplica i due operandi
    Divisione / Divide il primo operando per il secondo
    Resto (modulo) % Fornisce il resto della divisione intera tra due operandi interi
  3. Altri oggetti matematici si possono chiamare condizioni, espressioni con la proprietà di essere o vere o false, come '2+2>4' (falsa), oppure 'non è vero che 2+2>4', oppure '2+2>4 o 2+3>4', oppure 'a>1' (o vera o falsa a seconda del valore assunto dalla variabile a), oppure 'a>0 e a<1'. Nel contesto JavaScript tali oggetti si chiamano boolean e gli unici due valori che possono assumere sono true e false.
    Le condizioni più semplici possono essere costruite mediante operatori di confronto
    Operatore Azione
    > Maggiore di
    >= Maggiore o uguale
    < Minore di
    <= Minore o uguale
    == Uguale
    != Diverso
    Simbolo dell'operatore Descrizione del significato
    && AND
    | | OR
    ^ OR esclusivo
    ! Negazione

    Esempi:

    1. programma che calcola e visualizza il MCD di due numeri
    2. vedere anche confirm() che produce una finestra attraverso cui gestire un input booleano
    3. programma per la media e lo scarto quadratico medio dei dati in input

    Esercizi:

Oggetto Math:

Molte utili costanti e funzioni matematiche sono implementate in JavaScript. Per utilizzarle occorre richiamarle come 'proprietà' o come 'metodi' di un 'oggetto' denominato Math con una modalità che ha in generale la seguente sintassi:
nome oggetto.nome proprietà
e
nome oggetto.nome metodo(elenco argomenti)

Esempi

  1. una semplice calcolatrice scientifica
  2. trasforma una misura da gradi sessagesimali in ...° ...' ..." (soluz.)
  3. trasforma RAD in DEG e in GRAD
  4. singola passeggiata casuale di n passi in una sola dimensione;
  5. il precedente programma della passeggiata casuale con registrazione degli n passi
  6. N passeggiate casuali di n passi ed elaborazione con Excel
  7. programma per passeggiata casuale in 2 dimensioni di n passi;

Esercizi:

Altre strutture linguistiche:

  1. Un'altra struttura di selezione:
    switch (nomeDiVariabile o espressione) {
    	case caso1 : blocco istruzioni da eseguire se nomeDiVariabile=caso1 [ break ];
    	...
    	case casoN : blocco istruzioni da eseguire se nomeDiVariabile=casoN [ break ];
    	default : blocco istruzioni da eseguire altrimenti ;
    }
    

    Esempi

    1. programma per passeggiata casuale in 2 dimensioni di n passi;
    2. Completare il seguente programma per la risoluzione di triangoli rettangoli

    Esercizi:

  2. Un'altra struttura di ripetizione:
    for (inizializzazione contatore;condizione; incremento){
    	blocco istruzioni da eseguire fintanto che la condizione precedente è vera
    }
    
  3. Un'altra struttura di ripetizione:
    do {
    	blocco istruzioni da eseguire fintanto che la condizione seguente è vera
    } while (condizione);
    

    Esempi

    1. programma per sommare i primi numeri naturali

    Esercizi:

Programmazione modulare:

Scrivere per moduli non ha solo il vantaggio di poter "impacchettare" parti del programma che si vuole utilizzate più volte richiamandole brevemente- riassumendo cioè più istruzioni sotto un unico nome - ma soprattutto quello di far ricorso a una metodologia, del "divide et impera" detta in gergo "top-down", che consiste nello scomporre le azioni complesse in parti più facilmente dominabili. Per di più, quando i moduli sono costruiti per essere riutilizzabili anche in altri contesti si può pensare di partire da questi nelle future realizzazioni (metodologia "bottom-up").
Le function di utilità possono essere definite in un file con estensione .js a parte e richiamate semplicemente mediante <script src="nomefile"></script> inserito prima del programma posto tra <script>...</script>

Distinguiamo function della forma generale:

function <identificatore> (<lista argomenti>){

     blocco istruzioni;

    return <espressione>;
} 
che restituiscono un valore, quello dell'espressione inserita nell'istruzione contraddistinta dalla parola chiave 'return'. Possiamo distinguere anche function che non restituiscono alcun valore, dette più propriamente procedure, che hanno la forma:
function  <identificatore> (<lista argomenti>){

     blocco istruzioni;
} 
Queste procedure possono essere considerate 'macroistruzioni'.

In un programma occorre distinguere tra l'ambiente globale da quello di ogni singola function.
Le variabili definite all'interno di una function con 'var' si dicono 'locali' e in effetti esistono solo nel corso della sua esecuzione, inesistenti per i moduli esterni alla function. Le variabili non definite esplicitamente con 'var' o definite fuori da qualunque function, cioè nell'ambiente globale, si dicono 'globali' e possono essere utilizzate all'interno di qualunque function, ma non possono ovviamente essere restituite mediante 'return'.
E' consigliabile fare uso di variabili locali per evitare sovrapposizioni non volute.

Quando una function è utilizzata, la lista degli argomenti è sostituita da una lista di nomi di variabili il cui valore è assegnato agli argomenti per effettuare i calcoli descritti dalla function e che non viene modificato (passaggio per valore).

Esempi

  1. function mcm(numero intero non negativo, numero intero non negativo) minimo comune multiplo
  2. function fatt(numero intero non negativo), fattoriale di un numero, per il calcolo delle permutazioni
  3. function disp(numero intero non negativo), per il calcolo delle disposizioni

Esercizi:


pagine di Roberto Ricci L.S. "A. Righi", Bologna. Ultima revisione