PROGRAMMAZIONE
cod. 1003606

Anno accademico 2009/10
1° anno di corso - Secondo semestre
Docente
Settore scientifico disciplinare
Informatica (INF/01)
Field
Discipline matematiche e informatiche
Tipologia attività formativa
Base
48 ore
di attività frontali
6 crediti
sede: -
insegnamento
in - - -

Modulo dell'insegnamento integrato: INFORMATICA CON LABORATORIO

Obiettivi formativi

Il corso si propone di fornire un'introduzione alla  programmazione imperativa utilizzando come linguaggio di riferimento il linguaggio di programmazione C++.

Prerequisiti

- - -

Contenuti dell'insegnamento

Il concetto di algoritmo. Rappresentazione di algoritmi: i diagrammi di flusso. Risoluzione di problemi: esempi. <br />
Struttura di un programma. Un esempio di programma C++. <br />
Variabili e costanti. Dichiarazione di variabile. <br />
Tipi di dato. I tipi elementari del C++. <br />
Assegnamento e statement composto. <br />
Input/output di base: nozione di stream, operatori >> e <<, input/output a caratteri (funzioni get e put).. <br />
Espressioni e operatori. Espressioni booleane. <br />
Le strutture di controllo: selezione, cicli, salto. Gli statement del C++: if, switch, while, do_while, for, break. <br />
Array in C++. Dichiarazione, selezione elementi, operazioni su array. Ordinamento array con selezione del minimo. Array bi-dimensionali. <br />
Matrici. Realizzazione in C++ tramite array. Operazioni di base su matrici. <br />
Stringhe. Stringhe come array di caratteri. Operazioni su stringhe. Funzioni di libreria. <br />
Il costruttore struct: dichiarazione, selezione elementi, operazioni. Tabelle (realizzazione tramite array di struct).. <br />
Sottoprogrammi: significato, motivazioni.Dichiarazione e chiamata di funzione in C++. <br />
Modalità di passaggio parametri: per valore, per riferimento. Passaggio parametri di tipo array. Funzioni void. <br />
Funzioni ricorsive. <br />
Visibilità identificatori: regole di "scope" in C++. Dichiarazioni globali e locali. <br />
Input/output su file. Creazione ed apertura di uno stream. Lettura/scrittura tramite >> e << e a caratteri. <br />
Puntatori ed allocazione dinamica della memoria (new). Operazioni su puntatori. Puntatori ed array. Liste concatenate. <br />
Ambiente di sviluppo: editor, compilatore, linker (cenni). <br />
Sviluppo di semplici programmi nel frammento imperativo del C++. <br />
Utilizzo di funzioni di libreria. 

Programma esteso

- - -

Bibliografia

<p align="left">H.M. Deitel, P.J. Deitel. C++ Fondamenti di programmazione, Apogeo, 2003, 696 pp. </p>

Metodi didattici

Metodo d'insegnamento: lezioni frontali in aula (ca. 4 CFU) e esercitazioni assistite in aula attrezzata (ca. 2 CFU) <br />
Metodo di valutazione: esame scritto (esercizi C++) con prova pratica ed eventuale colloquio orale.

Modalità verifica apprendimento

- - -

Altre informazioni

- - -