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:27 (10 anni fa)] – [Esercizio 6] Massimo Torquati | informatica:sol:laboratorio15:esercitazionia:esercitazione1 [16/03/2015 alle 16:16 (10 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 86: | Linea 89: | ||
NOTA: A che cosa serve l' | NOTA: A che cosa serve l' | ||
===== 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 in formato network-byte-order | + | Dato A1 contenente A in formato network-byte-order (cioè formato big-endian, utilizzare |
- | riordinare i byte di A1 in host-byte-order (cioè formato little-endian per sistemi Intel/AMD based). | + | |
- | Dato il numero in formato esadecimale 0x1234567: | + | |
<code c> | <code c> | ||
high < | high < | ||
Linea 100: | 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 144: | 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.1424762846.txt.gz · Ultima modifica: 24/02/2015 alle 07:27 (10 anni fa) da Massimo Torquati