FONDAMENTI DI INFORMATICA P - Z

Anno accademico 2017/2018 - 1° anno
Docente: Lucia LO BELLO
Crediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 225 ore d'impegno totale, 138 di studio individuale, 42 di lezione frontale, 45 di esercitazione
Semestre:
ENGLISH VERSION

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

  • A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4a Ed o 5a Ed., McGraw-Hill
  • Dispense della Docente


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.


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.