FONDAMENTI DI INFORMATICA P - Z

ING-INF/05 - 9 CFU - 2° semestre

Docente titolare dell'insegnamento

LUCIA LO BELLO


Obiettivi formativi

Il corso ha la finalità di fornire conoscenze: - sulla rappresentazione dell’informazione nei calcolatori, sull’architettura dell’elaboratore, sul software di base, sul sistema operativo, sugli algoritmi, sui linguaggi di programmazione, su compilatori e interpreti e sulle reti di calcolatori - sulla programmazione strutturata e sulla programmazione in linguaggio C. Sviluppo di programmi in C per la gestione di strutture dati complesse (biblioteche, archivi, etc.).


Prerequisiti richiesti

Notazione esponenziale o scientifica. Arrotondamento dei valori numerici. Numeri reali. Operazioni con numeri reali. Potenza ad esponente razionale e reale. Logaritmo di un numero reale positivo. Concetto di funzione. Vettori e Matrici: Operazioni con vettori e matrici.



Frequenza lezioni

La frequenza non è richiesta, seppure fortemente consigliata, per sostenere sia le prove in itinere sia la prova d’esame.



Contenuti del corso

ITALIANO Rappresentazione dell'informazione Sistemi di numerazione e algoritmi di conversione. Aritmetica intera e in virgola mobile. Struttura di un elaboratore La struttura di un elaboratore: memoria centrale, unità centrale, funzionamento elementare dell'elaboratore. Sistema Operativo Traduzione ed esecuzione di programmi. Ambiente di Programmazione. Compilatori vs. interpreti. Sistema Operativo. Introduzione: Algoritmi e Programmi Elaborazione automatica dell'informazione. Algoritmi e programmi. Linguaggi di programmazione. Il progetto di un programma. Reti di Calcolatori e Internet Reti di calcolatori. Reti locali. Reti geografiche. Internet e le più diffuse applicazioni di rete. Il linguaggio di programmazione "C": sintassi e semantica Controllo: Assegnazione. Strutture di controllo. Tipi di dato in C: tipi semplici (int, char, float, double) e strutturati (array e stringhe, strutture). Il tipo puntatore. Le funzioni. Campo d'azione degli identificatori. Dichiarazioni e campo d'azione degli identificatori. Variabili locali, globali e statiche. Tecniche di legame dei parametri. La ricorsione. I File: file di testo e file binari. Primitive di accesso ai file. Algoritmi di ordinamento e ricerca Ricerca sequenziale e binaria. Algoritmi di ordinamento. Allocazione dinamica della memoria Strutture dati Liste, Pile, Code ed Alberi.



Testi di riferimento


Altro materiale didattico

http://lobello.dieei.unict.it/fdi1617



Programmazione del corso

 *ArgomentiRiferimenti testi
1*Rappresentazione dell'Informazione. Sistema numerico binario. Conversione tra sistemi numerici. Rappresentazione dei numeri interi, reali. Codice ASCII. Architettura e funzionamento elementare del calcolatore. Algebra di Boole.Sistema operativo.Dispense della docente. Bellini Guidi: Capitolo 1,2 
2*Algoritmi e programmi. Linguaggi di Programmazione.• Traduzione ed esecuzione dei programmi • Linker • Notazione grafica per la rappresentazione degli algoritmi: Diagrammi di flussoCapitolo 3,4. Dispense della Docente. 
3*Linguaggio C: Tipi di dato. Identificatori. Variabili. Classi di memorizzazione. Costanti. Operatori. Strutture di Controllo.Istruzioni di selezione, iterazione, salto,espressione, blocco. Preprocessore, include, defineCapitolo 5,6,7,8,9,23 
4*Array•Puntatori •Puntatori ad array •Stringhe •Strutture •Array di strutture • Lettura e scrittura di caratteri e stringhe •I/O formattato •File di testo • Allocazione dinamica della memoria •Puntatori a strutture Capitolo 10,13,14,16 
5*Funzioni • Istruzione return • Passaggio di Parametri • Ricorsione • Variabili locali, regole di visibilità e tempo di vitaCapitolo 11,15,17,19,20 
6 Puntatori a FunzioniCapitolo 20 
7*Algoritmi di ricerca e di ordinamento Cap.12 
8 Cenni sulla complessità computazionaleCap.12 
9*Strutture dati lineari: Liste, Pile, CodeCapitolo 21 Caso di studio V Dispense della docente 
10*Esercizi sugli argomenti svolti Caso di studio I, II, III, IV e V. Dispense della docente 
11 Sistema esadecimale, sistema ottale • Esecuzione delle istruzioni. Interrupt. • Politiche di gestione della CPU, della memoria centrale e di massa.Dispense della docente. Bellini Guidi: Capitolo 1,2 
12 Alberi.Cap.22. 
* Conoscenze minime irrinunciabili per il superamento dell'esame.

N.B. La conoscenza degli argomenti contrassegnati con l'asterisco è condizione necessaria ma non sufficiente per il superamento dell'esame. Rispondere in maniera sufficiente o anche più che sufficiente alle domande su tali argomenti non assicura, pertanto, il superamento dell'esame.


Verifica dell'apprendimento


MODALITÀ DI VERIFICA DELL'APPRENDIMENTO

La prova d'esame è composta da una prova scritta e una prova orale (opzionale). La prova scritta è rappresentata da un elaborato al calcolatore (obbligatorio). Lo studente che lo desideri può integrare la prova scritta con la prova orale da svolgere in un qualunque appello regolare (entro la fine dell’a.a.), per il superamento dell’esame. Prenotazione obbligatoria tramite portale di Ateneo.


PROVE IN ITINERE

Sono previste due prove in itinere durante il corso, delle quali la seconda è al calcolatore.Lo studente che abbia superato pienamente entrambe le prove in itinere, ossia ottenendo una valutazione complessiva di almeno 18/30, può accettare il voto proposto (media delle due prove) o, se lo desidera, può integrare le due prove in itinere con una prova orale da svolgere negli appelli regolari (entro la fine dell’a.a.), al fine di poter ottenere una migliore valutazione. Nel caso in cui una delle due prove sia superata pienamente (ossia, con voto maggiore di, o uguale a, 18/30) e l’altra con riserva (ossia, con voto superiore a 15/30, ma inferiore a 18/30) per il superamento dell’esame è prevista una prova integrativa, concordata con la docente (orale o al calcolatore) che va svolta negli appelli regolari (entro la fine dell’a.a.).


ESEMPI DI DOMANDE E/O ESERCIZI FREQUENTI

Relativamente al linguaggio C:

- Funzioni e passaggio di parametri.

- Ricorsione ed esempio di funzioni ricorsive.

- Costruzione di menu' a scelta multipla.

- Implementazione di liste.




Apri in formato Pdf English version