• Non ci sono risultati.

Algoritmi e Programmazione Avanzata Compito di programmazione – 9 luglio 2007

N/A
N/A
Protected

Academic year: 2021

Condividi "Algoritmi e Programmazione Avanzata Compito di programmazione – 9 luglio 2007"

Copied!
1
0
0

Testo completo

(1)

Algoritmi e Programmazione Avanzata

Compito di programmazione – 9 luglio 2007

Tempo: 90 minuti, è possibile consultare libri o appunti.

Si scriva un programma in linguaggio C per risolvere il gioco denominato tetravex.

Si tratta di un gioco simile al domino. E' data una scacchiera 3x3 su cui sono posizionate delle tessere ciascuna delle quali contiene quattro numeri (a destra, a sinistra, in alto ed in basso). Le tessere devono essere riposizionate su una seconda scacchiera in modo che risultino affiancate in base alla concordanza dei numeri sui lati, cioè due tessere possono essere adiacenti solo se sul lato comune è presente lo stesso numero per entrambe. Le tessere non possono essere ruotate.

Si vedano ad esempio i due schemi qui riportati. A sinistra vi è il primo riquadro con le tessere da utilizzare per risolvere il gioco, in ordine sparso. A destra le tessere sono state disposte in un ordine diverso in modo da rispettare i vincoli del gioco.

Si supponga che lo schema iniziale sia rappresentato in un file di testo in cui ogni tessera è rappresentata da un sequenza di 4 numeri su una riga. Le tessere sono elencate da sinistra verso destra e dall'alto verso il basso.

Esempio relativo allo schema riportato nella figura di sopra:

7 2 0 1 8 0 4 2 3 8 4 4 3 6 5 4 6 9 3 0 5 6 3 8 8 4 6 8 4 4 3 9 0 9 8 4

N.B. Allo studente è richiesto di consegnare una copia dell’elaborato scritto al termine della presente prova d’esame.

Affinché lo scritto venga valutato lo studente dovrà realizzare su PC il programma funzionante ed inviare al docente (servetti@polito.it) [ ENTRO il 23.07.2007 ]:

il codice prodotto in aula e trascritto al computer in un file .c

una relazione con il codice sorgente del programma funzionante correttamente su cui vengono evidenziate le differenze rispetto alla versione redatta in classe (es. in rosso il codice aggiunto, barrato il codice cancellato, in blu il codice modificato) corredato da una breve descrizione della struttura del programma e dalle motivazioni per le modifiche apportate.

Nella mail specificare come oggetto la sigla del corso ed il proprio numero di matricola, nella forma: [APA-TO + matricola]. La data ed il luogo per la registrazione del voto verrà comunicata via email.

Riferimenti

Documenti correlati

Il grafo che rappresenta le connessioni della rete wireless ha come vertici i nodi della rete e come archi, le connessioni tra i nodi che si trovano ad una distanza inferiore ad L

Si mostri il contenuto della tabella di hash al termine della sequenza di inserimenti, assumendo che la sua dimensione sia pari a M=9 e che la funzione di hash utilizzata

Dato un asterisco, un secondo asterisco è ad esso adiacente se si trova in una delle 8 posizioni contigue (stessa riga subito a sinistra o a destra, stessa colonna in alto o in

Supponendo che ad ogni pasto il paziente debba mangiare esattamente M pietanze, si scriva una procedura in linguaggio C in grado di calcolare l’elenco delle M pietanze, compatibili

I Un "page-fault" è un segnale generato dalla CPU, con conseguente reazione del sistema operativo, quando un programma tenta di accedere ad una pagina di memoria virtuale

I Sistemi a memoria condivisa dove ogni singolo core ha accesso a tutta la memoria. I Sistemi a memoria distribuita dove ogni processore ha la sua memoria privata e comunica con

I Failure: An osservable incorrect program behaviour =⇒ a bug in the behaviour.... What is

I vi è alta probabilità di accedere nuovamente, entro un breve intervallo di tempo, ad una cella di memoria alla quale si è appena avuto accesso (es: ripetuto accesso alle