INFORMATICA GRAFICA
Corso di Laurea in Ingegneria Civile
Programma definitivo a.a. 1999-00
Prima parte: Introduzione alla programmazione
- L'elaborazione automatica. La nozione di algoritmo.
Linguaggi per la descrizione di algoritmi. Linguaggi di programmazione.
Cenni al sistema di elaborazione.
- L'architettura dei calcolatori. Cenni all'architettura
di un calcolatore. Il linguaggio del calcolatore. L'ambiente
di sviluppo.
- Il linguaggio C. Elementi di base. La sintassi del
C: parte dichiarativa e parte esecutiva dei programmi. Assegnazioni,
espressioni e istruzioni composte. Input ed output. Tipi di dato
semplici: int, float, char. Tipi definiti dall'utente.
- Il linguaggio C. Strutture di controllo. Tipi di dato
strutturati. La tipizzazione e la compatibilità dei tipi
in C. Gestione dei file.
- Tecniche di programmazione modulare. Il tipo puntatore.
Funzioni e procedure. Introduzione alla programmazione ricorsiva.
- Algoritmi. Algoritmi di gestione e di ordinamento
di insiemi, interpolazione polinomiale, calcolo matriciale. Tracciamento
di grafici di funzioni.
Seconda parte: Introduzione alla grafica computerizzata
- Dispositivi grafici. Unità di ingresso e uscita.
Terminali grafici vettoriali e raster.
- Trasformazioni geometriche. Trasformazioni bidimensionali
e tridimensionali.
- Pipeline grafica. Trasformazioni grafiche isomorfiche
e non isomorfiche.
- Operazioni grafiche primitive. Concetto di segmento.
Tracciamento di punti, linee, testi e cerchi.
- Clipping bidimensionale. Clipping di punti, linee
e poligoni. Cenno al clipping di testi.
Laboratorio
- Uso del PC. Tecniche di base per utilizzare il PC,
con particolare enfasi all'interazione con il file system utilizzando
un ambiente a finestre (Windows 95/98).
- Ambiente di programmazione. Interazione con un ambiente
di programmazione in C (Turbo C++): editor, compilatore, linker
e debugger.
- Introduzione alle reti di computer. Cenno all'uso
di funzionalità di rete per la messaggistica (posta elettronica),
la condivisione di file (ftp ecc.) e la consultazione ipertestuale
(World Wide Web). Internet / Intranet.
- Tecniche di disegno automatico. Guida all'uso di strumenti
automatici per il disegno. CAD e CAM.
Testi di riferimento
[1] S. Ceri, D. Mandrioli, L. Sbattella.
Informatica - Arte e mestiere. McGraw-Hill Libri Italia,
Milano, 1999.
[2] A. Paoluzzi. Informatica grafica
- Metodi, algoritmi, programmi per il disegno automatico col calcolatore.
La Nuova Italia Scientifica (NIS), Roma, 1987.
Altri testi utili
[3] A. Bellini e A. Guidi. Linguaggio C - Guida alla
programmazione. McGraw-Hill Libri Italia, Milano, 1999.
[4] G. Fiorentino, M. R. Laganà, F. Romani e F. Turini.
C e Java - Laboratorio di programmazione. McGraw-Hill Libri
Italia, Milano, 1997.
[5] B.S. Gottfried. Programmare in C. II edizione,
Collana "Schaum's", McGraw-Hill Libri Italia, Milano,
1998.
[6] P.A. Darnell, P.E. Margolis. C - Manuale di programmazione.
II edizione, McGraw-Hill Libri Italia, Milano, 1997.
[7] A. Kelley, I. Pohl. C - Didattica e Programmazione.
I edizione, Addison-Wesley Italia Ed., Milano, 1996.
[8] W.J. Mitchell, M. McCullough. Digital design media -
Strumenti digitali per il design l'architettura e la grafica.
McGraw-Hill Libri Italia, Milano, 2a edizione, 1996.
Guida alla bibliografia
- Con riferimento al testo [1] si riporta una guida alla lettura,
specificando i capitoli importanti per la preparazione dell'esame:
1, 2, 4, 5, 6, 7, 8, 9 (eccetto 9.3), 11. Dei Capp. 3, 13 e
17, sebbene non indispensabili per la preparazione dell'esame,
è comunque consigliata la lettura: in particolare, il
Cap. 3 "ammorbidisce" l'impatto con il linguaggio C,
mentre i Capp. 13 e 17 forniscono informazioni di pratica utilità.
- Con riferimento al testo [2], si precisa che gli argomenti
di esame sono trattati nei Capp. 1, 2, 3, 4 e 5. In tali capitoli
vengono anche presentate procedure e funzioni per la realizzazione
delle operazioni grafiche esposte, utilizzando il linguaggio
di riferimento Pascal. Sebbene ai fini dell'esame non sia strettamente
necessario studiare tali procedure e funzioni, è tuttavia
consigliabile esaminare il codice Pascal proposto (la sua traduzione
in C risulta, normalmente, immediata) sia per comprendere megli
gli argomenti trattati, sia per avere un'idea della modalità
con cui le operazioni grafiche possono essere implementate.
- I riferimenti [1] e [2] costituiscono materiale necessario
per la preparazione dell'esame.
- Il volume [3] presenta il linguaggio C in maniera diretta
e agile: può essere usato (con esclusione dei Capp. 10,
14, 15 e 16) come alternativa al testo [1] per quanto concerne
il linguaggio C. Il volume [4] affronta i temi della programmazione
in C con taglio pratico; particolarmente utili risultano i Capp.
2 (algoritmi di base), 4 (test dei programmi) e 5 (esempi di
strutture di dati). Il volume [5] viene segnalato per il buon
numero di programmi C sviluppati in ambiente Turbo C++ (ambiente
di riferimento in laboratorio). Il volume [6] rappresenta un
ottimo manuale di programmazione in C, contenente tutti i dettagli
sulla sintassi del linguaggio; insostituibile se si desidera
scrivere programmi avanzati in C ma di non facile consultazione
per principianti non informatici. Il volume [7] può essere
una interessante alternativa al precedente: un po' meno formale,
un po' più didattico e un maggior numero di esercizi.
Il volume [8], infine, è un utile testo per integrare
con tecniche e notizie più moderne quanto visto nel libro
di testo [2] e per raccordare le due parti fondamentali del programma
di esame.