LEZIONE ------- 10/3/00: Introduzione al linguaggio C: Tipi di base, costanti, variabili, dichiarazioni. 13/3/00: Le espressioni: operatori aritmetici, rleazionali, assegnazione, incremento/decremento, espressioni condizionali, operatori bit a bit, precedenze e associativita`. 27/3/00: Conversioni di tipo: implicite, esplicite. Istruzioni: if-else, switch. Un esempio: ricerca binaria iterativa. 30/3/00: I cicli nel C: while, for, do_while, break, continue. Alcuni esempi di semplici programmi C. 3/4/00: Introduzione al Visual C++ 5.0. 10/4/00: Le funzioni in C: concetti di base, i prototipi, variabili esterne ed automatiche, regole di scoping, inizializzazione. 11/4/00: Programmi C contenuti in piu' file: variabili e funzioni static, extern. Gli header files ed il preprocessore C. La compilazione separata. Un esempio: calcolo delle occorrenze di interi in una sequenza. 17/4/00: Input output in C: printf, scanf. Input/Output sui file: apertura, elaborazione, chiusura. 18/4/00: Un esempio di gestione file: implementazione del comando cat. Implementazione delle successioni con array e con puntatori. 8/5/00: Un parser per le espressioni aritmetiche: idee generali algoritmo e implementazione in C. 9/5/00: Il tipo di dato insieme: definizione, implementazione a bit-vector (pseudo-codice e C) 10/5/00: Implementazione ad array di insiemi. 15/5/00: Implementazione in C degli insiemi, utilizzando gli array. Considerazioni sui parametri IN-OUT. 22/5/00: Implementazione in C degli alberi binari di ricerca. 29/5/00: Implementazione in C delle tabelle hash, aperte e chiuse. LABORATORIO ----------- 3/4/00: Primi semplici programmi C. 10/4/00: Esercizi sull'utilizzo delle funzioni. 17/4/00: Esercizi su compilazione separata, allocazione dinamica della memoria, strutture. 8/5/00: Esercizi su input/output 15/5/00: Implementazione ad array degli insiemi 22/5/00: Implementazione degli alberi binari di ricerca 29/5/00: Implementazione delle tabelle hash aperte