COMANDI ITERATIVI. Ivan Lanese

Documenti analoghi
6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Le strutture di controllo

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Le strutture di controllo in C++

STRUTTURE DI CONTROLLO DEL C++

INFORMATICA. Strutture iterative

PROGRAMMAZIONE STRUTTURATA

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Esercitazione 4. Comandi iterativi for, while, do-while

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015

Fondamenti di Informatica

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Corso di Fondamenti di Informatica

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Istruzioni iterative. Istruzioni iterative

CORSO DI PROGRAMMAZIONE

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016

Esercitazione 3. Espressioni booleane I comandi if-else e while

PROGRAMMAZIONE: Le strutture di controllo

Costrutti condizionali e iterativi

Strutture di controllo iterative

Istruzioni iterative (o cicliche)

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript

La ripetizione. Cicli ed iterazioni. Flusso di esecuzione ciclico. La ripetizione. Flusso di esecuzione ciclico. Errore frequente

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Strutture di Controllo

Un esempio di if annidati

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

while Istruzione while Cicli ed iterazioni Istruzioni di ripetizione in C Comportamento del while

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Corso di Fondamenti di Informatica Classi di istruzioni 2

Strutture di controllo in C++

Istruzioni semplici e strutturate

Espressioni semplici e condizionali

Rappresentazione degli algoritmi

ISTRUZIONI ISTRUZIONI

Costrutti iterativi. Utilizzo dei costrutti iterativi

ISTRUZIONI DI ITERAZIONE

Programmazione, 5 a lezione

INTRODUZIONE ALLA PROGRAMMAZIONE

Università di Roma Tor Vergata L6-1. iterazione: struttura di controllo per ripetere più volte uno stesso comando

Esercitazioni di Informatica B A.A. 2010/2011 Pseudocodice. Nicola Vitucci

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Esercitazioni di Fondamenti Informatica - Modulo A 1

Il linguaggio Java Istruzioni di Controllo

Istruzioni decisionali

Operatori in Java. Il Costrutto Condizionale if

Istruzioni di Controllo. Emilio Di Giacomo e Walter Didimo

Iterazione determinata e indeterminata

Programmare in C. Esempio: Algoritmo del Risveglio

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

Parte 2. Ricorsione. [M.C.Escher Drawing hands, 1948] - AA. 2012/13 2.1

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

5 - Istruzioni condizionali

Istruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Esercizi Programmazione I

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

Fondamenti di Programmazione. Strutture di controllo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Cosa si intende con stato

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

Laboratorio di Python

Algoritmi e soluzione di problemi

C espressioni condizionali

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010

Le basi del linguaggio Java

Strutture di controllo iterative

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1

Esercizi. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

Cicli annidati ed Array multidimensionali

Esercitazione. Esercizio 1 Scrivere un programma che calcoli e visualizzi la somma degli interi pari da 2 a 1000 (estremi compresi)

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Schemi ricorrenti nei cicli. Cicli ed iterazioni. Contatori. Schemi ricorrenti nei cicli. Contatori. Esempio

