Universita di Camerino

Slides:



Advertisements
Presentazioni simili
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
Advertisements

Iterazione while – do while - for.
Iterazione A. Ferrari.
PROGRAMMARE IN PASCAL (le basi)
3TC – 5/11/2010 Cicli while e do.. While Contatori e Totalizzatori.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F3 Iterazione.
Universita di Camerino
Universita di Camerino
Informatica 2 Lezione 4 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni.
Algoritmi e Programmazione
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Strutture di controllo Ing. Simona Colucci.
Lez. 121 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Progettazione.
Lez. 41 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
INFORMATICA Strutture iterative
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Istruzioni iterative For, while.
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione 1, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a.2009/2010 Prof.ssa Chiara Petrioli.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Laboratorio di Linguaggi lezione VIII Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea.
Laboratorio di Linguaggi lezione IX: Dentro le Librerie Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Introduzione alla programmazione lll
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Istruzioni di ripetizione in Java
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Selezione (=scelta) con “if-else”
Istruzioni Iterative Nicola Fanizzi
Iterazioni (for, do, while). Lab.Calc. AA2005/062 Iterazioni 3 istruzioni che consentono di eseguire un loop (ciclo): 1. while 2. do...while 3. for con.
Strutture di controllo nel C
Java base II: Strutture di Controllo
CODIFICA Da flow-chart a C++.
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Programmazione di Calcolatori
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Parte 4 Elementi di Informatica di base
Lezione 7 Strutture di controllo Il ciclo while
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare Il ciclo while-end Puntatori a funzione.
Laboratorio di Linguaggi lezione VII: variabili Globali e Locali Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali.
Laboratorio di Informatica1 Parte 4 Laboratorio di Informatica Dott.ssa Elisa Tiezzi Dott.ssa Elisa Mori.
BIOINFO3 - Lezione 221 Listruzione IF-ELSE prevede un secondo blocco di istruzioni da eseguire in alternativa al primo nel caso la condizione sia falsa.
Capitolo 4 (Deitel) Le strutture di controllo in C
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Programmazione Strutturata
L’iterazione while La sintassi è la seguente: while (condizione) {
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
TURBOPASCAL L’iterazione - prof. V. Riboldi -.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
La ricorsione.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Istruzioni iterative For, while.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 – Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Strutture di controllo
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 6 – Invariante.
Cicli e Array. 2 Costrutto while while(espressione) { … } Il codice dentro le parentesi graffe viene eseguito finché la condizione è vera Potrebbe non.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Transcript della presentazione:

Universita di Camerino Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni gestionali ed economiche indirizzo matematica per le applicazioni tecnologiche e dell’ingegneria Corso di laurea specialistica in matematica e applicazioni indirizzo matematica Informatica 2 Lezione 7

Istruzione while Sintassi dell’istruzione while: while ( condizione ) è parola riservata Se condizione è vera, viene eseguita istruzione Quindi si valuta ancora condizione istruzione viene eseguita ripetutamente fino a che la condizione non diventa falsa Informatica 2 Lezione 7

Semantica del ciclo while condizione falso vero istruzione Informatica 2 Lezione 7

Istruzione while Se la condizione di un ciclo while è inizialmente falsa, il ciclo non viene mai eseguito Quindi un ciclo while può essere eseguito 0 o più volte Informatica 2 Lezione 7

Cicli infiniti Il corpo di un ciclo deve alla fine rendere falsa la condizione perchè il ciclo si fermi Altrimenti è un ciclo infinito, che viene eseguito finché l’utente non interrompe il programma Un errore logico non poco frequente! Assicuratevi che i vostri cicli abbiano sempre termine (condizione terminale) Informatica 2 Lezione 7

Istruzione for La sintassi dell’istruzione for L’istruzione viene eseguita fino a che condizione diventa falsa Parola riservata Espressione di inizializzazione è eseguita una volta prima di entrare nel ciclo for ( inizializzazione; condizione; aggiornamento ) istruzione; Espressione di incremento viene eseguita alla fine di ciascuna iterazione Informatica 2 Lezione 7

Istruzione for Un ciclo for è equivalente al ciclo while: inizializzazione; while ( condizione ) { istruzione; incremento; } Informatica 2 Lezione 7

Semantica del ciclo for inizializzazione condizione falsa istruzione vera incremento Informatica 2 Lezione 7

Variabili definite nel for La variabile che controlla il ciclo for può essere definita all’interno del ciclo e sarà visibile solo nel ciclo La sua durata di vita è legata a quella del ciclo A ciclo finito la variabile non esiste più for (int i = 1; i<=n; i++) … Informatica 2 Lezione 7

Istruzione for La condizione di un ciclo for viene valutata prima di eseguire il ciclo, come nel ciclo while Di conseguenza, il corpo del ciclo for può essere eseguito 0 o più volte Questo ciclo è indicato per eseguire istruzioni un numero di volte specifico che può essere determinato a priori Informatica 2 Lezione 7

Cicli innestati Anche i cicli possono essere innestati Il corpo del ciclo contiene un altro ciclo Come le istruzioni if-if-else-else Ogni nuovo ingresso nel ciclo esterno causa un’intera esecuzione del ciclo interno Informatica 2 Lezione 7

Istruzione do La sintassi dell’istruzione do: do { istruzione; } while ( condizione ) Le parole riservate do while L’istruzione viene inizialmente eseguita una volta, poi la condizione è valutata e l’istruzione viene ripetutamente eseguita fino a che la condizione non diventa falsa Informatica 2 Lezione 7

Semantica del ciclo do istruzione vera condizione falsa Informatica 2 Lezione 7

Istruzione do Il ciclo do è simile al ciclo while, tranne che la condizione è valutata dopo che il corpo del ciclo viene eseguito Il corpo del ciclo viene sempre eseguito almeno 1 volta Informatica 2 Lezione 7

Confronto tra i cicli while e do ciclo while ciclo do istruzione condizione vera falsa condizione vera falsa istruzione Informatica 2 Lezione 7

Ancora istruzione for Ogni espressione nella dichiarazione di un ciclo for è opzionale manca l’espressione di inizializzazione: nessuna inizializzazione viene effettuata manca l’espressione della condizione: si considera che sia sempre vera, e si realizza un ciclo infinito manca l’espressione di aggiornamento: non si esegue nessun aggiornamento Ma il carattere ; è sempre necessario anche quando manca l’espressione corrispondente Informatica 2 Lezione 7

Dichiarazioni multiple Si possono definire all’interno del for più variabili for (int i=0, j=5; i<=10; i++, j--) … E’ equivalente a int j = 5; for (int i=0; i<=10; i++) { … j--; } Informatica 2 Lezione 7

L’istruzione vuota Nei cicli for si possono avere situazioni tipo: for (anno=1; (saldo += saldo*interesse/100) < obiettivo; anno++) ; Alla fine del ciclo il dato importante è il valore della variabile anno Ricordarsi però il ;, altrimenti l’struzione successiva diventa il corpo del ciclo Informatica 2 Lezione 7

Cicli innestati String s = “”; for (int i = 1; i <= 3; i++) { for (int j = 1; j <= i; j++) s = s + ‘*’; s = s + ‘+’; } Informatica 2 Lezione 7

Contare le iterazioni I limiti del ciclo sono asimmetrici for (int i=0; i<10; i++) la variabile di controllo i varia 0  i < 10 I limiti sono simmetrici for (int i=0; i<=10; i++) la variabile di controllo i varia 0  i  10 Per cicli asimmetrici è più facile il conteggio dell’iterazioni Quanti numeri ci sono tra 0 e 10 estremi inclusi? Questo errore dovuto a +1 è frequente Informatica 2 Lezione 7

Istruzione break e continue L’istruzione break serve per interrompere un ciclo Nell’istruzione switch interrompe l’esecuzione limitandola all’istruzioni del blocco corrispondente all’etichetta che eguaglia l’espressione che controlla il ciclo L’istruzione continue interrompe il passo corrente del ciclo e lo riprende con il passo successivo L’istruzione continue può essere utilizzata nei costrutti for, while, do, switch Informatica 2 Lezione 7

Esempi for (int i = 0; i < 100; i++) { if (i == 15) break; if (i % 5 != 0) continue; System.out.println (i); } int i = 0; while (true) { i++; int j = i * 4; if (j == 40) break; if (i % 10 == 0) continue; BreakContinue.java Informatica 2 Lezione 7

Esempi Palindrome: for (int i = 0; i < f; i++, f--) if (s.charAt(i) != s.charAt(f)){ palindrome = false; break;} Interrompe il ciclo quando incontra due caratteri diversi Occorre comunque fare un test successivo (palindrome) per sapere come si è usciti dal ciclo Informatica 2 Lezione 7

Cercare in una stringa di caratteri Spesso si devono esaminare i singoli caratteri di una stringa Uso dei metodi charAt() e length() for (int i=0; i<s.length(); i++) { char car = s.charAt(i); if (car==‘a’) System.out.println(“trovato”); } Informatica 2 Lezione 7