Corsi di Laurea in Matematica e in
Matematica
ed Informatica
Programmazione 1
Docente: G. Rossi
Collaboratore didattico: T. Zolo
Programma del corso
Anno accademico 2007 - 2008
-
Concetti e costrutti di base
Il concetto di algoritmo. Rappresentazione di algoritmi: i diagrammi
di flusso. Risoluzione di problemi: esempi.
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: nozione di stream, operatori >>
e <<, input/output a caratteri (funzioni get e
put)..
Espressioni e operatori. Espressioni booleane.
Le strutture di controllo: selezione, cicli, salto. Gli statement
del C++: if, switch, while, do_while,
for,
break.
Array in C++. Dichiarazione, selezione elementi, operazioni
su array. Ordinamento array con selezione del minimo. Array bi-dimensionali.
Matrici. Realizzazione in C++ tramite array. Operazioni di base
su matrici.
Stringhe. Stringhe come array di caratteri. Operazioni su stringhe.
Funzioni di libreria.
Il costruttore struct: dichiarazione, selezione elementi,
operazioni. Tabelle (realizzazione tramite array di struct)..
-
Funzioni ed astrazione procedurale
Sottoprogrammi: significato, motivazioni.Dichiarazione e chiamata
di funzione in C++.
Modalità di passaggio parametri: per valore, per riferimento.
Passaggio parametri di tipo array. Funzioni void.
Funzioni ricorsive.
Visibilità identificatori: regole di "scope" in
C++. Dichiarazioni globali e locali.
Input/output su file. Creazione ed apertura di uno stream.
Lettura/scrittura tramite >> e << e a caratteri.
-
Sviluppo programmi
Ambiente di sviluppo: editor, compilatore, linker (cenni).
Sviluppo di semplici programmi nel frammento imperativo del C++.
Utilizzo di funzioni di libreria.
Testi consigliati
-
H.M. Deitel, P.J. Deitel. C++ Fondamenti di programmazione (seconda
edizione), Apogeo, 2005, 743 pp.
[copre anche i contenuti del corso di Programmazione 2]
oppure
-
R. Miller, D. Clark, B. White, e W. Knottenbel: An Introduction to the
Imperative Part of C++, 1999, disponibile su WEB all'indirizzo http://www.doc.ic.ac.uk/~wjk/C++Intro/CourseStructure.html#S
[molto piu' "snello" del precedente e disponibile on-line; non
copre i contenuti del corso di Programmazione 2]
Prerequisiti
Nozioni di base su: struttura del calcolatore (ad es., [1, par. 4.3]),
memoria principale (ad es., [1, par. 4.4]), rappresentazione numeri interi
e reali (ad es., [1, par. 4.11, 4.12]).
[1] A.V.Aho, J.D.Ullman.
Fondamenti
di Informatica. Zanichelli, 1994.
Vai alla pagina
principale del corso