INFORMATICA CON LABORATORIO
cod. 14123

Anno accademico 2010/11
1° anno di corso - Secondo semestre
Docente responsabile dell'insegnamento
ROSSI Gianfranco
insegnamento integrato
9 crediti
sede:
insegnamento
in - - -

Insegnamento strutturato nei seguenti moduli:

Obiettivi formativi

Conoscenze di base dell'Informatica.
Utilizzo come utente dei principali strumenti informatici e telematici in ambiente scientifico.

Prerequisiti

Nessuno

Contenuti dell'insegnamento

Introduzione all'Informatica. Introduzione alla programmazione imperativa. Linguaggio di programmazione C++.

Programma esteso

INFORMATICA DI BASE.
Codifica e rappresentazione binaria dell'informazione.
Il calcolatore.
Il software di base e applicativo.
Le reti informatiche.

PROGRAMMAZIONE.
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)..
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.
Puntatori ed allocazione dinamica della memoria (new). Operazioni su puntatori. Puntatori ed array. Liste concatenate.
Ambiente di sviluppo: editor, compilatore, linker (cenni).
Sviluppo di semplici programmi nel frammento imperativo del C++.
Utilizzo di funzioni di libreria.

Bibliografia

Materiale didattico del docente.
L.J. Aguilar. Fondamenti di programmazione in C++ , McGraw-Hill, 2008.

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

Metodi didattici

Lezioni orali e laboratorio.

Modalità verifica apprendimento

Esame scritto e prova pratica.

Altre informazioni

Sito Web: http://www.math.unipr.it/~gianfr/Teaching/Programmazione/index.html