FONDAMENTI DI INFORMATICA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "FONDAMENTI DI INFORMATICA"

Transcript

1 FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis Tutor: Prof. Venturino Taggi

2 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 2 Argomenti di oggi Si parlerà di: Tecniche di debug Stringhe ed operazioni su stringhe

3 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 3 Eliminazione degli errori Ogni errore in un programma è chiamato Bug Il processo di trovare gli errori e relativa (eventuale) correzione si chiama Debugging Tipi di errori (errori di sintassi) syntax errors (errori in esecuzione) runtime errors (errori logici) logical errors Da aggiungere Warning (avvertimenti) tipicamente in compilazione

4 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 4 Perché bug? Tenente Grace Hopper 9 settembre 1947 Mark II Circuiti elettromeccanici Falena incastrata «1545. Relay #70 Panel F (moth) in relay. First actual case of bug being found»

5 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 5

6 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 6 Syntax errors Sostanzialmente (e riduttivamente): uso errato del linguaggio. Per esempio: >> mystr='how are you; mystr='how are you; Error: A MATLAB string constant is not terminated properly. >> value=5 value = 5 >> newvalue = valu + 3 Undefined function or variable 'valu'. Did you mean: >> newvalue = value + 3

7 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 7 Syntax errors ed editor matlab Sintassi errata Sintassi corretta Errore non evidenziato

8 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 8 Syntax error La variabile c usata PRIMA della definizione (non inizializzata) Argomento d ingresso non usato Per comprendere la natura dell errore e/o warning si dovrebbe andare con il cursore sulla variabile evidenziata dall editor

9 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 9 Runtime/execution errors Gli errori vengono trovati durante l esecuzione, e.g. Divisione per ZERO Tentativo di riferirsi ad un elemento del vettore che non esiste >> a=1:3; >> b=4:5; >> a*b Error using * Inner matrix dimensions must agree.

10 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 10 Errori logici (Logical errors) Sono i più difficili da individuare Un errore logico è un errore di ragionamento del programmatore: il codice in se può essere formalmente e sintatticamente corretto Per testare il corretto funzionamento del codice si dovrebbe: Definire un set di uses case (differenti combinazioni di valori d ingresso) il più possibile rappresentativi della realtà simulata. =>Controllare la correttezza della risposta/soluzione

11 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 11 Tracing (tracciamento errore) Come controllare esattamente quali righe sono state eseguite? Consideriamo il seguente esempio?

12 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 12 Funzione echo >> help echo echo Display statements during function execution. echo ON turns on echoing of commands inside Scriptfiles. echo OFF turns off echoing. echo file ON where 'file' is a function name causes the named Function-file to be echoed when it is used. echo file OFF turns it off. echo file toggles it. echo ON ALL turns on the echoing of commands inside any Function-files that are currently in memory (i.e., the functions returned by INMEM). echo OFF ALL turns them all off....

13 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 13 Esempio Non particolarmente utile!!!!

14 Ispezione del codice in tempo reale: moderni interpreti/compilatori Possibilità di mettere breakpoint nel codice e successivamente è possibile: Eseguire il codice passo-passo interrogare le variabili del workspace locale Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 14 3<x ritorna 0(false) perchè x=-2 (3<x = 0) <6 è true perchè 0 < 6 sempre Anche se x=4 abbiamo 3<x = 1 < 6 è sempre true.

15 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 15 Definire i breakpoint Si può fare con il mouse nella finestra di editor Oppure da linea di comando (slide successiva) Puntare il cursore del mouse sul trattino e cliccare

16 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 16 Definire i breakpoint Da linea di comando

17 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 17 Procedere con l esecuzione Da linea di comando: dbstep : procede un passo alla volta dbcont : continua l esecuzione F11 abbreviazione per dbstep

18 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 18 Procedere con l esecuzione >> SyntaxError(2,3) 4 c = 0; K>> dbstep 5 c = c + a; K>> dbstep 6 c = c*2; K>> dbstep 7 c = c/2; K>> dbcont 5 >>

19 STRINGHE Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 19

