Università degli Studi "Federico
II" di Napoli
Facoltà di Ingegneria
Anno Accademico 2002/2003
Corso di Laurea in Ingegneria Elettrica
Corso di Elementi di Informatica
Prof. Pietro Schipani
Programma
Elementi di teoria
-
I modelli fondamentali. Concetto
di elaborazione. Concetto di algoritmo. Modello di automa. Stati e registri.
Modello di Von Neumann. (da [1] , Parte I cap. I esclusi par. 6-7-11)
-
La macchina astratta generalizzata.
La terna valore, tipo, attributo. Tipi semplici e strutturati. Azioni elaborative.
Memoria e registri. Ordinamento statico e dinamico. Processori, compilatori,
interpreti. Strati di un sistema di elaborazione. (da [1] , Parte I
cap. II)
-
L’algebra di Boole. Strutture algebriche.
Algebra degli insiemi e della logica delle proposizioni. Variabili e funzioni
booleane. Teorema di De Morgan. Connettivi logici. Algebra dei circuiti.
Tabelle di verità. Forma canonica. (da [1] , Parte I cap. III
esclusi par. 12-13)
Elementi di architettura
-
Organi fondamentali degli elaboratori.
Elaboratori numerici. Unità di ingresso e uscita. Memoria centrale.
Memoria di massa. Unità logico-aritmetica. Processore. (da [1]
, Parte III cap. I)
-
Impianti informatici e reti telematiche.
(da [1] , Parte III cap. II)
-
Rappresentazione e codifica dei dati.
Il bit. La codifica. Rappresentazione dei dati nei registri. Codifica diretta
e indiretta. Codici ridondanti. Sistema di numerazione posizionale. Numerazione
binaria, ottale, esadecimale. Codice ASCII. (da [1] , Parte III cap.
III)
-
La rappresentazione dei numeri.
Sistema di rappresentazione. Overflow e underflow. Rappresentazione di
numeri naturali. Rappresentazione in segno e modulo. Virgola fissa e mobile.
(da [1] , Parte III cap. IV)
Elementi di sistemi operativi
e software di base
-
I sistemi operativi. Processo.
Applicazione sequenziali e concorrenti. Sistemi mono e multiprogrammati.
Linguaggi di comando. File system. (da [1] , Parte IV cap. I)
Elementi di programmazione in
C++ (da [1] , [2] , [3] )
-
Introduzione alla programmazione e
ai linguaggi (da [1] , Parte II cap. I, [3] )
-
I tipi semplici. Variabili e costanti.
Tipo intero, reale, carattere, booleano. (da [1] , Parte II cap. II,
[3] )
-
I tipi strutturati fondamentali.
Array. Allocazione degli array. Record. File. Union. Tipi definiti dall'utente.
Tipi enumerativi. Stringhe di caratteri. Manipolazione di stringhe di caratteri.
Operazioni di I/O su file. (da [1] , Parte II cap. III, [3] )
-
Le istruzioni semplici. Istruzioni
di ingresso. Istruzioni di uscita. Istruzioni di calcolo e assegnazione.
Funzioni. Prototipi di funzioni. Modalità di scambio dei parametri:
passaggio per valore e per riferimento. Parametri array. Istruzioni di
salto. (da [1] , Parte II cap. IV, [3] )
-
Le istruzioni strutturate. Costrutto
sequenza. Costrutti di selezione. Costrutti di iterazione. (da [1] ,
Parte II cap. V, [3] )
-
Esempi di programmi con strutture di
selezione (da [1] , Parte II cap. VI, [3] )
-
Esempi di programmi con cicli (da
[1] , Parte II cap. VII, [3] )
-
Esempi di programmi con array (da
[1] , Parte II cap. VIII, [3] )
-
Struttura dei programmi. Scope
e lifetime. Pre-elaborazione del testo origine. Direttive al pre-processore.
Struttura modulare dei programmi. (da [1] , Parte II cap. X, [3]
)
-
Utilizzo e creazione di librerie. Compilazione
separata. Inclusione multipla. (da [3] )
-
Algoritmi di ricerca lineare e binaria.
(da [3] )
-
Algoritmi di ordinamento per selezione,
per scambi, per inserzione. (da [3] )
Libri di testo
-
Elementi di
Informatica, B. Fadini, C. Savy, ed. Liguori
-
Guida al C++,
H. Schildt, ed. McGraw Hill
-
Materiale didattico
disponibile sul sito del corso: http://cds.unina.it/~schipani