Αποστολέας Θέμα: ΜΕΤΑΤΡΟΠΕΣ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ  (Αναγνώστηκε 1897 φορές)

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
ΜΕΤΑΤΡΟΠΕΣ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ
« στις: 26 Φεβ 2013, 09:32:13 πμ »
Γεια σε όλους τους φίλους του ΣτΠ.

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

Ευχαριστώ

Καρκαμάνης Γεώργιος

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

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

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

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

   

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
ΜΕΤΑΤΡΟΠΕΣ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ
« Απάντηση #2 στις: 26 Φεβ 2013, 11:24:06 πμ »
Παμε λοιπόν

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

Αρχή_Επανάληψης
 
Διάβασε χ

σ <-- χ

Διάβασε μ

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

σ <-- σ + μ

Διάβασε μ

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

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


nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 567
  • There can be only one...may it be AEPP.
Απ: ΜΕΤΑΤΡΟΠΕΣ ΔΟΜΩΝ ΕΠΑΝΑΛΗΨΗΣ
« Απάντηση #3 στις: 26 Φεβ 2013, 12:09:11 μμ »
Νομίζω πως η μετατροπή σου είναι η εξής:

Κώδικας: [Επιλογή]
Διάβασε χ,μ
σ ← χ + μ
Διάβασε μ
Όσο μ > 0 επανάλαβε
  σ ← σ + μ
  Διάβασε μ
Τέλος_επανάληψης
Όσο σ ≤ 1000 επανάλαβε
  Διάβασε χ,μ
  σ ← χ + μ
  Διάβασε μ
  Όσο μ > 0 επανάλαβε
    σ ← σ + μ
    Διάβασε μ
  Τέλος_επανάληψης
Τέλος_επανάληψης

Αν υπάρχει κάποιο λάθος ας με διορθώσουν οι συνάδελφοι.
Μερεντίτης Νικόλαος
Πληροφορικός