informatica:sol:laboratorio17:esercitazionib:esercitazione3
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
informatica:sol:laboratorio17:esercitazionib:esercitazione3 [05/03/2017 alle 08:09 (8 anni fa)] – creata Massimo Torquati | informatica:sol:laboratorio17:esercitazionib:esercitazione3 [06/03/2017 alle 10:34 (8 anni fa)] (versione attuale) – [Esercizio 3: somma da] Massimo Torquati | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
====== Esercitazione 3 ====== | ====== Esercitazione 3 ====== | ||
- | ===== Esercizio 1 ===== | + | ===== Esercizio 1: macro1 |
Scrivere una funzione macro ' | Scrivere una funzione macro ' | ||
< | < | ||
Linea 16: | Linea 16: | ||
Stampare il valore di ritorno di un programma che testa la macro ' | Stampare il valore di ritorno di un programma che testa la macro ' | ||
- | ===== Esercizio 2 ===== | + | ===== Esercizio 2: macro2 |
Dato il seguente codice main C: | Dato il seguente codice main C: | ||
< | < | ||
Linea 40: | Linea 40: | ||
| | ||
</ | </ | ||
+ | |||
+ | ===== Esercizio 3: somma da ===== | ||
+ | |||
+ | Scrivere un programma C che implementa una funzione somma con la seguente segnatura: | ||
+ | < | ||
+ | int somma(int x); | ||
+ | </ | ||
+ | |||
+ | La funzione ' | ||
+ | Il valore iniziale della somma deve essere INIT_VALUE che viene definito a compilazione utilizzando il flag del compilatore '' | ||
+ | |||
+ | Valutare se la funzione somma cosi' come definita e' rientrante ed eventualmente fornire una versione rientrante ' | ||
+ | |||
+ | ===== Esercizio 4: Makefile minimale ===== | ||
+ | |||
+ | Scrivere un '' | ||
+ | |||
+ | ===== Esercizio 5: matdump ===== | ||
+ | |||
+ | Scrivere un programma che prende in ingresso un intero (piccolo, es. < | ||
+ | Inizializzare tale matrice (M1) in modo arbitrario (ad esempio M1(i,j) = (i+j)/ | ||
+ | Fare quindi il dump della matrice sia in formato binario che in formato testuale su un file il cui nome è ' | ||
+ | Rileggere quindi la matrice dal file ' | ||
+ | da quella di partenza (chiamata M2). Al termine dell' | ||
+ | |||
+ | ===== ULTERIORI ESERCIZI DA FARE COME HOMEWORK ==== | ||
+ | |||
+ | ===== Esercizio 6: my word count ===== | ||
+ | |||
+ | Scrivere un programma che implementa una versione semplificata del comando Unix '' | ||
+ | limitatamente alle opzioni -l e -w ('' | ||
+ | Se non vengono passate opzioni, il programma stampa sia il numero | ||
+ | di linee che il numero di parole del/dei file i cui nomi sono passati come argomento | ||
+ | (mywc [-l -w] file1 [file2 file3 ....]). | ||
+ | |||
+ | |||
+ | ===== Esercizio 7: lista di parole ===== | ||
+ | |||
+ | Scrivere un programma C che dato un file testuale come argomento, inserisca tutte le parole del file in una lista ordinando le parole alfabeticamente. Ogni linea del file testuale puo' contenere piu' parole. Implementare la seguente interfaccia: | ||
+ | < | ||
+ | list_t *createList(); | ||
+ | int | ||
+ | int | ||
+ | void printList(list_t *L); // stampa tutta la lista | ||
+ | </ | ||
+ | |||
+ | Fornire i metodi di creazione e gestione della lista in una libreria statica (libList.a). Scrivere il Makefile per creare la libreria e generare l' | ||
informatica/sol/laboratorio17/esercitazionib/esercitazione3.1488701371.txt.gz · Ultima modifica: 05/03/2017 alle 08:09 (8 anni fa) da Massimo Torquati