Loop in Matlab. Informatica B. Daniele Loiacono

Documenti analoghi
Matlab: Logicals e Strutture di Controllo

Matlab: Logicals e Strutture di Controllo

Strutture di Controllo

Programmazione in Java (I modulo)

Matlab: Strutture di Controllo. Informatica B

Le strutture di controllo in C++

Laboratorio di Informatica I

Strutture di controllo

Università degli Studi di Ferrara

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

Fondamenti di Informatica

Strutture di Controllo in Matlab

Cicli. Cicli. Il ciclo for. Comandi per eseguire ripetutamente porzioni di codice Due tipi disponibili in Matlab: Cicli: For While Controllo

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

Costrutti condizionali e iterativi

Fondamenti di Informatica, A.A FILA A

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

I/O e strutture di controllo

Strutture di Controllo Iterative: Istruzione FOR

Silvia Rossi. Cenni sulla complessità. Informatica. Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Programmazione I

Costrutti condizionali e iterativi

Elementi di Informatica

Matlab. Istruzioni condizionali, cicli for e cicli while.

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

Dichiarazione di variabili

Istruzioni di controllo

CORSO DI PROGRAMMAZIONE

20/10/2014 M. Nappi/FIL 1

Strutture di Controllo

MATLAB: Strutture di controllo. Informatica B Prof. A. Morzenti

Programmare con MatLab IV

Capitolo 16 Iterazione

Informatica B - A.A. 2018/2019

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Fondamenti di Informatica, A.A FILA A

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

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Cicli. S i a i = a 1 + a 2 + a a n

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Lab 4 Info B. Luca M. Cassano SadeghM. Astaneh

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 2 Dott. Michele Zanella Ing. Gian Enrico Conti

Istruzioni Ripetitive

Fondamenti di Informatica e Programmazione

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

Università degli Studi di Ferrara

Corso di PHP. Prerequisiti. 3 - Le strutture di controllo. Istruzioni semplici Controllo del flusso di programma

Fondamenti di Informatica, A.A

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome

Laboratorio di Informatica I

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

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

Fondamenti di Informatica L-A. Esercitazione 3

Sunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I.

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

Istruzioni Ripetitive

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

Programmazione C Massimo Callisto De Donato

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 2 Ing. Gian Enrico Conti Dott. Michele Zanella

Introduzione al Linguaggio C

ANALIZZIAMO NEI DETTAGLI GLI STATEMENTS DI SELEZIONE E DI RIPETIZIONE FORNITI DAL LINGUAGGIO C STATEMENT SEMPLICE STATEMENT COMPOSTO BLOCCO

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

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

Strutture di controllo (v.anche cap. 8 del testo MATLAB per l ingegneria )

ISTRUZIONI DI ITERAZIONE

Strutture di controllo iterative

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

Il primo programma C++

Indice. costrutti decisionali I cicli

Esistono alcune tipologie di problemi riconducibili a schemi di risoluzione standard

Informatica (A-K) 5. Algoritmi e pseudocodifica

Strutture di Controllo

Strutture di Controllo Iterative: Istruzione FOR

Strutture di Controllo

STRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

del Linguaggio C Istruzioni di iterazione

Costrutti iterativi. Utilizzo dei costrutti iterativi

Costrutti di iterazione

Costrutti per il controllo del flusso di esecuzione

Iterazione (introduzione)

Istruzioni di controllo: SEQUENZA

Corso di Fondamenti di Informatica

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 8 14/11/2013

Corso di Fondamenti di Informatica Macroarea di Ingegneria 2017/18. Tutor: prof. Francesco De Vincenzi

contiene il valore e nel range [l, u]. Funziona correttamente solo se 0 l e u a.

Indice. I costrutti decisionali I cicli

Rappresentazione degli algoritmi

Programmare con MATLAB c Parte 5 Cicli: for e while

Costrutti per il controllo del flusso di esecuzione

10 STRUTTURE DI CONTROLLO REPEAT E WHILE. Strutture di controllo e variabili strutturate

