Αποστολέας Θέμα: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ  (Αναγνώστηκε 7074 φορές)

droopy

  • Θαμώνας
  • ***
  • Μηνύματα: 37
  • you know what... i'm happy
ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« στις: 29 Οκτ 2007, 05:38:48 μμ »
ΔΙΝΕΤΑΙ ΤΟ ΤΜΗΜΑ ΑΛΓΟΡΙΘΜΟΥ:

Χ<--Α

ΑΡΧΗ ΕΠΑΝΑΛΗΨΗΣ
Χ<-- Χ+2
ΕΜΦΑΝΙΣΕ Χ
ΜΕΧΡΙΣ_ΟΤΟΥ Χ>=Μ

ΝΑ ΓΡΑΦΕΙ ΜΕ ΤΗΝ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ ΩΣΤΕ ΝΑ ΤΥΠΩΝΕΙ ΤΙΣ ΙΔΙΕΣ ΤΙΜΕΣ ΜΕ ΤΟ ΠΙΟ ΠΑΝΩ ΤΜΗΜΑ ΑΛΓΟΡΙΘΜΟΥ


ΑΝ ΘΕΩΡΗΣΟΥΜΕ ΩΣ ΙΣΟΔΥΝΑΜΟ ΤΟΥ ΤΟ ΑΚΟΛΟΥΘΟ:

ΓΙΑ Χ ΑΠΟ Α+2 ΜΕΧΡΙ Μ+1 ΜΕ ΒΗΜΑ 2
ΕΜΦΑΝΙΣΕ Χ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΟΤΕ ΓΙΑ Α=2 ΚΑΙ Μ=1 ΘΑ ΕΧΟΥΜΕ:

1ος ΑΛΓΟΡΙΘΜΟΣ: ΘΑ ΕΜΦΑΝΙΣΕΙ 4
2ος ΑΛΓΟΡΙΘΜΟς: ΔΕΝ ΘΑ ΕΚΤΕΛΕΣΤΕΙ ΚΑΜΙΑ ΦΟΡΑ. ΔΕΝ ΘΑ ΕΜΦΑΝΙΣΕΙ ΤΙΠΟΤΑ.

ΥΠΑΡΧΕΙ ΚΑΠΟΙΑ ΑΛΛΗ ΛΥΣΗ? ΜΗΠΩΣ Η ΠΡΟΣΘΗΚΗ ΤΗΣ ΕΝΤΟΛΗΣ ΕΜΦΑΝΙΣΕ Χ ΜΕΤΑ ΤΟ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ?







koniordos

  • Ομάδα διαγωνισμάτων 2008
  • *
  • Μηνύματα: 94
  • Το Α είναι Β και το Β είναι Α
Απ: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« Απάντηση #1 στις: 29 Οκτ 2007, 05:55:57 μμ »
Τελείως με μπούσουλα και όχι διερευνητικά

1o βήμα, μετατροπή της ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ σε ΑΠΟΛΥΤΩΣ ισοδύναμη ΟΣΟ

Χ<--Α
Χ<-- Χ+2
ΕΜΦΑΝΙΣΕ Χ
ΟΣΟ Χ<Μ ΕΠΑΝΑΛΑΒΕ
Χ<-- Χ+2
ΕΜΦΑΝΙΣΕ Χ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ή καλύτερα

Χ<--Α+2
ΕΜΦΑΝΙΣΕ Χ
ΟΣΟ Χ<Μ ΕΠΑΝΑΛΑΒΕ
Χ<-- Χ+2
ΕΜΦΑΝΙΣΕ Χ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

2ο βήμα - μετατροπή του εσωτερικού και του εξωτερικού τμήματος της ΟΣΟ ώστε να μοιάζει με ΓΙΑ


ΕΜΦΑΝΙΣΕ Α+2
Χ<--Α+2
ΟΣΟ Χ<=Μ-1 ΕΠΑΝΑΛΑΒΕ
ΕΜΦΑΝΙΣΕ Χ+2
Χ<-- Χ+2
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

3ο βήμα
μετατροπή της ΟΣΟ σε ΓΙΑ

ΕΜΦΑΝΙΣΕ Α+2
ΓΙΑ Χ ΑΠΟ Α+2 ΜΕΧΡΙ Μ-1 ΜΕ ΒΗΜΑ 2
ΕΜΦΑΝΙΣΕ Χ+2
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Τσορώνης Τάκης
Ηλ.Μηχ. & Μηχ. Η/Υ ΕΜΠ

droopy

  • Θαμώνας
  • ***
  • Μηνύματα: 37
  • you know what... i'm happy
Απ: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« Απάντηση #2 στις: 31 Οκτ 2007, 12:20:28 πμ »
ευχαριστώ πολύ.

το θέμα αυτό είναι από πανελλήνιες του 2001 (επαναληπτικές) και τόσο σε κάποια site με λύσεις των θεμάτων όσο και σε βοηθήματα είχα βρει την λύσιε που περιγράφω στην αρχή και η οποία δεν είναι σωστή. καλό θα ήταν να το διορθώσουν.

εκτός και αν κάνω κάπου λάθος  :-\



Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3190
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« Απάντηση #3 στις: 31 Οκτ 2007, 06:23:44 μμ »
Ευχαριστώ για την υπόδειξη, το έχω διορθώσει απο τη δεύτερη ανατύπωση
όπως και στη σελίδα http://users.kor.sch.gr/ptsiotakis/aepp/aepp_panel_epanen_2001.htm
ως εξής:

