Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio16:esercitazionia:esercitazione3

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
informatica:sol:laboratorio16:esercitazionia:esercitazione3 [09/03/2016 alle 13:37 (9 anni fa)] Massimo Torquatiinformatica:sol:laboratorio16:esercitazionia:esercitazione3 [09/03/2016 alle 13:39 (9 anni fa)] (versione attuale) Massimo Torquati
Linea 4: Linea 4:
  
  
-===== Esercizio 1: my word count ===== 
  
-Scrivere un programma che realizzi l'equivalente del comando Unix ''wc''  +===== Esercizio 1: controllo errori =====
-limitatamente alle opzioni -l e -w (man 1 wc). Usare ''getopt'' per il parsing degli argomenti (man 3 getopt). +
-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 2: controllo errori =====+
  
 Scrivere una funzione macro 'CHECK_CALL_PTR' che prende due argomenti, un puntatore ed una stringa, e stampa utilizzando ''perror'' l'''errno'' e la stringa passata come argomento prima di uscire dal programma con ''EXIT_FAILURE''. Esempio di utilizzo: Scrivere una funzione macro 'CHECK_CALL_PTR' che prende due argomenti, un puntatore ed una stringa, e stampa utilizzando ''perror'' l'''errno'' e la stringa passata come argomento prima di uscire dal programma con ''EXIT_FAILURE''. Esempio di utilizzo:
Linea 28: Linea 21:
 Stampare il valore di ritorno di un programma che testa la macro 'CHECK_CALL_PTR' sia in caso di successo che di fallimento (ricordare che il valore di ritorno dell'ultimo comando bash eseguito si può avere accedendo alla variabile di ambiente bash ''?''). Stampare il valore di ritorno di un programma che testa la macro 'CHECK_CALL_PTR' sia in caso di successo che di fallimento (ricordare che il valore di ritorno dell'ultimo comando bash eseguito si può avere accedendo alla variabile di ambiente bash ''?'').
  
-===== Esercizio 3: matdump =====+===== Esercizio 2: matdump =====
  
 Scrivere un programma che prende in ingresso un intero (piccolo, es. <html><=512</html>), alloca in memoria una matrice di 512x512 elementi ''float'' in modo che siano contigui in memoria.  Scrivere un programma che prende in ingresso un intero (piccolo, es. <html><=512</html>), alloca in memoria una matrice di 512x512 elementi ''float'' in modo che siano contigui in memoria. 
Linea 36: Linea 29:
 da quella di partenza (chiamata M2). Al termine dell'operazione di lettura effettuare il confronto delle due matrici con la funzione 'confronta'. Tale funzione deve essere implementata in modo "generico" cioe' prende come argomenti un puntatore a funzione con tipo opportuno, il puntatore alle due matrici da confrontare e la size. Testare il programma passando alla funzione 'confronta' la funzione di libreria ''memcmp'' (man 3 memcmp). da quella di partenza (chiamata M2). Al termine dell'operazione di lettura effettuare il confronto delle due matrici con la funzione 'confronta'. Tale funzione deve essere implementata in modo "generico" cioe' prende come argomenti un puntatore a funzione con tipo opportuno, il puntatore alle due matrici da confrontare e la size. Testare il programma passando alla funzione 'confronta' la funzione di libreria ''memcmp'' (man 3 memcmp).
  
- +===== Esercizio 3: somma da =====
-===== Esercizio 4: somma da =====+
  
 Scrivere un programma C che implementa una funzione somma con la seguente segnatura:  Scrivere un programma C che implementa una funzione somma con la seguente segnatura: 
Linea 48: Linea 40:
  
 Dare anche una implementazione rientrante della funziona 'somma' ('somma_r'). Dare anche una implementazione rientrante della funziona 'somma' ('somma_r').
 +
 +===== Esercizio 4: my word count =====
 +
 +Scrivere un programma che realizzi l'equivalente del comando Unix ''wc'' 
 +limitatamente alle opzioni -l e -w (man 1 wc). Usare ''getopt'' per il parsing degli argomenti (man 3 getopt).
 +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 ....]).
 +
 +
informatica/sol/laboratorio16/esercitazionia/esercitazione3.1457530674.txt.gz · Ultima modifica: 09/03/2016 alle 13:37 (9 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki