Τώρα είναι Παρ 29 Μαρ 2024 02:21 am

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 2 Δημοσιεύσεις ] 
Συγγραφέας Μήνυμα
 Θέμα δημοσίευσης: Κρεμάλα
ΔημοσίευσηΔημοσιεύτηκε: Τρί 15 Απρ 2003 10:40 pm 
Χωρίς σύνδεση
Διαχειριστής

Εγγραφή: Παρ 28 Φεβ 2003 06:10 pm
Δημοσιεύσεις: 84
Syntax: [ Download ] [ Hide ]
! ===============================================================
! Να γίνει πρόγραμμα για το παιχνίδι "κρεμάλα", το οποίο:
!   Α) Να ζητάει από τον πρώτο παίκτη
!        - το πλήθος Ν των γραμμάτων μιας κρυφής λέξης (Ν<=20).
!        - τα Ν γράμματα αυτής της κρυφής λέξης.
!   Β) Από το δεύτερο παίκτη να ζητάει συνεχώς το γράμμα που
!      επιλέγει και να τον ενημερώνει για τις προσπάθειες που
!      έχει κάνει, μέχρι αυτός να βρεί όλα τα γράμματα της κρυφής
!      λέξης.
! ===============================================================


ΠΡΟΓΡΑΜΜΑ ΚΡΕΜΑΛΑ

ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: λέξη[20], Λ[20], γράμμα
  ΑΚΕΡΑΙΕΣ: Ν, i, προσπάθειες
  ΛΟΓΙΚΕΣ: βρέθηκε

