| LEZIONE 1: 15/10/2002 | Lezione introduttiva. Concetto di algoritmo. Principi di progettazione dei programmi. Introduzione all'architettura di un calcoltore. |
| LEZIONE 2: 17/10/2002 |
Architettura dell'elaboratore; modello di Von Neumann.
Rappresentazione delle informazioni nel calcolatore.
Istruzione macchina e linguaggio macchina (LM). Un programma in LM. |
| LEZIONE 3: 22/10/2002 |
Funzionamento elementare dell'elaboratore (esecuzione di un programma in LM).
Caricamento in memoria centrale (Loading) di un programma eseguibile. Linguaggi a basso livello e linguaggi a piu' alto livello. Assembly e assemblatore. Compilatore. Concetto di variabile nel linguaggi ad alto livello. |
| LEZIONE 4: 24/10/2002 |
Esecuzione simulata di un programma in linguaggio ad alto livello (C).
Componenti di un programma: dichiarazioni, istruzione di assegnazione, chiamata di funzione, espressioni. Concetto di funzione. |
| LEZIONE 5: 29/10/2002 |
Inclusione di file header (stdio.h).
Nozioni sul software di base nei sistemi di elaborazione; sistema operativo e file system. Cenni sulla compilazione. Linking (correlazione) e Loading (caricamento). Diagrammi di flusso. Espressioni. Approccio ai tipi di dato in C. Funzioni di I/O: printf e scanf. |
| ESERCITAZIONE AUTOGUIDATA IN LABORATORIO: 30/10/2002 | Prima esercitazione autoguidata (ea1). |
| LEZIONE 6: 31/10/2002 |
Esercizi (capitale, dalla ea1).
Operatori nelle espressioni e loro precedenza. Operatori di incremento e decremento e loro peculiarita'. Overloading (sovraccaricamento) e coercion (forzatura) nella valutazione delle espressioni. |
| LEZIONE 7: 5/11/2002 |
assegnazione come operatore;
Esercizio moquette.
Diramazioni del flusso di controllo per ottenere costrutti iterativi e condizionali. Costrutto condizionale. Condizione logica e sua valutazione. Istruzione if. Istruzione if-else. INVERSO.C If annidati e blocco di istruzioni. |
| ESERCITAZIONE AUTOGUIDATA IN LABORATORIO: 6/11/2002 | Seconda esercitazione autoguidata (ea2) (tranne ultime due sezioni). |
| LEZIONE 8: 7/11/2002 |
uso di = invece di == in una condizione (sbagliato).
Esercizi: ricerca del massimo tra un gruppo di variabili. Tecnica del massimo parziale. Conversioni implicite in assegnazione. Espressioni logiche e operatori logici. CHECKINP.C, MAX3AND.C, MAX3ANDB.C, MAX3ANDC.C, Tecnica della variabile flag. |
| LEZIONE 9: 12/11/2002 | Costrutti iterativi. Concetti e istruzione for. Schema generale di un ciclo. Tecnica del contatore. (Esercizi: CICLO1.C, CICLO2.C - vedi es.autoguid.3). Ciclo con numero non fissato di dati in input (Esercizi: CICLO3.C, CICLO4.C - vedi es.autoguid.3). |
| ESERCITAZIONE AUTOGUIDATA IN LABORATORIO: 13/11/2001 |
Terminazione della Seconda esercitazione autoguidata (ea2)
e inizio della Terza esercitazione autoguidata (ea3). |
| LEZIONE 10: 14/11/2002 |
Costrutti iterativi.
Tecnica di accumulazione su una sequenza di numeri
(SOMMA.C).
Tecnica del massimo parziale su una sequenza di numeri fissata (MAXPARZ.C). Cicli innestati (PITAGORA.C). Costrutto while. Massimo di una sequenza di numeri 999-terminata (MAX999WH.C). |
| LEZIONE 11: 19/11/2002 |
Conversione implicita ed esplicita (casting)
dei valori di una espressione.
Istruzione break. Cicli infiniti e cicli infiniti "controllati" (MEDBREAK.C). Esercizio Massimo Comun Duivisore (mcd.c in ea3). Costrutto do-while. Ambiguita' del costrutto if (AMBIGUIF). Introduzione all'uso delle funzioni C. Funzioni C. Funzioni definite dal programmatore. |
| ESERCITAZIONE AUTOGUIDATA IN LABORATORIO: 20/11/2002 | Completamento Terza esercitazione autoguidata (ea3). |
| LEZIONE 12: 21/11/2002 |
Funzioni C.
Unita' chiamante e unita' chiamata. Attivazione di una
funzione. Passaggio di parametri. Record di attivazione.
(FUNMAX.C).
Regole di visibilita'. Entita' TOP LEVEL. Tipo void e funzioni void. |
| LEZIONE 13: 26/11/2002 |
Il prototipo e la dichiarazione di funzione.
Riepilogo sulle regole di visibilita': identificatori uguali in contesti locali diversi. Variabili TOP LEVEL ed effetti collaterali su esse. Schema di scambio. Problema degli effetti collaterali su entita' non locali (parametri attuali in particolare). Soluzione al problema mediante uso di variabili top level. Introduzione all'idea di soluzione mediante passaggio di indirizzi. |
| ESERCITAZIONE AUTOGUIDATA IN LABORATORIO: 27/11/2002 |
Terminazione terza esercitazione (se necessario).
Quarta esercitazione autoguidata. |
| LEZIONE 14: 28/11/2002 |
Variabili puntatore.
Indirizzi e locazioni puntate.
(ESPER.C).
Schema di scambio con puntatori. Soluzione al problema degli effetti collaterali su parametri: passaggio di indirizzi. Funzione void per lo scambio. Esercizio su funzioni con parametri indirizzi: riduzione di CONTR1.C) |
| LEZIONE 15: 03/12/2002 |
Esercizio su funzioni con parametri indirizzi
(CONTR1.C)
e commissione sua modifica
(CONTR2.C).
Introduzione agli array Array ed uso di array (ARRMED.C, NEGOZI.C). |
| ESERCITAZIONE AUTOGUIDATA IN LABORATORIO: 04/12/2001 |
Termiinazione quarta esercitazione autoguidata (ea4.
Inizio quinta esercitazione autoguidata. |
| LEZIONE 16: 5/12/2002 |
Array ed uso di array
(NEGOZI.C).
Funzioni con parametri array (NEGFUN1.C). Funzione di lettura di un array (funzione con parametro array di output) (NEGFUN2.C, NEGFUN3.C). |
| LEZIONE 17: 10/12/2002 |
Ricerca in un array.
Rappresentazione di vettori matematici in C.
Prodotto righe per colonne tra vettori (funzione che restituisce il prodotto;
funzione che fornisce il prodotto come side effect).
Somma di vettori (funzione con parametro array di output).
Array bidimensionali. Rappresentazione di matrici in C. Stampa di una matrice. |
| ESERCITAZIONE AUTOGUIDATA IN LABORATORIO: 11/12/2002 | Quinta esercitazione autoguidata. |
| LEZIONE 18: 12/12/2002 |
Array bidimensionali.
Lettura di una matrice.
Media degli elementi di una matrice.
Somma di matrici.
(MATSOMM1.C,
MATSOMM2.C).
Condensazione (somma sulle righe di una matrice).
(CONDENS.C).
Prodotto tra due matrici.
Esercizio riepilogativo: centralina per la misurazione degli idrocarburi incombusti (MISUR.C). |
| ESERCITAZIONE AUTOGUIDATA IN LABORATORIO: XX/12/2002 ? | Continuazione quinta esercitazione autoguidata. |