FONDAMENTI DI INFORMATICA P - Z
Anno accademico 2017/2018 - 1° annoCrediti: 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: 2°
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
* | Argomenti | Riferimenti 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 flusso | Capitolo 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, define | Capitolo 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 vita | Capitolo 11,15,17,19,20 |
6 | Puntatori a Funzioni | Capitolo 20 | |
7 | * | Algoritmi di ricerca e di ordinamento | Cap.12 |
8 | Cenni sulla complessità computazionale | Cap.12 | |
9 | * | Strutture dati lineari: Liste, Pile, Code | Capitolo 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. |
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.