Fondamenti di Informatica e Programmazione
|
|
- Agostina Carrara
- 4 anni fa
- Visualizzazioni
Transcript
1 Fondamenti di Informatica e Programmazione MATLAB: Fondamenti di Programmazione in MATLAB Strutture Selettive e Iterative Prof. G ianni D Angelo giadangelo@unisa.it A. A. 2018/19
2 Fondamenti di Programmazione in MATLAB: Strutture Selettive e Iterative OUTLINE Operatori Relazionali e Logici Strutture di Controllo di MATLAB Strutture Selettive Costrutto IF Costrutto SWITCH-CASE Strutture Iterative Costrutto FOR Costrutto WHILE Istruzioni Break e continue
3 Operatori Relazionali 1/4 Basati sui principi della Logica Booleana Il loro scopo è quello di fornire risposte di tipo vero/falso a domande riguardanti il confronto di relazioni tra oggetti Più precisamente, gli operatori relazionali confrontano relazioni tra Tipi numerici Array, matrici e scalari Stringhe Intere espressioni Il risultato di una comparazione può essere vero (1) oppure falso (0) In MATLAB gli operatori relazionali possono operare direttamente anche su array e matrici
4 Operatori Relazionali 2/4 In MATLAB Un confronto falso da risultato 0 Un confronto vero da risultato 1 (o un valore diverso da 0) Operatore Descrizione > Maggiore di < Minore di >= Maggiore o uguale di <= Minore o uguale di == Uguale a = Diverso da
5 Operatori Relazionali 2/4 In MATLAB Un confronto falso da risultato 0 Un confronto vero da risultato 1 (o un valore diverso da 0) Operatore Descrizione > Maggiore di < Minore di >= Maggiore o uguale di <= Minore o uguale di NOTA IMPORTANTE: L operatore relazionale «Uguale a» è composto da due simboli uguale: ==, da non confondere con l operatore di assegnazione con un uguale = == Uguale a = Diverso da
6 Operatori Relazionali 2/4 In MATLAB Un confronto falso da risultato 0 Un confronto vero da risultato 1 (o un valore diverso da 0) Operatore Descrizione > Maggiore di < Minore di >= Maggiore o uguale di <= Minore o uguale di == Uguale a NOTA IMPORTANTE: Usare >= Non usare => Usare <= Non usare =< = Diverso da
7 Operatori Relazionali 3/4 Esempio 1 (== applicato a scalari) >> a=5 a = 5 >> b=9 b = 9 >> a==b ans = 0
8 Operatori Relazionali 3/4 Esempio 2 >> x = 5; >> y = 6; Espressione Valore x < y true 1 x <= y true 1 4 > 5 false 0 x == 5 true 1 x ~= y true 1 x + 1 y == 0 true 1
9 Operatori Relazionali 4/4 Esempio 3 (== applicato a matrici) >> M1=[4 3 3; 2 8 1; ] M1 = >> M2=[2 3 4; 3 3 1; ] M2 = >> M1==M2 ans =
10 Operatori Relazionali 4/4 Esempio 4 (> applicato ad array) >> x = 1 : 8 x = >> y = 8 : -1 : 1 y = >> bool_res = x > y bool_res =
11 Operatori Logici Gli operatori logici forniscono un modo per combinare o negare espressioni relazionali Operatori logici di base: AND, OR e NOT Operatore Descrizione Note && AND A && B da risultato 1 se A e B sono entrambi uguali a 1; A && B da risultato 0, altrimenti OR A B da risultato 1 se almeno uno tra A e B è uguale a 1; A B da risultato 0, altrimenti NOT ~A da risultato 0, se A è uguale a 1 ~A da risultato 1, se A è uguale a 0 Come visto nella prima parte del corso, ciascun operatore logico può essere specificato mediante una tavola di verità
12 Ordine di Precedenza dei Tipi di Operatori Livello di precedenza Primo Secondo Terzo Quarto Quinto Tipo di operatore Parentesi tonde; sono valutate a partire dalla coppia di parentesi più interne Operatori aritmetici e operatore NOT (~); sono valutati da sinistra a destra Operatori relazionali; sono valutati da sinistra a destra Operatore logico AND Operatore logico OR
13 Operatori Logici: Esempi 1/2 Espressione booleana che è vera solo se x è maggiore di 10 AND minore di 20 >> x = 5; >> (10 < x) && (x < 20) ans = 0
14 Operatori Logici: Esempi 2/2 È possibile controllare la precedenza usando le parentesi >> x = false; >> y = true; >> x && y true ans = 1 0 OR 1 >> x && (y true) ans = 0 0 OR 1
15 Operatori Logici (Elemento per Elemento) Gli operatori logici possono essere applicati agli array Operatore logico Descrizione & AND elemento per elemento OR elemento per elemento ~ NOT elemento per elemento N.B. Non va confuso l operatore & con l operatore && Non va confuso l operatore con l operatore
16 Operatori Logici Elemento per Elemento (Esempio) >> x = 1 : 8 x = >> y = 8 : -1 : 1 y = >> bool_res = x > y bool_res = >> bool_res_neg = ~(x > y) bool_res_neg = >> (x > y) & (y <= 2) ans = >> (x < 2) (y < 2) ans =
17 Operatori Logici (Indicizzazione di Array) Ottenere la matricola di tutti gli operai che guadagnano più di 5000 euro e lavorano meno di 10 giorni al mese >> salario = [1000, 7000, 6000, 3000, 8000]; >> giorni_lavorativi = [20, 8, 28, 5, 7]; >> matricola_operai = [10001, 10002, 10003, 10004, 10005]; >> salario > 5000 ans = >> giorni_lavorativi < 10 ans = >> (salario > 5000) & (giorni_lavorativi < 10) ans = >> matricola_operai ((salario > 5000) & (giorni_lavorativi < 10)) ans =
18 Operatori Logici (Indicizzazione di Matrici) >> x = [8 2 3; 1 5 0] x = >> x >= 5 ans = >> x(x >= 5) ans = 8 5 Notare la differenza con il comando find >> find(x >= 5) ans = 1 4 Notare che nel risultato finale non ci sono differenze >> x(find(x >= 5)) ans = 8 5
19 Strutture Fondamentali di MATLAB 1/3 Analogamente ad altri linguaggi di programmazione, MATLAB fornisce tre Strutture di Controllo fondamentali Sequenza Selezione Iterazione
20 Strutture Fondamentali di MATLAB 2/3 Sequenza È definita dalla sequenza lessicografica delle istruzioni istruzione1 istruzione2 istruzione3... istruzionen Esecuzione TOP-DOWN (alto verso il basso)
21 Strutture Fondamentali di MATLAB 2/3 Sequenza È definita dalla sequenza lessicografica delle istruzioni istruzione1 istruzione1 istruzione2 istruzione3... istruzionen istruzione2 istruzione3 istruzionen
22 Strutture Fondamentali di MATLAB 3/3 Selezione Le strutture selettive o decisionali Ci consentono di scrivere programmi in grado di prere delle decisioni Sono implementate mediante istruzioni condizionali Possono essere implementate in MATLAB mediante i costrutti IF (e sue varianti) e SWITCH-CASE In generale, le istruzioni condizionali contengono una o più clausole if (se), else (altrimenti) ed elseif (altrimenti se)
23 Costrutto IF 1/4 Selezione Semplice (Sintassi MATLAB) if espressione blocco_istruzioni VERA espressione FALSA blocco_istruzioni
24 Costrutto IF 1/4 Selezione Semplice (Sintassi MATLAB) if espressione blocco_istruzioni Se l espressione è vera (1) allora le istruzioni del blocco (blocco_istruzioni) sono eseguite Se l espressione è falsa (0) allora le istruzioni del blocco (blocco_istruzioni) non sono eseguite
25 Costrutto IF 1/4 Selezione Semplice (Sintassi MATLAB) if espressione blocco_istruzioni N.B. Ogni clausola if deve essere associata ad una clausola Quest ultima clausola indica la fine delle istruzioni (blocco_istruzioni) che devono essere eseguite se l espressione logica è vera L espressione logica può essere anche un espressione composta
26 Costrutto IF 1/4 Selezione Semplice (Sintassi MATLAB) if espressione blocco_istruzioni Uno spazio deve separare la parola chiave if dall espressione logica
27 Costrutto IF 1/4 Selezione Semplice (Sintassi MATLAB) if espressione blocco_istruzioni Istruzione 1; Istruzione 2;... Istruzione n; Le istruzioni possono essere formate da una singola istruzione o da una serie di istruzioni Di solito le istruzioni vengono rientrate verso destra (indentazione), per specificare che esse appartengono alla clausola if ed alla corrispondente clausola
28 Costrutto IF 1/4 Selezione Semplice (Sintassi MATLAB) if espressione blocco_istruzioni Esempio x = input('inserisci x: '); y = input('inserisci y: '); if x == y disp('x e y sono uguali');
29 Costrutto IF 2/4 Quando un processo decisionale comporta più azioni, è possibile utilizzare, insieme alla clausola if, anche le seguenti clausole else Che caratterizza una selezione a due vie elseif Che caratterizza una selezione a cascata
30 Costrutto IF 2/4 Selezione a Due Vie (Sintassi MATLAB) if espressione blocco_istruzioni_1 else blocco_istruzioni_2 VERA espressione FALSA blocco_istruzioni_1 blocco_istruzioni_2
31 Costrutto IF 2/4 Selezione a Due Vie (Sintassi MATLAB) if espressione blocco_istruzioni_1 else blocco_istruzioni_2 Se l espressione è vera (1) allora le istruzioni del blocco 1 (blocco_istruzioni_1) sono eseguite Altrimenti (se l espressione è falsa (0) allora) le istruzioni del blocco 2 (blocco_istruzioni_2) sono eseguite
32 Costrutto IF 2/4 Selezione a Due Vie (Sintassi MATLAB) if espressione blocco_istruzioni_1 else blocco_istruzioni_2 Esempio 1 x = input('inserisci x: '); if x > 0 disp('hai inserito un valore positivo'); else disp('hai inserito un valore negativo');
33 Costrutto IF 2/4 Selezione a Due Vie (Sintassi MATLAB) if espressione blocco_istruzioni_1 else blocco_istruzioni_2 Esempio 2 n = input('inserisci n: '); if n < 100 disp([num2str(n), ' è MINORE di 100']); else disp([num2str(n), ' è MAGGIORE O UGUALE di 100']);
34 Costrutto IF 2/4 Selezione a Due Vie (Sintassi MATLAB) if espressione blocco_istruzioni_1 else blocco_istruzioni_2 Esempio 3 if voto_esame < 18 disp('grrrrrrrr...il prof mi ha preso in antipatia!!!'); else disp('e vai!!! Ho superato l esame! Bye bye prof');
35 Costrutto IF 3/4 Selezione a «Cascata» if espressione1 blocco_istruzioni_1 elseif espressione2 blocco_istruzioni_2... elseif espressionen blocco_istruzioni_n else blocco_istruzione_altrimenti FALSA FALSA espr1 espr2 esprn VERA VERA VERA bloco_istr_1 bloco_istr_2 bloco_istr_n FALSA bloco_istr_altrimenti
36 Costrutto IF 3/4 Selezione a «Cascata» (Sintassi MATLAB) if espressione1 blocco_istruzioni_1 elseif espressione2 blocco_istruzioni_2... elseif espressionen blocco_istruzioni_n else blocco_istruzione_altrimenti
37 Costrutto IF 3/4 Selezione a «cascata»: Esempio if prezzo >= 999 perc_sconto = 35; elseif prezzo >= 599 && prezzo < 999 perc_sconto = 25; elseif prezzo < 599 perc_sconto = 19; elseif prezzo <= 0.99 perc_sconto = 0; disp('nessuno sconto! Spi di più per averlo!!!') else disp('prezzo non corretto!')
38 Costrutto IF 3/4 Selezione a «cascata»: Esempio if prezzo >= 999 perc_sconto = 35; elseif prezzo >= 599 && prezzo < 999 perc_sconto = 25; elseif prezzo < 599 perc_sconto = 19; elseif prezzo <= 0.99 perc_sconto = 0; disp('nessuno sconto! NOTA: Spi Equivale di più a per averlo!!') else 599 prezzo < 999 disp('prezzo non corretto!')
39 Costrutto IF 3/4 Selezione a «cascata»: Esempio if prezzo >= 999 perc_sconto = 35; elseif prezzo >= 599 && prezzo < 999 perc_sconto = 25; elseif prezzo < 599 perc_sconto = 19; N.B. elseif prezzo <= 0.99 perc_sconto = 0; Le clausole else ed elseif disp('nessuno sconto! Spi di più per averlo!!') else necessario disp('prezzo non corretto!') possono essere omesse quando non Tuttavia, se vengono utilizzate entrambe, la clausola else deve essere posta dopo elseif
40 Costrutto IF 3/4 Selezione a «cascata»: Esempio if prezzo >= 999 perc_sconto = 35; elseif prezzo >= 599 && prezzo < 999 perc_sconto = 25; elseif prezzo < 599 perc_sconto = 19; elseif prezzo <= 0.99 perc_sconto = 0; N.B. La clausola elseif non richiede un apposita clausola disp('nessuno sconto! Spi di più per averlo!!') else disp('prezzo non corretto!')
41 Costrutto IF 4/4 Le strutture decisionali possono essere annidate Una struttura può essere inclusa all interno di un altra struttura che, a sua volta, può contenerne un altra e così via Il rientro verso destra di alcune righe del codice mette in evidenza i gruppi delle istruzioni associate a ciascuna clausola if espressione1 blocco_istruzioni_1 if espressione2 blocco_istruzioni_2 Si noti che ogni clausola if è associata ad una clausola
42 Costrutto IF 4/4 Esempio 4 cena = true; fa_i_compiti = true; sistema_stanza = false; N.B. Ciascun else fa riferimento all ultimo if che non è stato chiuso da una clausola if cena && fa_i_compiti if ~sistema_stanza disp('bravo/a ragazzo/a'); else disp('ragazzo/a eccezionale'); else disp('ragazzaccio/a');
43 Costrutto IF 4/4 Approfondimento Strutture Selettive Annidate in MATLAB (Esempio Anno Bisestile)
44 Costrutto SWITCH-CASE 1/3 Il costrutto switch-case consente di selezionare un gruppo di istruzioni da eseguire, in base al valore di una variabile presa in input switch variabile case valore1 blocco_istruzioni_valore_1 case valore2 blocco_istruzioni_valore_2... case valoren blocco_istruzioni_valore_n otherwise blocco_istruzioni_otherwise Tale costrutto risulta essere utile per le enumerazioni ma poco appropriato per gli intervalli
45 Costrutto SWITCH-CASE 1/3 Il costrutto switch-case consente di selezionare un gruppo di istruzioni da eseguire, in base al valore di una variabile presa in input switch variabile case valore1 blocco_istruzioni_valore_1 case valore2 blocco_istruzioni_valore_2. programma.. case valoren blocco_istruzioni_valore_n otherwise blocco_istruzioni_otherwise N.B. Ogni valore di case deve essere scritto su una singola riga del Tale costrutto risulta essere utile per le enumerazioni ma poco appropriato per gli intervalli
46 Costrutto SWITCH-CASE 1/3 Il costrutto switch-case consente di selezionare un gruppo di istruzioni da eseguire, in base al valore di una variabile presa in input switch variabile case valore1 blocco_istruzioni_valore_1 case valore2 blocco_istruzioni_valore_2... case valoren blocco_istruzioni_valore_n otherwise blocco_istruzioni_otherwise La variabile di input viene confrontata con il valore che segue ciascuna clausola case Se esiste una clausola case seguita da un valore identico a quello assunto dalla variabile presa in input, MATLAB esegue il blocco di istruzioni relativo a tale clausola Poi prosegue l elaborazione con le istruzioni che si trovano dopo la relativa clausola Tale costrutto risulta essere utile per le enumerazioni ma poco appropriato per gli intervalli
47 Costrutto SWITCH-CASE 1/3 Il costrutto switch-case consente di selezionare un gruppo di istruzioni da eseguire, in base al valore di una variabile presa in input switch variabile case valore1 blocco_istruzioni_valore_1 case valore2 blocco_istruzioni_valore_2... case valoren blocco_istruzioni_valore_n otherwise blocco_istruzioni_otherwise N.B. vengono eseguite soltanto le istruzioni corrispondenti al primo valore di case equivalente alla variabile di input Tale costrutto risulta essere utile per le enumerazioni ma poco appropriato per gli intervalli
48 Costrutto SWITCH-CASE 2/3 Esempio 1 mese = input('inserisci il tuo mese di nascita (valore numerico): '); switch mese case 1 mesestr = 'Gennaio'; case 2 mesestr = 'Febbraio'; case 3 mesestr = 'Marzo'; case 12 mesestr = 'Dicembre'; otherwise disp('errore: Il valore deve essere compreso tra 1 e 12') disp(['ciao, sei nato il mese di ', mesestr])
49 Costrutto SWITCH-CASE 3/3 Esempio 2 Più espressioni per blocco case cifra = input('inserisci cifra > 0 : '); switch cifra case {2,4,6,8} disp('cifra PARI'); case {1,3,5,7,9} disp('cifra DISPARI'); otherwise disp('errore: La cifra deve essere compresa tra 1 e 9')
50 Strutture Iterative 1/3 Abbiamo visto che MATLAB fornisce tre strutture fondamentali Sequenza Selezione Iterazione
51 Strutture Iterative 2/3 Abbiamo visto che MATLAB fornisce tre strutture fondamentali Sequenza Selezione Iterazione
52 Strutture Iterative 3/3 Perché abbiamo bisogno dell Iterazione? Se una sezione di codice può essere potenzialmente ripetuta, essa deve essere inserita in una struttura iterativa (o ciclo) Un ciclo (o loop) è una struttura di controllo che permette di ripetere l esecuzione di istruzioni per un certo numero di volte Ogni ripetizione del ciclo è detta iterazione o (passo) MATLAB fornisce di due tipologie di struttura iterativa Ciclo for Utilizzato quando il numero di iterazioni è noto a priori Ciclo while Utilizzato quando il numero di iterazioni non è noto a priori Il ciclo termina quando è soddisfatta una particolare condizione
53 Ciclo FOR 1/9 Ciclo for (Sintassi MATLAB) for variabile = m:s:n blocco_istruzioni L espressione m:s:n assegna il valore iniziale m alla variabile di ciclo, che viene incrementata del valore s (detto step o incremento) Le istruzioni (blocco_istruzioni) vengono eseguite una sola volta per ogni iterazione, utilizzando il valore corrente della variabile di ciclo L elaborazione continua finchè la variabile di ciclo supera il valore finale per n Di solito, la variabile di ciclo è uno scalare, ma può essere anche un vettore o una matrice
54 Ciclo FOR 1/9 Ciclo for (Sintassi MATLAB) for variabile = m:s:n blocco_istruzioni Si noti che ogni for deve essere associato ad una clausola indica la fine delle istruzioni da eseguire all interno del ciclo
55 Ciclo FOR 1/9 Ciclo for (Sintassi MATLAB) for variabile = m:s:n blocco_istruzioni Fra la clausola for ed il nome della variabile di ciclo deve essere inserito uno spazio
56 Ciclo FOR 1/9 Ciclo for (Sintassi MATLAB) for variabile = m:s:n blocco_istruzioni È buona norma indentare (rientrare) verso destra le istruzioni del ciclo for e la corrispondente clausola, per mettere in evidenza quali istruzioni appartengono al ciclo
57 Ciclo FOR 1/9 for k = 1 : 1 : 10 x = k^2 M-File Script per calcolare l elevazione al quadrato degli interi da 1 a 10 (potenza.m) >> potenza x = 1 x = 4 x = 9 x = 16 x = 25 x = 36 x = 49 x = 64 x = 81 x = 100 Esecuzione
58 Ciclo FOR 1/9 L istruzione x = k^2 viene eseguita una sola volta per ogni iterazione, utilizzando il valore corrente della variabile di ciclo k for k = 1 : 1 : 10 x = k^2 M-File Script per calcolare l elevazione al quadrato degli interi da 1 a 10 (potenza.m)
59 Ciclo FOR 2/9 Ciclo for (Sintassi alternativa MATLAB) for variabile = valori_array blocco_istruzioni
60 Ciclo FOR 2/9 Ciclo for (Usare array e matrici come indice di ciclo) for variabile = valori_array blocco_istruzioni Il ciclo for risulta essere molto utile anche per la manipolazione di array e matrici
61 Ciclo FOR 3/9 Esempio 1 for i = [1:1:10] disp(i)
62 Ciclo FOR 3/9 Esempio 1 for i = [1:1:10] disp(i) [1:1:10] equivale al vettore [ ]
63 Ciclo FOR 3/9 Esempio 1 for i = [1:1:10] disp(i) Output
64 Ciclo FOR 4/9 Esempio 2 for i = 2:2:10 disp(i)
65 Ciclo FOR 4/9 Esempio 2 for i = 2:2:10 disp(i) Output Numeri pari da 2 a
66 Ciclo FOR 5/9 Esempio 3 Funzione che pre in input un array x e restituisce in output la somma degli elementi che esso contiene function [somma] = somma_array(x) s = 0 for i = 1:length(x) restituisce la dimensione di x s = s + x(i); somma = s;
67 Ciclo FOR 5/9 Esempio 3 function [somma] = somma_array(x) s = 0 for i = 1:length(x) s = s + x(i); somma = s; Esempi d uso >> mio_array = [ ]; >> somma_mio_array = somma_array(mio_array) somma_mio_array = 236 >> somma = somma_array(1:10) somma = 55
68 Ciclo FOR 6/9 Esempio 4 Funzione che pre in input un array x e restituisce in output la somma degli elementi con indice pari e la somma degli elementi con indice dispari function [somma_pari, somma_disp] = somma_pari_dispari(x) somma_pari = 0; somma_disp = 0; for i = 1:1:length(x) if (mod(i, 2) == 0) % indice pari somma_pari = somma_pari + x(i); else % indice dispari somma_disp = somma_disp + x(i); N.B.: I commenti (riportati in verde) saranno ignorati da MATLAB. Essi sono di aiuto solo a chi scrive/legge il codice sorgente della funzione
69 Ciclo FOR 6/9 Esempio 4 Funzione che pre in input un array x e restituisce in output la somma degli elementi con indice pari e la somma degli elementi con indice dispari function [somma_pari, somma_disp] = somma_pari_dispari(x) somma_pari = 0; somma_disp = 0; N.B. i vari livelli di indentazione for i = 1:1:length(x) if (mod(i, 2) == 0) % indice pari somma_pari = somma_pari + x(i); else % indice dispari somma_disp = somma_disp + x(i); N.B.: I commenti (riportati in verde) saranno ignorati da MATLAB. Essi sono di aiuto solo a chi scrive/legge il codice sorgente della funzione
70 Ciclo FOR 6/9 Esempio 4 N.B. È possibile annidare i cicli for e le istruzioni condizionali Funzione che pre in input un array x e restituisce la somma degli elementi con indice pari e la somma degli elementi con indice dispari Si noti che for ed if devono essere sempre accompagnati function [somma_pari, somma_disp] = somma_pari_dispari(x) dalla relativa clausola somma_pari = 0; somma_disp = 0; N.B. i vari livelli di indentazione for i = 1:1:length(x) if (mod(i, 2) == 0) % indice pari somma_pari = somma_pari + x(i); else % indice dispari somma_disp = somma_disp + x(i); N.B.: I commenti (riportati in verde) saranno ignorati da MATLAB. Essi sono di aiuto solo a chi scrive/legge il codice sorgente della funzione
71 Ciclo FOR 6/9 Esempio 4 Funzione che pre in input un array x e restituisce in output la somma degli elementi con indice pari e la somma degli elementi con indice dispari function [somma_pari, somma_disp] = somma_pari_dispari(x) somma_pari = 0; somma_disp = 0; for i = 1:1:length(x) if (mod(i, 2) == 0) % indice pari somma_pari = somma_pari + x(i); else % indice dispari somma_disp = somma_disp + x(i); N.B.: I commenti (riportati in verde9 saranno ignorati da MATLAB. Essi sono di aiuto solo a chi sommap = scrive/legge il codice sorgente della funztion Esempi d uso >> [sommap, sommad] = somma_pari_dispari([ ]) sommap = 6 sommad = 9 >> [sommap, sommad] = somma_pari_dispari([ ]) 10 sommad = 6
72 Ciclo FOR 7/9 Esempio 5 Funzione che pre in input un array x e restituisce in output l elemento con valore massimo function [massimo] = massimo(x) massimo = x(1); for i = 2:length(x) if x(i) > massimo massimo = x(i);
73 Ciclo FOR 7/9 Esempio 5 Funzione che pre in input un array x e restituisce in output l elemento con valore massimo function [massimo] = massimo(x) massimo = x(1); for i = 2:length(x) if x(i) > massimo massimo = x(i); Esempi d uso >> max = massimo([ ]) max = 500 >> max = massimo([ ]) max = -1 >> max = massimo([ /1000 2/3 8/29]) max =
74 Ciclo FOR 8/9 Esempio 6 Funzione che pre in input due array a e b (entrambi della stessa lunghezza) e restituisce in output un array c, in cui ogni elemento c(i) contiene il valore dell elemento massimo tra a(i) e b(i) Esempio Input/output funzione INPUT a = [ ] b = [ ] OUTPUT c = [ ] Suggerimento: possiamo utilizzare la funzione massimo, che abbiamo definito in precedenza
75 Ciclo FOR 8/9 Esempio 6 Funzione che pre in input due array a e b (entrambi della stessa lunghezza) e restituisce in output un array c, in cui ogni elemento c(i) contiene il valore dell elemento massimo tra a(i) e b(i) function [c] = massimi_valori(a, b) for i = 1:length(a) c(i) = massimo([a(i) b(i)]);
76 Ciclo FOR 8/9 Esempio 6 Funzione che pre in input due array a e b (entrambi della stessa lunghezza) e restituisce in output un array c, in cui ogni elemento c(i) contiene il valore dell elemento massimo tra a(i) e b(i) function [c] = massimi_valori(a, b) for i = 1:length(a) c(i) = massimo([a(i) b(i)]); >> c = massimi_valori([2 3], [1, 8]) c = 2 8 Esempi d uso >> c = massimi_valori([ ], [ ]) c =
77 Ciclo FOR 9/9 Esempio 7 Funzione che pre in input una matrice A e restituisce in output la somma degli elementi di A Soluzione 1 function [somma] = somma_matrice(a) [m n] = size(a); somma = 0; for r = 1:m %indicizza le righe della matrice for c = 1:n %indicizza le colonne della matrice somma = somma + A(r, c);
78 Ciclo FOR 9/9 Esempio Funzione che pre in input una matrice A e 2 restituisce 21 in output 4 la 6 somma degli elementi di A m Soluzione function [somma] = somma_matrice(a) [m n] = size(a); somma = 0; n for r = 1:m %indicizza le righe della matrice for c = 1:n %indicizza le colonne della matrice somma = somma + A(r, c);
79 Ciclo FOR 9/9 Esempio 7 Funzione che pre in input una matrice A e restituisce in output la somma degli elementi di A Soluzione 2 (Mediante la funzione somma_array definita precedentemente) function [somma] = somma_matrice_soluzione2(a) [m n] = size(a); somma = 0; for r = 1:m riga_a = A(r, :); % estraggo r-esima riga di A somma = somma + somma_array(riga_a);
80 Ciclo WHILE 1/3 Ciclo while (Sintassi MATLAB) while condizione blocco_istruzioni Finché la condizione del while è verificata (risulta essere vera), le istruzioni contenute nel corpo del ciclo (blocco_istruzioni) verranno eseguite D altro canto, non appena la condizione non sarà più verificata (risulterà falsa), il ciclo terminerà Il ciclo while è estremamente utile quando non è noto a priori il numero di iterazioni che dovranno essere eseguite Ad es., quando si vuole continuare un processo finché non è soddisfatta una particolare condizione
81 Ciclo WHILE 2/3 Ciclo while (Sintassi MATLAB) while condizione blocco_istruzioni Ogni clausola while deve essere associata alla relativa clausola
82 Ciclo WHILE 2/3 Ciclo while (Sintassi MATLAB) while condizione blocco_istruzioni Le istruzioni del ciclo (blocco_istruzioni) dovrebbero essere rientrate verso destra per agevolare la lettura dei programmi
83 Ciclo WHILE 3/3 Esercizio 1 x = 20; while x < 50 disp(x); x = x + 3; M-File Script Output
84 Ciclo WHILE 3/3 Esercizio 1 x = 20; while x < 50 disp(x); x = x + 3; M-File Script Output Affinché il ciclo while possa operare correttamente, 20 devono verificarsi due condizioni La variabile di ciclo (in questo caso x) deve avere un valore prima che venga eseguito il while
85 Ciclo WHILE 3/3 Esercizio 1 x = 20; while x < 50 disp(x); x = x + 3; M-File Script Output Affinché il ciclo while possa operare correttamente, 20 devono verificarsi due condizioni La variabile di ciclo (in questo caso x) deve avere un valore prima che venga eseguito il while La variabile di ciclo deve essere modificata in qualche modo dalle istruzioni del ciclo stesso
86 Ciclo WHILE 3/3 Esercizio 1 x = 20; while x < 50 disp(x); x = x + 3; M-File Script Output Le istruzioni sono eseguite una volta per ogni iterazione 20 del ciclo, utilizzando il valore corrente 23 della variabile di ciclo (in 26 questo caso x)
87 Ciclo WHILE 3/3 Esercizio 2 Esegue il ciclo finché non viene immesso un valore negativo somma = 0; x = input('inserisci x (> 0): '); while x > 0 somma = somma + x; x = input('inserisci x (> 0): '); disp(['somma: ', num2str(somma)]); M-File Script Esempio d uso Inserisci x (> 0): 10 Inserisci x (> 0): 9 Inserisci x (> 0): 8 Inserisci x (> 0): -1 somma: 27
88 Ciclo WHILE 3/3 Esercizio 2 Esegue il ciclo finché non viene immesso un valore negativo somma = 0; x = input('inserisci x (> 0): '); while x > 0 somma = somma + x; x = input('inserisci x (> 0): '); disp(['somma: ', num2str(somma)]); Prestare estrema attenzione alla condizione di terminazione del ciclo Potrebbe accadere che il ciclo non abbia mai termine M-File Script Esempio d uso Inserisci x (> 0): 10 Inserisci x (> 0): 9 Inserisci x (> 0): 8 Inserisci x (> 0): -1 somma: 27
89 Ciclo DO/WHILE MATLAB non offre una sintassi per il ciclo do/while È comunque possibile ottenere un comportamento simile a quello del do/while impiegando un while come segue: continua_ciclo = true; while continua_ciclo blocco_istruzioni; if ~condizione continua_ciclo = false; Esempio continua_ciclo = true; i = 1; while continua_ciclo disp(i); if ~(i < 10) continua_ciclo = false; i = i + 1;
90 break e continue 1/2 Le clausole break e continue possono essere usate all interno di un ciclo per terminare o modificare l esecuzione del ciclo stesso La clausola break (to break rompere) termina il ciclo, anche se non si è raggiunta la fine dello stesso) Il flusso di esecuzione del programma salta alla prossima istruzione fuori dal ciclo for i = 1 : 6 disp(i) if i > 3 break; Output
91 break e continue 1/2 Le clausole break e continue possono essere usate all interno di un ciclo per terminare o modificare l esecuzione del ciclo stesso La clausola break (to break rompere) termina il ciclo, anche se non si è raggiunta la fine dello stesso) Il flusso di esecuzione del programma salta alla prossima istruzione fuori dal ciclo for i = 1 : 6 disp(i) if i > 3 break; È possibile utilizzare un istruzione if per saltare fuori dal ciclo, prima che la variabile di ciclo abbia raggiunto il suo valore finale Per fare questo è possibile usare l istruzione break, che termina Output un ciclo senza concludere l intero programma
92 break e continue 2/2 Le clausole break e continue possono essere usate all interno di un ciclo per terminare o modificare l esecuzione del ciclo stesso La clausola continue salta un iterazione del ciclo, ma fa si che il flusso di esecuzione rimanga comunque all interno del ciclo Il flusso di esecuzione del programma salta alla fine del ciclo (bypassando tutte le istruzioni presenti tra la clausola continue e quella ) e comincia con la prossima iterazione del ciclo for i = 1 : 6 if mod(i, 2) == 0 continue; disp(i) Output
93 break e continue 2/2 Le clausole break e continue possono essere usate all interno di un ciclo per terminare o modificare l esecuzione del ciclo stesso La clausola continue salta un iterazione del ciclo, ma fa si che il flusso di esecuzione rimanga comunque all interno del ciclo Il flusso di esecuzione del programma salta alla fine del ciclo (bypassando tutte le istruzioni presenti tra la clausola continue e quella ) e comincia con la prossima iterazione del ciclo for i = 1 : 6 if mod(i, 2) == 0 continue; disp(i) Questa istruzione passa il controllo del programma alla successiva iterazione del ciclo for o while in cui figura, ignorando tutte le istruzione restanti nel corpo del ciclo Output Nei cicli annidati, l istruzione continue passa il controllo del programma alla successiva iterazione del ciclo for o while in cui è contenuta
94 Esercizio 1 [Per casa] Espressione Valore
95 Esercizio 2 [Per casa] Simulare una sequenza di 20 lanci di un dado a 6 facce Se per 2 lanci consecutivi esce il numero 6 Viene stampato «Hai Vinto!» e la simulazione si arresta Se non sono capitati due lanci consecutivi in cui è uscito il numero 6 Viene stampato «Riprova» e la simulazione si arresta
96 Riferimenti Capitolo 4 Paragrafi 1, 2, 3, 4, 5, 6 e 7
Fondamenti di Informatica
Fondamenti di Informatica Introduzione alla Programmazione in MATLAB: Parte 2 (Operatori Logico/Relazionali e Strutture Selettive) Prof. Arcangelo Castiglione A.A. 2016/17 Introduzione alla programmazione
DettagliFondamenti di Informatica
Fondamenti di Informatica Introduzione alla Programmazione in MATLAB: Parte 3 (Strutture Iterative) Prof. Arcangelo Castiglione A.A. 2016/17 Introduzione alla programmazione in MATLAB: Parte 3 OUTLINE
DettagliFondamenti di Informatica
Fondamenti di Informatica (Strutture di controllo selettive ed iterative) Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 OUTLINE Operatori Relazionali
DettagliFondamenti di Informatica A. A. 2018/19
Fondamenti di Informatica Prof. Marco Lombardi A. A. 2018/19 AlgoBuild: Strutture Iterative e Selettive OUTLINE Blocco condizionale (Struttura selettiva IF - IF/ELSE) Esempi Cicli a condizione iniziale
DettagliFondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
DettagliProf. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI
Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI IF Ogni linguaggio di programmazione presenta almeno una struttura di controllo decisionale. La sintassi del linguaggio C è la seguente. if ()
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 8 14/11/2013
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 8 14/11/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University
DettagliStrutture di controllo condizionali in Matlab
Strutture di controllo condizionali in Matlab Informatica B Le strutture condizionali A cosa servono le strutture condizionali? %Inserimento dei parametri della parabola: y=ax^2+bx+c a = input( inserire
DettagliFondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture iterative e selettive Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 AlgoBuild: Strutture iterative
DettagliCorso di PHP. Prerequisiti. 3 - Le strutture di controllo. Istruzioni semplici Controllo del flusso di programma
Corso di PHP 3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Controllo del flusso di programma 2 1 Introduzione In molti casi le sole istruzioni viste finora non sono sufficienti a risolvere
DettagliUniversità degli Studi di Ferrara
Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018 2019 Programmazione Lezione 19 Controllo di Flusso in MATLAB Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo
DettagliProgrammare con MatLab IV
Programmare con MatLab IV IV_Matlab Carla Guerrini 1 Programmazione Matlab MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
DettagliSTRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
DettagliIstruzioni di Controllo
Istruzioni di Controllo Programmazione strutturata Ricordiamo i concetti chiave: concatenazione o composizione BLOCCO istruzione condizionale SELEZIONE ramifica il flusso di controllo in base al valore
DettagliFondamenti di Informatica
Fondamenti di Informatica Introduzione alla programmazione in MATLAB: Parte 3 Possibili Soluzioni per gli Esercizi Prof. Arcangelo Castiglione A.A. 2016/17 Esercizio 1 (Possibile Soluzione) Scrivere un
DettagliQualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
DettagliInformatica 2 modulo C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
Dettaglidel Linguaggio C Istruzioni di iterazione
Istruzioni i Iterative ti del Linguaggio C Istruzioni di iterazione Le istruzioni di iterazione forniscono strutture di controllo che esprimono la necessità di ripetere una certa istruzione durante il
DettagliPaolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09
Linguaggi procedurali Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali, Paolo Bison, FI08, 2008-09-29 p.1 Linguaggi procedurali classe
DettagliIterazione A. Ferrari
Iterazione A. Ferrari Iterazioni (cicli) L iterazione è una struttura che consente di ripetere più volte l esecuzione di un insieme di istruzioni. Due tipi di iterazione: iterazioni enumerative: consentono
DettagliStrutture di Controllo
Strutture di Controllo Istruzioni condizionali e cicli http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Fino ad ora, il nostro
DettagliUnità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso
Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile
DettagliCast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
DettagliCalcolo Numerico A.A Lab n
Calcolo Numerico A.A. 2014-2015 Lab n. 3 29-10-2014 Elementi di programmazione Programmare in MATLAB Alcune strutture di programmazione elementari Operatori relazionali: =, ==, = Operatori logici:
DettagliLaboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012
Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;
DettagliIl primo programma C++
Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida
DettagliLaboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014
Laboratorio Progettazione Web Il linguaggio PHP le istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti
DettagliIstruzioni di controllo
Istruzioni di controllo Le istruzioni in C Assegnazione Sequenza I/O Test Cicli Controllo = che cosa è la prossima cosa da fare La prossima cosa da fare è quella che segue La prossima cosa da fare dipende
DettagliAssegnazione di una variabile
Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile
DettagliLaboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016
Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2015/2016 Ambiente di test PHP online per avere un interprete PHP Php Online PHP Tester
Dettagli8 Introduzione MATLAB
8.1 Basi Per pulire il workspace (eliminare tutte le variabili esistenti): 1 clear Per pulire la finestra dei comandi (command window): 1 clc In MATLAB non è necessario dichiarare le variabili ed esse
DettagliIstruzioni. Istruzioni semplici Istruzioni di controllo. Fondamenti di Informatica e laboratorio Istruzioni e Controllo del flusso
Istruzioni Istruzioni Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante Le strutture di controllo permettono
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 24 settembre 2007 Outline 1 M-file di tipo Script e Function Script Function 2 Elementi di programmazione
DettagliStrutture di controllo decisionali
Capitolo 3 Strutture di controllo decisionali ANDREA GINI Dopo aver introdotto il concetto di variabile e di array, è giunto il momento di analizzare a fondo i restanti costrutti del linguaggio Java. Come
DettagliIstruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliProgrammare in Scilab: Matrici Booleane Strutture di Controllo
Programmare in Scilab: Matrici Booleane Strutture di Controllo Corso di Informatica CdL: Chimica Claudia d'amato cl audi a.damat o@di.uni ba.i t Programmazione in Scilab Scilab dispone di un linguaggio
DettagliProgrammare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo
Programmare Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo Condizioni logiche Le condizioni logiche sono istruzioni che fanno uso di: operatori relazionali (servono a confrontare il valore
DettagliSTRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 7: Istruzioni ed Operatori Booleani Vittorio Scarano Corso di Laurea in Informatica Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo Operatori relazionali
DettagliAlgebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
Dettagli8 Introduzione MATLAB
8.1 Basi Per pulire il workspace (eliminare tutte le variabili esistenti): 1 clear Per pulire la finestra dei comandi (command window): 1 clc In MATLAB non è necessario dichiarare le variabili ed esse
DettagliCostrutti condizionali e iterativi
Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni
DettagliMatlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1
Matlab 5 Funzioni Slide basate sul corso di C. Blundo A.A. 2010/2011 -- GPersiano Laboratorio di Informatica per Fisici 1 Funzioni Le funzioni sono utili quando occorre ripetere una serie di comandi più
DettagliCostrutti condizionali e iterativi
Costrutti condizionali e iterativi Introduction to modern Fortran Paolo Ramieri, CINECA Maggio 2017 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle
DettagliDIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA. INFORMATICA B Ingegneria Elettrica. Script in Matlab
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA INFORMATICA B Ingegneria Elettrica Script in Matlab Gli script Uno script è un file di testo contenente una sequenza di comandi MATLAB (è un programma
DettagliLe strutture di controllo
INFORMATICA B Ingegneria Elettrica Le strutture di controllo Selezione un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un valore intero e visualizza il suo
DettagliStrutture di controllo (v.anche cap. 8 del testo MATLAB per l ingegneria )
(v.anche cap. 8 del testo MATLAB per l ingegneria ) Selezione if 1 2 If, while, for, do until Se la condizione è vera, esegui 1, altrimenti esegui 2 MATLAB - ontrollo 2 Selezione if if ( condizione ) blocco
DettagliEsecuzione condizionale. Esecuzione condizionale. Costrutto if. Costrutto if
Esecuzione condizionale Esecuzione condizionale Permette l esecuzione di un blocco di codice solo se si verifica una certa condizione SE (condizione è vera) ALLORA esegui istruzioni 2 er. 2.4 also condizione
DettagliLinguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»
Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite
DettagliIntroduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09
Introduzione all ambiente MATLAB Richiami II Programmazione MATLAB MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture
DettagliLaboratorio di Python
per casa 17 marzo 2015 Sommario per casa 1 2 3 4 per casa a casa per casa Scrivere una funzione che presi due numeri come parametri della funzione mi stampi il MCD tra i due numeri. Usare ciclo for. Scrivere
DettagliIstruzioni di Controllo in C. Emilio Di Giacomo
Istruzioni di Controllo in C Emilio Di Giacomo Limite delle istruzioni viste L insieme delle istruzioni che abbiamo visto fino ad ora consiste per lo più di: dichiarazioni e assegnazioni di variabili espressioni
DettagliTipi di dato, variabili, istruzioni
Tipi di dato, variabili, istruzioni Esercizio 1 Implementare un servizio che estrae due numeri random tra 1 e 100, stampa a video i due numeri ed esegue le seguenti operazioni: se almeno uno dei due numeri
DettagliLaboratorio di Programmazione e Calcolo
UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI FISICA E. AMALDI Laboratorio di Programmazione e Calcolo 6 crediti a cura di Severino Bussino Anno Accademico 2018-19 0) Struttura del Corso 1) Trattamento
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C Controllo di Flusso Daniele Pighin March 2009 Daniele Pighin Introduzione al Linguaggio C 1/19 Outline Introduzione Branching: if Il ciclo while Il ciclo for break e continue
DettagliSunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I.
Sunto della scorsa lezione 06-10-2003 Il linguaggio C Matricole 2-3 Un programma C è un insieme di funzioni. La funzione è sempre presente Una funzione è un insieme di istruzioni racchiuse tra ogni istruzione
DettagliEstrazione di dati da una matrice
Estrazione di dati da una matrice a = [1 2 3 4 5; 9 5 4 7 6; 10 1 7 3 2] b = a(1,2) % 2 elemento della prima riga c = a(1,:) % l'intera prima riga (c è un array monodimensionale) d = a(:,3) % la terza
DettagliLaboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015
Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2014/2015 Ambiente di test Cercare PHP online per avere un interprete PHP Assegnamento
DettagliPROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
DettagliIterazione determinata e indeterminata
Iterazione determinata e indeterminata Le istruzioni iterative permettono di ripetere determinate azioni più volte: un numero di volte fissato = iterazione determinata, Esempio: fai un giro del parco di
DettagliC espressioni condizionali
C espressioni condizionali Esiste un particolare operatore, detto operatore condizionale, che rappresenta un istruzione if else. estremamente compattata?: Supponiamo di voler inserire nella variabile intera
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliCorso di Fondamenti di Informatica Macroarea di Ingegneria 2017/18. Tutor: prof. Francesco De Vincenzi
Corso di Fondamenti di Informatica Macroarea di Ingegneria 2017/18 Tutor: prof Francesco De Vincenzi MATLAB: Gli script MATLAB: Esempio di script Area di un triangolo dati base e altezza base=input('inserisci
DettagliIf Statement. Il costrutto condizionale if ha la seguente sintassi:
Costrutti Control Flow Con control flow (o strutture di controllo) si intende l insieme dei costrutti che servono a gestire il flusso di esecuzione di un programma, cioè a specificare quando e come eseguire
DettagliIL COSTRUTTO ITERAZIONE
IL COSTRUTTO ITERAZIONE Il costrutto iterazione Consente di ripetere una operazione elementare o un blocco di operazioni. Tipologie di iterazione Iterazione definita Iterazione condizionata Tipologie di
DettagliPaolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova
Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice, Paolo Bison, FI06, 2007-01-10 p.1 Pseudo codice linguaggio testuale mix di linguaggio naturale ed elementi
DettagliFondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliUn esempio di if annidati
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XIV, parte I ) Costrutto di selezione switch Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di
DettagliPrimi script in MATLAB
Primi script in MATLAB Laboratorio di Calcolo Numerico 6 Marzo 2018 Introduzione alla programmazione Obiettivo: scrivere programmi e sviluppare algoritmi in MATLAB Si utilizzano gli m-file, ovvero file
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliLe Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
DettagliOperatori relazionali
Operatori relazionali Gli operatori relazionali più comuni sono: == uguale ~= diverso da < minore di > x=2; >> x==0 ans = 0 >> x==2 ans = 1 (questa relazione e falsa:)
DettagliIntroduzione all ambiente MATLAB. Richiami II. Analisi Numerica - A.A. 2007/08
Introduzione all ambiente MATLAB Richiami II Programmazione MATLAB MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture
DettagliJavascript: il browser
Javascript: il browser Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser si appoggia al software di
DettagliLaboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)
Laboratorio Due 1) Switch 2) Costrutti Iterazione (For, While, do while) GLI ARGOMENTI DI OGGI Istruzione switch I costrutti di iterazione (For, while, do while) Le funzioni (e ricorsione) Terza Esercitazione
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case
DettagliLe strutture di controllo in C++
Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
DettagliInformatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliProgrammazione Strutturata
Programmazione Strutturata Problema: Spaghetti Code è un termine dispregiativo per quei programmi per computer che abbiano una struttura di controllo del flusso complessa e/o incomprensibile Ad esempio,
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell'informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L'algebra
DettagliLinguaggio C Strutture di controllo
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Strutture di controllo 2001 Pier Luca Montessoro - Davide
DettagliJavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132
JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni
DettagliProgrammazione in Python per la bioinformatica
per la bioinformatica University of Verona Sommario (if) (while for) Cambiare il usso di esecuzione di un programma Semplice Semplice l'indentazione ha un signicato sintattico! Condizioni Boolean Expression
DettagliAnalisi strutturata 1
Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata
DettagliStrutture di controllo
Dipartimento di Ingegneria dell'informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria ivile e Ambientale MATLAB: le strutture di controllo If, while, for, do until
DettagliJavascript: il browser
Javascript: il browser Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser si appoggia al software di
DettagliCaratteristiche di un calcolatore elettronico
Prof. Emanuele Papotto Caratteristiche di un calcolatore elettronico È una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche. È velocissimo,
DettagliErrori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliFondamenti di Informatica
Fondamenti di Informatica Introduzione alla programmazione in MATLAB E s e rc i ta z i o n e 1 Po s s i b i l i S o l u z i o n i P r o f. R a f fa e l e P i z zo l a n t e A. A. 2 0 1 6 / 1 7 Esercizio
DettagliIng. Lorenzo Vismara
Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#
DettagliEstrazione di dati da una matrice
Estrazione di dati da una matrice a = [ 2 3 4 5; 9 5 4 7 6; 7 3 2] b = a(,2) % 2 elemento della prima riga c = a(,:) % l'intera prima riga (c è un array monodimensionale) d = a(:,3) % la terza colonna
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
Dettagli