Elementi di Informatica e Laboratorio di Informatica (C.d.S. Triennale in Biotecnologie)
(1^ ciclo, 1^ anno)
Esame scritto e orale integrato con Istituzioni di Matematica
Crediti4
Docente Prof. Giulio Casciola
Scopo
Dare gli elementi di base della programmazione strutturata
e del calcolo numerico.
Contenuto
Il sistema di calcolo dall'hardware al software;
progettazione degli algoritmi con elementi di linguaggio Matlab;
elementi di calcolo numerico quali: numeri finiti, aritmetica
floating point, condizionamento di un problema, stabilità di un
algoritmo, interpolazione polinomiale, retta di regressione
lineare, equazioni non lineari, sistemi di equazioni lineari, integrazione
numerica.
Il corso di Laboratorio di Informatica consiste in un'attività pratica
che costituisce parte integrante del corso di Elementi di Informatica.
Testi Consigliati
- S.Ceri, D.Mandrioli, L.Sbattella, Informatica Arte e Mestiere, McGraw-Hill.
- F.Mazzia, D.Trigiante, Laboratorio di programmazione
e calcolo, Pitagora Editrice Bologna.
- R.Bevilacqua, D.Bini, M.Capovani, O.Menchi, Introduzione alla
matematica computazionale, Zanichelli.
programma completo A.A.2002/03
Argomenti trattati a Lezione
- Mar.08/10/02, ore 09-11, Lezione 1: Introduzione al corso, obiettivi del
corso, informazioni sull'esame, ecc.
- Mer.09/10/02, ore 11-13: Lezione 2: Schema del corso, algoritmi per
calcolatore, architettura di calcolatore secondo Von Neumann, operazioni
elementari per un calcolatore: memorizzazione di un'informazione, bit, byte,
codici ASCII,
Kb, Mb, Gb, registro degli indirizzi, nomi logici per aree di memoria,
linguaggio dei diagrammi di flusso, istruzione di assegnazione, esempi di
istruzione per memorizzare costanti numeriche, per duplicare informazioni,
per memorizzare informazioni alfanumeriche.
- Mar.15/10/02, ore 09-11, Lezione 3: operazioni elementari per un
calcolatore: operazioni ed espressioni aritmetiche, sequenza, scelta,
operazioni relazionali, operazioni logiche, espressioni miste, lettura e
stampa. Esempio di problema per cui si e` progettato un
algoritmo nel linguaggio dei diagrammi di flusso utilizzando le operazioni
elementari introdotte, proprieta' degli algoritmi: generale, finito,
non ambiguo.
- Mer.16/10/02, ore 11-13: Lezione 4: strutture fondamentali: alternativa,
ciclo e sequenza,
riprogettazione dell'algoritmo precedentemente realizzato, mediante l'utilizzo
delle strutture fondamentali; simulazione di esecuzione dell'algoritmo;
assegnati alcuni esercizi, esempi, algoritmo ottimale (in tempo e spazio);
calcoli trattabili e non trattabili, due esempi: l'ordinamento di una lista
di nomi, il gioco della torre di Hanoi; fasi di risoluzione di un problema;
esempio sul piu' grande fra tre numeri; simulazione dell'algoritmo;
- Mar.22/10/02, ore 09-11: Lezione 5: principi generali di progettazione degli algoritmi;
riprogettazione dell'esempio visto la lezione precedente; esempio: quoziente
intero della divisione fra due interi positivi; simulazione dell'algoritmo;
tecnica delle scomposizioni successive; esempio: MCD fra due numeri mediante
algoritmo di Euclide; simulazione dell'algoritmo;
- Mer.23/10/02, ore 11-13: Lezione 6: cenni storici su Internet; come e'
fatta la rete di INternet; protocolli di comunicazione (TCP/IP);
IP address e nomi
di domain; browser; www, http, ftp, news, ecc., i nomi degli utenti; la
posta elettronica. Concetto di procedura; diagramma di flusso procedura
e chiamata di una procedura; passaggio parametri per valore e indirizzo;
esempi di funzionalita'; esempi di chiamate.
- Mar.29/10/02, ore 09-11: Lezione 7: la procedura nei principali linguaggi
procedurali:
Pascal, Fortran e C; scritta una procedura per il quoziente intero della
divisione fra due numeri positivi e assegnato di riscrivere il programma
del MCD utilizzando tale procedura; Elementi di Algebra Lineare: matrici,
tipi di matrici, vettori riga e colonna, matrice trasposta;
strutture dati tabella e lista; problema di determinare il piu' piccolo
elemento di una lista; assegnato di modificare l'algoritmo per avere
anche la posizione nella lista del piu' piccolo elemento; introdotta
l'allocazione e la sintassi con cui usare una lista.
- Mer.30/10/02, ore 11-13, Lezione 8: algoritmo del piu` piccolo
elemento di una lista come procedura; passaggio parametri di liste
o tabelle in una procedura; esecuzione dell'algoritmo progettato. Operazioni
di addizione, moltiplicazione per uno scalare e moltiplicazione fra matrici;
operazioni indotte da queste su vettori, prodotto scalare; esempio di
procedura per il prodotto matrice/vettore; lasciato come sercizio la
realizzazione di procedura per il prodotto matrice/matrice; allocazione
statica e dinamica della memoria; esempio di diagramma main con procedura
dove si applica allocazione statica e dinamica di una lista.
- Mer.06/11/02, ore 11-13, Lezione 9: introduzione al corso di Laboratorio
di Informatica; hardware e software dei PC del laboratorio;
dispositivi esterni come hard-disk e unita` dischetti; sistemi opertivi
in genere e Windows '98 in particolare; file e nome di un file; funzioni
di un sistema operativo; nomi logici dei dispositivi; creazione e gestione
di directory; cenno al sistema operativo MS-DOS e al suo linguaggio dei
comandi per compiere le tipiche funzioni di un sistema operativo.
- Gio.07/11/02, ore 14-16 turno A, ore 16-18 turno B: primo approccio con
un PC, accensione, S.O.Windows '98, finestre, comandi grafici, creazione
cartella, copia file, cancella file, modifica file (programma medit),
stampa di un file, copia su dischetto, applicazioni,
un breve salto in Internet. Stampa del foglio esercitazione I Settimana
(12,14/11), procedura di spegnimento del PC.
- Mar.12/11/02, ore 14-16 turno B, ore 16-18 turno A: Esercitazione
secondo il foglio I Settimana assegnato.
- Mer.13/11/02, ore 11-13, Lezione 10: Ambiente Matlab, istruzioni eseguibili
al prompt e programmazione in linguaggio Matlab. Esempio di programma in
linguaggio Matlab, sintassi delle strutture fondamentali alternativa (if..else
..end) e ciclo (while..end e for.. end), procedure in Matlab (function);
introduzione al progetto di realizzare un programma in linguaggio Matlab
per il gioco "Mancala".
- Gio.14/11/02, ore 14-16 turno A, ore 16-18 turno B: Esercitazione
secondo il foglio I Settimana assegnato, stampa e consegna relazione,
stampa foglio esercitazione II Settimana (19,20/11).
- Mar.19/11/02, ore 14-16 turno B, ore 16-18 turno A: Esercitazione
secondo il foglio II Settimana assegnato.
- Mer.20/11/02, ore 11-13, Lezione 11: allocazione vettori e matrici
in linguaggio Matlab; grafico di funzioni mediante function plot: programma
esempio; valutazione di funzione mediante function feval: programma esempio;
apertura, lettura e scrittura di file di dati da programma Matlab;
esame del programma main per il gioco del Mancala e analisi di cosa devono
fare le function ivi richiamate.
- Gio.21/11/02, ore 14-16 turno A, ore 16-18 turno B: Esercitazione
secondo il foglio II Settimana assegnato. Stampa foglio esercitazione
III Settimana (26,28/11).
- Mar.26/11/02, ore 14-16 turno B, ore 16-18 turno A: Esercitazione
secondo il foglio III Settimana assegnato.
- Mer.27/11/02, ore 11-13, Lezione 12: funzioni ricorsive e function
ricorsive in Matlab; esempio di diagramma di flusso ricorsivo con
simulazione e traduzione in linguaggio Matlab; strategia di gioco
da parte di un computer per il gioco del Mancala: concetti di funzione
obiettivo; livello di gioco; albero delle mosse; visita dell'albero
min-max, ricorsione. Elementi di Algebra Lineare: definizione di matrice
inversa, esempi di matrice inversa, casi in cui non esiste l'inversa.
Determinate di una matrice, definizione ricorsiva di Laplace, esempio
numerico, determinante e singolarita` di una matrice.
- Gio.28/11/02, ore 14-16 turno A, ore 16-18 turno B: Esercitazione
secondo il foglio III Settimana assegnato. Stampa foglio esercitazione
IV Settimana (03,05/12).
- Mar.03/12/02, ore 09-11, Lezione 13: regola di Sarrus per matrici
2x2 e 3x3; calcolo della matrice inversa e corrispondenza
fra determinante diverso da zero ed esistenza della matrice inversa
e viceversa, esempio di calcolo di una matrice inversa;
impossibilita` di utilizzare questo algoritmo computazionalmente se non per
matrici piccole; metodo di fattorizzazione LU di una matrice dovuta a Gauss;
soluzione di un sistema lineare quadrato via fattorizzazione LU e soluzione
di due sistemi lineari piu` semplici; complessita`; applicazione
per il calcolo del determinate e calcolo della matrice inversa.;
- Mar.03/12/02, ore 14-16 turno B, ore 16-18 turno A: Esercitazione
secondo il foglio IV Settimana assegnato.
- Gio.05/12/02, ore 14-16 turno A, ore 16-18 turno B: Esercitazione
secondo il foglio IV Settimana assegnato. Stampa foglio esercitazione
- Mar.10/12/02, ore 14-16 turno B, ore 16-18 turno A: Esercitazione
secondo il foglio V Settimana assegnato. Alle ore 14.00 si e' svolto
il I Torneo di Mancala fra computer.
- Gio.12/12/01, ore 14.00: prova scritta di Informatica, Aula 14.
Torna alla
home page di Giulio Casciola