informatica:sol:laboratorio15:esercitazionia:esercitazione1
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| informatica:sol:laboratorio15:esercitazionia:esercitazione1 [24/02/2015 alle 07:31 (11 anni fa)] – [Esercizio 6] Massimo Torquati | informatica:sol:laboratorio15:esercitazionia:esercitazione1 [16/03/2015 alle 16:16 (11 anni fa)] (versione attuale) – Massimo Torquati | ||
|---|---|---|---|
| Linea 6: | Linea 6: | ||
| In caso di difficoltà su aspetti del C, discuterne con il docente. | In caso di difficoltà su aspetti del C, discuterne con il docente. | ||
| - | ===== Esercizio 1 (sul debugging con gdb) ===== | + | ===== Illustrazione uso gdb ===== |
| - | Usare il debugger [[http:// | + | Vediamo come si usa il debugger [[http:// |
| - | (ce ne sono almeno 2): | + | - run ( r ), break < |
| + | |||
| + | ===== Esercizio 1 ===== | ||
| + | Usare il debugger gdb (o per chi vuole la sua interfaccia grafica [[http:// | ||
| <code c> | <code c> | ||
| #include < | #include < | ||
| Linea 49: | Linea 52: | ||
| ===== Esercizio 3 ===== | ===== Esercizio 3 ===== | ||
| - | Data una stringa con caratteri minuscoli e maiuscoli, trasformarla in una stringa con tutti i caratteri maiuscoli. NOTE: è possibile utilizzare le funzioni di libreria ' | + | Data una stringa con caratteri minuscoli e maiuscoli, trasformarla in una stringa con tutti i caratteri maiuscoli. NOTE: è possibile utilizzare le funzioni di libreria |
| Ad esempio usare la stringa: | Ad esempio usare la stringa: | ||
| <code c> | <code c> | ||
| Linea 74: | Linea 77: | ||
| const char *mystrcat(char *prima, ...); | const char *mystrcat(char *prima, ...); | ||
| </ | </ | ||
| - | che prenda un numero di stringhe variabili e che concateni | + | che prenda un numero di stringhe variabili e che concateni |
| Utilizzare il seguente main: | Utilizzare il seguente main: | ||
| <code c> | <code c> | ||
| Linea 87: | Linea 90: | ||
| ===== Esercizio 6 ===== | ===== Esercizio 6 ===== | ||
| Scrivere un programma che dato un intero A a 32bit (usare i tipi int16_t, int32_t definiti in # | Scrivere un programma che dato un intero A a 32bit (usare i tipi int16_t, int32_t definiti in # | ||
| - | Dato A1 contenente A in formato network-byte-order (cioè formato big-endian, utilizzare A1=htonl(A) -- vedi man 3 htonl), | + | Dato A1 contenente A in formato network-byte-order (cioè formato big-endian, utilizzare A1=htonl(A) -- vedi man 3 htonl), riordinare |
| - | riordinare i byte di A1 in host-byte-order (cioè formato little-endian per sistemi Intel/AMD based) senza usare la ' | + | |
| <code c> | <code c> | ||
| high < | high < | ||
| Linea 99: | Linea 101: | ||
| 3 | 3 | ||
| </ | </ | ||
| - | ===== Esercizio 7 ===== | + | ===== Esercizio 7 (binaryTree) |
| Scrivere un programma che, dato un array di N elementi interi, costruisca un albero binario di ricerca (cioè per ogni nodo dell' | Scrivere un programma che, dato un array di N elementi interi, costruisca un albero binario di ricerca (cioè per ogni nodo dell' | ||
| Linea 143: | Linea 145: | ||
| </ | </ | ||
| Se ci sono opzioni non riconosciute queste dovranno essere stampate a video | Se ci sono opzioni non riconosciute queste dovranno essere stampate a video | ||
| - | con il messaggio " | + | con il messaggio " |
| + | di libreria //atoi// (vedere man 3 atoi) o meglio ancora la funzione //strtol// (vedere man strtol). | ||
| Testare il programma con i seguenti casi (supponiamo che l' | Testare il programma con i seguenti casi (supponiamo che l' | ||
| <code c> | <code c> | ||
| cmdlineparsing -n 10 -m 11 -s 'ciao mondo' | cmdlineparsing -n 10 -m 11 -s 'ciao mondo' | ||
| - | cmdlineparsing -n 10 -h // deve stampare | + | cmdlineparsing -n 10 -h // deve stampare il messaggio di usage |
| cmdlineparsing -n 10 -k 12 // k e' una opzione non riconosciuta | cmdlineparsing -n 10 -k 12 // k e' una opzione non riconosciuta | ||
| cmdlineparsing ----n 10 -s-s 'ciao mondo' | cmdlineparsing ----n 10 -s-s 'ciao mondo' | ||
informatica/sol/laboratorio15/esercitazionia/esercitazione1.1424763073.txt.gz · Ultima modifica: 24/02/2015 alle 07:31 (11 anni fa) da Massimo Torquati