Corso di Fondamenti di Programmazione canale E-O ... Un esempio per iniziare. printf) Altri cenni su printf() Esercizi 8. (printf(

Programmazione in Java (I modulo)

a.a Codice corso: 21012, HOMEWORKS

Programmazione in Python. Moreno Marzolla

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Strutturare il codice: sottoprogrammi

Dati aggregati. Violetta Lonati

L organizzazione dei programmi

Istruzioni Condizionali

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA

1 Esercizi in pseudocodice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

3 Costrutti while, for e switch

Strutture di Controllo in Matlab

03.x1. esercizi Sui cicli. 03-X1_Esercizi_[02] Versione del: giovedì 14 novembre Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI

Laboratorio di Informatica

Informatica! Appunti dal laboratorio 1!

Transcript:

COMANDI ITERATIVI Ivan Lanese

Argomenti Comando while Comando do while Comando for

Comando while: reminder while (condizione) comando; Semantica: la condizione viene testata: se è vera, viene eseguito il comando e la condizione viene testata di nuovo il comando viene ripetuto fino a quando la condizione è vera quando la condizione diventa falsa, si esce dal while e l esecuzione continua con il comando successivo al while Terminologia: il comando viene chiamato corpo del while La condizione contiene una variabile: fate attenzione che la variabile sia inizializzata prima del ciclo, testata all'interno della condizione e modificata all'interno del corpo del while.

Comando while: esercizi Scrivere un programma che prende in input un numero intero n e stampa n asterischi Scrivere un programma che calcola il fattoriale di un numero intero n (0! = 1; n! = 1*2*... *n) Scrivere un programma che chiede in input un numero: se è positivo lo stampa, se è negativo o nullo lo rifiuta e ne chiede un altro. Il ciclo termina quando l'utente immette un numero valido Scrivere un programma che interroga uno studente sulla divisibilità: prende in input un numero intero e chiede allo studente di inserirne un divisore. Il programma termina solo quando lo studente inserisce un divisore corretto.

Comando do while do comando while(condizione); Semantica: viene eseguito il comando e in seguito la condizione viene testata se è vera, il comando viene ripetuto se è falsa si esce dal ciclo e l esecuzione continua con il comando successivo al while Terminologia: il comando viene chiamato corpo del do while Osservazione: il corpo del do while viene eseguito almeno una volta anche nel caso in cui la condizione sia falsa.

Comando do while: esercizi Provare a riscrivere i programmi precedenti usando un do while In quale dei casi la scrittura del programma risulta semplificata? E in quali casi si complica?

Comando do while: commento Il do while risulta più comodo quando il corpo del ciclo deve essere eseguito almeno una volta Esempio: ciclo di input, che chiede l'input e lo richiede nel caso non rispetti le condizioni specificate Comunque tutti i programmi che possono essere scritti col while possono essere scritti col do while e viceversa

Comando for: reminder for ( assegnamento iniziale; condizione; aggiornamento ) comando Semantica: viene eseguito l'assegnamento iniziale viene testata la condizione di ripetizione del ciclo: se è vera viene eseguito il comando, seguito dall'aggiornamento e poi il ciclo ricomincia dal test sulla condizione se è falsa si esce dal for Terminologia: il comando viene chiamato corpo del for Le tre espressioni tra parentesi corrispondono ad operazioni sulla variabile di controllo del ciclo che sono comuni anche al while.

Comando for: esercizi Provare a riscrivere i programmi precedenti usando un for In quale dei casi la scrittura del programma risulta semplificata? E in quali casi si complica?

Comando for: commento Il for risulta più comodo quando l'assegnamento iniziale e l'aggiornamento sono assegnamenti Esempio: assegnamento iniziale i = 0 e aggiornamento i = i + 1 In altri linguaggi il for può avere assegnamenti iniziali e aggiornamenti solo di questa forma, il C++ consente più libertà, il C+o no Storicamente il for poteva essere usato solo per cicli il cui numero di iterazioni era noto a priori, altrimenti si doveva usare il while o il do while for i = 1 to 10 do comando Rispettate questa convenzione, se no potreste indispettire gli informatici più tradizionalisti In C++ tutti i programmi che possono essere scritti col while possono essere scritti col for e viceversa: questo non vale in tutti i linguaggi

Cicli annidati Spesso può essere utile usare un ciclo dentro l'altro Ad ogni iterazione del ciclo esterno corrispondono 0 o più iterazioni del ciclo interno Fate attenzione a Non mischiare le variabili di controllo dei 2 cicli Ripristinare i valori di inizializzazione del ciclo interno ad ogni iterazione del ciclo esterno Si possono anche annidare più livelli di cicli

Cicli annidati: esercizio Scrivere un programma che stampa un triangolo isoscele dell altezza desiderata presa in input. Ad esempio, se l'altezza è 4 stampa: * *** ***** *******

Cicli annidati: esercizi Scrivere un programma che chiede all'utente dei numeri interi e scrive se sono primi o non primi. Il programma termina quando l'utente inserisce il numero 0 Scrivere un programma che stampa la tabella delle tabelline da 1 a 10

Programmi che non terminano I programmi scritti senza comandi iterativi (e senza altre cose che vedremo in seguito, quali la ricorsione) terminano sempre Eventualmente terminano a causa di un errore Usando i comandi iterativi possiamo scrivere programmi che non terminano while (true) cout << Hello ; Raramente si desidera scrivere un programma che non termina, verificate che i vostri programmi terminino

Programmi che non terminano: esercizio Il programma seguente termina? int main() { int i; cout << Inserire un numero intero: ; cin >> i; while(i < 100) { cout << i << \n ; i = i * 2; } }