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
Obiettivi agenda 2030 per lo sviluppo sostenibile
- - -