Il corso si pone come obiettivo quello di portare gli allievi ad un buon livello di conoscenza della programmazione degli elaboratori utilizzando il linguaggio C. L'illustrazione delle principali istruzioni e costrutti supportati dal linguaggio sarà affiancata da un cospicuo numero di esempi commentati in aula dal docente e da esercizi da svolgere a casa e/o in laboratorio a cura degli allievi.
Architettura e principi di funzionamento degli elaboratori.
Principi di programmazione degli elaboratori.
La programmazione in linguaggio C.
Architettura di un programma. La rappresentazione dei dati, i tipi, le variabili e le costanti. L'istruzione di assegnazione, gli operatori e le espressioni. I costrutti di condizione. I costrutti di ciclo. Le variabili multi dimensionali (vettori, matrici). Il trattamento delle stringhe di caratteri.
Le funzioni. I file e la loro gestione. Gli indirizzi e i puntatori.
La gestione della memoria dinamica. Le strutture dati dinamiche e la loro applicazione al trattamento dei dati astratti. Le liste lineari.
BIBLIOGRAFIA
a) Note e dispense distribuite dal docente.
b) Al Kelley Ira Pohl C: Didattica e
Programmazione, Addison - Wesley.
c) B. Kernighan, D. Ritchie, Linguaggio C - seconda edizione, Gruppo Editoriale
Jackson.
d) A. Macii, E. Macii, M. Poncino, R. Scarsi, Fondamenti di Informatica – 100
Esercizi d’Esame Svolti, Edit ric e Esculapio Bologna.
CONTROLLO DELL’APPRENDIMENTO E MODALITÀ D’ESAME
L’esame consta di una prova scritta, di una prova di laboratorio e di una prova orale. La prova scritta consiste nella risposta a quesiti sul programma svolto e nella realizzazione di algoritmi fondamentali analizzati a lezione. La prova di laboratorio consiste nella realizzazione di un progetto di media complessità.
La prova orale parte dall’analisi della prova di laboratorio e verte su tutti gli argomenti trattati durante il corso.
Conoscenze di base di matematica discreta e di logica
matematica.
Capacità di realizzare programmi software in linguaggio C di
media complessità.