Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Δομή επανάληψης => Γ΄ Λυκείου => Εντολή ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ => Μήνυμα ξεκίνησε από: alexis_zoure στις 15 Νοε 2007, 04:57:09 ΜΜ

Τίτλος: Απορια για λειτουργεια του Για...
Αποστολή από: alexis_zoure στις 15 Νοε 2007, 04:57:09 ΜΜ
Δινεται το παρακατω κομματι αλγοριθμου:

Για i απο 1 μεχρι 7
Διαβασε x
 Αν x >0 τοτε
  i<-7
 Τελος_αν
(Εντολες...)
Τελος_επαναληψης

Επιτρεπεται αυτο για να τερματισουμε ενδεχομενως την Για πιο γρηγορα? ???
Τίτλος: Απ: Απορια για λειτουργεια του Για...
Αποστολή από: Michael στις 15 Νοε 2007, 06:55:45 ΜΜ
Νομίζω πως στο συγκεκριμένο οι γνώμες διίστανται...
Από τη μία, έχω ακούσει για κάποιους (που πιθανόν να είναι και διορθωτές), που όχι μόνο δεν το βρίσκουν λάθος να αλλάζει εντός του βρόχου ο μετρητής της ΓΙΑ, αλλά το επιλέγουν και σαν θέμα σε διαγωνίσματα (σε πίνακες τιμών κτλ).
Από την άλλη, κάποιοι (πιθανοί διορθωτές επίσης), υποστηρίζουν (δικαίως) ότι "καλό είναι να αποφεύγεται", "είναι εκτός φιλοσοφίας της ΓΙΑ" κτλ.
Το θέμα είναι κατά πόσο οι δεύτεροι είναι διατεθειμένοι να κόψουν αν δουν κάτι τέτοιο σε ένα γραπτό. Νομίζω πως ναι, και προσωπικά δεν θα το ρίσκαρα να παρουσιάσω έναν τέτοιο αλγόριθμο. Αν όμως μου δώσουν έτοιμο έναν τέτοιο αλγόριθμο, δεν θα εκπλαγώ καθόλου. Με λίγα λόγια, οι εξεταστές έχουν δικαίωμα να αλλάξουν το μετρητή, εγώ σαν υποψήφιος όμως, δεν δίνω στον εαυτό μου αυτό το δικαίωμα.
Τίτλος: Απ: Απορια για λειτουργεια του Για...
Αποστολή από: alexis_zoure στις 16 Νοε 2007, 02:33:50 ΠΜ
Η αληθεια ειναι οτι και εγω το αποφευγω αυτο...Δεν θα το ρισκαρα...
Αλλα το θεμα ειναι: Ειναι σωστο η οχι? Και αν οχι γιατι? παραβιαζεται κανενα κριτηριο?
Τίτλος: Απ: Απορια για λειτουργεια του Για...
Αποστολή από: gpapargi στις 16 Νοε 2007, 09:28:43 ΠΜ
Αλέξη ρίξε μια ματιά στο παρακάτω link

https://alkisg.mysch.gr/steki/index.php?topic=286.0

Ο μαθητής που άνοιξε το θέμα έθεσε ένα ερώτημα σαν το δικό σου (συγκεριμένα είναι το ερώτημα 3 που έθεσε).  Το ερώτημα είναι να μπορούμε να τερματίσουμε τη Για αλλάζοντας την τιμή του μετρητή. Δες μεταξύ των άλλων απαντήσεων και την απάντηση που του έδωσα περί της φιλοσοφίας του προγραμματισμού. Ουσιαστικά το πρόβλημα που πας να λύσεις λύνεται με κάποια από τις άλλες 2 εντολές.

Πέρα από αυτό, αν έναν αλγόριθμο μπορείς να τον συλλάβεις εύκολα με τη Για τότε έχε υπόψη σου ότι μπορείς να "δεις" μέσα στην φαντασία σου την παρακάτω δομή σαν μια ενισχυμένη "Για"

ι<-1
Όσο ι<=7 και ...

  ι<-ι+1
Τέλος_επανάληψης

Και λέω "ενισχυμένη Για" γιατί μπορείς να την κόψεις όποτε θέλεις βάζοντας στην συνθήκη της Όσο τα κατάλληλα επιπρόσθετα.

Για παράδειγμα αυτό που πας να κάνεις με τον τρόπο που το συνέλαβες δες πως γίνεται χωρίς καμία παραβίαση φιλοσοφίας

Τερμάτισε<- Ψευδής
ι<-1
Όσο ι<=7 και  τερμάτισε = Ψευδής επανάλαβε
  Διάβασε χ
  Αν χ>0 τότε
     Τερμάτισε <- Αληθής
  Τέλος_αν
  (Εντολές)
  ι<-ι+1
Τέλος_επανάληψης

Παρατήρησε με κόκκινα τη δομή της "ενισχυμένης Για" που σου λέω. Παρατήρησε και με έντονα μαύρα τα επιπρόσθετα.
Τίτλος: Απ: Απορια για λειτουργεια του Για...
Αποστολή από: alexis_zoure στις 16 Νοε 2007, 02:02:57 ΜΜ
Πραγματι ειναι πολυ καλες και χρησιμες λυσεις αυτες!!!Ουσιαστθκα ειναι κ μια μετατροπη της Για σε Οσο που ειναι ισως και η "ισχυροτερη" των εντολων επαναληψφεων...
Οσο για το ερωτημα,εντελως εγκυκλοπαιδιακα, ισχυει η δεν μπορουμε να τελειωσουμε την Για με τετοιο τροπο?
Τίτλος: Απ: Απορια για λειτουργεια του Για...
Αποστολή από: Michael στις 16 Νοε 2007, 09:35:02 ΜΜ
Και ισχύει (εγκυκλοπαιδικά), και δεν μπορούμε να την τελειώσουμε με τέτοιο τρόπο (εξεταστικά).