La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

10/11/11 1 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Controlli di flusso INFO/CSE.

Presentazioni simili


Presentazione sul tema: "10/11/11 1 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Controlli di flusso INFO/CSE."— Transcript della presentazione:

1 10/11/11 1 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Controlli di flusso INFO/CSE 100, Spring 2005 Fluency in Information Technology http://www.cs.washington.edu/100

2 10/11/11 2 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Letture e approfondimenti Letture

3 10/11/11 3 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Blocco if nell'interfaccia GUI La funzione daiRisultati(stringa) è chiamata da diversi eventi In ogni caso, prende una stringa in ingresso, decide se si desidera il maiuscolo o il minuscolo, e setta resultField in maniera corrispondente function daiRisultati(stringaRisultato) { var stringaTemp = stringaRisultato; if (document.getElementById("radioLC").checked) { stringaTemp = stringaTemp.toLowerCase(); } else if (document.getElementById("radioUC").checked) { stringaTemp = stringaTemp.toUpperCase(); } document.getElementById("campoRisultato").value = stringaTemp; }

4 10/11/11 4 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Il blocco if / else Il blocco if è un istruzione condizionale »Una espressione condizionale è valutata vera o falsa L'espressione è una bespressione booleana (restituisce vero o falso ) »Se la condizione è vera, allota un insieme di sitruzioni viene eseguito »Se la condizione è falsa, allora è eseguito un altro insieme di istruzioni if ( ) { } else { }

5 10/11/11 5 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Esempi if (contatore == 0) { ready = falso; } else { ready = vero; contatore = contatore-1; } Qial'è l'espressione condizionale? Quali istruzioni sono parte del blocco vero? Quali istruzioni sono parte del blocco falso? Che succede quanto il contatore è 21? 0? -1? if (contaPagine >= 100) { alert("Ci vuole qualche minuto."); } Quali istruzioni sono parte del blocco falso? Che succede quanto il contatore è 21? 100? 200? Qial'è l'espressione condizionale? Quali istruzioni sono parte del blocco vero?

6 scratch.html

7 W3Schools TryIt Editor

8 10/11/11 8 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington A Fancier Example of a GUI program Crazy Italians

9 10/11/11 9 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Un'istruzione If da bean.html calcolatore interattivo del distributore automatico function refresh() { var shotCount;// numero di tazzine Espresso var cupSize;// dimensioni della tazzina var drink;// nome della bevanda richiesta var price;// prezzo calcolato della bevanda var taxRate = 0.087;// percentuale dell'Iva var elemento;// elemento corrente (radio button) for (var i=0; i<document.getElementById("shotForm").elements.length; i++) { elemento = document.getElementById("shotForm").elements[i]; if (element.checked) { shotCount = parseInt(element.value,10); }...

10 10/11/11 10 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Iterazioni Iterazioni o cicli sono un modo per eseguire più di una volta un blocco di istruzioni Useremo il blocco FOR per creare un cliclo Il ciclo for è generalmente controllato da un contatore »C'è una variabile di conteggio che incrementa o decrementa durante l'esecuzione del blocco for »Quando il contatore raggiunge le condizioni limite, il ciclo continua e viene ripetuto

11 10/11/11 11 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Perchè abbiamo bisogno di cicli? Si esegue qualcosa per tutti gli elementi di una collezione »Per ogni pulsante discelta, controlla se è selezionato »Per ogni mese, segna 100€ »Calcolal a somma di tutti i numeri in una lista »etc. Molti colci sono cicli di conteggio »Fanno qualcosa per un certo numero di volte

12 10/11/11 12 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Il ciclo for Un ciclo di conteggio è di solito implementato con for for (var i=0; i < count; i++) { document.writeln(" il valore indice : "+i); } inizializza Controlla il vincolo Abbreviazione per l'aggiornamento del contattore i=i+1 Una o più istruzioni nel corpo del ciclo

13 Esempi di for

14 10/11/11 14 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington i++ è un'abbreviazione for (i=0; i < contatore; i++) Alla fine di ogni passaggio per il ciclo for esegui le seguenti istruzioni: »restituisci il valore di i »incrementa i »Immagazzina il valore ottenuto Questpo equivale a scrivere »i = i + 1

15 10/11/11 15 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Il corpo del ciclo potrebbe non essere mai eseguito! A seconda dei valori della variabile di controllo, è possibile che il ciclo non venga affatto eseguito var itemCount = 0;... for (var i=0; i < itemCount; i++) { document.writeln("..processing item "+i); } Controllo delle condizioni del vincolo itemCount is 0 quando si arriva, allora i<itemCount è falsa e il clcilo viene completamente iignorato

16 10/11/11 16 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Ciclo for ignorato

17 10/11/11 17 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington L'errore “spiazzamento di 1” Quando di lavora con i cicli, l'errore più comune è lo spiazzamento di 1 »Nessuno evita questo errore »Cio si sbaglia nel determinare le volte in cui il ciclo deve girare »Basta inserire un contatore Numero di iterazioni for ( i=0; i<n; i++) { }

18 10/11/11 18 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Un altro esempio dal iCCC Quanto è buono il Cappuccio di pomeriggio

19 10/11/11 19 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Un ciclo for da bean.html Interactive Coffee Cost Calculator function refresh() { var shotCount;// number of espresso shots var cupSize;// size of the cup in ounces var drink;// name of the requested drink var price;// calculated price of the drink var taxRate = 0.087;// Seattle retail tax var element;// the current gui element (radio button) for (var i=0; i<document.getElementById("shotForm").elements.length; i++) { element = document.getElementById("shotForm").elements[i]; if (element.checked) { shotCount = parseInt(element.value,10); }...

20 10/11/11 20 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Vettori Finora, abbiamo selezionato un elemento da una collezione Questa collezione è un Vettore chiamato elements »Una cella per ciascuno elemento nel modulo shotForm »È disponibile la lunghezza -dimensione.- del vettore document.getElementById("shotForm").elements.length »Estraiamo un elemento con la variabile indice element = document.getElementById("shotForm").elements[i]; »The index of the first element is 0


Scaricare ppt "10/11/11 1 The Information School of the University of Washington 10/11/11fit100-13-control © 2004 University of Washington Controlli di flusso INFO/CSE."

Presentazioni simili


Annunci Google