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

Γενικό Λύκειο => Δομή επανάληψης => Γ΄ Λυκείου => Εντολή ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ => Μήνυμα ξεκίνησε από: mbathas στις 18 Ιαν 2007, 11:36:14 ΠΜ

Τίτλος: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: mbathas στις 18 Ιαν 2007, 11:36:14 ΠΜ
Γεια σας και καλή χρονία σε όλους.
Έχω μια αμφιβολία στο εξής ερώτημα:
Πόσες φορές θα εκτελεστεί η παρακάτω δομή επανάληψης;

Για i από 5 μέχρι 1 με_βήμα 1
  .............................
Τέλος_Επανάληψης

α) Καμία
β) Λάθος
γ) Άπειρες
Τίτλος: Απ: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: petrosp13 στις 18 Ιαν 2007, 12:04:27 ΜΜ
Αν μετατραπεί σε δομή "Όσο" και επειδή το βήμα θα είναι θετικό, η ισοδύναμη δομή θα είναι η εξής:

i<--5
Oσο (ι<=1) επανάλαβε
...........................
ι<--ι+1
Τέλος_Επανάληψης

Άρα, δεν θα εκτελεστεί καμία φορά

Και σύμφωνα με την Γλωσσομάθεια, δεν θα εκτελεστεί καμία φορά
Τίτλος: Απ: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: gpapargi στις 18 Ιαν 2007, 01:31:42 ΜΜ
Συμπληρώνω:
Σχολικό βιβλίο σελίδα 44 στο πλαινό σχόλιο αριστερά.

Δεν είναι του τύπου μου το να δίνω σαν επιχείρημα το τι λέει ένα σχολικό βιβλίο αλλά αυτό είναι ένα από τα σημεία που μας δείχνει πως υποτίθεται ότι δουλεύει η "Για". Η "Για" σε διάφορα περιβάλλοντα μπορεί να λειτουργεί με διαφορετικούς τρόπους και τελικά τα πάντα είναι θέμα ορισμού. Αυτό είναι ένα από τα σημεία που βλέπουμε τη λειτουργεία της (όπως και από το διάγραμμα ροής στη σελίδα  43)
Τίτλος: Απ: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: pit71 στις 18 Ιαν 2007, 02:50:44 ΜΜ
ΟΤΑΝ ΤΟ ΒΗΜΑ ΕΙΝΑΙ ΘΕΤΙΚΟ ( ΣΤΟ ΠΑΡΑΔΕΙΓΜΑ ΣΟΥ ΕΙΝΑΙ 1 ) ΤΟΤΕ ΓΙΑ ΝΑ ΕΚΤΕΛΕΣΤΟΥΝ ΟΙ ΕΝΤΟΛΕΣ ΤΗΣ ΓΙΑ, ΠΡΕΠΕΙ Η ΑΡΧΙΚΗ ΤΙΜΗ ΤΟΥ ΜΕΤΡΗΤΗ ( I ) ΤΗΣ  ΕΠΑΝΑΛΗΨΗΣ (ΣΤΟ ΠΑΡΑΔΕΙΓΜΑ ΣΟΥ ΕΙΝΑΙ  5 ) ΠΡΕΠΕΙ ΝΑ ΕΙΝΑΙ <= ΤΗΣ ΤΕΛΙΚΗΣ ΤΙΜΗΣ ΤΗΣ ΕΠΑΝΑΛΗΨΗΣ ( ΣΤΟ ΠΑΡΑΔΕΙΓΜΑ ΣΟΥ ΕΙΝΑΙ 1 ). ΚΑΤΙ ΠΟΥ ΔΕΝ ΙΣΧΥΕΙ ΣΤΟ ΠΑΡΑΔΕΙΓΜΑ ΣΟΥ, ΟΠΟΤΕ Ο ΕΛΕΓΧΟΣ ΠΗΓΑΙΝΕΙ ΣΤΗΝ ΕΠΟΜΕΝΗ ΕΝΤΟΛΗ ΜΕΤΑ ΤΟ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ. ΑΡΑ ΟΙ ΕΝΤΟΛΕΣ ΔΕΝ ΘΑ ΕΚΤΕΛΕΣΤΟΥΝ ΚΑΘΟΛΟΥ.
ΕΝΩ ΟΤΑΝ ΤΟ ΒΗΜΑ ΕΙΝΑΙ ΑΡΝΗΤΙΚΟ ΠΡΕΠΕΙ ΝΑ ΙΣΧΥΕΙ:
ΑΡΧΙΚΗ ΤΙΜΗ ΜΕΤΡΗΤΗ >= ΤΕΛΙΚΗ ΤΙΜΗΣ ΜΕΤΡΗΤΗ

ΣΥΜΦΩΝΩ ΚΑΙ ΜΕ ΤΗΝ ΑΠΟΨΗ ΤΟΥ  petrosp_13.

ΕΛΠΙΖΩ ΝΑ ΒΟΗΘΗΣΑ
Τίτλος: Απ: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: taouk στις 16 Μαρ 2007, 06:39:21 ΜΜ
Πως λειτουργεί η δομή “ΓΙΑ δείκτης ΑΠΟ αρχή ΜΕΧΡΙ τέλος ΜΕ ΒΗΜΑ βηματισμός?

Στο βιβλίο του καθηγητή (δε θυμάμαι σε ποια σελίδα) λέει ξεκάθαρα ότι:
       
        -Η επανάληψη εκτελείται μέχρι και να πάρει ο δείκτης την τιμή τέλος
       
        -Πρέπει όταν ο δείκτης <= τέλος ο βηματισμός>0
       
        -Πρέπει όταν ο δείκτης >= τέλος ο βηματισμός<0

        -Ποτέ δεν μπορεί ο βηματισμός=0

Άρα σε κάθε άλλη περίπτωση είναι συντακτικό λάθος με βάση το βιβλίο οπότε δε μπορεί να εκτελεστεί. (στις κανονικές γλώσσες προγραμματισμού αλλά και στα διάφορα βοηθητικά εργαλεία όπως π.χ. η ΓΛΩΣΣΟΜΑΘΕΙΑ τα πράγματα δεν είναι ακριβώς έτσι. Εμείς με βάση το βιβλίο θα ακολουθούμε τους παραπάνω κανόνες. Στη ΓΛΩΣΣΟΜΑΘΕΙΑ ο βρόχος με βήμα 0 εκτελείται άπειρες φορές ενώ οι άλλες δύο περιπτώσεις κρασάρουν το πρόγραμμα)
Τίτλος: Απ: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: kLee στις 16 Μαρ 2007, 07:19:46 ΜΜ
taouk, αν κατάλαβα καλά λες πως είναι λάθος (και όχι ότι απλά δεν εκτελείται) η δομή

ΓΙΑ i ΑΠΟ 5 ΜΕΧΡΙ 1 ΜΕ ΒΗΜΑ 1

και τείνω να συμφωνήσω.

Αν και η μετατροπή σε ΌΣΟ που ανέφερε ο petros_p13 με προβλημάτισε...
Τίτλος: Απ: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: alkisg στις 16 Μαρ 2007, 08:16:49 ΜΜ
Παράθεση από: taouk στις 16 Μαρ 2007, 06:39:21 ΜΜ
...(στις κανονικές γλώσσες προγραμματισμού αλλά και στα διάφορα βοηθητικά εργαλεία όπως π.χ. η ΓΛΩΣΣΟΜΑΘΕΙΑ τα πράγματα δεν είναι ακριβώς έτσι. Εμείς με βάση το βιβλίο θα ακολουθούμε τους παραπάνω κανόνες. Στη ΓΛΩΣΣΟΜΑΘΕΙΑ ο βρόχος με βήμα 0 εκτελείται άπειρες φορές ενώ οι άλλες δύο περιπτώσεις κρασάρουν το πρόγραμμα)

Ε, μη γενικεύουμε!!! >:( :) :laugh: Στο Διερμηνευτή (https://alkisg.mysch.gr) εκτελείται ακριβώς όπως τα λέει το βιβλίο, και έχω χρόνια να τον δω να κρασάρει!!!  ::)  :angel:
Τίτλος: Απ: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: EleniK στις 16 Μαρ 2007, 10:11:39 ΜΜ
Και εγώ θα συμφωνήσω με τον petrosp_13. Μια μετατροπή σε Όσο πειθει. Δεν θα εκτελεστεί καμία φορά.
Τίτλος: Απ: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: dozb στις 16 Απρ 2007, 12:41:29 ΠΜ
Τώρα το είδα αυτό εδώ ...
Βρε παιδιά αν ειναι να ψαχνομαστε στα απλά με το να κοιτάμε το βιβλίο στο κομμα του...
Μια δομή εχει φυσικα τους κανονες της αλλά πάντα κάποιος μπορει να τη γραψει ετσι ωστε να την κανει ειτε να μην εκτελεστει ποτέ, είτε να εκτελείται επ'άπειρον...
Συντακτικά μια άσκηση σαν αυτη που αναφερεις ειναι σωστη, άσχετα αν βγαζει λάθος σε run time..

Η μετατροπή σε Οσο ΣΩΣΤΟΤΑΤΗ και ο καλυτερος τροπος να βλέπουμε τι γινεται με τη Για
και επίσης...

Η Γλώσσα του κ. Γεωργοπουλου δουλεύει ΑΨΟΓΑ!!! Προσωπικά την προτιμω από τη Γλωσσομάθεια (αυτή την ενεργοποιηση να μην ειχε βρε παιδι μου..... ξερετε πόσα format τρωνε το χρονο οι υπολογιστες????)
Τίτλος: Απ: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: alkisg στις 16 Απρ 2007, 12:58:03 ΠΜ
Παράθεση από: dozb στις 16 Απρ 2007, 12:41:29 ΠΜ
Η Γλώσσα του κ. Γεωργοπουλου δουλεύει ΑΨΟΓΑ!!! Προσωπικά την προτιμω από τη Γλωσσομάθεια (αυτή την ενεργοποιηση να μην ειχε βρε παιδι μου..... ξερετε πόσα format τρωνε το χρονο οι υπολογιστες????)

Η επόμενη έκδοση θα είναι χωρίς ενεργοποίηση. :)
Θα βάλω απλά μια ειδοποίηση ότι δεν επιτρέπεται η χρήση της σε φροντιστήρια αν δεν έχουν προμηθευτεί άδεια χρήσης,  και οι ...πειρατές της Καραϊβικής ας κάνουν ό,τι νομίζουν!  ::)  :P
Τίτλος: Απ: Για i από 5 μέχρι 1 με_βήμα 1 ;;
Αποστολή από: johnny_xp στις 03 Μαΐου 2007, 02:13:51 ΠΜ
Νομίζω ότι αν μετά από 7 χρόνια διδασκαλίας του μαθήματος δεν έχουμε συνενοηθεί για τέτοιες ερωτήσεις υφίσταται σοβαρό πρόβλημα. Κατά κύριο λόγο για το ίδιο το μάθημα. Ισχύει ότι είναι έγκυρη εντολή και ότι ο βρόχος δεν εκτελείται καμοία φορά.