Registro delle lezioni/esercitazioni/laboratori ================================== I SETTIMANA =========================================== Lun 24/09/2012 11:30-12:30 2:0 h) lezione: Introduzione al corso. Organizzazione a moduli:Fondamenti di informatica e Programmazione a oggetti. Libri di testo e materiale didattico aggiuntivo. Rappresentazione dell'informazione. Testi. Numeri naturali. Conversioni di base. Mar 25/09/2012 15:30-17:30 (2:0 h) lezione: Rappresentazione dei numeri interi. Modulo e segno. Complemento a due. Mer 26/09/2012 9:30-11:30 (2:0 h) laboratorio AK: Scrivere, compilare, collegare ed eseguire programmi in ambiente linux. Merc 26/09/2012 14.30-16.30 (2:0 h) lezione: Visione funzionale di un calcolatore basato su un processore INTEL a 32 bit: spazio di memoria, spazio di I/O, processore (prof. Corsini) Gio 27/09/2012 13:30-15:30 (2:0 h) lezione: Modalità di indirizzamento a livello di linguaggio mnemonico per le istruzioni operative e per il controllo del flusso (Paolo Corsini) Ven 28/09/2012 11.30-13.30 (2:0 h) laboratorio LZ: Scrivere, compilare, collegare ed eseguire programmi in ambiente linux. ================================== II SETTIMANA =========================================== Lun 1/10/2012 15:30-17:30 (2:0 h) lezione: Rappresentazione dei numeri reali in virgola fissa. Precisione, risoluzioe e accuratezza. Rappresentazione dei numeri reali in virgola mobile. Numeri reali normalizzati. Standard IEE754-1985. Rappresentazione con polarizzazione dell'esponente. Approssimazione dello zero. Numeri reali con il massimo valore assoluto. Mar 2/10/2012 15:30-17:30 (2:0 h) lezione: Le principali istruzioni della famiglia dei processori Intel, a livello di linguaggio mnemonico (Paolo Corsini) Mer 3/10/2012 9:30-11:30 (2:0 h) laboratorio AK: Scrittura di un semplice programma che calcola la media aritmetica di tre numeri inseriti da tastiera. Debug del programma mediante Data Display Debugger (ddd). Mer 3/10/2012 13:30-15:30 (2:0 h) lezione: Concetto di algoritmo. Calcolatore come risolutore di algoritmi. Programmazione strutturata. Metalinguaggio per la descrizione di algoritmi. Formalismo grafico per la descrizione di algoritmi (flowchart). Gio 4/10/2012 14:30-16:30 (2:0 h) laboratorio LZ: Scrittura di un semplice programma che calcola la media aritmetica di tre numeri inseriti da tastiera. Debug del programma mediante Data Display Debugger (ddd). Ven 5/10/2012 11:30-13:30 (2:0 h) esercitazione: Esempi di semplici algoritmi. Esercizio: leggere n, visualizzare la somma dei primi di n numeri. Costrutti del linguaggio per allocazione di oggetti in memoria, istruzioni condizionali e ripetitive. ================================== III SETTIMANA =========================================== Lun 8/10/2012 13:30-15:30 (2:0 h) lezione: Il linguaggio assembler MinGW. Struttura di massima di un file sorgente. Direttive ed istruzioni. Dichiarazione di costanti ; Dichiarazione di variabili tipate scalari e vettoriali e loro indirizzamento. Etichettatura delle istruzioni ed uso delle etichette nelle istruzioni di salto e di chiamata a sottoprogramma; Esempi di programmi in linguaggio assembler (Paolo Corsini) Mar 9/10/2012 15:30-17:30 (2:0 h) esercitazione: Esempi di programmi in linguaggio assembler MinGW (Paolo Corsini) Mar 9/10/2012 16:30-17:30 (1:0 h) lezione: L'ambiente di sviluppo per il linguaggio assembler MinGW. Il debugger GDB (GnuDeBugger). (Paolo Corsini) Mer 3/10/2012 9:30-11:30 (2:0 h) laboratorio AK: Scrittura di un semplice programma che stampa se un intero inserito da tastiera è positivo, negativo o nullo. Scrittura di un programma legge da tastiera il numero di numeri da inserire e che visualizza a video la somma dei soli numeri positivi inseriti (istruzione if e ciclo while). Mer 3/10/2012 13:30-14:30 (2:0 h) lezione: Linguaggio di programmazione. Sintassi e semantica. Concetto di Grammatica. Derivazione sintatica. Grammatica BNF del C++. Concetti di base. Simboli terminali, Simboli non terminali (Categorie sintattiche), Simbolo iniziale della grammatica. Elementi lessicali (categorie sintattiche elementari): identificatori, keywords, letterali, operatori, separatori. Gio 4/10/2012 14:30-16:30 (2:0 h) laboratorio LZ: Scrittura di un semplice programma che stampa se un intero inserito da tastiera è positivo, negativo o nullo. Scrittura di un programma legge da tastiera il numero di numeri da inserire e che visualizza a video la somma dei soli numeri positivi inseriti (istruzione if e ciclo while). Ven 5/10/2012 11:30-13:30 (2:0 h) lezione: Concetto di tipo nei linguaggi di programmazione. Tipi fondamentali: tipo int, tipo unsigned e tipo double. Dominio dei valori ed operazioni. Associatività e precedenza degli operatori. Semplici esempi di programmi. ================================== IV SETTIMANA =========================================== Lun 15/10/2012 13:30-15:30 (2:0 h) Esercitazione di assembler. Come editare, assemblare e collegare un programma in assembler e come debuggarlo mediante Data Display Debugger (ddd). Mar 16/10/2012 15:30-17:30 (2:0 h) lezione: Tipi del linguaggio: Tipo bool, Tipo char e Tipi enumerati. Regola del corto circuito per espressioni con operatori logici. Regole di conversione implicita per operatori aritmetici ed assegnamento. Conversioni esplicite con static_cast. Mer 17/10/2012 9:30-11:30 (2:0 h) laboratorio AK: Sospensione della didattica (recuperato Venerdi' 19) Mer 17/10/2012 14:30-16:30 (2:0 h) lezione: Istruzioni espressione. Assegnamento. Assegnamento composto. Incremento e decremento unario prefisso e postfisso. Espressioni con operatori aritmetici e logici. Istruzioni condizionali: if e switch. Gio 18/10/2012 14:30-16:30 (2:0 h) laboratorio LZ: Esercizio: Risoluzione dell'equazione di secondo grado. Esrcizio: leggere n e m; calcolare la potemza m-esima di n. Ven 19/10/2012 11:30-12:30 (1:0 h) lezione: Instruzioni iterative: while, do ... while(), for. Istruzioni di salto: break; continue; return. Ven 19/10/2012 12:30-13:30 (1:0 h) esercitazione: Esercizio: stampare una matrice di asterischi. esercizio: Successione di Fibonacci. Leggere n, e visualizzare il termine n-esimo della successione. Maschere: shift a destra e a sinistra della costante 1. Operatore complemento. Ven 19/10/2012 16:30-18:30 (2:0 h) laboratorio AK: Esercizio: Risoluzione dell'equazione di secondo grado. Esrcizio: leggere n e m; calcolare la potemza m-esima di n. ==================================V SETTIMANA =========================================== Lun 22/10/2012 13:30-15:30 (2:0 h) esercitazione: Leggere un numero intero positivo n ed una base b compresa fra 2 e 9. Diagramma di flusso per calcolare la massima potenza della base minore o uguale di n. Diagramma di flusso per visualizzare a video la codifica in base b di n. Esercizi con i diagrammi di flusso per il calcolo del fattoriale e per la stampa a video di figure geometriche usando asterischi.