Scheda insegnamento
Laboratorio di programmazione e calcolo
anno accademico: | 2013/2014 |
docente: | Stefano Finzi Vita |
corso di laurea: | Matematica - DM 270/04 (triennale), I anno |
tipo di attività formativa: | affine e integrativa |
crediti formativi: | 9 (72 ore di lezione) |
raggruppamento disciplinare: | MAT/08 Analisi numerica |
lingua di insegnamento: | italiano |
canale: | I-Z |
periodo: | I sem (30/09/2013 - 17/01/2014) |
Aula ed orario di lezione
Frequenza: consigliata
Obiettivi del corso: L'obiettivo principale del corso è quello di avviare gli studenti ad un approccio costruttivo nella matematica anche attraverso l'uso dei personal computers. Da questo punto di vista, il corso è complementare agli altri corsi del primo anno nei quali è maggiormente enfatizzato l'approccio logico/deduttivo. La maggior parte del corso sarà dedicata alla soluzione di problemi, all'analisi degli algoritmi di base ed alla loro implementazione in C.
Programma di massima del corso:
Introduzione al linguaggio C++: tipi di variabili, conversione di tipo, variabili array, operatori logici (or, and, not), istruzioni di lettura e scrittura, istruzioni condizionali (if-else) e istruzioni di ciclo (for, while, do-while). Funzioni matematiche. Struttura di un programma C++. Funzioni. Passaggio delle variabili. Cenni all'uso dei puntatori.
Rappresentazione dei numeri interi e reali nel calcolatore. Propagazione degli errori nelle operazioni aritmetiche. Algoritmi stabili e algoritmi instabili:calcolo di pigreco. Calcolo del polinomio in un punto (algoritmo di Horner). Matrici, vettori e sistemi di equazioni lineari. Risoluzione numerica di sistemi di equazioni lineari: metodi di Gauss e di Jacobi. Uso della libreria grafica Gnuplot: grafico di una funzione. Metodi numerici per il calcolo degli zeri di una equazione non lineare: metodi della bisezione, di Newton e delle secanti. Uso della formula di Taylor per il calcolo di alcune funzioni matematiche. Interpolazione polinomiale. Metodi numerici per il calcolo di integrali definiti..
Programma completo del corso: Programma settimanale degli argomenti svolti a lezione (versione finale)
Testo consigliato: Dispense in rete fornite dai docenti
In alternativa al precedente puo' essere usato uno tra i seguenti:
- A.Quarteroni ,"Elementi di Calcolo Numerico",Progetto Leonardo ,1998
- J.F. Epperson, "Introduzione all'analisi numerica", McGraw-Hill, 2003
Dispense:
- Brevissima introduzione al C++ (M. Marfurt)
- Note per l'utilizzo del compilatore C con Linux
- Analisi dell'errore propagato (M. Marfurt)
- Lucidi della prima lezione introduttiva
- Esempio di un semplice programma C++
- C++ su Macintosh
- Lucidi della seconda lezione introduttiva
- Breve nota sulle successioni per ricorrenza e l'algoritmo di Erone
- Sulle diverse definizioni di media in statistica (v. Wikipedia): link
- Risoluzione numerica di sistemi di equazioni lineari (M. Marfurt)
- Un manualetto per GNUPLOT
- Ricerca degli zeri: un po' di teoria
- Alcune istruzioni per l'uso di Gnuplot da C (N.B.: sotto Windows per lanciare Gnuplot va individuato il path dell'eseguibile sul proprio computer, sotto Mac o Linux non serve, e basta l'istruzione: system("gnuplot -persist comandi.txt"); , dove comandi.txt è il file di comandi di gnuplot generato dal vostro programma C)
- Problemi, algoritmi e programmi di matematica elementare (note per la prima parte del corso)
Modalità di erogazione: convenzionale
Esercitazioni:
- Foglio di esercizi n. 1
- Foglio di esercizi n. 2
- Foglio di esercizi n. 3
- Foglio di esercizi n. 4
- Foglio di esercizi n. 5
- Foglio di esercizi n. 6
- Foglio di esercizi n. 7
- Foglio di esercizi n. 8
- Foglio di esercizi n. 9
- Foglio di esercizi n. 10
- Foglio di esercizi n.11
Testi di passate prove d'esame:
- Testo della prova in itinere del 13 novembre 2013
- Vecchi testi di prove di esonero di LPC (A.A. 2011/12 e 2010/11)
- Testo della prova in itinere del 15 gennaio 2014
- Testo della prova scritta del 3 febbraio 2014
- Testo della prova scritta del 24 febbraio 2014
- Testo della prova scritta del 2 luglio 2014
- Testo della prova scritta del 21 luglio 2014
- Testo della prova scritta del 19 settembre 2014
Link utili:
- Form per la registrazione ai canali di LPC (entro il 18.10.2013) : Link
- Per approfondire le successioni per ricorrenza: Iterata iuvant. Modelli matematici discreti e applicazioni (note della Scuola estiva 2013 del PLS per studendi delle superiori): link
Risultati di apprendimento - Conoscenze acquisite: Gli studenti che abbiano superato l'esame saranno in grado di avere una conoscenza di base della programmazione e delle proprietà matematiche di semplici algoritmi. Gli studenti avranno anche acquisito le nozioni fondamentali sulla convergenza, lordine di convergenza, lerrore e la complessità di algoritmi elementari.
Risultati di apprendimento - Competenze acquisite: Gli studenti che abbiano superato l'esame saranno in grado di scrivere un semplice codice C per scopi scientifici e di utilizzare alcuni algoritmi numerici di base per la soluzione di problemi. Saranno anche in grado di scegliere lalgoritmo più appropriato per la soluzione di semplici problemi quali la ricerca degli zeri, il calcolo di un integrale e la soluzione di un sistema lineare. Durante le esercitazioni in laboratorio impareranno ad usare un PC, gli strumenti grafici e una rete LAN.
Studio personale: la percentuale prevista di studio personale sul totale dell'impegno richiesto è del 65%