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

Γενικό Λύκειο => Δομή επανάληψης => Γ΄ Λυκείου => Εντολή ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ => Μήνυμα ξεκίνησε από: ckabi στις 04 Δεκ 2006, 12:17:41 ΜΜ

Τίτλος: ειναι λάθος;
Αποστολή από: ckabi στις 04 Δεκ 2006, 12:17:41 ΜΜ
Θα ήταν σωστός ένας αλγόριθμος της μορφής

Διάβασε ατ,ττ
Αν ατ<ττ τοτε
  Για ι απο ατ μεχρι ττ με_βημα 2
    εμφανισε ι
  Τελος_επανάληψης
Τελος_αν

Νομίζω δεν πρέπει να υπάρχει πρόβλημα. Ρωτάω γιατί δεν το έχω δει σε κανένα βοήθημα να διαβάζει πχ την αρχική τιμή της δομής Για...απο..μεχρι
Εξάλλου αν το γράψουμε με την όσο δεν υπάρχει κανένα πρόβλημα. Θέλω να το βάλω σε διαγώνισμα, αλλα ρωτάω πρώτα τη γνώμη σας...
Τίτλος: Απ: ειναι λάθος;
Αποστολή από: nikosx στις 04 Δεκ 2006, 01:27:10 ΜΜ
Δεν βλέπω κάποιο πρόβλημα σε αυτό το τμήμα από τη στιγμή που και η ατ και η ττ και το βήμα έχουν τιμές.

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

Το τμήμα αυτό θα λειτουργούσε με τον ίδιο τρόπο ακόμα και αν δεν υπήρχε η επιλογή αφού αν η ατ ήταν μεγαλύτερη από την ττ το Για δεν θα εκτελούσε καμία επανάληψη, εκτός από την περίπτωση βέβαια όπου ατ=ττ, όπου στην πρώτη περίπτωση (με την επιλογη) ο βρόγχος επανάληψης δεν θα εκτελεστεί ποτέ, ενώ στην δεύτερη περίπτωση (χωρίς το Αν) ο βρόγχος θα εκτελεστεί μία φορά εμφανίζοντας το περιεχόμενο της μεταβλητής ατ.

Νίκος Ξ.
Τίτλος: Απ: ειναι λάθος;
Αποστολή από: EleniK στις 07 Δεκ 2006, 10:21:44 ΠΜ
Δε νομίζω και εγώ ότι είναι λάθος το παραπάνω τμήμα αλγορίθμου.

Το Αν μάλιστα είναι απαραίτητο διότι απο τη στιγμή που έχεις θετικο βήμα στη Για θα πρέπει να ελέγχεται αν η αρχική τιμή είναι μικρότερη ή ίση της τελικής τιμής.
Τίτλος: Απ: ειναι λάθος;
Αποστολή από: petrosp13 στις 07 Δεκ 2006, 12:05:41 ΜΜ
Και μικρότερη να είναι της τελικής τιμής, με θετικό βήμα, δεν θα εκτελεστεί ο βρόγχος καμία φορά
Βγαίνει πολύ απλά αν μετατραπεί σε δομή "Όσο"
Τίτλος: Απ: ειναι λάθος;
Αποστολή από: EleniK στις 08 Δεκ 2006, 12:05:20 ΜΜ
Ναι εγώ απλά εννοούσα, ότι αν θέλουμε να εκτελεστεί, ο παραπάνω αλγόριθμος είναι σωστός με την Αν