Αποστολέας Θέμα: Έλεγχος Εγκυρότητας με ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ  (Αναγνώστηκε 654 φορές)

Delta2000

  • Νέος
  • *
  • Μηνύματα: 9
Έλεγχος Εγκυρότητας με ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ
« στις: 27 Οκτ 2017, 12:10:30 μμ »
Ποτέ δεν κατάλαβα γιατί η θεωρία του αεππ λέει οτί η ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ είναι μόνο για συγκεκριμένο πλήθος επαναλήψεων. Επίσης δεν καταλαβαίνω γιατί ενώ διδάσκονται τρόποι ελέγχου εγκυρότητας με όσο και αρχή_επανάληψης, δεν διδάσκεται και τρόπος με για..απο..μεχρι και ας μην είναι η πιο ουσιώδης μέθοδος, όμως υπάρχει τρόπος στην γλώσσα να γίνει και έτσι. Αν κάποιος τρέλος βάλει πανελληνίες θέμα μετατροπής ελέγχου εγκυρότητας από αρχή_επανάληψης σε για..απο..μέχρι αμφιβάλλω ότι θα σκεφτούν πολλοί εξεταζόμενοι μια λυση. Παραθέτω το τμήμα κώδικα σε ΓΛΩΣΣΑ παρακάτω:

Κώδικας: [Επιλογή]
ΠΡΟΓΡΑΜΜΑ  Ελεγχος_Εγκυρότητας_με_Για_Απο_Μέχρι
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: ονομα
  ΑΚΕΡΑΙΕΣ:i,κ
ΑΡΧΗ
  κ <-- 1
  Για i απο 1 μέχρι κ
    Διάβασε ονομα
    Αν όνομα = ' ' τότε
      κ <-- κ+1
      Γράψε 'Πληκτρολογήστε ένα έγκυρο όνομα'
    Τέλος_Αν
  Τέλος_Επανάληψης
Τέλος_Προγράμματος


Εδώ πώς ακριβώς είναι συγκεκριμένο το πλήθος επαναλήψεων; Αφου εξαρτάται από το πόσες φορές θα δώσει μη έγκυρο όνομα ο χρήστης. Όπως και να έχει θεώρησα καλό να το μοιραστώ εδώ γιατί είναι κάτι το οποίο δεν έχω δει να συζητιέται πουθενά, διορθώστε με αν και όπου κάνω λαθος  ;D     

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2138
Απ: Έλεγχος Εγκυρότητας με ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ
« Απάντηση #1 στις: 27 Οκτ 2017, 02:26:20 μμ »
Απαγορεύεται σε δομή "Για" να αλλάζει εντός του βρόχου η μεταβλητή, η αρχική και η τελική τιμή, καθώς και το βήμα
Η δομή "Για" χρησιμοποιείται αυστηρά για τυποποιημένες περιπτώσεις
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Delta2000

  • Νέος
  • *
  • Μηνύματα: 9
Απ: Έλεγχος Εγκυρότητας με ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ
« Απάντηση #2 στις: 27 Οκτ 2017, 04:39:12 μμ »
Απαγορεύεται σε δομή "Για" να αλλάζει εντός του βρόχου η μεταβλητή, η αρχική και η τελική τιμή, καθώς και το βήμα
Η δομή "Για" χρησιμοποιείται αυστηρά για τυποποιημένες περιπτώσεις
Η γλωσσομάθεια πάντως δεν μου πέταξε κάποιο σφάλμα στην εκτέλεση του αλγορίθμου.

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2421
  • I 'm not young enough to know everything
Απ: Έλεγχος Εγκυρότητας με ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ
« Απάντηση #3 στις: 30 Οκτ 2017, 10:18:19 πμ »
Είχε συζητηθεί παλαιότερα το αν η αλλαγή του μετρητή της Για εντός της Για είναι συντακτικό σφάλμα ή απλώς κακή προγραμματιστική τεχνική. Υπήρξαν διαφωνίες. Για τον ένα ή τον άλλο λόγο πάντως δε χρησιμοποιείται.

Επειδή πρόσεξα ότι κάτι τέτοιο το σκέφτονται τα καλά μυαλά και είναι άδικο να είναι καλύτεροι και να κάνουν κάτι μη αποδεκτό, τους λέω αν αν συλλάβουν τέτοια λύση λύση να το κάνουν "νόμιμα" ως εξής:
 
τερμάτισε<--ψευδής
Όσο τερμάτισε = ψευδής και ...
  ...
  Αν <συνθήκη> τότε
     τερμάτισε <--αληθής
  Τέλος_αν

Τέλος_επανάληψης

Η παραπάνω προσέγγιση προωθείται από το σχολικό βιβλίο και εμπεριέχει ακριβώς τον ίδιο τρόπο σκέψης με αυτόν της αλλαγής του μετρητή της Για.
« Τελευταία τροποποίηση: 30 Οκτ 2017, 10:43:53 πμ από gpapargi »
Γιώργος Παπαργύρης (gpapargi@hotmail.com)

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2138
Απ: Έλεγχος Εγκυρότητας με ΓΙΑ..ΑΠΟ..ΜΕΧΡΙ
« Απάντηση #4 στις: 30 Οκτ 2017, 11:29:28 πμ »
Γενικά, υπάρχουν πάμπολλοι τρόποι να σταματήσει μια επανάληψη "Όσο", γιατί να εμπλέξουμε την τυποποιημένη "Για" σε αυτή την περίπτωση;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής