Fondamenti di Informatica prof. Stefano Marrone a.a. 2016/2017

Fondamenti di Informatica
prof. Stefano Marrone
a.a. 2016/2017
Introduzione
Concetto di elaborazione e di algoritmo, esecutori di algoritmi. Algebra di Boole (cenni). Automi a stati finiti
e macchina di Turing. Modello funzionale di Von Neumann, programmi e dati di un elaboratore.
Informazione, valore e dato. Codifica e decodifica dei dati: codifica binaria, conversioni di basi decimalebinario (da e verso decimale). Conversioni binario-esadecimale.
Elementi di architettura
Architettura dei calcolatori: memoria, processore, I/O, bus. Memorie cache. Linguaggio Macchina ed
assemblativo. Compilazione ed interpretazione. Sistemi Operativi: funzionalità, struttura e sottoelementi. Il
sistema operativo Unix: principali comandi da terminale, editing di file, compilazione C sotto Unix.
Programmazione di base
Il linguaggio di programmazione C. I dati nella programmazione: concetto di variabile e tipo di dato. Tipo
intero (rappresentazione segno e modulo e rappresentazione complemento a due). Tipo reale: sistemi floating
point. Tipo booleano. Tipo caratttere. Dichiarazione ed uso delle variabili. Operatori logicoaritmetici.
Operatori di flusso di controllo: sequenza, selezione (IF, IF-ELSE, SWITCH), iterazioni (FOR, WHILE, DOWHILE).
Array
Concetto di array: i vettori come array monodimensionali. Le matrici come array bidimensionali. Algoritmi
notevoli: ricerca (sequenziale, binaria) e ordinamento (bubble sort).
Argomenti avanzati
Introduzione al concetto di puntatore: i puntatori in C: assegnazione ed uso dei puntatori a variabile
semplice. Allocazione dinamica di array monodimensionali. Gestione stringhe in C.
Procedure e funzioni
Concetto di sottoprogramma: procedure e funzioni. Schemi di passaggio dei parametri. Parametri di
ingresso/uscita. Ricorsione.
Libri di testo consigliati
● Harvey Deitel e Paul Deitel, C. Corso completo di programmazione - Apogeo
● Brian Kernighan e Dennis Ritchie, Il linguaggio C: principi di programmazione e manuale di
riferimento - Pearson
● Dino Mandrioli, Elementi di informatica - McGraw-Hill libri Italia
● Dino Mandrioli, Flavio De Paoli, Fondamenti di informatica Copertina - McGraw-Hill libri Italia
● Dispense del docente