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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

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

Matlab: Strutture di Controllo. Informatica B

Matlab: 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

Dettagli

MATLAB 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 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

Dettagli

Matlab: Logicals e Strutture di Controllo

Matlab: Logicals e Strutture di Controllo Matlab: Logicals e Strutture di Controllo Informatica B AA 15/16 Giacomo Boracchi 2 Dicembre 2015 [email protected] Tipo di Dato Logico - e operazioni su vettori Tipo di Dato Logico È un tipo

Dettagli

Operatori Relazionali in MATLAB. Logica e relazioni

Operatori 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

Dettagli

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

Cicli. 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

Dettagli

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

Algebra 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

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è 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?

Dettagli

MATLAB Elementi di grafica Costrutti di programmazione

MATLAB 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

Dettagli

Rappresentazione degli algoritmi

Rappresentazione 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

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Scilab. 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 [email protected] Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione

Dettagli

Introduzione a Matlab

Introduzione 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

Dettagli

Linguaggio C Espressioni e operatori

Linguaggio 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

Dettagli

Matlab: Variabili e Array. Informatica B

Matlab: 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

Dettagli

Algoritmi stabili e instabili

Algoritmi 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à,

Dettagli

Qualsiasi programma in C++ segue lo schema:

Qualsiasi 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

Dettagli

FONDAMENTI 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 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:

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ 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

Dettagli

Strutture di Controllo in Matlab

Strutture di Controllo in Matlab Strutture di Controllo in Matlab Informatica (ICA) AA 2015 / 2016 Giacomo Boracchi 16 Ottobre 2015 [email protected] Matlab: Costrutto Condizionale Istruzioni composta: if, switch Costrutto Condizionale:

Dettagli

9 - 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 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

Dettagli

Matlab: introduzione

Matlab: 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

Dettagli

Le basi del linguaggio Java

Le 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

Dettagli

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

UD4 - 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

Dettagli

Programmazione in Python. Moreno Marzolla

Programmazione 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

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione

Laboratorio 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: [email protected] Dispense: Moodle Dipartimento ICEA 22 Marzo 2017 Vettori in

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: 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

Dettagli

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

Programma 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

Dettagli

2 Operatori matematici e costrutto if

2 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

Dettagli

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

I 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

Dettagli

C: panoramica. Violetta Lonati

C: 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

Dettagli

VBA Principali Comandi

VBA Principali Comandi VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,

Dettagli

Fondamenti di Informatica

Fondamenti 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

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione 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