Αποστολέας Θέμα: Μετατροπές Δομές επανάληψης  (Αναγνώστηκε 1350 φορές)

Λαμπράκης Μανώλης

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 825
Μετατροπές Δομές επανάληψης
« στις: 07 Οκτ 2013, 10:14:53 πμ »
Καλημέρα σε όλους

το Σάββατο συζητούσαμε με τους μαθητές μου στο φροντιστήριο μετατροπές μεταξύ δομών επανάληψης...είπαμε λοιπόν ότι πχ στην δομή

Διάβασε λ
κ<--0
Αρχή_επανάληψης
    εμφάνισε κ
     κ<-- κ+1
Μεχρις_ότου κ>λ

αν θέλουμε να την μετρέψουμε σε Όσο που να εκτελεί τις ίδιες λειτουργίες τότε για να διασφαλίσουμε πως οι εντολές του βρόγχου της όσο θα εκτελεστεί μία φορά, τον τοποθετούμε έξω από την Όσο τις εντολές του βρόγχου για μία επανάληψη

Διάβασε λ
κ<--0
εμφάνισε κ
κ<--κ+1
Όσο κ<=λ επανάλαβε
   εμφάνισε κ
     κ<-- κ+1
Τέλος_επανάληψης


ένας μαθητής μου πρότυνε το εξής

διάβασε λ
κ<--0
Αν κ>λ τότε
   εμφάνισε κ
   κ<--κ+1
Αλλιώς
 Όσο κ<=λ επανάλαβε
   εμφάνισε κ
     κ<-- κ+1
Τέλος_επανάληψης

δηλαδή αν κάνει μία επανάληψη αν η η συνθήκη είναι τέτοια ώστε να μην μπει καθόλου στο Όσο, αλλιώς να εκτελεστεί κανονικά

Ουσιαστικά αν δεν κάνω λάθος το ίδιο είνια, απλά η δομή Αν μου φαίνεται κάπως "περιττή", καθώς ουσιαστικά με την μία επανάληψη εκτός μεταβάλεται έτσι ο μετρητής της συνθήκης που δεν χρειάζεται να ελέγξουμε κάτι παραπάνω

Σωστά τα σκέφτομαι, ή μήπως υπάρχει κάποια περίπτωση που δεν καλύπτεται με την χρήση της Αν ???

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2309
Απ: Μετατροπές Δομές επανάληψης
« Απάντηση #1 στις: 07 Οκτ 2013, 11:24:03 πμ »
Αν το κ είναι μεγαλύτερο του λ, τότε θα ισχύσει το Αν και δεν θα γίνει Επανάληψη Όσο
Το ίδιο θα γινόταν και χωρίς την δομή Αν
Άρα, η δομή Αν είναι περιττή

Αφού οι συνθήκες του Αν και του Όσο είναι οι ακριβώς αντίθετες, δεν υπάρχει πρόβλημα
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Λαμπράκης Μανώλης

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 825
Απ: Μετατροπές Δομές επανάληψης
« Απάντηση #2 στις: 07 Οκτ 2013, 12:18:40 μμ »
ωραία, συμφωνούμε πως είναι περιττή, δεν είναι όμως και λάθος έτσι ?? δηλαδή ουσιαστικά σωτή είναι σαν υλοποίηση, απλά το αν είναι περιττό, και "εγκυμονεί τον κίνδυνο" να γίνει και κανένα λάθος στην συνθήκη...

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2309
Απ: Μετατροπές Δομές επανάληψης
« Απάντηση #3 στις: 07 Οκτ 2013, 12:23:41 μμ »
Είναι περιττός έλεγχος
Αντίστοιχο παράδειγμα:
Αν (χ <= 20) τότε
      .....
Αλλιώς_Αν (χ > 20) και ....

Δεν είναι τόσο προφανές φυσικά, απλά με δεύτερη σκέψη καταλαβαίνεις ότι ο έλεγχος είναι περιττός
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής