376/97
A.A. 1997/98
UNIVERSITA’ DEGLI STUDI DI TRIESTE
_______________________________________________________________________________
CORSI DI LAUREA
ING. CIVILE, EDILE, MECCANICA,
NAVALE, AMBIENTE E TERRITORIO
PROGRAMMA DEL CORSO DI
FONDAMENTI DI INFORMATICA
DOCENTE
Claudio CHIARUTTINI
FINALITÀ
Il corso ha lo scopo di consentire all'allievo di affrontare la soluzione algoritmica di problemi
ingegneristici mediante l’uso di strumenti di programmazione strutturata. A tale scopo il corso copre
argomenti relativi ai concetti introduttivi di algoritmo ed elementi di ingegneria del software. Si
forniscono agli allievi le conoscenze fondamentali di un linguaggio di programmazione strutturato
(Pascal) e dell'uso di un sistema di elaborazione (MS-Windows e DOS). Vengono trattati gli
argomenti relativi alle nozioni fondamentali sull'architettura dei sistemi di elaborazione delle
informazioni e sui sistemi operativi. Infine viene data una descrizione essenziale del Fortran77.
PROGRAMMA
Concetti di base
Descrizione dei concetti fondamentali di algoritmo, di linguaggio e di sistema di elaborazione
dell'informazione.
Principi di programmazione
Rappresentazione diagrammata degli algoritmi. Principi fondamentali della programmazione
strutturata: sequenza, selezione, iterazione. Descrizione di un linguaggio di programmazione
strutturato (Pascal). Tipi di dati semplici e strutturati: array, record, insiemi, puntatori, file.
Strutture di dati: liste, pile, code, matrici sparse e loro rappresentazioni più comuni. Tecniche di
progetto delle procedure, meccanismi di passaggio dei parametri, ricorsione. Metodologia di
progettazione top-down. Preparazione ed esecuzione dei programmi: editor, interpreti, compilatori,
linker, loader. Aspetti pratici del problema della correttezza dei programmi e metodi di verifica
empirica. Il concetto di complessità di un algoritmo. Descrizione essenziale del linguaggio
Fortran77 e delle principali caratteristiche del Fortran90.
Introduzione ai sistemi di elaborazione
Rappresentazione interna dell'informazione: codifica binaria, decimale, esadecimale, conversioni di
codifica; aritmetica intera e reale; codifica dei caratteri. Il modello di von Neumann. Descrizione
dell'architettura di un calcolatore ed analisi del funzionamento dei suoi componenti fondamentali:
memoria principale, processore, memoria di massa, periferiche. L'accesso alla memoria ed il ciclo di
esecuzione. Pipeline. Architetture parallele SIMD e MIMD.
Sistemi operativi
Descrizione introduttiva di un sistema operativo: interrupt e gestione delle periferiche;
multiprogrammazione; gestione della memoria: memoria a pagine, memoria virtuale; file system e
gestione del disco.
Esempi di algoritmi
Sono presentati i principali algoritmi di ordinamento (a bolle, per fusione, veloce) e di gestione di
archivi su file.
ESERCITAZIONI
Sono previste esercitazioni guidate per l’introduzione all’uso dei sistemi Windows e MS-DOS e
dell’ambiente di programmazione Turbo-Pascal. Esempi di analisi di problemi e progettazione di
programmi. Assistenza nel progetto e messa a punto di programmi sviluppati dagli allievi.
TESTI CONSIGLIATI:
M. Maiocchi, "Teoria ed Applicazioni delle Macchine Calcolatrici", Casa Editrice Ambrosiana,
Milano.
C. Batini e altri, "Fondamenti di Programmazione dei Calcolatori Elettronici", Franco Angeli.
Ellis, "Programmazione Strutturata in Fortran77", Zanichelli.