Attività Didattica

Insegnamento di "Programmazione" Laurea triennale in Informatica a.a. 2017-2018

Orario di ricevimento

Martedì-Giovedì 10,00-11,30

(Dipartimento di Informatica  7 piano - Campus Universitario) 

 


Avvisi 

Nessun avviso


Materiali didattici
Il Materiale didattico della Prof.ssa Roselli è presente sulla piattaforma ADA al seguente indirizzo:  http://informatica2.di.uniba.it/

 


Corsi attribuiti

Programmazione (corso B) -  I Anno- I sem. Laurea Triennale in Informatica


Programma didattico


OBIETTIVI FORMATIVI

L’insegnamento ha lo scopo di fornire i concetti di base della  programmazione attraverso l’uso di linguaggi imperativi. Al termine  del corso lo studente dovrà essere in  grado di analizzare semplici problemi e risolverli progettando e sviluppando programmi utilizzando il linguaggio di programmazione C

CONTENUTI

 

1.Introduzione
Problem solving: algoritmi e programmi. Specifica di un algoritmo: diagrammi di flusso, albero di decomposizione,  linguaggio naturale, pseudocodice. Programmazione strutturata. Teorema di Bohem-Jacopini (enunciato).  Il paradigma imperativo.  Traduttori.
 
2.Linguaggi di programmazione: dati e controllo
Tipi di dato. Tipi semplici. Compatibilità tra tipi di dato. Variabili e costanti. Istruzione di assegnazione. Strutture di controllo di base. Astrazione funzionale. Sottoprogrammi: procedure e funzioni. Visibilità degli identificatori. Parametri formali ed effettivi, tecniche di legame dei parametri. Effetti collaterali. Gestione delle attivazioni dei sottoprogrammi. Ricorsione. Tipi strutturati (array, record e file). Puntatori.

 

3.Metodologie di programmazione
Cenni su programmazione in grande e programmazione in piccolo e sulle
metodologie di progetto top-down e  bottom-up. 
Progetto di un algoritmo: Albero di scomposizione funzionale, raffinamenti successivi e pseudocodifica. Stile di programmazione. Auto-documentazione dei programmi


4.Algoritmi fondamentali
Algoritmi elementari: conteggio, sommatoria e media di un insieme di numeri, fattoriale,  conversione da caratteri a numeri in base 10, numero primo, massimo comun divisore, serie di Fibonacci. Algoritmi su array: ricerca del massimo-minimo, calcolo del valore medio, inversione degli elementi, stampa istogrammi mediante array, eliminazione duplicati su array ordinati. Algoritmi su array multidimensionali. Algoritmi di ordinamento su array: selezione, scambio, inserzione,quick sort, merge sort. Ricerca lineare. Ricerca binaria. Fusione di array. Algoritmi ricorsivi: Fattoriale, Fibonacci. Algoritmi su file.
 
5.Linguaggio C
Struttura dei programmi C.  Tipi di dati: semplici predefiniti –int, float, double e char-, enumerazione esplicita dei valori. Definizione di tipo. Tipi strutturati:
il costruttore array, il costruttore struct ed il costruttore puntatore. Concetti fondamentali su caratteri e stringhe. Compatibilità dei tipi. Strutture di controllo. Istruzioni di selezione: If, Switch; Istruzioni iterative: while, do-while, for. Funzioni e procedure: definizione, chiamata, prototipo, passaggio dei parametri. Ambito di visibilità delle variabili. Array come parametri. Strutture come parametri. Effetti collaterali. Procedure e funzioni predefinite. Standard library. Puntatori. File.

ESONERI O PROVE DI VALUTAZIONE INTERMEDIE CON MODALITÀ DI ESECUZIONE:

E' prevista una prova in itinere esonerante nel periodo di interruzione delle lezioni..

MODALITÀ DI ESECUZIONE DEGLI ESAMI:

prova di laboratorio e orale



Azioni sul documento

pubblicato il 02/09/2013 ultima modifica 27/09/2017