Αποστολέας Θέμα: Έλεγχος Εγκυρότητας Εισόδου Δεδομένων : Πότε πρέπει να γίνεται  (Αναγνώστηκε 1630 φορές)

Akis St

  • Νέος
  • *
  • Μηνύματα: 8
Κυρίες και Κύριοι καλησπέρας σας.

Ως νέο μέλος στο στέκι των Πληροφορικών θα ήθελα να κάνω μια ερώτηση:

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

Θα έπρεπε ο μαθητής να ελέγξει π.χ ότι πρέπει να διαβαστεί κάθε φορά ακέραιος θετικός αριθμός;

Και γενικά , πρέπει να γίνεται πάντοτε έλεγχος εγκυρότητας δεδομένων κατά τη συγγραφή κώδικα, ακολουθώντας πιστά τα 5 κριτήρια αλγορίθμων ως ορίζεται από τη συγγραφική ομάδα του βιβλίου;

Αυτή η απορία όσο και να ακούγεται "παιδική",  με ταλανίζει αρκετό καιρό τώρα.

Όποια συμβολή ή συμβουλή , θα είναι αποδεκτή με θέρμη.

Ευχαριστώ εκ των προτέρων

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3519
  • to Iterate is human to Recurse divine
Μόνο αν στο ζητάει η εκφώνηση ρητά. Συνήθως αν παρατηρήσεις τα θέματα ή ζητάνε έλεγχο εγκυρότητας ή λένε ρητά με κάποια σημείωση ότι δεν χρειάζεται έλεγχος.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Akis St

  • Νέος
  • *
  • Μηνύματα: 8
Μόνο αν στο ζητάει η εκφώνηση ρητά. Συνήθως αν παρατηρήσεις τα θέματα ή ζητάνε έλεγχο εγκυρότητας ή λένε ρητά με κάποια σημείωση ότι δεν χρειάζεται έλεγχος.

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

Ευχαριστώ πολύ για την άμεση απόκριση.

Και κάτι ακόμα: Αν δεν κάνεις έλεγχο σε κάθε αλγόριθμο ή προγραμμα αυτόματα δεν παραβιάζεται κανόνας καθοριστικότητας ή αυτό είναι οδηγία πάγια;

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3519
  • to Iterate is human to Recurse divine
Έχεις δίκιο, δεν υπήρχε αλλά το σκεπτικό είναι ότι κάνεις έλεγχο εγκυρότητας όταν σου δίνονται διακριτές τιμές π.χ. "ΝΑΙ", "ΟΧΙ" κλπ, 'η τέλος πάντων κάτι που έχει άμεση συνέπεια για τη συνέχεια του προγράμματος. Γενικά πάντως αν θέλουν έλεγχο εγκυρότητας θα το ζητάνε. Αυτό είναι σίγουρο. Φυσικά μπορεί να μη λένε τη λέξη "έλεγχο εγκυρότητας" αλλά "αποδεκτές τιμές", αλλά θα το λέει σίγουρα.
   Από την άλλη δεν είναι δυνατόν να κάνεις έλεγχο εγκυρότητας πάντα. Θα σου δώσω ένα παράδειγμα. Ας πούμε ότι λέει η άσκηση να διαβάσεις έναν αριθμό και ο χρήστης δίνει ένα γράμμα αντί για αριθμό. Μπορείς να το ελέγξεις αυτό στη ΓΛΩΣΣΑ?

  Υποθέτεις ότι ο χρήστης θα είναι καλοπροαίρετος και θα δώσει σωστή είσοδο, αλλιώς αν δίνει ότι του κατέβει όπως σου είπα και πριν δεν μπορείς να το ελέγξεις στη ΓΛΩΣΣΑ. Για παράδειγμα αν περιμένεις λογική μεταβλητή και σου δώσει τον αριθμό 7 μπορείς να το ελέγξεις?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
Και γω πιστεύω ότι έλεγχος εγκυρότητας πρέπει να γίνεται μόνο αν το ζητάει η άσκηση ρητά ή έμμεσα.
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

Laertis

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 1521
  • Sky's the limit
    • ΑΣΚΗΣΕΙΣ-ΘΕΜΑΤΑ ΑΕΠΠ
Ισχύει ότι είπε ο Ευριπίδης. Ο έλεγχος γίνεται υποχρεωτικά μόνο όταν ζητείται απο την εκφώνηση.
Νικολακάκης Γιώργος
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής
http://users.sch.gr/gnikola