Fondamenti di Informatica - Ingegneria per l'Ambiente e il Territorio - A.A. 97/98

- Settima esercitazione in laboratorio -

 

Si scriva un programma in C che, presa in ingresso la rappresentazione di un labirinto, cerchi un percorso dall’ingresso all’uscita, restituendo all’utente un opportuno messaggio riguardo l’esistenza di tale percorso.

Nello svolgere l’esercizio si consiglia di tener conto di quanto segue:

  1. Il labirinto può essere rappresentato tramite una matrice binaria, in cui il valore 1 corrisponde a un "muro" e il valore "0" a uno spazio percorribile.
  2. Il programma, all’avvio, legge la rappresentazione di un labirinto, (ad es., usando una variabile globale opportunamente inizializzata, o leggendo un file, o, ancora, chiedendo all’utente di digitarne la rappresentazione).
  3. Dopo il labirinto, vengono lette, e verificate, le coordinate dell’ingresso e dell’uscita.
  4. Il programma può essere molto facilmente scritto sfruttando opportunamente la ricorsione, in maniera simile a quanto fatto per risolvere il gioco, discusso a lezione giovedì 7 maggio u.s., in cui è richiesto di riempire una matrice di ordine N con gli interi da 1 a N2 rispettando alcune regole prefissate.
  5. È opportuno rappresentare sullo schermo il labirinto e i percorsi "provati" dal sistema, utilizzando a tale scopo la funzione di libreria non-ANSI gotoxy(int x, int y), prototipata in <conio.h>.