Laboratorio di Informatica: Programmazione 1

per il primo anno di Informatica
Anno Accademico 2003-2004, secondo bimestre

Prossime date d'esame

  • Lunedì 15 novembre, ore 1000, Aula 12
Una breve descrizione del progetto d'esame dev'essere inviata al docente almeno una settimana prima dell'orale; il progetto, svolto secondo le indicazioni, va consegnato via mail due giorni prima dell'orale.

Ricordare l'iscrizione tramite Esse3!

In mancanza di un'iscrizione ufficiale, la segreteria non potrà fornire il verbale e l'esame non potrà essere registrato.


Orario

Le lezioni sono concluse.

Esame

Prossime date d'esame

  • Lunedì 15 novembre, ore 1000, Aula 12
Una breve descrizione del progetto d'esame dev'essere inviata al docente almeno una settimana prima dell'orale; il progetto, svolto secondo le indicazioni, va consegnato via mail due giorni prima dell'orale.

Ricordare l'iscrizione tramite Esse3!

In mancanza di un'iscrizione ufficiale, la segreteria non potrà fornire il verbale e l'esame non potrà essere registrato.

Sono disponibili le regole per l'esame e il progetto.


Bibliografia consigliata

Non esiste una vera e propria bibliografia. Seguono le regole generali. Per ogni dubbio, non esitate a rivolgervi al docente!!
  • Qualsiasi libro di testo sul C++ contiene gli argomenti affrontati nel corso.
  • Testi online: in genere sono testi parziali, poco affidabili per imparare, ma possono essere utili per risolvere rapidamente un dubbio.
    Ecco la lista proposta dal Centro di Calcolo.
  • Eventuali integrazioni saranno comunicate dal docente per tempo
  • In casi dubbi, fa fede quanto detto a lezione.

Compilatori C++ per esercitazioni a casa

Qualunque compilatore C++ accetta tutti i costrutti che verranno introdotti a lezione.
  • In laboratorio verrà utilizzato il sistema operativo Linux con compilatore GNU GCC. Ogni distribuzione Linux lo contiene, basta premurarsi di installare i pacchetti di sviluppo.
  • Sotto Windows, vanno bene Visual Studio, i vari compilatori Borland (anche i vecchi Turbo C++). Chi ha esperienza, può installare le librerie di emulazione Cygwin, che forniscono un ambiente UNIX con GCC. In alternativa, è disponibile il compilatore Dev-C++.
Naturalmente, ogni compilatore prevede editor diversi e azioni diverse da intraprendere per compilare un programma.

Programma del corso

L'ordine degli argomenti non corrisponde a quello delle lezioni.
  • Puntatori, aritmetica dei puntatori, puntatori a vettori, passaggio di parametri per puntatore.
  • Allocazione dinamica di memoria: operatori new e delete.
  • Stringhe.
  • Struct.
  • Ingresso/uscita su file. Uso dei parametri argc e argv della funzione main.
  • Organizzazione di un programma su più file.
  • Strutture dati fondamentali: liste, pile, code. Realizzazione tramite vettori e struct.
  • Strutture dati dinamiche: liste concatenate. Realizzazione di pile e code con liste concatenate. Alberi binari.

Argomenti affrontati

Esercizi svolti in laboratorio

  • Prima settimana
    • Esercizi sull'uso dei puntatori
  • Seconda settimana
    • Struct: dichiarazione e uso di una struttura dinamica in grado di contenere una matrice.
  • Terza settimana
    • Separazione delle funzioni di libreria delle matrici dal programma principale e compilazione separata
    • Scrittura di funzioni per il salvataggio e il caricamento di matrici su file.
  • Dalla quarta settimana in poi
    • Progetti individuali

Mauro Brunato