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

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

Τίτλος: Ειναι σωστο;
Αποστολή από: tomemeto1 στις 15 Νοε 2007, 08:59:58 ΜΜ
Σ <- 1
ΔΙΑΒΑΣΕ Χ
ΓΙΑ Χ ΑΠΟ Χ   ΜΕΧΡΙ 5 ΜΕ_ΒΗΜΑ -1
      Σ <- Χ*Σ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


Το παραπάνω είναι σωστό; (Ας θεωρήσουμε ότι το Χ που διαβάζουμε είναι μεγαλύτερο του 5)
Τίτλος: Απ: Ειναι σωστο;
Αποστολή από: alexis_zoure στις 16 Νοε 2007, 02:31:26 ΠΜ
Πιστευω οτι ειναι λαθος...

Παραδειγμα οτι ειναι 6 το x...
Θα εχουμε το εξης:

ΓΙΑ 6 ΑΠΟ 6   ΜΕΧΡΙ 5 ΜΕ_ΒΗΜΑ -1
      Σ <- 6*Σ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Βγαινει νοημα?εγω νομιζω οχι...
Τίτλος: Απ: Ειναι σωστο;
Αποστολή από: koniordos στις 16 Νοε 2007, 12:08:42 ΜΜ
Είναι σωστό.
Προκύπτει αν σκεφτεί κανείς την ισοδυναμία με την όσο. Η αρχικοποίηση γίνεται εκτός βρόχου και δεν υπάρχει κάποιο πρόβλημα να χρησιμοποιηθεί το χ ως μετρητής.

Τίτλος: Απ: Ειναι σωστο;
Αποστολή από: alexis_zoure στις 16 Νοε 2007, 02:21:34 ΜΜ
Ειναι λιγο πολυπλοκο στην σκεψη αλλα νομιζω το καταλαβα...Ειχα μπερδευτει γιατι νομιζα οτι δεν θα τελειωνε ποτε...Αλλα μετα απο λιγο συνειδητιποιησα οτι:
(με το παραδειγμα που ειχα δωσει(x=6)
1η Επαναληψη
ΓΙΑ 6 ΑΠΟ 6   ΜΕΧΡΙ 5 ΜΕ_ΒΗΜΑ -1
      Σ <- 6*Σ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Το παιρνει την τιμη x=5
2η Επαναληψη
ΓΙΑ 5 ΑΠΟ 5   ΜΕΧΡΙ 5 ΜΕ_ΒΗΜΑ -1
      Σ <- 6*Σ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Δεν εκτελειται η επαναληψη...
Αρα ειναι σωστο αφου και διαφορετικη μεταβλητη να εβαζες στον μετρητη(π.χ. i) παλι μια εκτελεση θα εκανε...
Αρα σωστο και συγγνωμη για την επιπολαιοτητα μου...
(Αχ θα μου στοιχησει στις εξετασεις αν δεν προσεχω λιγο παραπανω...)
Τίτλος: Απ: Ειναι σωστο;
Αποστολή από: koniordos στις 16 Νοε 2007, 02:35:08 ΜΜ
Αν το χ = 6 τοτε γινονται 2 επαναληψεις Αλέξη
Ειναι σαν να γραφεις

Για χ απο 6 μεχρι 5 με_βημα -1 ...

Σκεψου το
Διαβασε χ !δινεται 6
χ<-χ !που προφανως μπορει να παραλειφθει
Οσο χ>=5
..
χ<-χ-1
Τελος_επαναληψης
Τίτλος: Απ: Ειναι σωστο;
Αποστολή από: alexis_zoure στις 16 Νοε 2007, 04:17:06 ΜΜ
Γιατι δυο? εχω κολλησει εντελως τωρα... :(
Τίτλος: Απ: Ειναι σωστο;
Αποστολή από: koniordos στις 16 Νοε 2007, 04:30:38 ΜΜ
Διαβασε χ !δινεται 6
χ<-χ !που προφανως μπορει να παραλειφθει
Οσο χ>=5
..
χ<-χ-1
Τελος_επαναληψης

ισοδυναμα
Διαβασε χ !(=6)
Οσο χ>= 5
...
χ<=χ-1
Τελος_επαναληψης
εκτελείται για χ = 6 (>=5)
και για χ =5 (επίσης >=5)
Η επανάληψη τερματιζει με χ = 4
Τίτλος: Απ: Ειναι σωστο;
Αποστολή από: Stavros στις 17 Νοε 2007, 08:07:10 ΜΜ
Εγώ από την αρχή ήθελα να πω το εξής: για μένα το ''ΓΙΑ 6 ΑΠΟ 6 ΜΕΧΡΙ 5 ΜΕ_ΒΗΜΑ -1" είναι λάθος.
Για μένα το σωστό είναι ''ΓΙΑ Χ ΑΠΟ 6 ΜΕΧΡΙ 5 ΜΕ_ΒΗΜΑ -1" Το πρώτο Χ δεν πρέπει να είναι 6 αφού νομίζω πως καταά κάποιον τρόπο μηδενίζεται. Αν δεν ήταν έτσι τότε σε κάποια προγράμματα που από προηγούμενες εντολές το Ι π.χ. ήταν 5 αν υπήρχε μία επόμενη εντολή ΓΙΑ Ι ..... τότε θα το έβγαζε λάθος. Γι` αυτό πιστεύω ότι είναι σωστό αν φυσικά το Χ είναι μεγαλύτερο του 5.
Τίτλος: Απ: Ειναι σωστο;
Αποστολή από: alexis_zoure στις 18 Νοε 2007, 11:47:51 ΠΜ
Το καταλαβα... ;D
Ειναι σωστο,αλλα πεπει να σκεφτεις να σκεφτεις λιγακι την ισοδυναμια σε οσο για να καταλαβεις...