Πέμπτη 4 Δεκεμβρίου 2014

Εργασία στην “Αλγοριθμική – Pascal”



  
Προγραμματίζω το παιχνίδι «Μάντεψε τον αριθμό»

Στα πλαίσια της εργασίας καλείστε τα δημιουργήσετε σε γλώσσα προγραμματισμού Pascal το παιχνίδι «Μάντεψε τον αριθμό» με τους παρακάτω κανόνες

  • Ο υπολογιστής διαλέγει στην τύχη έναν αριθμό από το 1 ως το 100
  • Ο χρήστης κάνει το πολύ πέντε προσπάθειες για να τον βρει
  • Κάθε φορά που ο χρήστης προτείνει έναν και δεν τον βρίσκει, ο υπολογιστής τον ενημερώνει αν θα πρέπει να βάλει μεγαλύτερο ή μικρότερο αριθμό από αυτόν που μάντεψε αποτυχημένα.
  • Αν τον βρει ο χρήστης (χρησιμοποιώντας μέχρι και πέντε προσπάθειες) κερδίζει αυτός αλλιώς ο υπολογιστής.

Παρακάτω ακολουθεί ο αλγόριθμος δημιουργίας του παιχνιδιού σε μορφή ψευδοκώδικα σε συνδυασμό με στοιχεία φυσικής γλώσσας (Ελληνικά). Μάλιστα προτείνονται δύο λύσεις ανάλογα με την δομή επανάληψης που μπορεί να χρησιμοποιηθεί:

1η Λύση με χρήση της Δομής «ΟΣΟ …. ΕΠΑΝΕΛΑΒΕ…»

ΑΡΧΗ
  • ΕΝΕΡΓΟΠΟΙΗΣΗ Γεννήτριας Τυχαίων Αριθμών
  • ΒΑΛΕ στην μεταβλητή NUMBER έναν τυχαίο αριθμό από το 1 ως το 100
  • ΖΗΤΑ από τον χρήστη να μαντέψει τον τυχαίο αριθμό και ΒΑΛΕ την επιλογή του στην μεταβλητή GUESS
  • ΒΑΛΕ τον αριθμό 1 στην μεταβλητή PROSPATHEIES που συμβολίζει το πλήθος των προσπαθειών του χρήστη
  • ΟΣΟ ο αριθμός του χρήστη GUESS είναι διάφορος του τυχαίου αριθμού NUMBER  ΚΑΙ οι προσπάθειες PROSPATHEIES είναι λιγότερες από πέντε  ΕΠΑΝΕΛΑΒΕ τα παρακάτω βήματα
ΑΡΧΗ ΕΠΑΝΑΛΗΨΗΣ
o   ΑΝ ο χρήστης διάλεξε μεγαλύτερο αριθμό GUESS από τον τυχαίο αριθμό NUMBER ΤΟΤΕ εκτύπωσε μήνυμα που να τον προτρέπει να επιλέξει μικρότερο αριθμό ΑΛΛΙΩΣ εκτύπωσε μήνυμα που να τον προτρέπει να επιλέξει μεγαλύτερο αριθμό
o   ΖΗΤΑ από τον χρήστη να μαντέψει έναν νέο αριθμό GUESS
o   ΑΥΞΗΣΕ τις προσπάθειες του PROSPATHEIES κατά ένα
ΤΕΛΟΣ ΕΠΑΝΑΛΗΨΗΣ
  • ΑΝ ο χρήστης μάντεψε σωστά ΤΟΤΕ εκτύπωσε μήνυμα Συγχαρητηρίων και ενημερώστε τον μετά από πόσες προσπάθειες τα κατάφερε ΑΛΛΙΩΣ εκτύπωσε μήνυμα Αποτυχίας
ΤΕΛΟΣ


2η Λύση με χρήση της Δομής «ΕΠΑΝΕΛΑΒΕ …. ΜΕΧΡΙ …»

ΑΡΧΗ
  • ΕΝΕΡΓΟΠΟΙΗΣΗ Γεννήτριας Τυχαίων Αριθμών
  • ΒΑΛΕ στην μεταβλητή NUMBER έναν τυχαίο αριθμό από το 1 ως το 100
  • ΒΑΛΕ τον αριθμό 0 στην μεταβλητή PROSPATHEIES που συμβολίζει το πλήθος των προσπαθειών του χρήστη
  • ΕΠΑΝΕΛΑΒΕ τα παρακάτω βήματα
o   ΖΗΤΑ από τον χρήστη να μαντέψει τον τυχαίο αριθμό και ΒΑΛΕ την επιλογή του στην μεταβλητή GUESS
o   ΑΥΞΗΣΕ τις προσπάθειες PROSPATHEIES κατά ένα
o   ΑΝ ο χρήστης διάλεξε μεγαλύτερο αριθμό GUESS από τον τυχαίο αριθμό NUMBER ΤΟΤΕ εκτύπωσε μήνυμα που να τον προτρέπει να επιλέξει μικρότερο αριθμό ΑΛΛΙΩΣ ΑΝ ο χρήστης διάλεξε μικρότερο αριθμό GUESS από τον τυχαίο αριθμό NUMBER ΤΟΤΕ εκτύπωσε μήνυμα που να τον προτρέπει να επιλέξει μεγαλύτερο αριθμό ΑΛΛΙΩΣ εκτύπωσε μήνυμα Συγχαρητηρίων και ενημέρωσέ τον μετά από πόσες προσπάθειες τα κατάφερε
ΜΕΧΡΙ ο χρήστης να μαντέψει σωστά τον αριθμό Ή οι προσπάθειες PROSPATHEIES να ξεπεράσουν τις πέντε
  • ΑΝ ο χρήστης ΔΕΝ μάντεψε σωστά ΤΟΤΕ εκτύπωσε μήνυμα Αποτυχίας
ΤΕΛΟΣ

Σκοπός της εργασίας είναι να μετατρέψετε έναν από τους παραπάνω αλγόριθμους σε πρόγραμμα Pascal που θα τρέχει χωρίς λάθη. Αναρτήστε στο blog τον πηγαίο κώδικα του προγράμματος σας. 

Ποια τακτική θα συμβουλεύατε να ακολουθήσουν οι χρήστες του παιχνιδιού σας ώστε να έχουν περισσότερες πιθανότητες να βρουν τον αριθμό; Αναρτήστε στο blog την προσωπική σας άποψη και προσπαθήστε να την αιτιολογήσετε αναζητώντας στο Διαδίκτυο την μαθηματική θεμελίωση.

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου