informatica:sol:laboratorio:esercitazioni:esercitazione1bis
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Prossima revisione | Revisione precedente | ||
| informatica:sol:laboratorio:esercitazioni:esercitazione1bis [25/02/2010 alle 10:08 (16 anni fa)] – creata Susanna Pelagatti | informatica:sol:laboratorio:esercitazioni:esercitazione1bis [25/02/2010 alle 10:22 (16 anni fa)] (versione attuale) – Susanna Pelagatti | ||
|---|---|---|---|
| Linea 2: | Linea 2: | ||
| - | Dove si approfondiscono alcune caratteristiche del C sequenziale. | + | Dove si approfondiscono alcune caratteristiche del C sequenziale: puntatori, puntatori a funzione, librerie e macro con parametri. |
| Linea 20: | Linea 20: | ||
| <code c> | <code c> | ||
| /** crea una lista vuota | /** crea una lista vuota | ||
| - | |||
| | | ||
| lista newList (void); | lista newList (void); | ||
| - | /** dealloca la lista */ | + | /** dealloca la lista |
| + | \param l la lista | ||
| + | */ | ||
| void freeList (lista l); | void freeList (lista l); | ||
| Linea 31: | Linea 32: | ||
| | | ||
| - | | ||
| | | ||
| */ | */ | ||
| Linea 45: | Linea 45: | ||
| </ | </ | ||
| - | Testare il funzionamento delle funzioni implementate con un opportuno main(). | + | Testare il funzionamento delle funzioni implementate con un opportuno |
| ===== Esercizio 2: map e reduce su liste ===== | ===== Esercizio 2: map e reduce su liste ===== | ||
| Linea 72: | Linea 72: | ||
| Realizzare una libreria che fornisce le operazioni su liste implementate negli esercizi 1 e 2. | Realizzare una libreria che fornisce le operazioni su liste implementate negli esercizi 1 e 2. | ||
| - | In C tipicamente per realizzare una libreria si difinisce un file .h con i prototipi ed i tipi messi a disposizione dalla libreria e si fornisce il codice in un opportuno file di libreria .a. | + | In C tipicamente per realizzare una libreria si difinisce un file '' |
| - | Nel nostro caso l' | + | Nel nostro caso l' |
| Procedere nel modo seguente: | Procedere nel modo seguente: | ||
| Linea 95: | Linea 95: | ||
| $ gcc -Wall -pedantic main.c -lList -L. | $ gcc -Wall -pedantic main.c -lList -L. | ||
| </ | </ | ||
| - | dove l' | + | dove l' |
| - | Definire due opportuni file lista.h e lista.c e testarli con il file mainListe.c usando il seguente Makefile. | + | . |
| - | ===== Esercizio 4: Marco con parametri, macro di somma ===== | + | ===== Esercizio 4: Macro con parametri, macro di somma ===== |
| - | Esercizio 3 Usare la perror() per stampare | + | Usare le macro con parametri per definire una macro che somma (operatore +) i propri argomenti |
| + | <code c> | ||
| + | #define SOMMA(X,Y,Z) ...... | ||
| + | </ | ||
| + | e testarla in un opportuno main. Valutare le differenze con una funzione di prototipo | ||
| + | <code c> | ||
| + | int SOMMA(int X,int Y, int Z); | ||
| + | </ | ||
| - | un tipo di dato astratto che realizza liste concatenate di interi. Tipicamente in C un TDA e' costituito da un file xxx.h che contiene la specifica del tipo e delle funzioni disponibili per operare su quel tipo e da una corrispondente file xxx.c che implementa la funzioni stesse. | ||
| - | Chi deve usare il tipo include il file .h e linka | ||
| + | ===== Esercizio 5: Macro con parametri, macro fattoriale ===== | ||
| - | + | Scrivere una macro con parametri che calcoli il fattoriale di un numero N, passato come parametro e ne stampi il risultato. | |
| - | + | <code c> | |
| - | ===== Esercizio 1: =====Esercizio 2.(macro con parametri) | + | |
| - | + | ||
| - | Scrivere una macro con parametri che calcoli il fattoriale di un numero N, passato come parametro e ne stampi il risultato. | + | |
| FATTORIALE(4+1) | FATTORIALE(4+1) | ||
| + | </ | ||
| La macro non deve fare assunzioni su come verranno passati i parametri. | La macro non deve fare assunzioni su come verranno passati i parametri. | ||
| - | Che accade annidando due chiamate della macro? | + | Che accade annidando due chiamate della macro? |
| + | <code c> | ||
| FATTORIALE(FATTORIALE(4+1)) | FATTORIALE(FATTORIALE(4+1)) | ||
| + | </ | ||
informatica/sol/laboratorio/esercitazioni/esercitazione1bis.1267092528.txt.gz · Ultima modifica: 25/02/2010 alle 10:08 (16 anni fa) da Susanna Pelagatti
