MATLAB: Strutture di controllo. Informatica B Prof. A. Morzenti
|
|
- Valentino Manca
- 8 anni fa
- Visualizzazioni
Transcript
1 MATLAB: Strutture di controllo Informatica B Prof. A. Morzenti
2 Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente da due funzioni speciali (true e false) dagli operatori relazionali dagli operatori logici I valori logici occupano un solo byte di memoria (i numeri ne occupano 8) Esempio: a=true; >>whos a Name Size Bytes Class Attributes a 1x1 1 logical a è un vettore 1x1 che occupa 1 byte e appartiene alla classe tipo logico 2
3 Operatori relazionali Gli operatori relazionali operano su tipi numerici o stringhe Forma generale: a OP b a,b possono essere espressioni aritmetiche, variabili, stringhe (della stessa dimensione) OP: ==, ~=, >, >=, <, <= Esempi: 3<4 true (1) 3==4 false (0) A < B true (1) Operatori relazionali possono essere usati per confrontare vettori con vettori della stessa dimensione o con scalari Nel secondo caso il risultato è un vettore di booleani che contiene i risultati dei confronti di ogni elemento del vettore con lo scalare 3
4 Note Non confondere == e =: esattamente come in C == è un operatore di confronto = è un operatore di assegnamento La precisione finita può far commettere errori con == e ~= sin(0) == 0 -> 1 sin(pi) == 0 -> 0 eppure logicamente sono vere entrambe!! Per i numeri piccoli conviene usare una soglia abs( sin(pi) ) <= eps 4
5 Vettori e stringhe Esempi: [1 0; -2 1] < 0 dà [0 0; 1 0] ([false false; true false]) [1 0; -2 1] >= [2-1; 0 0] dà [0 1; 0 1] Si possono confrontare stringhe di lunghezza uguale pippo == pluto dà [ ] 5
6 Operatori logici Forma generale: a OP1 b oppure OP2 a a,b possono essere variabili, costanti, espressioni da valutare, scalari o vettori (dimensioni compatibili) OP1: AND (&& o &), OR ( o ), XOR (xor) e OP2: NOT (~) Se a e b sono numerici verranno interpretati come logici: 0 come false tutti i numeri diversi da 0 come true a b a AND b a OR b NOT a a XOR b false false false false true false false true false true true true true false false true false true true true true true false false 6
7 && vs & e vs && ( ) funziona con gli scalari e valuta prima l operando più a sinistra. Se questo è sufficiente per decidere il valore di verità dell espressione non va oltre a && b: se a è falso non valuta b a b: se a è vero non valuta b & ( ) funziona con scalari e vettori e valuta tutti gli operandi prima di valutare l espressione complessiva Esempio: a/b>10 se b è 0 non voglio eseguire la divisione (b~=0)&&(a/b>10) è la soluzione corretta: && controlla prima b~=0 e se questo è falso non valuta il secondo termine 7
8 Ordine tra gli operatori Un espressione viene valutata nel seguente ordine: operatori aritmetici operatori relazionali da sinistra verso destra NOT (~) AND (& e &&) da sinistra verso destra OR ( e ) e XOR da sinistra verso destra 8
9 Esempi Hai tra 25 e 30 anni? (eta>=25) & (eta<=30) Con i vettori: Voto = [ 12, 15, 8, 29, 23, 24, 27 ] C = (Voto > 22) & (Voto < 25) -> C = [ ] Utile per contare quanti elementi soddisfano una condizione N_votiMedi = sum (Voto > 22 & Voto < 25) 9
10 Vettori logici e selezione (1) Gli operatori relazionali possono essere usati per generare direttamente un vettore logico (cioè un vettore di valori logici), che poi si può usare a sua volta per selezionare gli elementi di un vettore espressioni vengono quindi usate come una sorta di filtro Esempio: troviamo tutti gli elementi di un vettore x minori del corrispondente elemento in un array y della stessa dimensione di x >> x = [6,3,9]; y = [14,2,9]; >> a=x<y a = >> z=x(a) z = 6 >> più concisamente 10 >> x = [6,3,9]; y = [14,2,9]; >> x(x<y) ans = 6 >>
11 Vettori logici e selezione (2) Altro modo di creare un array logico: confrontando con una costante Mediante un array logico è possibile selezionare gli elementi di a ai quali applicare una certa operazione. Esempio: operazione di sqrt e anche operazione di assegnamento >> a= [1 2 3; 4 5 6; 7 8 9]; >> b=a>5 b = >> a(b) ans = 7 versione linearizzata: 8 elementi ottenuti con 6 9 poi scansione di a da alto a basso e da sinistra a 11 destra >> sqrt(a(b)) ans = a dx di >> a(b)=sqrt(a(b)) a = >> NB: i due vettori a sx e a dx di = devono avere uguale dimensione
12 Vettori logici e selezione (3) la scansione per selezionare gli elementi segue la forma linearizzata della matrice (per colonne dall alto al basso e considerando le colonne da sinistra a destra). Esempio: >> a=[1 2 3;4 5 6;7 8 9] a = >> b=a' b = >> a(a>5) ans = >> 12 poi >> b(b>5) ans = >> a(a>5)=b(b>5) a = >>
13 Find ind = find(x) restituisce gli indici degli elementi non nulli dell array x. x può essere un espressione logica. Esempio a = [ ] find(a>5) -> ans = NB: find restituisce gli indici e non i valori degli array mentre usando i vettori logici come indici si ottengono i valori Esempio: (NB: tutti i valori diversi da zero corrispondono a true) x = [5, -3, 0, 0, 8];y = [2, 4, 0, 5, 7]; v = y(x&y) -> v = [2 4 7] ind = find(x&y) -> ind = [1 2 5] i valori di y(k) per quei k tali che x(k)&y(k), cioè x(k) e y(k) sono entrambi non nulli gli indici k tali che x(k)&y(k), 13
14 Funzioni logiche Nome della funzione all(x) any(x) isinf(x) isempty(x) isnan(x) finite(x) ischar(x) isnumeric(x) Elemento restituito un vettore riga, con lo stesso numero di colonne della matrice x, che contiene 1, se la corrispondente colonna di x contiene tutti elementi non nulli, o 0 altrimenti; NB: applicato a un vettore dà un solo valore logico, 1 sse tutti gli elementi sono veri un vettore riga, con lo stesso numero di colonne della matrice x, che contiene 1, se la corrispondente colonna di x contiene almeno un elemento non nullo, 0 altrimenti; NB: applicato a un vettore dà un solo valore logico, 0 sse tutti gli elementi sono falsi un array delle stesse dimensioni di x con 1 dove gli elementi di x sono inf, 0 altrove 1 se x è vuoto (cioè uguale a []), 0 altrimenti un array delle stesse dimensioni di x con 1 dove gli elementi di x sono NaN, 0 altrove un array delle stesse dimensioni di x, con 1 dove gli elementi di x sono finiti, 0 altrove 1 se x è di tipo char, 0 altrimenti 1 se x è di tipo double, 0 altrimenti isreal(x) 1 se x ha solo elementi con parte immaginaria nulla, 0 altrimenti
15 Il costrutto if if espressione1 I rami elseif e else non sono obbligatori! istruzione 1-1 istruzione elseif espressione2 Le istruzioni 1-1 e 1-2 vengono... else istruzione 2-1 eseguite solo se vale espressione 1 istruzione 2-2 Le istruzioni 2-1 e 2-2 vengono... eseguite solo se vale espressione 2 istruzione k-1 Le istruzioni k-1 e k-2 vengono istruzione k-2 eseguite solo se non vale nessuna... delle espressioni sopra indicate 15
16 Il costrutto switch L istruzione condizionale switch consente una scrittura alternativa ad if/elseif/else Qualunque struttura switch può essere tradotta in un if/elseif/else equivalente switch variabile (scalare o stringa) case valore1 istruzioni caso 1 case valore2 istruzioni caso 2... otherwise istruzioni per i restanti casi 16
17 Il ciclo while while espressione istruzioni da ripetere finché espressione è vera espressione deve essere inizializzata (avere un valore) prima dell inizio del ciclo Il valore di espressione deve cambiare nelle ripetizioni Esempio: Calcoliamo gli interessi fino al raddoppio del capitale value = 1000; year = 0; while value < 2000 value = value * 1.08 year = year + 1; fprintf('%g years: $%g\n', year,value) 17
18 Il ciclo for for indice = espressione istruzioni Esempio leggi 7 numeri e mettili in un vettore di nome number: for n = 1:7 number(n) = input('enter value '); Esempio - conto alla rovescia in secondi time = input('how long? '); for count = time:-1:1 pause(1); fprintf('%g seconds left \n',count); disp('done'); 18
19 Il ciclo for Il ciclo for usa un array per assegnare valori alla variabile di conteggio Questo array può essere generato al volo con un espressione del tipo init:delta:fin Nel primo esempio del lucido precedente l array è [ ] L array può anche essere inizializzato con altri meccanismi (si vedano gli esempi nel lucido seguente) Se l array è una matrice alla variabile di conteggio vengono assegnate in sequenza le sua colonne 19
20 Esempi Inizializzazione dell indice del for a partire da una matrice board = [ ; ; ]; for x = board x alla prima iterazione x e` il vettore colonna Inizializzazione dell indice del for a partire da una stringa for x = 'EGR106 disp(x) %alla prima iterazione x vale E
21 Vettorizzazione (1) In molti casi è possibile sostituire un for con l uso di un opportuno vettore. Esempio %calcolo del quadrato degli interi tra 1 e 100 for ii=1:100 square(ii)=ii^2; %frammento di codice equivalente: vettorizzazione ii=1:100; square=ii.^2; versione equivalente che fa uso della notazione dei sottoarray n=1:100; square(n)= n.^ 2; NB: bisogna usare la versione.^ che opera elemento per elemento La versione con il for può essere fino a 15 volte più lenta della versione con la vettorizzazione! 21
22 Vettorizzazione (2) Ripriamo l esempio b = a>5 sqrt(a(b)) a(b)=sqrt(a(b)) Esecuzione dello stesso calcolo con i cicli [r, c]=size(a); %usata in questo modo size dà righe e colonne di una matrice for h = 1:r for k = 1:c if a(h, k)>5 a(h, k)=sqrt(a(h, k)); Anche qui il codice che sfrutta la vettorizzazione è molto più efficiente dell altro 22
23 Break e Continue I cicli contengono una serie di istruzioni che vogliamo ripetere Però potremmo aver bisogno di: Saltare all iterazione successiva Terminare il ciclo Continue salta all iterazione successiva Break interrompe l esecuzione del ciclo 23
24 Esempio Acquisiamo numeri da tastiera finché non viene inserito un numero negativo. In ogni caso non accettiamo più di mille numeri: vector = [ ]; %crea il vettore vuoto for count = 1:1000 %Raccoglierà al max 1000 valori value = input('next number '); if value < 0 else break %Se value negativo usciamo dal ciclo vector(count) = value; vector %permette di visualizzare il contenuto di vector 24
25 Strutture
26 Strutture (e array di strutture) Una struttura è un tipo di dato composto da elementi eterogenei Ogni elemento individuale è chiamato campo e ha un nome Come con gli scalari, si può passare da un elemento singolo (matrice 1 1) a un vettore (matrice 1 n) Ci sono due modi per creare una struttura: Campo per campo mediante assegnamento Tutto in una volta mediante la funzione struct 26
27 Creazione di una struttura campo per campo Esempio: la struttura studente studente.nome = Giovanni Rossi ; studente.indirizzo = Via Roma 23 ; studente.citta = Cosenza ; studente.media = 25; whos studente Name Size Bytes Class Attributes studente 1x1 568 struct %aggiungo un nuovo studente -> array 1x2 studente(2).nome = Giulia Gatti ; studente(2).media = 30; Nota: quando un elemento viene definito, tutti i suoi campi sono creati e inizializzati a valore nullo (vettore vuoto []) 27
28 Creazione di una struttura mediante la funzione struct Consente di preallocare una struttura o un array di strutture str_array = struct( campo1, val1, campo2, val2, ) Esempio >> rilievialtimetrici=struct('latitudine',20,'longitudine',30, 'altitudine', ' 1300) rilievoaltimetrico = latitudine: 20 longitudine: 30 altitudine:
29 Creazione di array di strutture Se si allunga un array assegnando un valore a una componente di indice > dimensione corrente i nuovi elementi, in posizione precente a quello inserito esplicitamente, vengono inizializzati al solito valore nullo [] Esempio rilievialtimetrici(1000)=struct('latitudine',80,'longitudine',[], 'altitudine', 1450) rilievialtimetrici = 1x1000 struct array with fields: latitudine longitudine altitudine 29 Array vuoto. Attenzione: se si Inserisce un valore (es. 20), questo viene assunto dal campo longitudine dell elemento 1000, ma non dallo stesso campo degli altri elementi dell array
30 Aggiunta di campi Aggiunta di un campo: facciamo riferimento alla definizione di studente delle slide precedenti studente(2).esami = [ ]; Il campo esami viene aggiunto a tutte le strutture che fanno parte di studente Avrà un valore iniziale per studente(2). Sarà vuoto per tutti gli altri elementi dell array 30
31 Uso dei dati nelle strutture Notazione con il punto, uguale al C. Esempi studente(2).nome studente(2).esami(2) unnome = studente(1).nome studente(2).indirizzo=studente(1).indirizzo %mean calcola la media degli elementi di un array mean(studente(2).esami) Estrazione dei valori che un campo assume in tutti gli elementi di un array di strutture (NB: ipotizziamo che le strutture dell array studente abbiano un campo media e che l array abbia due componenti) a = [studente.media] a = [25 30] 31
32 Array di strutture innestati Un campo di un array di strutture può essere di qualsiasi tipo (come in C) E` quindi possibile avere un campo che è, di nuovo, una struttura. Esempio studente(1).corso(1).nome= InformaticaB ; studente(1).corso(1).docente= Von Neumann ; studente(1).corso(2).nome= Matematica ; studente(1).corso(2).docente= Eulero ; 32
33 Esercizio Si sviluppi un programma in matlab che acquisisce da tastiera i dati relativi a rilievi altimetrici e stampa a video l altitudine media di tutti quelli che hanno latitudine compresa tra 10 e 80 e longitudine tra 30 e 60 33
34 Soluzione (1) more = input('vuoi inserire valori altimetrici? (s/n)'); ii=1; while more=='s' arch(ii).altitudine = input('altitudine '); arch(ii).longitudine = input('longitudine '); arch(ii).latitudine = input('latitudine '); ii = ii+1; more = input('vuoi inserire altri valori altimetrici? (s/n)'); 34
35 Soluzione (2) jj=1; for ii=1:length(arch) %attenzione: la condizione deve essere scritta sulla stessa linea if arch(ii).latitudine>=10&&arch(ii).latitudine<=80 && arch(ii).longitudine>=30&&arch(ii).longitudine<=60 elemselez(jj) = arch(ii).altitudine; jj=jj+1; disp(['la media degli elementi selezionati e` ' num2str(mean(elemselez))]); 35
Strutture di controllo
Strutture di controllo Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 23 Se0embre 2016 Obiettivi Operatori Vettori Costrutti condizionali e cicli Strutture 2 Tipo di dato logico
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
DettagliMatlab: Strutture di Controllo. Informatica B
Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente
DettagliMATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA
MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere
DettagliMatlab: Logicals e Strutture di Controllo
Matlab: Logicals e Strutture di Controllo Informatica B AA 15/16 Giacomo Boracchi 2 Dicembre 2015 giacomo.boracchi@polimi.it Tipo di Dato Logico - e operazioni su vettori Tipo di Dato Logico È un tipo
DettagliMatlab: Logicals e Strutture di Controllo
Matlab: Logicals e Strutture di Controllo Informatica B AA 2017/2018 Luca Cassano luca.cassano@polimi.it 14 Novembre 2018 Tipo di Dato Logico e operazioni su vettori Tipo di Dato Logico È un tipo di dato
DettagliMatlab I/O. Daniele Loiacono, Vittorio Zaccaria
Matlab I/O Daniele Loiacono, Vittorio Zaccaria Informatica B - Codice Corso: 081369 - A.A. 2010/2011 INGEGNERIA MECCANICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione S - Z INGEGNERIA ENERGETICA (BV) - INGEGNERIA
DettagliOperatori Relazionali in MATLAB. Logica e relazioni
Logica e relazioni Operatori Relazionali in MATLAB Operatori relaizonali Vettori logici e indirizzamento Operatori logici Funzioni logiche (find, ecc ) A operatore B A e B possono essere: Variabili, costanti
DettagliLoop in Matlab. Informatica B. Daniele Loiacono
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)]);
Dettagliv indx v t v indx. v >0 v
v v v indx. indx t >0 v v v v v indx. indx t t = []; for ii = indx t = [t, v(ii)]; end v = [10 : 2 : 16] indx = [2, 3] t = []; for ii = indx t = [t, v(ii)]; end disp(t); t = []; ii = 1; while (ii
DettagliLab 5 Info B. Marco D. Santambrogio Riccardo Cattaneo Ver. aggiornata al 1 Dicembre 2014
Lab 5 Info B Marco D. Santambrogio marco.santambrogio@polimi.it Riccardo Cattaneo cattaneo@elet.polimi.it Ver. aggiornata al 1 Dicembre 2014 Lab 5: Obiettivi Introduzione a Matlab/Octave array e matrici
DettagliLab 5 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 15 Dicembre 2015
Lab 5 Info B Marco D. Santambrogio marco.santambrogio@polimi.it Matteo Ferroni matteo.ferroni@polimi.it Ver. aggiornata al 15 Dicembre 2015 Lezione Ven 18 2 Lezione Ven 18 Probabilmente sospesa causa lauree
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
DettagliScript in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali Script in Matlab Gli script Uno script è un file di testo contenente
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
DettagliInformatica B - A.A. 2018/2019
Politecnico di Milano Informatica B - A.A. 2018/2019 Laboratorio 4 26/11/2018 Andrea Tirinzoni ( andrea.tirinzoni@polimi.it ) Pietro Fezzardi ( pietro.fezzardi@polimi.it ) 1. Introduzione 1.1 - Semplici
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
DettagliCicli. Cicli. Il ciclo for. Comandi per eseguire ripetutamente porzioni di codice Due tipi disponibili in Matlab: Cicli: For While Controllo
Cicli Cicli Cicli: For While Controllo Comandi per eseguire ripetutamente porzioni di codice Due tipi disponibili in Matlab: for while Il ciclo for Usato per un numero definito di ripetizioni di un gruppo
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 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
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
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
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;
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
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?
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
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
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;
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
DettagliFondamenti 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
DettagliMATLAB Elementi di grafica Costrutti di programmazione
MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
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
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
DettagliScilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.
Scilab Corso di Informatica CdL: Chimica Introduzione a Scilab - Vettori Claudia d'amato claudia.damato@di.uniba.it Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione
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
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
DettagliFondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione MATLAB: Fondamenti di Programmazione in MATLAB Strutture Selettive e Iterative Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/19 Fondamenti di Programmazione
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
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
DettagliIntroduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
DettagliLinguaggio C Espressioni e operatori
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori 2001 Pier Luca Montessoro - Davide
DettagliFondamenti di Informatica T-1. Selezione
Selezione 2 Selezione Permette di differenziare il flusso di controllo a seconda che sia verificata o meno una condizione. Il flusso di controllo si ramifica in due (o più) sequenze di istruzioni alternative.
DettagliMatlab: Variabili e Array. Informatica B
Matlab: Variabili e Array Informatica B Array e variabili L unità fondamentale di dati in MATLAB è l array Una variabile in MATLAB è una regione di memoria che contiene un array Ha un nome definito dall
DettagliAlgoritmi stabili e instabili
Algoritmi stabili e instabili Laboratorio di Calcolo Numerico 13 Marzo 2018 Vettori in MATLAB Finora abbiamo pensato alle variabili utilizzate come semplici valori numerici (variabili scalari). In realtà,
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
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
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 ()
DettagliInformatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane
Operatori in Java Operatori in Java Corso di laurea in Informatica Operatori aritmetici Operatori di uguaglianza e relazionali Operatori logici in espressioni booleane La precedenza degli operatori L associatività
DettagliPHP Lezione 4. Istruzione condizionale IF. Sintassi IF: if (condizione) { istruzioni; }
Università degli Studi di Milano Dipartimento di Informatica e Comunicazione Corso di Laurea in Scienze e Tecnologie della Comunicazione Musicale Informatica Generale - Prof. Luca A. Ludovico PHP Lezione
DettagliFONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio
FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio Fondamenti di Informatica a.a. 15/16- A. Accattatis 2 Dimensioni (Size) di vettori e matrici Problema:
DettagliUNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi
DettagliStrutture di Controllo in Matlab
Strutture di Controllo in Matlab Informatica (ICA) AA 2015 / 2016 Giacomo Boracchi 16 Ottobre 2015 giacomo.boracchi@polimi.it Matlab: Costrutto Condizionale Istruzioni composta: if, switch Costrutto Condizionale:
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea
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
DettagliMatlab: introduzione
Matlab: introduzione Daniele Loiacono, Vittorio Zaccaria Informatica B - Codice Corso: 081369 - A.A. 2010/2011 INGEGNERIA MECCANICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione S - Z INGEGNERIA ENERGETICA
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
DettagliStrutture di Controllo
Strutture di Controllo Fondamenti di Informatica Effettuare una scelta in un programma Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c",
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliEsercitazione 00 Introduzione a Matlab
1 Esercitazione 00 Introduzione a Matlab Corso di Strumentazione e Controllo di Impianti Chimici Prof. Davide Manca Tutor: Giuseppe Pesenti PSE-Lab 2 Tutor: Giuseppe Pesenti giuseppe.pesenti@polimi.it
DettagliIntroduzione al C. Proprietà degli elementi di un insieme. Claudio Ciccotelli
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Proprietà degli elementi di un insieme Claudio Ciccotelli Insiemi Un insieme è una collezione
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:)
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliTipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:
Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere
DettagliEspressioni booleane. Esempio: temperatura <= 0 velocita > velocita max
Espressioni booleane Espressioni booleane il linguaggio deve consentire di descrivere espressioni booleane cioé espressioni che ritornino come risultato valori di verit : vero o falso (guardie di condizionali
DettagliCorso di Laboratorio di Sistemi Operativi
Corso di Laboratorio di Sistemi Operativi Lezione 4 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Approfondimento su make http://http://capone.mtsu.edu/csdept/facilitiesandresources/make.htm
DettagliIntroduzione a Matlab
Introduzione a Matlab Informatica B Che cos è Matlab? q Matlab è uno strumento per il calcolo numerico q Facilita lo sviluppo di programmi che eseguono complesse elaborazioni di calcolo numerico grazie
DettagliUD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita
UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m
DettagliProgrammazione in Python. Moreno Marzolla
Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative
DettagliLaboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione
Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione Claudia Zoccarato E-mail: claudia.zoccarato@unipd.it Dispense: Moodle Dipartimento ICEA 22 Marzo 2017 Vettori in
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
DettagliFondamenti di Programmazione. Strutture di controllo
Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due
DettagliIntroduzione al MATLAB c Parte 3 Script e function
Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 M-file di tipo Script e Function Script Function 2 Gestione
DettagliStrutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.
Consideriamo l esercizio assegnato la scorsa lezione per rappresentare il libretto di uno studente. Per memorizzare i dati si sono utilizzati tre array: char* nomiesami[max ESAMI] Array dei nomi degli
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
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
DettagliIstruzioni di selezione in Java 1
Ordine di esecuzione Istruzioni di selezione in Java Corso di laurea in Comunicazione digitale Nei metodi l ordine di esecuzione delle istruzioni è sequenziale se non specificato altrimenti Alcune istruzioni
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
Dettagli>> A = [1 2 3; 4 5 6; 7 8 9]; >> A
Creazione di matrici Delimititatore di riga Delimititatore di matrice >> A = [1 2 3; 4 5 6; 7 8 9]; >> A = [... 1 2 3 4 5 6 7 8 9 ]; Entrambi i comandi creano la stessa matrice 3x3 Accedere agli elementi
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliI costrutti del C. Strutture condizionali Strutture iterative Introduzione alle funzioni
I costrutti del C Strutture condizionali Strutture iterative Introduzione alle funzioni 1 Le Strutture del C Condizionali if-else (else if) switch Iterative while for do while break and continue 2 Il costrutto
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
Dettagli2 Operatori matematici e costrutto if
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni
DettagliI cicli. Iterazioni Calcolo della media Istruzioni break e continue
I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione
DettagliOCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
DettagliIstruzioni condizionali di diramazione in Fortran 90
Istruzioni condizionali di diramazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Istruzioni di diramazione DIS - Dipartimento
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
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliVBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
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
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 / 34 Ringraziamenti prof. Mirko Viroli, Università
DettagliIntroduzione al MATLAB c Parte 3 Script e function
Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell
Dettagli