Αποστολέας Θέμα: Ερώτηση για Δομή Επανάληψης "Για"  (Αναγνώστηκε 1317 φορές)

Χατζημιχάλης Μάριος

  • Οπαδός
  • **
  • Μηνύματα: 10
Ερώτηση για Δομή Επανάληψης "Για"
« στις: 20 Νοέ 2011, 01:56:57 μμ »
Αξιότιμοι συνάδελφοι,
Θα ήθελα να ρωτήσω για τον δείκτη Ι στην δομή επανάληψης "Για" .
π.χ.
Για Ι από 1 μέχρι 10
       .....
       .....
Τέλος_επανάληψης

Μετά την δομή επανάληψης ο δείκτης Ι έχει την τιμή 10 ή 11 ?

Σας ευχαριστώ εκ των προτέρων!

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3241
  • agent romanoff you miss me?
    • P.Tsiotakis
Απ: Ερώτηση για Δομή Επανάληψης "Για"
« Απάντηση #1 στις: 20 Νοέ 2011, 03:55:51 μμ »
το κοινώς αποδεκτό είναι οτι μετά το βρόχο, δεν πρέπει να μας ενδιαφέρει η τιμή του μετρητή της δομής Για.
Για την τιμή της οι απόψεις διύστανται

κατά τη γνώμη μου η πιο συνεπής (για το μάθημά μας και από την εκπαιδευτική οπτική γωνία) είναι πως η τιμή του μετρητή είναι το 11. Κι αυτό γιατί:
1. το Τέλος_επανάληψης, δεν έχει δικαιοδοσία να ελέγξει συνέχεια/τερματισμό. Η ροή μεταβαίνει αναγκαστικά "πάνω", στο Για, και έτσι το με_βήμα, κάνει για άλλη μια φορά (τελευταία) τη δουλειά του.
2. Το δρ του παραδείγματος 10 (αν δεν κάνω λάθος) είναι δρ της δομής Για και ουσιαστικά θέτει τον μετρητή κατά τελική τιμή + 1 (1 είναι το βήμα).


petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2248
Απ: Ερώτηση για Δομή Επανάληψης "Για"
« Απάντηση #2 στις: 20 Νοέ 2011, 07:17:45 μμ »
11...
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Stefevan

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 274
Απ: Ερώτηση για Δομή Επανάληψης "Για"
« Απάντηση #3 στις: 14 Δεκ 2011, 04:45:03 μμ »
Βολεύει το γεγονός ότι η τιμή είναι 11 γιατί μπορούμε να κάνουμε έναν αλγόριθμο πιο γενικό, πχ περίπτωση εύρεσης μέσου όρου,

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

Stefevan

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 274
Απ: Ερώτηση για Δομή Επανάληψης "Για"
« Απάντηση #4 στις: 14 Δεκ 2011, 04:48:56 μμ »
(κάτι πάτησα... :S)

το τμήμα αλγορίθμου:

ΑΘΡ <- 0
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 10 ΜΕ ΒΗΜΑ 1
  ΔΙΑΒΑΣΕ ΒΑΘΜΟΣ
  ΑΘΡ <- ΑΘΡ + ΒΑΘΜΟΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΟ <- ΑΘΡ / (Ι-1)
!ή ΜΟ <- ΑΘΡ/10

αν είναι να αλλάξουμε την τελική τιμή, θα κάνουμε την αλλαγή σε μία γραμμή κώδικα μόνο