Για i από 5 μέχρι 1 με_βήμα 1 ;;

Ξεκίνησε από mbathas, 18 Ιαν 2007, 11:36:14 ΠΜ

« προηγούμενο - επόμενο »

mbathas

Γεια σας και καλή χρονία σε όλους.
Έχω μια αμφιβολία στο εξής ερώτημα:
Πόσες φορές θα εκτελεστεί η παρακάτω δομή επανάληψης;

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

α) Καμία
β) Λάθος
γ) Άπειρες
Μιχάλης Μπάθας
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής

petrosp13

Αν μετατραπεί σε δομή "Όσο" και επειδή το βήμα θα είναι θετικό, η ισοδύναμη δομή θα είναι η εξής:

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

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

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

gpapargi

Συμπληρώνω:
Σχολικό βιβλίο σελίδα 44 στο πλαινό σχόλιο αριστερά.

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

pit71

ΟΤΑΝ ΤΟ ΒΗΜΑ ΕΙΝΑΙ ΘΕΤΙΚΟ ( ΣΤΟ ΠΑΡΑΔΕΙΓΜΑ ΣΟΥ ΕΙΝΑΙ 1 ) ΤΟΤΕ ΓΙΑ ΝΑ ΕΚΤΕΛΕΣΤΟΥΝ ΟΙ ΕΝΤΟΛΕΣ ΤΗΣ ΓΙΑ, ΠΡΕΠΕΙ Η ΑΡΧΙΚΗ ΤΙΜΗ ΤΟΥ ΜΕΤΡΗΤΗ ( I ) ΤΗΣ  ΕΠΑΝΑΛΗΨΗΣ (ΣΤΟ ΠΑΡΑΔΕΙΓΜΑ ΣΟΥ ΕΙΝΑΙ  5 ) ΠΡΕΠΕΙ ΝΑ ΕΙΝΑΙ <= ΤΗΣ ΤΕΛΙΚΗΣ ΤΙΜΗΣ ΤΗΣ ΕΠΑΝΑΛΗΨΗΣ ( ΣΤΟ ΠΑΡΑΔΕΙΓΜΑ ΣΟΥ ΕΙΝΑΙ 1 ). ΚΑΤΙ ΠΟΥ ΔΕΝ ΙΣΧΥΕΙ ΣΤΟ ΠΑΡΑΔΕΙΓΜΑ ΣΟΥ, ΟΠΟΤΕ Ο ΕΛΕΓΧΟΣ ΠΗΓΑΙΝΕΙ ΣΤΗΝ ΕΠΟΜΕΝΗ ΕΝΤΟΛΗ ΜΕΤΑ ΤΟ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ. ΑΡΑ ΟΙ ΕΝΤΟΛΕΣ ΔΕΝ ΘΑ ΕΚΤΕΛΕΣΤΟΥΝ ΚΑΘΟΛΟΥ.
ΕΝΩ ΟΤΑΝ ΤΟ ΒΗΜΑ ΕΙΝΑΙ ΑΡΝΗΤΙΚΟ ΠΡΕΠΕΙ ΝΑ ΙΣΧΥΕΙ:
ΑΡΧΙΚΗ ΤΙΜΗ ΜΕΤΡΗΤΗ >= ΤΕΛΙΚΗ ΤΙΜΗΣ ΜΕΤΡΗΤΗ

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

ΕΛΠΙΖΩ ΝΑ ΒΟΗΘΗΣΑ

taouk

Πως λειτουργεί η δομή “ΓΙΑ δείκτης ΑΠΟ αρχή ΜΕΧΡΙ τέλος ΜΕ ΒΗΜΑ βηματισμός?

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

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

Άρα σε κάθε άλλη περίπτωση είναι συντακτικό λάθος με βάση το βιβλίο οπότε δε μπορεί να εκτελεστεί. (στις κανονικές γλώσσες προγραμματισμού αλλά και στα διάφορα βοηθητικά εργαλεία όπως π.χ. η ΓΛΩΣΣΟΜΑΘΕΙΑ τα πράγματα δεν είναι ακριβώς έτσι. Εμείς με βάση το βιβλίο θα ακολουθούμε τους παραπάνω κανόνες. Στη ΓΛΩΣΣΟΜΑΘΕΙΑ ο βρόχος με βήμα 0 εκτελείται άπειρες φορές ενώ οι άλλες δύο περιπτώσεις κρασάρουν το πρόγραμμα)

kLee

taouk, αν κατάλαβα καλά λες πως είναι λάθος (και όχι ότι απλά δεν εκτελείται) η δομή

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

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

Αν και η μετατροπή σε ΌΣΟ που ανέφερε ο petros_p13 με προβλημάτισε...
Ανδροκλής Πολυμένης

Πληροφορικός

alkisg

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

Ε, μη γενικεύουμε!!! >:( :) :laugh: Στο Διερμηνευτή εκτελείται ακριβώς όπως τα λέει το βιβλίο, και έχω χρόνια να τον δω να κρασάρει!!!  ::)  :angel:

EleniK

Και εγώ θα συμφωνήσω με τον petrosp_13. Μια μετατροπή σε Όσο πειθει. Δεν θα εκτελεστεί καμία φορά.
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

dozb

Τώρα το είδα αυτό εδώ ...
Βρε παιδιά αν ειναι να ψαχνομαστε στα απλά με το να κοιτάμε το βιβλίο στο κομμα του...
Μια δομή εχει φυσικα τους κανονες της αλλά πάντα κάποιος μπορει να τη γραψει ετσι ωστε να την κανει ειτε να μην εκτελεστει ποτέ, είτε να εκτελείται επ'άπειρον...
Συντακτικά μια άσκηση σαν αυτη που αναφερεις ειναι σωστη, άσχετα αν βγαζει λάθος σε run time..

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

Η Γλώσσα του κ. Γεωργοπουλου δουλεύει ΑΨΟΓΑ!!! Προσωπικά την προτιμω από τη Γλωσσομάθεια (αυτή την ενεργοποιηση να μην ειχε βρε παιδι μου..... ξερετε πόσα format τρωνε το χρονο οι υπολογιστες????)

alkisg

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

Η επόμενη έκδοση θα είναι χωρίς ενεργοποίηση. :)
Θα βάλω απλά μια ειδοποίηση ότι δεν επιτρέπεται η χρήση της σε φροντιστήρια αν δεν έχουν προμηθευτεί άδεια χρήσης,  και οι ...πειρατές της Καραϊβικής ας κάνουν ό,τι νομίζουν!  ::)  :P

johnny_xp

Νομίζω ότι αν μετά από 7 χρόνια διδασκαλίας του μαθήματος δεν έχουμε συνενοηθεί για τέτοιες ερωτήσεις υφίσταται σοβαρό πρόβλημα. Κατά κύριο λόγο για το ίδιο το μάθημα. Ισχύει ότι είναι έγκυρη εντολή και ότι ο βρόχος δεν εκτελείται καμοία φορά.