FONDAMENTI DI PROGRAMMAZIONE A
cod. 1000747

Anno accademico 2011/12
1° anno di corso - Secondo semestre
Docente
Settore scientifico disciplinare
Informatica (INF/01)
Field
Formazione informatica
Tipologia attività formativa
Base
52 ore
di attività frontali
6 crediti
sede: PARMA
insegnamento
in - - -

Obiettivi formativi

Il corso si propone di fornire le basi sia teoriche che pratiche
della programmazione imperativa utilizzando come linguaggio
di riferimento il linguaggio di programmazione C++.

Prerequisiti

Nessuno

Contenuti dell'insegnamento

Fondamenti di programmazione. Programmazione imperativa. Linguaggio di programmazione C++

Programma esteso

FONDAMENTI.
Problemi e algoritmi - La nozione di algoritmo. I diagrammi di flusso.
Risoluzione di semplici problemi.
Linguaggi di programmazione - Linguaggi esistenti (cenni). Struttura generale
di un programma. Convenzioni di programmazione. Ambienti integrati di sviluppo programmi (IDE).
Variabili: caratteristiche, dichiarazione. Identificatori. Dichiarazione di costante.
Assegnamento. Espressioni: sintassi, valutazione (associativita' e precedenza), tipo.
Programmazione strutturata - Strutture di controllo. Teorema di Bohm-Jacopini. Statement
goto. Progetto "top-down" e sviluppo programmi "per raffinamenti successivi".
Nomi, ambienti e regole di "scope": struttura a blocchi, ambiente locale e non-locale,
variabili globali.
Ricorsione - Definizioni e funzioni ricorsive. Esempi. Implementazione ricorsione (cenni).

LINGUAGGIO C++.
Dichiarazione di variabile. Tipi semplici primitivi: valori, costanti, operazioni.
Dichiarazione di costante.
Input/output di base. Operatori di estazione ed inserimento. Input/output a caratteri
(funzioni get e put).
Assegnamento e statement composto. Espressioni.
Statement per il controllo di sequenza: if, switch, while, do_while, for, break.
Esempio. Verifica dell'input.
Tipi strutturati. Array: dichiarazione, selezione elementi, memorizzazione, operazioni.
Array bi-dimensionali. Matrici. Esempi operazioni su matrici e vettori (in partic.,
ordinamento per selezione). Stringhe: realizzazione tramite array, operazioni,
funzioni di libreria. struct: dichiarazione, selezione elementi, operazioni.
Tabelle: definizione, realizzazione tramite array di struct.
Dichiarazione e chiamata di funzione. Passaggio parametri: per valore, per riferimento.
Passaggio parametri di tipo array. Funzioni void.
Strutturazione di un programma e regole di "scope".
Input/output su file. Creazione ed apertura di uno stream. Lettura/scrittura "tipata" e a caratteri.
Sviluppo di semplici programmi nel frammento imperativo del C++. Utilizzo di funzioni
di libreria.

Bibliografia

L.J. Aguilar. Fondamenti di programmazione in C++ , McGraw-Hill, 2008.

Metodi didattici

Lezioni frontali in aula e esercitazioni assistite in
laboratorio informatico

Modalità verifica apprendimento

Esame scritto ed orale

Altre informazioni

- - -