PROGRAMMAZIONE II MODULO
cod. 1000535

Anno accademico 2007/08
1° anno di corso - Primo semestre
Docente
Settore scientifico disciplinare
Informatica (INF/01)
Field
Formazione interdisciplinare e applicativa
Tipologia attività formativa
Affine/Integrativa
32 ore
di attività frontali
4 crediti
sede:
insegnamento
in

Modulo dell'insegnamento integrato: PROGRAMMAZIONE I E PROGRAMMAZIONE II

Obiettivi formativi

Il corso si  propone di fornire le basi della programmazione imperativa e di quella "orientata agli oggetti", utilizzando come linguaggio di riferimento il linguaggio di programmazione C++.

Prerequisiti

- - -

Contenuti dell'insegnamento

<br />IL CONCETTO DI ALGORITMO. RAPPRESENTAZIONE DI ALGORITMI. DIAGRAMMI DI FLUSSO - I  LINGUAGGI DI PROGRAMMAZIONE. COMPILAZIONE ED INTERPRETAZIONE (CENNI) - STRUTTURA DI UN PROGRAMMA. UN ESEMPIO DI PROGRAMMA C++ - VARIABILI E COSTANTI. DICHIARAZIONE DI VARIABILE - TIPI DI DATO. I TIPI ELEMENTARI DEL C++ - ASSEGNAMENTO E STATEMENT COMPOSTO - INPUT/OUTPUT DI BASE: FORMATTATO, A CARATTERI - ESPRESSIONI E OPERATORI. ESPRESSIONI BOOLEANE - LE STRUTTURE DI CONTROLLO: SELEZIONE, CICLI. GLI STATEMENT DEL C++ - STRUTTURE DATI: DEFINIZIONE, STRUTTURE DATI ASTRATTE E CONCRETE - ARRAY IN C++. DICHIARAZIONE, SELEZIONE ELEMENTI, MEMORIZZAZIONE, OPERAZIONI. ARRAY BIDIMENSIONALI - MATRICI. REALIZZAZIONI IN C++ ED OPERAZIONI DI BASE SU MATRICI - STRINGHE. REALIZZAZIONE in C++ ED OPERAZIONI DI BASE - IL COSTRUTTORE 'STRUCT' IN C++: DICHIARAZIONE, SELEZIONE ELEMENTI, OPERAZIONI. RECORD E TABELLE (CENNI) - LA DICHIARAZIONE 'TYPEDEF'. <br />SOTTOPROGRAMMI: SIGNIFICATO, MOTIVAZIONI. DICHIARAZIONE E CHIAMATA DI FUNZIONE IN C++ - MODALITÀ DI PASSAGGIO PARAMETRI: PER VALORE, PER RIFERIMENTO. PASSAGGIO PARAMETRI DI TIPO ARRAY IN C++ - FUNZIONI 'VOID' - FUNZIONI RICORSIVE - VISIBILITÀ IDENTIFICATORI: REGOLE DI SCOPE IN C++. DICHIARAZIONI GLOBALI E LOCALI - INPUT/OUTPUT SU FILE. CREAZIONE DI STREAM. <br />DICHIARAZIONE DI CLASSE. CREAZIONE DI OGGETTI. ACCESSO AI CAMPI DI UN OGGETTO - FUNZIONI PROPRIE ED INVOCAZIONE DI FUNZIONI - INIZIALIZZAZIONE DI OGGETTI: COSTRUTTORI - ESEMPIO: CLASSE 'RAZIONALE' - OVERLOADING DI FUNZIONI ED OPERATORI. RIDEFINIZIONE OPERATORI DI INPUT/OUTPUT - LA CLASSE 'STRING' - PUNTATORI: DICHIARAZIONE, ACCESSO, OPERAZIONI. ALLOCAZIONE DINAMICA DELLA MEMORIA. PUNTATORI ED ARRAY - ESEMPIO: CLASSE 'INT_VETT'. RIDEFINIZIONE 'OPERATOR[]' - RIDEFINIZIONE ASSEGNAMENTO E COSTRUTTORE DI COPIA. DISTRUTTORI - TEMPO DI VITA DI UN OGGETTO (CENNI) - TIPI DI DATO ASTRATTI (ADT). ''INCAPSULAMENTO'' E ''INFORMATION HIDING''. <br />GESTIONE DELLE ECCEZIONI. MOTIVAZIONI. COSTRUTTI E MECCANISMI DEL C++ - CLASSI PARAMETRICHE: DICHIARAZIONE, ISTANZIAZIONE. ESEMPIO: CLASSE 'VETT<T>' - FUNZIONI PARAMETRICHE (CENNI) -<br />EREDITARIETÀ: DICHIARAZIONE, RIDEFINIZIONE FUNZIONI E DATI. CAMPI PROTECTED - COSTRUTTORI E DISTRUTTORI IN PRESENZA DI EREDITARIETÀ. MODALITÀ DI DERIVAZIONE - EREDITARIETÀ MULTIPLA (CENNI).

Programma esteso

- - -

Bibliografia

<br />H.M. Deitel, P.J. Deitel. C++ Fondamenti di programmazione, Apogeo, 2003.<br />[OPPURE] S. Lippman, J. Lajoie. C++: Corso di programmazione, 3a Ed., Addison-Wesley, 2000.  

Metodi didattici

Metodi di valutazione: Esame scritto ed orale, piu' dimostrazione e discussione dell'applicazione sviluppata (esame integrato con quello del corso di "Laboratorio di Programmazione")

Modalità verifica apprendimento

- - -

Altre informazioni

- - -