ΑΡΧΗ

  ΓΡΑΨΕ 'Πόσα γράμματα έχει η λέξη (μέχρι 20);'
  ΔΙΑΒΑΣΕ Ν

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
    ΓΡΑΨΕ 'Δώσε το ', i, 'ο γράμμα της λέξης:'
    ΔΙΑΒΑΣΕ λέξη[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! Η επόμενη "ΓΙΑ" χρησιμοποιείται για να κρυφτεί η ζητούμενη λέξη
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 25
    ΓΡΑΨΕ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
    Λ[i] <-- '-'
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  προσπάθειες <-- 0

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

    ΓΡΑΨΕ_ 'Η λέξη που ψάχνεις είναι η: '
    ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
      ΓΡΑΨΕ_ Λ[i]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ      
    ΓΡΑΨΕ

    ΓΡΑΨΕ 'Ποιο γράμμα επιλέγεις; '
    ΔΙΑΒΑΣΕ γράμμα
    προσπάθειες <-- προσπάθειες+1  

    ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
      ΑΝ λέξη[i]=γράμμα ΤΟΤΕ
        Λ[i] <-- γράμμα
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

    βρέθηκε <-- ΑΛΗΘΗΣ
    i <-- 1
    ΟΣΟ (i<=Ν) ΚΑΙ (βρέθηκε=ΑΛΗΘΗΣ) ΕΠΑΝΑΛΑΒΕ
      ΑΝ Λ[i]='-' ΤΟΤΕ
        βρέθηκε <-- ΨΕΥΔΗΣ
      ΤΕΛΟΣ_ΑΝ
      i <-- i+1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

    ΓΡΑΨΕ 'Προσπάθειες: ', προσπάθειες

  ΜΕΧΡΙΣ_ΟΤΟΥ βρέθηκε=ΑΛΗΘΗΣ

  ΓΡΑΨΕ 'Συγχαρητήρια! Βρήκες την κρυφή λέξη: '
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
    ΓΡΑΨΕ_ Λ[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΚΡΕΜΑΛΑ

 


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
 Θέμα δημοσίευσης: Με μια άλλη ματιά
ΔημοσίευσηΔημοσιεύτηκε: Πέμ 22 Ιαν 2004 04:40 pm 
Χωρίς σύνδεση

Εγγραφή: Δευτ 17 Νοέμ 2003 03:26 pm
Δημοσιεύσεις: 2
Τοποθεσία: Θεσσαλονίκη
Αγαπητέ SpiN,
Η άσκηση με την κρεμάλα είναι πραγματικά πολύ καλή και μάλιστα προκαλεί επιπρόσθετη ευχαρίστηση η επίλυσή της. Για εμένα προσωπικά ήταν το πρώτο παιχνίδι που προγραμμάτισα (ελπίζω όχι και το τελευταίο! :) ).
Η λύση που σκέφτηκα περιπλέκει λίγο τα πράγματα, περισσότερο ίσως από ότι θα έπρεπε. Πιστεύω όμως πως θα ενδιαφέρει αυτούς που θέλουν να δούνε κάτι διαφορετικό και να κάνουν κάτι περισσότερο ακόμα κι αν αυτό ξεφεύγει από τα πλαίσια του πανελλαδικού μαθήματος.
Το πρόγραμμα που παραθέτω δίνει τη δυνατότητα στον χρήστη που εισάγει την κρυφή πρόταση να καθορίσει και τον αριθμό των προσπαθειών που έχει ο δεύτερος χρήστης για να τη βρεί. Παράλληλα δίνει μερικές επιπλέον πληροφορίες στο χρήστη-παίκτη (όπως τα γράμματα που ο χρήστης έχει ήδη πληκτρολογήσει, τις προσπάθειες που του απομένουν κλπ).
Syntax: [ Download ] [ Hide ]
ΠΡΟΓΡΑΜΜΑ ΚΡΕΜΑΛΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: ΓΡΑΜΜΑ[20], ΔΟΘΕΝ[20], Χ, Κ[10]
  ΑΚΕΡΑΙΕΣ: Ι, Ν, Μ, Π, ΠΜΑΧ, Ζ
  ΛΟΓΙΚΕΣ: FLAG, FLAG2
! Στη μεταβλητή "ΓΡΑΜΜΑ" αποθηκεύονται τα γράμματα της κρυμμένη λέξη, στη "ΔΟΘΕΝ"
! αποθηκεύονται τα γράμματα της κρυμμένης που βρίσκει ο παίκτης και στην "Κ" αποθηκεύ-
! ονται τα γράμματα που δίνονται από τον παίκτη στην προσπάθεια εύρεσης της κρυμμένης
! λέξης.
ΑΡΧΗ
  ΓΡΑΨΕ 'ΠΛΗΚΤΡΟΛΟΓΗΣΕ ΤΟ ΠΛΗΘΟΣ ΤΩΝ ΓΡΑΜΜΑΤΩΝ ΤΗΣ ΛΕΞΗΣ'
  ΔΙΑΒΑΣΕ Ν
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
    ΓΡΑΨΕ 'ΠΛΗΚΤΡΟΛΟΓΗΣΕ ΤΟ ' , Ι, ' ΓΡΑΜΜΑ ΤΗΣ ΛΕΞΗΣ ΣΟΥ'
    ΔΙΑΒΑΣΕ ΓΡΑΜΜΑ[Ι]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'ΠΛΗΚΤΡΟΛΟΓΗΣΕ ΤΟ ΜΕΓΙΣΤΟ ΠΛΗΘΟΣ ΠΡΟΣΠΑΘΕΙΩΝ ΠΟΥ ΜΠΟΡΕΙ ΝΑ ΚΑΝΕΙ Ο ΠΑΙΚΤΗΣ(=<10)'
  ΔΙΑΒΑΣΕ ΠΜΑΧ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 35
    ΓΡΑΨΕ ' '
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
    ΔΟΘΕΝ[Ι] <-- '-'
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Η ΖΗΤΟΥΜΕΝΗ ΛΕΞΗ ΕΧΕΙ ', Ν, ' ΓΡΑΜΜΑΤΑ ΚΑΙ ΕΣΥ ΕΧΕΙΣ ', ΠΜΑΧ, ' ΠΡΟΣΠΑΘΕΙΕΣ ΝΑ ΤΗ ΒΡΕΙΣ'
  Μ <-- 0
  Π <-- 0
  Ζ <-- 0
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'ΠΛΗΚΤΡΟΛΟΓΗΣΕ ΓΡΑΜΜΑ'
    ΔΙΑΒΑΣΕ Χ
    Π <-- Π+1
    ! Το τμήμα του αλγορίθμου που ακολουθεί, αποθηκεύει τα διαφορετικά γράμματα
    ! που δόθηκαν από το χρήστη. Δεν επιτρέπει την αποθήκευση δυο φορές του ίδιου γράμματος.
    FLAG <-- ΑΛΗΘΗΣ
    ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Π
      ΑΝ (Κ[Ι]=Χ) ΤΟΤΕ
        FLAG <-- ΨΕΥΔΗΣ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ (FLAG=ΑΛΗΘΗΣ) ΤΟΤΕ
      Ζ <-- Ζ+1
      Κ[Ζ] <-- Χ
    ΤΕΛΟΣ_ΑΝ
    ! Καθαρίζεται ή οθόνη για να εμφανιστούν τα αποτελέσματα.
    ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 35
      ΓΡΑΨΕ ' '
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ! Στο παρακάτω τμήμα του αλγορίθμου ελέγχεται αν ο παίκτης βρήκε κάποιο γράμμα της
    ! κρυμμένης φράσης ή όχι και ποιο. Ελέγχεται επίσης αν το βρήκε αυτή τη φορά ή
    ! αν πληκτρολόγησε γράμμα που έχει ήδη βρει.
    FLAG2 <-- ΑΛΗΘΗΣ
    ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
      ΑΝ (Χ=ΓΡΑΜΜΑ[Ι]) ΤΟΤΕ
        ΑΝ (Χ<>ΔΟΘΕΝ[Ι]) ΤΟΤΕ
          FLAG2 <-- ΨΕΥΔΗΣ
          ΔΟΘΕΝ[Ι] <-- Χ
          Μ <-- Μ+1
          ΓΡΑΨΕ 'ΒΡΕΘΗΚΕ ΤΟ ', Ι, ' ΓΡΑΜΜΑ ΤΗΣ ΛΕΞΗΣ'
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ FLAG2 ΤΟΤΕ
      ΓΡΑΨΕ 'ΔΕΝ ΒΡΕΘΗΚΕ ΓΡΑΜΜΑ ΤΗΣ ΛΕΞΗΣ'
    ΤΕΛΟΣ_ΑΝ
    ! Με αυτόν τον τρόπο ο παίκτης βλέπει σε ποιες θέσεις είναι τα γράμματα που έχει βρει και
    ! πόσα του απομένουν.
    ΓΡΑΨΕ 'Η ΖΗΤΟΥΜΕΝΗ ΛΕΞΗ ΕΧΕΙ ΩΣ ΕΞΗΣ:'
    ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ν
      ΓΡΑΨΕ ΔΟΘΕΝ[Ι]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'ΤΑ ΓΡΑΜΜΑΤΑ ΠΟΥ ΕΧΟΥΝ ΗΔΗ ΔΟΘΕΙ ΕΙΝΑΙ: '
    ! Βλέπει επίσης ποια γράμματα έχει ήδη πληκτρολογήσει και πόσες προσπάθειες του απομένουν.
    ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ Ζ
      ΓΡΑΨΕ Κ[Ι]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'ΚΑΙ ΑΠΟΜΕΝΟΥΝ ΑΛΛΕΣ ', (ΠΜΑΧ-Π), ' ΠΡΟΣΠΑΘΕΙΕΣ'
  ΜΕΧΡΙΣ_ΟΤΟΥ ((Μ>=Ν) Η (Π>=ΠΜΑΧ))
  ΑΝ (Μ=Ν) ΤΟΤΕ
    ΓΡΑΨΕ 'ΣΥΓΧΑΡΗΤΗΡΙΑ, Η ΖΗΤΟΥΜΕΝΗ ΛΕΞΗ ΒΡΕΘΗΚΕ ΜΕ ', Π, ' ΠΡΟΣΠΑΘΕΙΕΣ.'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'GAME OVER'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 2 Δημοσιεύσεις ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
cron
Προβολές: