ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
Τμήμα Ηλεκτρολόγων Μηχ. και Μηχ. Υπολογιστών

Προγραμματιστικές Τεχνικές
http://www.softlab.ntua.gr/~nickie/Courses/progtech/

3η Σειρά Ασκήσεων


8. Δυαδικό Δένδρο - Λεξικό

Σχεδιάστε ένα πρόγραμμα C με το οποίο:

Υπόδειξη: Αποφασίστε ρεαλιστική τιμή για το Μ. Το Ν να μην είναι μικρότερο του 10.

9. Παιχνίδι με τον Υπολογιστή: "Πέτρα - Ψαλίδι - Χαρτί"

Σχεδιάστε ένα πρόγραμμα C με το οποίο υλοποιείται το παιχνίδι "Πέτρα - Ψαλίδι - Χαρτί". Ο ένας παίκτης είναι ο χρήστης του προγράμματος και ο άλλος ο υπολογιστής (το πρόγραμμά σας).

Η φιλικότητα και οι πλήρεις οδηγίες προς τον χρήστη αποτελούν σημαντικό στοιχείο του προγράμματος. Το πρόγραμμα - παιχνίδι θα πρέπει να "παίζει" με τον χρήστη όσο θέλει ο χρήστης, να ενημερώνει τον χρήστη για το τρέχον αποτέλεσμα αλλά και για τα εκάστοτε συγκεντρωτικά αποτελέσματα.

Υποδείξεις:

10. Λαβύρινθος - Θησέας - Μινώταυρος

Ο Θησέας θέλει να μπει στον Λαβύρινθο και να σκοτώσει τον Μινώταυρο χρησιμοποιώντας τον μίτο που του έδωσε η Αριάδνη για να μη χάσει την είσοδο/έξοδο. Ο Λαβύρινθος εξομοιώνεται από έναν πίνακα Λ[10, 10]. Κάθε στοιχείο (θέση) του πίνακα αυτού μπορεί να είναι 'κενό', ή να περιέχει έναν από τους χαρακτήρες: 'Κ' (κλωστή=μίτος), 'Τ' (τοίχος), 'Μ' (Μινώταυρος). Θεωρούμε ότι ο Θησέας μπαίνει στον Λαβύρινθο από τη θέση Λ[1,1] και ψάχνει συστηματικά όλες τις θέσεις του Λ να βρει τον Μινώταυρο, ξετυλίγοντας τον μίτο (απ' όπου περνά βάζει 'Κ' στο αντίστοιχο στοιχείο του Λ). Στα όρια του Λ υπάρχει τοίχος ('Τ'), ενώ 'Μ' (ο Μινώταυρος) υπάρχει μόνο σε ένα στοιχείο του Λ (στόχος που πρέπει να επιτευχθεί).

Σχεδιάστε ένα πρόγραμμα C με το οποίο διαβάζεται από ένα αρχείο ο Λαβίρυνθος Λ[10,10], και υλοποιείται το ψάξιμο του Μινώταυρου μέσα στον Λαβύρινθο με αναδρομική συνάρτηση. Η συνάρτηση αυτή θα καλείται μία φορά με την πληροφορία της αρχικής θέσης Λ[1,1] του Θησέα.

Φροντίστε να γίνονται όλοι οι απαραίτητοι έλεγχοι ώστε να μη βγαίνει έξω από τα όρια ('Τ') του Λαβυρίνθου ο Θησέας, και να εξασφαλίζεται η ύπαρξη ενός στόχου (να σταματά το πρόγραμμα).

Υποδείξεις:

Τ
Τ
Τ
Τ
Τ
Τ
Τ
Τ
Τ
Τ
Τ
 
Τ
 
 
 
 
 
 
Τ
Τ
 
Τ
 
Τ
Τ
Τ
Τ
 
Τ
Τ
 
Τ
 
 
Μ
Τ
Τ
 
Τ
Τ
 
Τ
Τ
Τ
Τ
Τ
 
 
Τ
Τ
 
 
 
 
 
Τ
 
Τ
Τ
Τ
 
Τ
Τ
Τ
 
 
 
 
Τ
Τ
 
 
 
Τ
 
Τ
Τ
 
Τ
Τ
 
 
 
Τ
 
 
 
 
Τ
Τ
Τ
Τ
Τ
Τ
Τ
Τ
Τ
Τ
Τ

11. Προγραμματισμός φλοιού Unix

Σχεδιάστε ένα πρόγραμμα για τον φλοιό (shell) του Unix με το οποίο:

Από ένα αρχείο εισόδου (με κείμενο) παράγεται αρχείο εξόδου που περιέχει το σύνολο των λέξεων (κάθε λέξη μία φορά) του αρχείου εισόδου, αλφαβητικά ταξινομημένο (Λεξικό) και δίπλα σε κάθε λέξη τυπώνεται ο αριθμός εμφάνισής της. Τα αρχεία εισόδου και εξόδου πρέπει να είναι παραμετρικά.

Σχεδιάστε πρόγραμμα C το οποίο εκτελεί το προηγούμενο πρόγραμμα φλοιού.


Τελευταία αλλαγή: 29/06/2001 20:06.