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

Γενικό Λύκειο => Γ΄ Λυκείου => Θεωρία => Μήνυμα ξεκίνησε από: landreou στις 26 Φεβ 2013, 09:32:13 ΠΜ

Τίτλος: ΜΕΤΑΤΡΟΠΕΣ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ
Αποστολή από: landreou στις 26 Φεβ 2013, 09:32:13 ΠΜ
Γεια σε όλους τους φίλους του ΣτΠ.

Όσον αφορά τη μετατροπή δομων επανάληψης θα ήθελα να σας ρωτήσω για το πως τις αντιμετωπίζουμε αν έχουμε προς μετατροπή εμφωλευμένες δομές επανάηληψης (όχι δηλαδή μόνο μία).

Ευχαριστώ
Τίτλος: Απ: ΜΕΤΑΤΡΟΠΕΣ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ
Αποστολή από: Καρκαμάνης Γεώργιος στις 26 Φεβ 2013, 10:03:59 ΠΜ
Σχετικά με τη μετατροπή των εμφωλευμένων δομών επανάληψης που αναφέρεις, η κάθε δομή μετατρέπεται αυτόνομα στο σημείο στο οποίο βρίσκεται, δηλαδή ο εσωτερικό βρόχος μετατρέπεται μέσα στον εξωτερικό βρόχο

πχ.
Για ι απο 1 μέχρι 10
  Για κ από 1 μεχρι 10
   ......
Τέλος_επανάληψης
Τέλος_επανάληψης

Μετατροπή σε ΟΣΟ:

ι <-1
Οσο ι <= 10 επανάλαβε
    κ <-1         ! εδώ μετατρέπεται ο εσωτερικός βρόχος
    Όσο κ <= 10 επανάλαβε
      .....
       κ <- κ + 1
   Τέλος_επανάληψης
   ι<- ι +1
Τέλος_επανάληψης

   
Τίτλος: ΜΕΤΑΤΡΟΠΕΣ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ
Αποστολή από: landreou στις 26 Φεβ 2013, 11:24:06 ΠΜ
Παμε λοιπόν

Να μετατραπει με χρήση μόνο της ΟΣΟ το παρακάτω τμήμα κώδικα :

Αρχή_Επανάληψης

Διάβασε χ

σ <-- χ

Διάβασε μ

Αρχή_Επανάληψης

σ <-- σ + μ

Διάβασε μ

Μέχρις_οτου μ <= 0

Μέχρις_ότου σ > 1000

Τίτλος: Απ: ΜΕΤΑΤΡΟΠΕΣ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ
Αποστολή από: nikolasmer στις 26 Φεβ 2013, 12:09:11 ΜΜ
Νομίζω πως η μετατροπή σου είναι η εξής:

Κώδικας [Επιλογή]

Διάβασε χ,μ
σ ← χ + μ
Διάβασε μ
Όσο μ > 0 επανάλαβε
  σ ← σ + μ
  Διάβασε μ
Τέλος_επανάληψης
Όσο σ ≤ 1000 επανάλαβε
  Διάβασε χ,μ
  σ ← χ + μ
  Διάβασε μ
  Όσο μ > 0 επανάλαβε
    σ ← σ + μ
    Διάβασε μ
  Τέλος_επανάληψης
Τέλος_επανάληψης


Αν υπάρχει κάποιο λάθος ας με διορθώσουν οι συνάδελφοι.