Fondamenti di Informatica

Lezione 3 Strutture di controllo

Laboratorio di Python (con Linux)

VARIABILE ACCUMULATORE

Laboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014

Transcript:

Loop in Matlab Informatica B

Ripetere le istruzioni più volte q Trasformiamo diverse velocità da km/h in m/s %Prima conversione v = input('inserire vel (km/h): '); disp(['velocità convertita: ' num2str(v*1000/3600)]); %Seconda conversione v = input('inserire vel (km/h): '); disp(['velocità convertita: ' num2str(v*1000/3600)]); %Terza conversione v = input('inserire vel (km/h): '); disp(['velocità convertita: ' num2str(v*1000/3600)]); È proprio necessario ripetere più volte lo stesso pezzo di codice?

Il ciclo for Variabile contatore for i = start: statement1 statementn Corpo del ciclo

Il ciclo for for i = start: corpo INIZIO i=start q Come lo uso nell esempio precedente? %Esegue tre conversioni for i=1:3 v = input('inserire vel (km/h): '); disp(['vel (m/s): num2str(v*1000/3600)]); i<= true corpo i=i+1 FINE false

Il ciclo for riamolo più flessibile q La variabile contatore può essere fatta variare all interno di un array arbitrario! q Ad ogni iterazione del ciclo il contatore assumerà il valore di un elemento di tale array. INIZIO k=1 i=array(:,k) k<=length(array) true corpo false for i = array k=k+1 i=array(:,k) corpo FINE

Il ciclo for: esempi q Conto alla rovescia time = input('durata? '); for count = time:-1:1 pause(1) disp([num2str(count) 'secondi rimanenti']) disp('done ) q Iterare su una stringa for x = 'EGR106' disp(x) q Iterare su una matrice board = [ 1 1 0 ; 1 1-1 ; 0 1 0 ] for x = board x Stampa E G R 1 0 6 X vale all iterazione iesima board(:,i)

Il ciclo while Condizione di terminazione while <expr> statement statement Corpo del ciclo

Il ciclo while while <expr> corpo INIZIO <expr> q Esempio %Converto velocità finchè sono positive v = input('inserire vel (km/h): '); while v>0 disp(['vel (m/s): num2str(v*1000/3600)]); v = input('inserire vel (km/h): '); corpo FINE true false

Note sul while q Il for è più pratico in alcune circostanze, ma può sempre essere sostituito con un while q Per evitare loop infiniti o che il corpo non venga mai eseguito, nel while bisogna porre attenzione ad eventuali inizializzazioni e aggiornamento delle variabili usate nella condizione di terminazione q Esempio (calcolo interessi annuali su un capitale) value = 1000; year = 0; while value < 2000 value = value * 1.08 year = year + 1; disp(['anno ' num2str(year) ' : ' num2str(value)]);

Break e Continue q I cicli contengono una serie di istruzioni che vogliamo ripetere, ma cosa succede se volessimo: saltare all iterazione successiva terminare il ciclo q Esistono due istruzioni che possono essere inserite all interno di un ciclo (for o while) a questo scopo: continue salta all iterazione successiva break interrompe l esecuzione del ciclo 10

Esempio: break q Acquisiamo numeri da tastiera finché non viene inserito un numero negativo. In ogni caso non accettiamo più di mille numeri. for count = 1:1000 %Raccoglierà al max 1000 valori val = input( prossimo numero: '); if val < 0 break %Se val negativo usciamo dal ciclo else numeri(count) = val; numeri %visualizza il contenuto del vettore

Esempio: continue q Acquisiamo 100 numeri da tastiera e li memorizziamo in un vettore. Se il numero è positivo ne calcoliamo la radice quadrata e la memorizziamo in un altro vettore. radici=[]; %radici è il vettore vuoto for count = 1:100 val = input( prossimo numero: '); numeri(count) = val; if val < 0 continue % aggiunge un elemento al vettore radici radici = [radici sqrt(val)]; radici %visualizza il contenuto del vettore