Αποστολέας Θέμα: Σπάσιμο Τριψήφιου Κωδικού  (Αναγνώστηκε 377 φορές)

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 483
  • There can be only one...may it be AEPP.
Σπάσιμο Τριψήφιου Κωδικού
« στις: 07 Οκτ 2017, 04:56:00 μμ »
Γειά σε όλους.

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

Ένα αρχείο που περιέχει χρήσιμες πληροφορίες είναι «κλειδωμένο» με κωδικό. Ο κωδικός είναι τριψήφιος αριθμός από 111 μέχρι 999 και ισχύει ότι x < y < z, καθώς και ότι ο x είναι άρτιος και ο z περιττός. Να γραφεί πρόγραμμα το οποίο θα εμφανίζει όλους τους πιθανούς κωδικούς.

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

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 4296
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #1 στις: 07 Οκτ 2017, 08:13:20 μμ »
Χωρίς έλεγχο, οπότε μπορεί να μου ξέφυγε κάτι:
Κώδικας: Text
  1. ΓΙΑ x ΑΠΟ 2 ΜΕΧΡΙ 8 ΜΕ_ΒΗΜΑ 2
  2.   ΓΙΑ y ΑΠΟ x+1 ΜΕΧΡΙ 9
  3.     ΓΙΑ z ΑΠΟ y + y mod 2 + 1 ΜΕΧΡΙ 9 ΜΕ_ΒΗΜΑ 2
  4.       ΓΡΑΨΕ 100*x + 10*y + z
  5.     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  6.   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  7. ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 203
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #2 στις: 08 Οκτ 2017, 12:56:33 πμ »
Σίγουρα έχει λάθος!
Διότι αν x=8 τότε y=9 οπότε ο z δεν μπορεί να είναι μεγαλύτερος του y, αφού μπορεί να είναι μέχρι 9 άρα το y<z δεν θα ισχύει
άρα η διόρθωση είναι στο ΓΙΑ x ΑΠΟ 2 ΜΕΧΡΙ 6 ΜΕ_ΒΗΜΑ 2

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2083
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #3 στις: 08 Οκτ 2017, 12:39:13 μμ »
Αυτό μάλλον βελτίωση είναι, όχι λάθος...
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

odysseas

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 824
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #4 στις: 08 Οκτ 2017, 03:15:22 μμ »
Εγώ προτείνω ο Άλκης ν' αρχίσει να δίνει μικρές επιταγές για κάθε λάθος που εντοπίζεται στον κώδικά του, όπως ο Knuth.  ;)

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 4296
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #5 στις: 08 Οκτ 2017, 03:38:39 μμ »
Ώπα τότε θα πρέπει να σταματήσω να γράφω κώδικα ενόσω κάνω ταυτόχρονα remote support σε σχολεία, γιατί θα ξεφραγκιαστώ!!! :D

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 203
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #6 στις: 09 Οκτ 2017, 12:20:12 πμ »
Στη ΓΛΩΣΣΑ δεν θα βγει λάθος το πρόγραμμα του aliksg, γιατί δεν θα τρέξει η γραμμή 4 όταν το Ζ θα είναι από 10 μέχρι 9. Επειδή όμως μπορούμε να αποκλείσουμε άσκοπες κλήσεις, με ορθότερο προσδιορισμό ορίων, μπορούμε να πούμε την "σπουδή" του alkisg "λάθος", έχει παραπάνω πράγματα που δεν ζητούνται!

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 4296
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #7 στις: 09 Οκτ 2017, 09:23:23 πμ »
Και η δεύτερη γραμμή θέλει αλλαγή, σε
  ΓΙΑ y ΑΠΟ x+1 ΜΕΧΡΙ 7

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2083
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #8 στις: 09 Οκτ 2017, 01:28:39 μμ »
Στη ΓΛΩΣΣΑ δεν θα βγει λάθος το πρόγραμμα του aliksg, γιατί δεν θα τρέξει η γραμμή 4 όταν το Ζ θα είναι από 10 μέχρι 9. Επειδή όμως μπορούμε να αποκλείσουμε άσκοπες κλήσεις, με ορθότερο προσδιορισμό ορίων, μπορούμε να πούμε την "σπουδή" του alkisg "λάθος", έχει παραπάνω πράγματα που δεν ζητούνται!


Λάθος είναι κάτι που λογικά θα πρέπει να κοπούν μονάδες αν το εφαρμόσει μαθητής
Σε αυτή την λύση θα κόβαμε μονάδες;;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

dpa2006

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 582
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #9 στις: 12 Οκτ 2017, 05:46:02 μμ »
Μια λύση σε C στο
http://www.teilar.gr/dbData/ProfAnn/profann-872ffe63.pdf
σελ 83
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 203
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #10 στις: 13 Οκτ 2017, 12:33:42 πμ »
Ο κώδικας είναι εδώ και πατάμε το Run (αν θέλουμε έχουμε επιλογή Text και όχι Console, για να αντιγράψουμε την εξαγωγή).
https://onlinegdb.com/S1VoJwT3W


Code=235
Code=237
Code=239
Code=245
Code=247
Code=249
Code=257
Code=259
Code=267
Code=269
Code=279
Code=289
Code=457
Code=459
Code=467
Code=469
Code=479
Code=489
Code=679
Code=689


(άρα η δεύτερη γραμμή που πρότεινε ο Άλκης με όριο το 7 είναι λάθος).

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 4296
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Σπάσιμο Τριψήφιου Κωδικού
« Απάντηση #11 στις: 13 Οκτ 2017, 08:42:19 πμ »
Indeed, δεν είχα ξαναδιαβάσει πρόσφατα την εκφώνηση και νόμιζα ότι ζήταγε y περιττός αντί για z περιττός.