fbpx
Skip to main content

Linux Avanzato 2008-2009

Di più
16 Anni 7 Mesi fa #95290 da annalisa boccitto
Posto le tracce delle prove dell'appello straordinario, spero che siano utili:

LA08: SCRITTO-5: 12/1/20089 1) Disegnare un automa di Mealey che opera sull'alfabeto di ingresso {a, b, c} e sull'alfabeto di uscita {0, 1}. Tale automa produce il carattere 1 soltanto quando ha incontrato una stiinga costituita da tre simboli di ingresso tra loro diversi. Quando l'automa incontra una stringa di tale tipo ritorna nello stato iniziale.
Esempio:
caratteri di ingresso: . . . b b c c a b a a c b a . . .
caratteri di uscita: . . .0 0 0 0 0 1 0 0 0 1 0 . . .

2) Come viene eseguita la lettura di un byte dalla RAM in un processore dotato di cache hardware?

3) Scrivere un programma nel linguaggio assemblativo x86 con sintassi AT&T che esamina il contenuto di due variabili globali dato1 e dato2 da 32 bit e scrive 1 nel registro %eax se dato1 e' l'immagine speculare di dato2, 0 altrimenti.

4) Scrivere una funzione C chiamata linea_chiusa() che opera su 4 parametri: l'indirizzo iniziale di un array A[] di byte, la dimensione N dell'array, un indice x compreso tra 0 e N-1 ed un indice y compreso tra 0 e N-1. L'array A[] codifica una figura di N*N pixel che possono avere il valore '0' oppure '1'. I pixel contenuti in A[] rispettano i seguenti vincoli:
1) un pixel '1' puo' essere contiguo (orizzontalmente o verticalmente) ad al piu' due altri pixel '1'
2) un pixel '1' non puo' essere contiguo diagonalmente ad un altro pixel '1'

ll pixel individuato dalle coordinate (x, y) ha il valore '1'. La funzione restituisce 1 se la poligonale di pixel '1' contenente (x, y) e' una poligonale chiusa, 0 altrimenti.

5) Che tipo di mapping viene usato per creare le regioni heap e stack di un processo?

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
16 Anni 7 Mesi fa #95291 da annalisa boccitto
E questa è la traccia della prova di programmazione:

PROG3: PROVA DI PROGRAMMAZIONE DEL 13/1/2009
Scrivere due programmi C che comunicano tramite una pipe di tipo FIFO. Il primo programma (il produttore) crea una pipe di tipo FIFO ed inizia quindi un ciclo in cui:
1) legge un carattere da tastiera
2) lo scrive nella pipe
3) legge dalla pipe 1a sequenza di tre caratteri "ACK"
4) ritorna al passo 1)

Il secondo programma (il consumatore) esegue il seguente cic1o:
1) legge un carattere dalla pipe
2) ne fa l'eco sul monitor
3) scrive nella pipe la sequenza di tre caratteri "ACK"
4) ritorna al passo 1)

Il programma "produttore" termina quando l'utente invia il carattere 'q' da tastiera. Per provare il programma, lanciare "produttore" nel terminale xterm, aprire un secondo terminale xterm e lanciare da esso "consumatore".


In bocca al lupo! :wink:

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
16 Anni 7 Mesi fa #95295 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic Linux Avanzato 2008-2009

4) Scrivere una funzione C chiamata linea_chiusa() che opera su 4 parametri: l'indirizzo iniziale di un array A[] di byte, la dimensione N dell'array, un indice x compreso tra 0 e N-1 ed un indice y compreso tra 0 e N-1. L'array A[] codifica una figura di N*N pixel che possono avere il valore '0' oppure '1'. I pixel contenuti in A[] rispettano i seguenti vincoli:
1) un pixel '1' puo' essere contiguo (orizzontalmente o verticalmente) ad al piu' due altri pixel '1'
2) un pixel '1' non puo' essere contiguo diagonalmente ad un altro pixel '1'

ll pixel individuato dalle coordinate (x, y) ha il valore '1'. La funzione restituisce 1 se la poligonale di pixel '1' contenente (x, y) e' una poligonale chiusa, 0 altrimenti.

Oddio nn capisco molto bene il problema!
Ma l'array è monodimensionale? E come fa a rappresentare una figura N*N?

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
16 Anni 7 Mesi fa #95296 da annalisa boccitto

4) Scrivere una funzione C chiamata linea_chiusa() che opera su 4 parametri: l'indirizzo iniziale di un array A[] di byte, la dimensione N dell'array, un indice x compreso tra 0 e N-1 ed un indice y compreso tra 0 e N-1. L'array A[] codifica una figura di N*N pixel che possono avere il valore '0' oppure '1'. I pixel contenuti in A[] rispettano i seguenti vincoli:
1) un pixel '1' puo' essere contiguo (orizzontalmente o verticalmente) ad al piu' due altri pixel '1'
2) un pixel '1' non puo' essere contiguo diagonalmente ad un altro pixel '1'

ll pixel individuato dalle coordinate (x, y) ha il valore '1'. La funzione restituisce 1 se la poligonale di pixel '1' contenente (x, y) e' una poligonale chiusa, 0 altrimenti.

Oddio nn capisco molto bene il problema!
Ma l'array è monodimensionale? E come fa a rappresentare una figura N*N?


Sì, in effetti è una matrice N*N :wink: e la figura è rappresentata su questa specie di scacchiera.

Una piccola nota: il vincolo 2 può essere violato a volte, ad esempio quando ci sono degli angoli:
ad es.

0 0 0 0
1 1 1 0
0 0 1 0
0 0 1 0

(questo l'ha chiarito lui durante la prova)

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
16 Anni 7 Mesi fa #95297 da annalisa boccitto

Oddio nn capisco molto bene il problema!


Sfido io, la traccia l'ha scritta lui! :)

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
16 Anni 7 Mesi fa #95299 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic Linux Avanzato 2008-2009

non se n'è venuti mai a capo (ne se ne verrà mai)...

beh.. si spera che vada in pensione entro i 90 almeno..

Si prega Accedi o Crea un account a partecipare alla conversazione.