informatica:sol:laboratorio18:esercitazionib:esercitazione7
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Prossima revisione | Revisione precedente | ||
| informatica:sol:laboratorio18:esercitazionib:esercitazione7 [12/04/2018 alle 13:33 (8 anni fa)] – creata Massimo Torquati | informatica:sol:laboratorio18:esercitazionib:esercitazione7 [30/04/2019 alle 04:58 (7 anni fa)] (versione attuale) – Massimo Torquati | ||
|---|---|---|---|
| Linea 4: | Linea 4: | ||
| Realizzare una shell **rudimentale** che legge un comando con eventuali parametri dallo standard input e ne invoca l' | Realizzare una shell **rudimentale** che legge un comando con eventuali parametri dallo standard input e ne invoca l' | ||
| - | Il formato dei comandi accettati dalla shell e' | + | Il formato dei comandi accettati dalla shell è molto semplice e non non prevede metacaratteri, |
| + | |||
| + | ===== Esercizio 1bis ===== | ||
| + | |||
| + | Completare il codice seguente in modo che il programma calcoli i primi 13 numeri di Fibonacci utilizzando per ogni chiamata '' | ||
| + | |||
| + | < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | /* | ||
| + | * Calcola ricorsivamente il numero di Fibonacci dell' | ||
| + | * La soluzione deve forkare un nuovo processo che esegue una sola | ||
| + | * chiamata di ' | ||
| + | * Se doPrint e' 1 allora la funzione lo stampa, altrimenti il | ||
| + | * numero calcolato va passato al processo padre. | ||
| + | */ | ||
| + | static void doFib(int n, int doPrint); | ||
| + | |||
| + | int main(int argc, char *argv[]) { | ||
| + | // questo programma puo' calcolare i numeri di Fibonacci solo fino a 13. | ||
| + | const int NMAX=13; | ||
| + | int arg; | ||
| + | |||
| + | if(argc != 2){ | ||
| + | fprintf(stderr, | ||
| + | return EXIT_FAILURE; | ||
| + | } | ||
| + | arg = atoi(argv[1]); | ||
| + | if(arg < 0 || arg > NMAX){ | ||
| + | fprintf(stderr, | ||
| + | return EXIT_FAILURE; | ||
| + | } | ||
| + | doFib(arg, 1); | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| ===== Esercizio 2 ===== | ===== Esercizio 2 ===== | ||
informatica/sol/laboratorio18/esercitazionib/esercitazione7.1523539995.txt.gz · Ultima modifica: 12/04/2018 alle 13:33 (8 anni fa) da Massimo Torquati