Εκτύπωσε X + 2
Για X από A + 4 μέχρι M + 1 με_βήμα 2
   Εκτύπωσε X
Τέλος_επανάληψης


afroditi

  • Νέος
  • *
  • Μηνύματα: 4
Απ: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« Απάντηση #4 στις: 27 Μάι 2010, 08:23:48 πμ »
Καλημέρα!!!!
Παραμονή των Πανελληνίων και με το αγχος που με διακατέχει θα ήθελα να ρωτήσω το εξής:
Η παραπάνω μετατροπή μπορεί να γραφτεί με τη βοήθεια του ΑΝ;
Δηλαδή:

Χ<--Α
Αν χ>=Μ τότε
Χ<-- Χ+2
ΕΜΦΑΝΙΣΕ Χ
Αλλιώς
ΟΣΟ Χ<Μ ΕΠΑΝΑΛΑΒΕ
Χ<-- Χ+2
ΕΜΦΑΝΙΣΕ Χ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Τέλος_αν

mbathas

  • Βετεράνος
  • ****
  • Μηνύματα: 88
    • mbathas@im.sch.gr
    • blogs.sch.gr/mbathas
Απ: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« Απάντηση #5 στις: 27 Μάι 2010, 09:20:06 πμ »
Καλημέρα,
οι εντολές που περιέχονται στην Αρχή_επανάληψης....μέχρις_ότου εκτελούνται τουλάχιστον μία φορά συνεπώς κατά την μετατροπή σε όσο..επανάλαβε δεν χρειάζεται έλεγχος με Αν... στο μπλοκ εντολών που βγαίνουν εκτός επανάληψης.
Άλλωστε γι'αυτό τις βγάζουμε έξω για να εκτελεστούν οπωσδήποτε μία φορά.
Stay cool,Καλή σου επιτυχία!
Μιχάλης Μπάθας
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής

afroditi

  • Νέος
  • *
  • Μηνύματα: 4
Απ: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« Απάντηση #6 στις: 27 Μάι 2010, 03:21:14 μμ »
Aν το γράψω δηλαδή με Αν θα μου κόψουν;Γιατί έτσι το έχω μάθει...

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3147
  • to Iterate is human to Recurse divine
Απ: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« Απάντηση #7 στις: 27 Μάι 2010, 03:49:38 μμ »
Όπα, δεν το κατάλαβα αυτό. Τι θα πει έτσι το έχεις μάθει?
Θα σε συμβούλευα να το ξε-μάθεις, εκτός αν καταλαβαίνεις τι κάνει
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

melina

  • Νέος
  • *
  • Μηνύματα: 6
Απ: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« Απάντηση #8 στις: 16 Ιαν 2011, 02:54:57 μμ »
Γεια σας,

εγώ θεωρώ ότι πρέπει οπωσδήποτε να χρησιμοποιηθεί η επιλογή Αν, για να αποκλειστεί η περίπτωση να είναι η αρχική τιμή μεγαλύτερη από την τελική τιμή στη δομή ΓΙΑ, εφόσον έχουμε θετικό βήμα. Μία λύση:


Αν Α>Μ-2 τότε  (χωρίς πρόβλημα μπορούμε να βάλουμε Α>Μ-1)
   Τύπωσε το Α+2
Αλλιώς
   Για Χ από Α μέχρι Μ-1 με_βήμα 2
         Τύπωσε το Χ+2
   Τέλος_επανάληψης
Τέλος_Αν

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

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1089
Απ: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« Απάντηση #9 στις: 18 Ιαν 2011, 12:04:20 πμ »
Πρέπει για οποιοδήποτε συνδυασμό τιμών μεταξύ Α και Μ η Μέχρις_ότου να εκτελεστί οπωσδήποτε μια φορά. Το ίδιο πρέπει να συμβαίνει και στη ΓΙΑ. Αυτό γίνεται τοποθετώντας τις εντολές να εκτελεστούν μια φορά πριν από την ΓΙΑ

Βασίλης Παπαχρήστος

  • Θαμώνας
  • ***
  • Μηνύματα: 41
Απ: ΜΕΤΑΤΡΟΠΗ ΜΕΧΡΙΣ_ΟΤΟΥ ΣΕ ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ
« Απάντηση #10 στις: 21 Ιαν 2011, 10:54:14 πμ »
Γεια σας,

εγώ θεωρώ ότι πρέπει οπωσδήποτε να χρησιμοποιηθεί η επιλογή Αν, για να αποκλειστεί η περίπτωση να είναι η αρχική τιμή μεγαλύτερη από την τελική τιμή στη δομή ΓΙΑ, εφόσον έχουμε θετικό βήμα. Μία λύση:

Αν Α>Μ-2 τότε  (χωρίς πρόβλημα μπορούμε να βάλουμε Α>Μ-1)
   Τύπωσε το Α+2
Αλλιώς
   Για Χ από Α μέχρι Μ-1 με_βήμα 2
         Τύπωσε το Χ+2
   Τέλος_επανάληψης
Τέλος_Αν

Πρέπει να καταλάβεις ότι ακόμη κι αν η αρχική τιμή είναι μεγαλύτερη από την τελική δεν σε ενοχλεί καθόλου, καθώς η επανάληψη της Για (μιας και το βήμα είναι θετικό) δεν θα εκτελεστεί καμία φορά. Γι' αυτόν ακριβώς το λόγο δε χρειάζεται η ΑΝ.