20 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 20 Manipolazione di stringhe Stringa: qualsiasi sequenza di caratteri delimitata da virgolette singole Le stringhe sono sostanzialmente vettori le cui singole componenti sono caratteri Infatti le operazioni definite sui vettori lavorano quasi tutte anche con le stringhe Esempi: Stringhe: x cat Hello there 123 Sottostringhe (Substrings): there è una sottostringa di Hello there

21 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 21 Tipi di caratteri Una stringa può contenere Lettere Numeri Segni di punteggiatura Spazi bianchi Caratteri di controllo I Caratteri di controllo non sono stampabili ma fanno qualcosa (e.g. tab, new line, cr)

22 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 22 Come creare variabili stringhe

23 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 23 Stringhe come Vettori >> length(word) 3 >> length('cat ) 3 >> length(' ) 1 >> length(' ) 0 >> mystr='hi mystr = Hi >> mystr(1) H >> mystr H i >> sent = 'Hello there sent = Hello there >> sent(4:8) lo th

24 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 24 Matrici di Stringhe >> wordmat=[ 'Hello'; 'Howdy ] wordmat = Hello Howdy >> size( wordmat ) 2 5 >> wordmat( 2, 4 ) d >> wordmat( 1, : ) Hello >> >> greetmat = ['Hello'; 'Goodbye'] Error using vertcat Dimensions of matrices being concatenated are not consistent. >> greetmat = ['Hello '; 'Goodbye ] greetmat = Hello Goodbye

25 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 25 Operazioni sulle stringhe Concatenazione Creazione di stringhe personalizzate Rimozione spazi Conversione minuscole/maiuscole e viceversa Confronti Ricerca

26 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 26 Concatenazione >> f='bird ; >> l='house ; >> [f l] birdhouse >> strcat(f,l) birdhouse strcat e [ ] NON hanno lo stesso comportamento >> s1='xxx ; >> length(s1) 6 >> s2=' yyy'; >> length(s2) 6 >> [s1 s2] xxx yyy >> length(ans) 12 >> strcat(s1,s2) xxx yyy >> length(ans) 9 >> strcat(s2,s1) yyyxxx >> length(ans) 9 Rimuove gli spazi bianchi

27 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 27 Concatenazione(cont d) Char >> clear greatmat >> greatmat=char('hello','goodby'); >> greatmat greatmat = Hello Goodby >> size(greatmat) 2 6 La taglia della matrice dipende dalla stringa più grande tra quelle concatenate

28 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 28 Creazione di stringhe di caratteri blanks Aggiungere spazi bianchi alla fine di una stringa può tornare utile per concatenare righe blanks() >> bs4=blanks(4); >> size(bs4) 1 4 >>tx=[ Yes We can ; I did, bs4] Potrebbe esserci utile anche il processo inverso, ossia la rimozione

29 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 29 Rimozione spazi bianchi >> names=char('sue','cathy','xavier'); >> size(names) 3 6 >> n1=names(1,:) n1 = Sue >> length(n1) 6 >> deblank(n1) Sue >> length(ans) 3 Come implementare il deblank usando un for loop?

30 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 30 mydeblank function [ s1 ] = mydeblank( s ) %Elimina gli spazi bianchi dalla fine della stringa %Stringa in s1 n=length(s); if(size(n,1)==1 size(n,2)==1) for i=1:n if s(i)~=' ' s1(i)=s(i); else break; end end else s1=s; disp( Impossibile rimuovere spazi bianchi'); end end

31 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 31 Errore? Complimenti, n era un errore!!

32 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 32 Homework La funzione appena definita mydeblank non funziona se gli spazi bianchi sono contenuti prima della fine della stringa.esempio: mydeblank( this string is tricky ) Ritornerà this invece di this string is tricky Fatelo voi!

33 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 33 Creare stringhe personalizzate (formattate) sprintf >> s2=sprintf( il valore è %.2f',pi) s2 = Il valore è 3.14 Con sprintf è possibile creare stringhe sulla base dei valori delle variabili e salvare il tutto ancora in una variabile.. Consultate l help di Matlab per ulteriori dettagli

34 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 34 Operazioni sulle stringhe. Punto della situazione Concatenazione Creazione di stringhe personalizzate Rimozione spazi bianchi Conversione maiuscole/minuscole e viceversa Confronto di stringhe Ricerca stringhe

35 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 35 Conversione maiuscole/minuscole e viceversa >> s1='hello s1 = Hello >> s=upper(s1) s = HELLO >> s3=lower(s) s3 = hello

36 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 36 Confronto di stringhe >>s1= Hello ; >>s2= Hillo ; >> s1==s >> sum(s1==s2)==length(s1) 0 >> s2(2)='e s2 = Hello >> sum(s1==s2)==length(s1) 1 >> Se s1 è uguale ad s2 la variabile ans ritorna un vettore riempito di 1. Perciò, la somma degli elementi del vettore sarà uguale alla lunghezza del vettore Altrimenti i due vettori sono differenti

37 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 37 Confronto di stringhe (cont d) >> strcmp(s1,s2) 1 >> strcmp(s2,s1) 1 >> s1=[s1 '3456 ] s1 = Hello3456 >> strcmp(s1,s2) %è sensibile alla lunghezza 0

38 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 38 Homework Scrivere una function che si comporta come strcmp. Dall help di Matlab si evince che: strcmp Compare strings. TF = strcmp(s1,s2) compares the strings S1 and S2 and returns logical 1 (true) if they are identical, and returns logical 0 (false) otherwise. La funzione prevede la gestione di stringhe di taglia differente.

39 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 39 Ricerca stringhe >> s1='this is a string for test'; >> strfind(s1,'s') >> strfind(s1,'for') La funzione ritorna la posizione del carattere, ossia la posizione in s1 del carattere s oppure la posizione iniziale della sottostringa d ingresso 18

40 Fondamenti di Informatica a.a. 2016/17 - A.Accattatis 40 Homework Scrivere una funzione che si comporti come strfind

41 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Algoritmi di ordinamento I procedimenti di ordinamento dei dati rientrano nell insieme dei problemi classici dell informatica. PROBLEMA Partendo da una sequenza di elementi omogenei è necessario ordinarli secondo un criterio prestabilito, p.e. ordine crescente. ALGORITMO RISULTATO Si costruisce un permutazione della sequenza originaria tale che gli elementi costituenti soddisfano il criterio di ordine.

42 Algoritmi di ordinamento (2) Le caratteristiche basilari di un generico algoritmo di ordinamento: Procedimento iterativo Attività principali: Fondamenti di Informatica a.a. 2016/17- A.Accattatis Ripetizione (es. ciclo) Criterio di ordinamento (es. confronto)

43 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Ordinamento Fonte:

44 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Algoritmi di ordinamento (3) Analizziamo i seguenti algoritmi elementari su sequenze numeriche da ordinare in modo ascendente: Ordinamento per selezione (Selection Sort) ad ogni iterazione i si seleziona l elemento più piccolo che viene spostato nella posizione i-esima. Ordinamento ad inserimento (Insertion Sort) Considerando di avere già ordinato una porzione della sequenza da 1 a k, allora alla iterazione k+1 si inserisce l elemento della porzione non ordinata nella posizione corretta. Bubble sort Viene effettuato il confronto tra elementi adiacenti: la relativa coppia viene ordinata

45 Ordinamento per selezione Data la sequenza di numeri di lunghezza n, si assume che questa sia stata parzialmente ordinata, in ordine crescente, fino all elemento k-1. La sotto-sequenza da k a n è da ordinare. [ ] i = Trovare il minimo tra gli elementi della sottosequenza non ordinata (con i da k a n) 2. Sostituire l elemento in posizione k con il minimo trovato 3. Incrementare k 4. Se k < n ripetere dal passo 1 5. Fine Fondamenti di Informatica a.a. 2016/17- A.Accattatis

46 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Ordinamento per selezione (2) I. k = 4 II. k = 5 III.k = 6 IV. k = 7 [ ] [ ] [ ] [ ] [ ] [ ] Fine: sequenza ordinata

47 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Selection Sort Fonte:

48 Ordinamento per selezione (3) function v = SelectionSort( v ) %Ordina il vettore v con l algoritmo per selezione %INPUT: vettore di numeri %OUTPUT: vettore di numeri in ordine ascendente for k = 1 : (length(v) - 1) indicemin = k; %inizializzazione della posizione del minimo for j = (k + 1) : length(v) %trova il minimo tra gli n-k elementi non ordinati if v(j) < v(indicemin) indicemin = j; %posizione dell elemento di valore minimo end end temp = v(indicemin); % scambia la posizione del minimo v(indicemin) = v(k); v(k) = temp; end end Fondamenti di Informatica a.a. 2016/17- A.Accattatis

49 Ordinamento ad inserimento Data la sequenza di numeri di lunghezza n, si assume che questa sia stata parzialmente ordinata, in ordine crescente, fino all elemento k-1. La sotto-sequenza da k a n è da ordinare. [ ] i = Considerato l elemento k, individuare la sua posizione p con 1 < p < (k-1) 2. Se p < k inserire l elemento nella posizione p e spostare gli altri 3. Incrementare k 4. Se k <= n ripetere dal passo 1 5. Fine Fondamenti di Informatica a.a. 2016/17- A.Accattatis

50 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Ordinamento ad inserimento (2) I. k = 5 II. k = 6 III.k = 7 IV. k > 7 [ ] [ ] [ ] [ ] [ ] [ ] Fine: sequenza ordinata

51 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Insertion Sort Fonte :

52 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Ordinamento ad inserimento (3) function v = InsertionSort( v ) %Ordina gli elementi di un vettore con l algoritmo ad inserimento %INPUT: vettore di numeri %OUTPUT: vettore di numeri in ordine ascendente for k = 2:length(v) x = v(k); % elemento da posizionare for j = 1:k % in questo ciclo cerca la posizione if v(j) > x break; % il ciclo viene interrotto: posizione trovata! end end if j < k % è necessario spostare gli elementi for i = (k-1) : -1 : j v(i+1) = v(i); end v(j) = x; end end

53 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Bubble sort Data la sequenza di numeri di lunghezza n, si confrontano due elementi contigui e quello minore viene posizionato prima. Se avviene uno scambio, questo evento viene registrato in una variabile boolena (p.e. scambio=true) 1. Considerata la coppia di elementi in posizione (k, k+1), ne vengono confrontati i valori 2. Se il valore in k+1 è minore del valore in k le posizioni vengono scambiate e scambio=true 3. Se lo scambio è avvenuto incrementare k, ripristinare scambio=false, ripetere dal passo 1 4. Fine

54 Bubble sort (2) Fondamenti di Informatica a.a. 2016/17- A.Accattatis (1) (2) (3) (4) (5)

55 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Bubble sort Fonte:

56 Bubble sort (3) function v = BubbleSort( v ) %Ordina gli elementi di un vettore utilizzando l algoritmo BubbleSort %INPUT: vettore di numeri v %OUTPUT: vettore di numeri in ordine ascendente for i = 1 : (length(v)-1) scambio = false; for j = 2 : (length(v)-(i-1)) if v(j-1) > v(j) %gli elementi non sono ordinati allora scambiali temp = v(j); v(j) = v(j-1); v(j-1) = temp; scambio = true; end end if ~scambio % se non ci sono stati scambi allora il vettore è ordinato end end end break; Fondamenti di Informatica a.a. 2016/17- A.Accattatis % quindi interrompi il ciclo

57 Fondamenti di Informatica a.a. 2016/17- A.Accattatis Esercizi 1. Progettare ed implementare una funzione di ordinamento decrescente che utilizzi l algoritmo dell inserimento ad inserimento opportunamente modificato. 2. Adattare l algoritmo di ordinamento Bubble Sort sostituendo il costrutto for con while. 3. Modificare le funzioni di ordinamento presentate per calcolare il numero totale di iterazioni e il numero di spostamenti per ciascun algoritmo. Considerare come variano queste due quantità per ciascun algoritmo nelle seguenti situazioni: 1. caso migliore (sequenza già ordinata), 2. caso peggiore (sequenza con ordine inverso), 3. caso tipico. Si possono trarre delle conclusioni?

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis accattatis@ing.uniroma2.it Fondamenti di Informatica a.a. 2015/16 - A.Accattatis 2 Argomenti di oggi Si parlerà di: Tecniche di debug(capitolo 6, par.

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis accattatis@ing.uniroma2.it Tutor: Prof. Venturino Taggi taggi@ing.uniroma2.it Fondamenti di Informatica - A.Accattatis 2 Argomenti di oggi Si parlerà

Dettagli

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis ( ) Tutor : prof. Marcello Colella (

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis ( ) Tutor : prof. Marcello Colella ( FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis ( accattatis@ing.uniroma2.it ) Tutor : prof. Marcello Colella ( mcolella.uniroma2@outlook.it ) STRINGHE Fondamenti di Informatica - A.Accattatis 2 Fondamenti

Dettagli

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Prof. Venturino Taggi

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Prof. Venturino Taggi FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis Prof. Venturino Taggi accattatis@ing.uniroma2.it taggi@ing.uniroma2.it 2 Fondamenti di Informatica 2015/16 V.Taggi taggi@ing.uniroma2.it Algoritmi di

Dettagli

UNIVERSITA DEGLI STUDI DI ROMA TOR VERGATA

UNIVERSITA DEGLI STUDI DI ROMA TOR VERGATA UNIVERSITA DEGLI STUDI DI ROMA TOR VERGATA Dipartimento di Ingegneria Industriale Corso di studio in Ingegneria Meccanica/Energetica Esame di Fondamenti di Informatica sessione estiva appello I A.A. 2015/16

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA ESERCITAZIONI Prof. Alfredo Accattatis ( accattatis@ing.uniroma2.it ) Tutor: prof. Marcello Colella ( mcolella.uniroma2@outlook.it ) Fondamenti di Informatica - A.Accattatis -

Dettagli

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6 1 Indice Capitolo 1... 7 Introduzione al Problem Solving... 7 Computer... 11 Informatica... 13 Capitolo 2... 17 Rappresentazione e Algoritmi... 17 Un esempio di algoritmo... 19 Diagrammi di flusso... 22

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Sorting Algorithms Prof. Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Sorting algorithms n selection sort n Insertion sort incremental algorithms progressively ext a

Dettagli

Università degli Studi di Ferrara

Università 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

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

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio Appunti di informatica Lezione 10 anno accademico 2016-2017 Mario Verdicchio Esercizio Scrivere un programma che, data una sequenza di 10 interi (scelta dall utente), la ordini in ordine crescente Soluzione

Dettagli

Esercitazioni di Fondamenti Informatica - Modulo A 1

Esercitazioni di Fondamenti Informatica - Modulo A 1 Esercitazioni di Fondamenti Informatica - Modulo A 1 Raccolta requisiti Progettazione Implementazione Errori Sintattici Errori Semantici CICLO DI VITA DEL SOFTWARE Debug Test Trasferimento Assistenza Ammodernamento

Dettagli

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati Capitolo 4 Ordinamento: Selection e Insertion Sort Ordinamento Dato un insieme S di n elementi presi da un dominio totalmente ordinato, ordinare S in ordine non crescente o non

Dettagli

Errori di programmazione Università degli Studi di Milano

Errori di programmazione Università degli Studi di Milano Errori di programmazione Lo sviluppo di programmi è ovviamente soggetto ad errori da parte del programmatore. Gli errori sono generalmente di due tipi: Errori di sintassi (syntax errors): violazioni della

Dettagli

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE BIENNIO: SECONDA DISCIPLINA: INFORMATICA PIANO DI LAVORO DEL DOCENTE / RELAZIONE FINALE Anno scolastico 2014/2015 DOCENTE Prof. PAOLO ARMANI CLASSE:

Dettagli

Corso di Fondamenti di Informatica

Corso 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

Dettagli

Errori di programmazione

Errori di programmazione Errori di programmazione Lo sviluppo di programmi è ovviamente soggetto ad errori da parte del programmatore. Gli errori sono generalmente di due tipi: Errori di sintassi (syntax errors): violazioni della

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://www.ing.unibs.it/gastaldi/ Indice 1 M-file di tipo Script e Function Script Function 2 Gestione

Dettagli

Laboratorio di Informatica I

Laboratorio 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

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

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere

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

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

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

Introduzione al MATLAB c Parte 2

Introduzione 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

Dettagli

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi Informatica Generale Andrea Corradini 13 - Gli algoritmi e la risoluzione di problemi Sommario Passi per la risoluzione di problemi Problemi di ricerca e ordinamento Algoritmi iterativi: la ricerca lineare

Dettagli

8 Introduzione MATLAB

8 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

Dettagli

ESERCITAZIONE N.2 LINGUAGGIO C. In preparazione alla prova in Itinere

ESERCITAZIONE N.2 LINGUAGGIO C. In preparazione alla prova in Itinere ESERCITAZIONE N.2 LINGUAGGIO C In preparazione alla prova in Itinere ORDINARE UN ARRAY INVERTIRE IL VALORE DI DUE VARIABILI Le due operazioni di assegnamento non possono essere contemporanee (deve esserci

Dettagli

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

Silvia Rossi. Cenni sulla complessità. Informatica. Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Programmazione I Silvia Rossi Cenni sulla complessità 23 Lezione n. Parole chiave: Corso di Laurea: Informatica Insegnamento: Programmazione I Email Docente: srossi@na.infn.it A.A. 2009-2010 Abbiamo visto che dato un problema

Dettagli

Specifica, progetto e verifica della correttezza di algoritmi iterativi

Specifica, progetto e verifica della correttezza di algoritmi iterativi Specifica, progetto e verifica della correttezza di algoritmi iterativi Il metodo delle asserzioni Ragionamenti su di un algoritmo Ragionare sulla specifica di un algoritmo data con pre e post-condizioni

Dettagli

Esercizio: Linear Congruential Generator

Esercizio: Linear Congruential Generator Elementi di Informatica e Applicazioni Numeriche T Esercizio: Linear Congruential Generator Esercizio: Linear Congruential Generator Si consideri la successione (linear congruential generator): X n+1 =

Dettagli

Introduzione a MATLAB

Introduzione a MATLAB Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici Introduzione a MATLAB Dr. Carlo Petrarca Dipartimento di Ingegneria Elettrica Università di Napoli

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica (La Ricorsione e Debugging) Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2017/18 OUTLINE La ricorsione - Principi base Caso Studio

Dettagli

Programmare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo

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

Dettagli

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la

Dettagli

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A. 2018-2019 Programmazione Lezione 12A Esercizi in MATLAB Docente: Lorenzo Caruso lorenzo.caruso@unife.it Nelle lezioni precedenti Matlab:

Dettagli

I/O e strutture di controllo

I/O e strutture di controllo Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2009/2010 I/O e strutture di controllo La presente dispensa e da utilizzarsi

Dettagli

PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica

PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica I dati strutturati: gli array I vettori (o Array) Fino a ora abbiamo memorizzato le informazioni (valori)

Dettagli

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Introduzione 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

Dettagli

Lab 04 Programmazione Strutturata"

Lab 04 Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1 Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate

Dettagli

Mini-Corso di Informatica

Mini-Corso di Informatica Mini-Corso di Informatica CALCOLI DI PROCESSO DELL INGEGNERIA CHIMICA Ing. Sara Brambilla Tel. 3299 sara.brambilla@polimi.it Note sulle esercitazioni Durante le esercitazioni impareremo a implementare

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()

Dettagli

Disegnare nell intervallo [0, 1] con precisione 0.01 il grafico delle seguenti quattro funzioni

Disegnare nell intervallo [0, 1] con precisione 0.01 il grafico delle seguenti quattro funzioni 28 gennaio 2008 Nota: Creare all interno della cartella C:\\ Users una cartella in cui mettere tutti i file. Come nome della cartella usate il vostro cognome Trascinare l icona della cartella col vostro

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio accattatis@ing.uniroma2.it Esercizio (1) Dati due vettori V1 e V2 scrivere un algoritmo che permetta

Dettagli

Algoritmi di ordinamento

Algoritmi di ordinamento Capitolo 7 Algoritmi di ordinamento 7.1 Selection sort L algoritmo di ordinamento per selezione opera nel modo seguente: supponiamo che i primi k elementi siano ordinati; l algoritmo sceglie il minimo

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono

Dettagli

Introduzione all ambiente MATLAB. Richiami II. Analisi Numerica - A.A. 2007/08

Introduzione 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

Dettagli

Il primo programma C++

Il 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

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Esercizi di debug Lab07 27 Marzo 2018 Outline Correzione esercizi per oggi Debug Strategia Esercizi di debug Esercizi per casa Outline Correzione esercizi per oggi Debug Strategia

Dettagli

Esercizi su array di array

Esercizi su array di array Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E10 C. Limongelli Gennaio 2010 1 Contenuti Fusione di due array ordinati, con eliminazione di duplicati Verifica array bidimensionale

Dettagli

ALGORITMI DI ORDINAMENTO E RICERCA BINARIA. Docente: Giorgio Giacinto AA 2008/2009. problema dell ordinamento in modi diversi

ALGORITMI DI ORDINAMENTO E RICERCA BINARIA. Docente: Giorgio Giacinto AA 2008/2009. problema dell ordinamento in modi diversi 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

Dettagli

Laboratorio di Matlab

Laboratorio di Matlab Laboratorio di Matlab Alessandro Formaglio Dipartimento di Ingegneria dell Informazione, Università di Siena alex@dii.unisi.it http://www.dii.unisi.it/ control/matlab/labmatlab.html 9 Luglio 2009 DII -

Dettagli

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E04 Esercizi sui problemi di ordinamento C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Algoritmi di Ordinamento

Dettagli

8 Introduzione MATLAB

8 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

Dettagli

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

Dettagli

Esercitazioni di Fondamenti Informatica - Modulo A 1

Esercitazioni di Fondamenti Informatica - Modulo A 1 Esercitazioni di Fondamenti Informatica - Modulo A 1 Da MSDN: The while statement executes a statement or a block of statements until a specified expression evaluates to false while ( expression ) statement

Dettagli

Esercizio 1" input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2

Esercizio 1 input tre numeri interi e stampi a video la loro somma e la media. n Realizzare un programma che legga da. Lab03 2 Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 03 Istruzioni" Lab03 1 Esercizio

Dettagli

Costrutti condizionali e iterativi

Costrutti 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

Dettagli

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

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 2 Dott. Michele Zanella Ing. Gian Enrico Conti INFORMATICA A Titolo presentazione sottotitolo A.A. 2018-19 Milano, XX mese 20XX Laboratorio n 2 Dott. Michele Zanella Ing. Gian Enrico Conti Info Logistiche Contatti: michele.zanella@polimi.it (Squadra

Dettagli

Debug di un programma

Debug di un programma Debug di un programma Col termine Debug si intende una fase di sviluppo del software, nella quale si cerca di eliminare gli errori dal programma Due tipi di errori: Errori sintattici, rilevati sempre dal

Dettagli

Laboratorio di Informatica I

Laboratorio 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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Algoritmi di ordinamento Gli ordinamenti interni sono fatti su sequenze in memoria centrale Fondamenti di Informatica 18. Algoritmi di ordinamento in C++ Gli ordinamenti esterni sono fatti su sequenze

Dettagli

Strutture di controllo condizionali in Matlab

Strutture 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

Dettagli

Ordinare un vettore significa ridisporre i suoi elementi in modo tale che siano ordinati tra di loro (l ordinamento più comune è per valore crescente)

Ordinare un vettore significa ridisporre i suoi elementi in modo tale che siano ordinati tra di loro (l ordinamento più comune è per valore crescente) Ordinare un vettore significa ridisporre i suoi elementi in modo tale che siano ordinati tra di loro (l ordinamento più comune è per valore crescente) 5 33 23 17 6 9 81 3 i j Confronto a due a due tutte

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 6: Eclipse

Fondamenti di informatica T-1 (A K) Esercitazione 6: Eclipse Fondamenti di informatica T-1 (A K) Esercitazione 6: Eclipse AA 2018/2019 Tutor lorenzo.rosa@unibo.it 2 Esercitazione 6 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso Eclipse

Dettagli

Fondamenti di Informatica A. A. 2018/19

Fondamenti 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

Dettagli

Università degli Studi di Ferrara

Università degli Studi di Ferrara Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018-2019 Programmazione Lezione 5 Controllo di Flusso Docente: Michele Ferrari - michele.ferrari@unife.it Informazioni Inizio tutorato

Dettagli

Assegnazione di una variabile

Assegnazione 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

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 scanf: STRINGA DI FORMATO

Dettagli

Metodi numerici con elementi di Programmazione A.A

Metodi numerici con elementi di Programmazione A.A Metodi numerici con elementi di Programmazione A.A. 2013-2014 Introduzione al MatLab VI parte 1 Docente: Vittoria Bruni Email: vittoria.bruni@sbai.uniroma1.it Ufficio: Via A. Scarpa, Pal. B, I piano, Stanza

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

RICONOSCIMENTO DI FORME A.A OBIETTIVI PARTE 1 INTRODUZIONE A MATLAB

RICONOSCIMENTO DI FORME A.A OBIETTIVI PARTE 1 INTRODUZIONE A MATLAB RICONOSCIMENTO DI FORME A.A. 2006-2007 PARTE 1 OBIETTIVI Implementare semplici algoritmi di Pattern Recognition utilizzando l ambiente Matlab Svolgere esperimenti di classificazione utilizzando gli algoritmi

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti 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

Dettagli

Strutture di Controllo

Strutture 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

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 17 A. Miola Gennaio 2012 1 Contenuti q Array paralleli q Array e oggetti q Ricerca sequenziale q Ricerca binaria q Fusione di sequenze

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

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1 Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)

Dettagli

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio Appunti di informatica Lezione 8 anno accademico 2016-2017 Mario Verdicchio Il ciclo FOR Molto spesso in un programma bisogna ripetere un operazione per un numero prefissato di volte Si tratta di un iterazione

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni 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

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 15 Algoritmi su array: selection sort, insertion sort, fusione

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

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

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio 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

Dettagli

Introduzione a MATLAB

Introduzione a MATLAB Introduzione a MATLAB Laboratorio 1 Segnali per le Telecomunicazioni Prof. Prati Claudio Maria Autore: Federico Borra Politecnico di Milano, DEIB Email: federico.borra@polimi.it Marzo 17, Ultima revisione:

Dettagli

Costrutti condizionali e iterativi

Costrutti 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

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio accattatis@ing.uniroma2.it Fondamenti di Informatica a.a. 2015/16 - A. Accattatis 2 In questa lezione:

Dettagli

Corso di Laboratorio di Sistemi Operativi

Corso 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

Dettagli

Corso di Laurea Ingegneria Informatica. Dispensa E11. Esercizi su array e. Gennaio 2012

Corso di Laurea Ingegneria Informatica. Dispensa E11. Esercizi su array e. Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E11 Esercizi su array e array di array C. Limongelli Gennaio 2012 1 Contenuti Fusione di due array ordinati, con eliminazione di

Dettagli

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

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 6 Dott. Michele Zanella Ing. Gian Enrico Conti INFORMATICA A Titolo presentazione sottotitolo A.A. 2018-19 Milano, XX mese 20XX Laboratorio n 6 Dott. Michele Zanella Ing. Gian Enrico Conti Ricorsione La ricorsione è un approccio per la risoluzione

Dettagli