Input/Output (I/O) Le operazioni di I/O sono quelle che realizzano la comunicazione fra il computer e il mondo esterno Input: i dati vengono inseriti dall‟esterno (ad es. con la tastiera) nella memoria (centrale) del computer Output: i dati presenti in memoria centrale vengono mostrati all‟esterno (ad es. su un monitor) MATLAB Lab. Informatica - MATLAB Input/Output elementare 2 Input/Output elementare Input: Quando si richiede un dato da tastiera è bene aggiungere un messaggio che specifica cosa il programma “si aspetta” Output: Anche quando si effettua un‟operazione di output può essere necessario aggiungere un messaggio che specifica il significato del dato che deve essere stampato a = input(‘Inserisci un numero ‘) disp(‘Il numero inserito è: ‘), disp(a) assegna alla variabile a il valore che viene inserito tramite tastiera mostra in una riga il messaggio e nella riga sottostante il valore della variabile a NB la stringa è bene che termini con uno spazio poiché il dato inserito da tastiera viene visualizzato immediatamente dopo di essa. Lab. Informatica - MATLAB NB alla fine di ogni comando disp(x) viene automaticamente generato un „a capo‟ 3 Lab. Informatica - MATLAB 4 1 Esempio Funzioni aritmetiche predefinite a=input(‘Inserisci i valori della matrice ‘) Inserisci i valori della matrice [1 2 3; 4 5 6] NB Sono definite tutte per operare elemento per elemento Operatore 1 4 2 5 MATLAB Parte intera superiore di a Esponenziale di a Parte intera inferiore di a Logaritmo di a a = 3 6 Arrotondamento di a Segno di a Radice quadrata di a disp(‘a(1,2) vale ‘), disp(a(1,2)) a(1,2) vale 2 5 Lab. Informatica - MATLAB Funzioni aritmetiche predefinite Operatore MATLAB Resto divisione intera a/b Somma elementi kma col. di a Somma elementi del vettore b Prodotto elementi kma col. di a Prodotto elementi del vettore b Max. elem. di ogni colonna di a Max. elemento di un vettore b Min. elem. di ogni colonna di a Min. elemento di un vettore b mod(a,b) sum(a,k) sum(b) prod(a,k) prod(b) max(a) max(b) min(a) min(b) Lab. Informatica - MATLAB ceil(a) exp(a) floor(a) log(a),log2(a) log10(a) round(a) sign(a) sqrt(a) Lab. Informatica - MATLAB 6 Direttiva If-Then-Else Sì O1 C No O2 if (condizione C) istruzioni O1 else istruzioni O2 end If - Then - Else 7 Lab. Informatica - MATLAB 8 2 Esempio Interruzione di riga a=input(‘Inserisci un numero: ‘); if (mod(a,2)==0) disp(‘a è pari‘); else disp(‘a è dispari‘); end; E‟ possibile scrivere una serie di istruzioni su più righe senza mandarle in esecuzione terminando la riga con i caratteri … In questo caso tutte le istruzioni eccetto l‟ultima DEVONO terminare con ; a=input(‘inserisci un numero ‘); … Esempio di esecuzione b=input(‘inserisci un altro numero: ‘); Inserisci un numero: 7 a è dispari inserisci un numero: 5 inserisci un altro numero: 2 Lab. Informatica - MATLAB 9 Lab. Informatica - MATLAB 10 Esercizi • • • • Scrivere un programma che chiede l‟inserimento di due numeri da tastiera e stampa il più grande fra i due Disegnando prima il diagramma di flusso, scrivere un programma che stabilisce se, dati due numeri a e b, a è maggiore, uguale o minore di b Scrivere l‟istruzione per stampare il massimo elemento contenuto in una matrice bidimensionale Scrivere un programma che confronta la massima somma per righe con la massima somma per colonne Lab. Informatica - MATLAB 11 3