Programma del corso di C
I partecipanti al corso avranno a disposizione dei computer,
dotati di compilatori C, sui quali sperimenteranno direttamente
con semplici esercizi (in corsivo nel testo seguente)
le nozioni apprese. Il corso consiste in
tre sezioni. Ai partecipanti è richiesto di conoscere
i concetti di file e directory, di saper usare un
navigatore grafico per la gestione dei file (tipo explorer di
windows), di saper utilizzare un semplice editor di testi (tipo
notepad di windows). E soprattutto di non scoraggiarsi alla prima
difficoltà e di avere pazienza con l'"insegnante".
Sezione A: Elementi di base
A1: Compilare un programma, input e output, alcuni
tipi di dati.
- Linguaggi e compilatori. Compilare ed eseguire un
programma.
- Funzioni printf() e scanf().
- Variabili e tipi di dato: int, long, float, double, puntatori.
- Organizzazione fisica di un dato in memoria.
Cosa succede se sbaglio a passare dei parametri?
- Considerazioni sul concetto di programmazione
A2: Controllare l'esecuzione.
- Condizioni: if... else.Applicazione alla geometria.
- Salti: goto. Salti condizionati: if ... goto.
Condizione di errore. Calcolo del modulo.
- Cicli con if ... goto: scrivere i numeri da 1 a 10.
Uso di while. Uso di for.
- Calcolo di un integrale con for.
- Notazioni abbreviate: += , ++. Significato di ";"
A3: Definire e usare le funzioni.
- Concetto di funzione.Usare e scrivere funzioni.
- Prototipi.
- Ricorsività: calcolo del fattoriale.
- Come viene fisicamente gestita la ricorsività
- Direttive al preprocessore: #include e #define.
A4: Vettori e matrici.
- Vettori e matrici.Crivello di Eratostene.
- Puntatori. Funzioni malloc() e calloc().
- Bubble sort.
- Uso di &, *, [].
A5: Ancora puntatori!.
- Un po' di precisazioni sui puntatori.
A6: Usare il programma giusto.
- Uso di gnuplot.
- Scrivere uno script per gnuplot.
- Usare gnuplot e un programma C per ottenere un grafico.
Sezione B: Analisi dei dati e interazione con gli strumenti.
B1: Segnali monodimensionali.
- Leggere e scrivere un file .wav.
- Valutare l'ampiezza quadratica media.
- Operare sul segnale: distorsione, modulazione.
- Generare una forma d'onda e un rumore.
B2: FFT.
- Trasformata di Fourier e FFT.
- Convoluzione e filtraggio di frequenze.
- Spettro di potenza e correlazione.
B3: Immagini (segnali bidimensionali).
- Leggere e scrivere immagini in formato .pgm, .tif e .bmp.
- Modulare l'intensità e ritagliare parti di immagine.
- Spettro di potenza bidimensionale.
B4: Immagini .
- Trasformata bidimensionale.
- Filtraggio.
- Riconoscimento di oggetti in movimento.
B5: Uso dei driver.
- Uso delle funzioni open(), close(), read(), write().
- Esercizio: uso della porta parallela.
- Funzione ioctl(): operazioni insolite per periferiche particolari.
- Uso di ioctl() per gestire la porta parallela.
Torna alla pagina precedente.