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

Γενικό Λύκειο => Δομή επανάληψης => Γ΄ Λυκείου => Εντολή ΜΕΧΡΙΣ_ΟΤΟΥ => Μήνυμα ξεκίνησε από: Sergio στις 11 Φεβ 2011, 03:17:20 ΠΜ

Τίτλος: Άσκηση .. ποιητική
Αποστολή από: Sergio στις 11 Φεβ 2011, 03:17:20 ΠΜ
Ελπίζω στην αίσθηση του χιούμορ σας..

Το μεσημέρι που έπινα το πρώτο freddo espresso της χρονιάς (!!) παρέα με ένα φίλο (τι ήλιος ήταν αυτός και σήμερα), παρατήρησα πως καπνίζαμε την ίδια μάρκα τσιγάρα.  Μου βγήκε σε .. άσκηση η ιδέα της στιγμής και πριν λίγο, δεν ξέρω πώς, διαμορφώθηκε μια αλλοπρόσαλλη εκφώνηση σε .. Θεσσαλικό 14-σύλλαβο..

Ε.. είπα να τη μοιραστώ:



ΣύγχρονηΑλγοριθμική Ποίηση
σε «Θεσσαλικό 14-σύλλαβο»
Ο ΤΣΑΜΠΑΤΖΗΣ


Δύο μάγκες νεαροί, πάντα φίλοι κολλητοί,
συναντιόντουσαν συχνά μες στην ίδια γειτονιά..
Είν' ο ένας τους κοντός και ο άλλος πιο ψηλός.
Αφελής ειν ο ψηλός, κατεργάρης ο κοντός.

Και έτσι μιαν ημέρα ο ένας, ο κοντούλης της παρέας,
κόλπο βρήκε για να κλέβει, και λεφτά να μην ξοδεύει.

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

Και το ίδιο πάντα κάνει κι έτσι βγαίνει κερδισμένος,
και ο φίλος ο καλός του στην κοσμάρα του ο καημένος.

Τώρα αυτά γιατί στα λέω, μήπως και με βοηθήσεις,
τον αλγόριθμο να κάμεις, τα τσιγάρα να μετρήσεις.
Πόσα κάπνισεν εκείνος που σοφίστηκε το κόλπο,
για τον άλλο δε μας νοιάζει, δε θα κάνουμε και κόπο..

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

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

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

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

Να μας λέει για τον τσαχπίνη πόσα αγόρασε πακέτα
πόσα εκάπνισε τσιγάρα, και τι κέρδος είχε νέτα.
Κι όσο και για τον ψηλό μας (που χαμένα τά χει αυτός)
να μας λέει πόσες φορές τον εξεγέλασε ο κοντός !

Εννοείται πως το κέρδος για να το υπολογίσεις
κάθε τότε που αλλάζει τα πακέτα, να μετρήσεις
πόσα ήταν τα τσιγάρα που του άφησε του άλλου
και μετά πόσα του πήρε για να κάνει τη μαγκιά του.

Όλα αυτά για να τα κάμεις πρέπει όμως να προσέξεις
και το μέτρημα ν αρχίσεις, όχι όταν το μπορέσεις,
αλλά μόνο τη στιγμή όπου το παιχνίδι αρχίζει,
πιό νωρίς μην ξεκινήσεις, τι να λέει, δεν αξίζει..

Το παιχνίδι ξεκινάει μόλις πρωτοανταμώσουν.
Τι καπνίσαν μέχρι τότε δε μας νοιάζει, κι ας θυμώσουν.
Μόλις φτάσει τα πενήντα άλλη αλλαγή δεν κάνει..
τελειώνει το παιχνίδι, τέρμα η κοροϊδία, φτάνει.

Κι άμα είσαι απο κείνους που ποτέ τους δεν καπνίσαν,
πόσα έχει το πακέτο δεν εξέρουν, δε μετρήσαν,
σου το λέω να το ξέρεις και την άσκηση να λύσεις,
είκοσι τσιγάρα έχει, πίστεψέ με, μην καπνίσεις..
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: Σπύρος Δουκάκης στις 11 Φεβ 2011, 11:50:24 ΠΜ
Α ρε Σέργιο!

Χαραμίζεσαι! Με τέτοιο ταλέντο!  ;D ;D ;D
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: Νίκος Αδαμόπουλος στις 11 Φεβ 2011, 12:15:01 ΜΜ
Ωραίος ο ποιητής!

Δεν ήξερα ότι υπήρχε και "Θεσσαλικός 14-σύλλαβος"  ;D
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: petrou στις 11 Φεβ 2011, 01:35:50 ΜΜ
και που να είχες και κανένα καλό αγνάντι.......
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: Sergio στις 11 Φεβ 2011, 02:06:18 ΜΜ
Η .. λύση δε χρειάζεται να έχει .. ρίμα,
.. σωστά ονόματα μεταβλητών και σωστή στοίχιση όμως...
... ... να έχει, αλλιώς .. κρίμα  :D
.
μπαααα.. τι μ' έχει πιασει.. φτου. φτου.. έχουμε και τη συγκέντρωση σε λίγες μέρες..
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: gthal στις 11 Φεβ 2011, 08:08:33 ΜΜ
Ωραίος !!!
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: lykos στις 12 Φεβ 2011, 07:35:02 ΠΜ
Σέργιο, αρχηγός!
Εσύ αποκλείεται να περισσέψεις! (στο "νέο" λύκειο...)
Για λύση θα επανέλθω (σε λίγω φέυγω για καμιά φύση...).

υγ: μήπως, ν΄αλλάξω στέκι καφέ?
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: lykos στις 12 Φεβ 2011, 07:09:12 ΜΜ
Επέστρεψα...
κι' έχω μια απορία: Από το
ΠαράθεσηΚάθε όταν ανταμώνουν ο ψηλός με τον κοντό,
πόσα έχουν στο πακέτο θα μετράς και από τους δυο.
μέχρι το
ΠαράθεσηΌπως και νάχει το πράμα, κι όπως πάει το τροπάρι
ο κοντός όταν θα φύγει τα πολλά μαζί θα πάρει.
θα καπνίσουν, δε θα καπνίσουν? Ποιός, τίνος,...? Η συναντιούναι μόνο για τον αλγόριθμο: αλλάζουν (ίσως) πακέτα και ξαναφεύγουν?
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: Sergio στις 12 Φεβ 2011, 09:12:13 ΜΜ
Παράθεση από: lykos στις 12 Φεβ 2011, 07:09:12 ΜΜΕπέστρεψα...
κι' έχω μια απορία: .. θα καπνίσουν, δε θα καπνίσουν? Ποιός, τίνος,...? Η συναντιούναι μόνο για τον αλγόριθμο: αλλάζουν (ίσως) πακέτα και ξαναφεύγουν?

Με το που τον ανταμώνει, ο κοντούλης τον ψηλό,
πριν καλά καλά προλάβει, καλημέρα για να πει,
τα πακέτα εξετάζει. Κι άμα θέλει αλλαγή,
κάτω απ'του ψηλού τη μύτη τα πακέτα τα γυρίζει,
τα πολλά δικά του παίρνει κι όταν θέλει τα καπνίζει.

Θα καπνίσει εκεί μαζί του, θα καπνίσει πιό μετά,
πιά δεν έχει σημασία, αφού πήρε τα πολλά.

Την επόμενη φορά, που θα τον ξανανταμώσει,
πάλι ευθύς απ' την αρχή θα κοιτάξει να τ' αλλάξει,
πριν ο άλλος καταλάβει κι έτσι πάει να τα φυλάξει.

Κι αμα τύχει έτσι η φάση κι ο ψηλός έχει το νου του,
ούτε που χει σημασία, θα τ αλλάξει όταν μπορέσει!
Τότε είναι που θα μετρήσει, τότε και θ' αποφασίσει,
είναι αρχή είναι μετά, όπως θα τονε βολέψει..
Ομως κάθε τους φορά, μόνο μία ευκαιρία
θά χει για να τα αλλάξει.. όχι δύο, μόνο ΜΙΑ.
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: Sergio στις 13 Φεβ 2011, 11:02:47 ΜΜ
Άμα έχεις βρει τη λύση και να δοκιμάσεις θες,
πάρε νούμερα να ελέγξεις και άμα σου δουλέψει, πες !
Με το ανοιχτό το χρώμα ειν τα νούμερα που βάζεις..
Όλα τ άλλα μόνα βγαίνουν, εσύ κάθεσαι.. κοιτάζεις !!

_             Κοντός   Ψηλός  Τσιγάρα  Κέρδος  Πακέτα  Αλλαγές
1             17       12
2             10       11     7
     Αλλαγή   11       10              1               1
3              2        6     9
     Αλλαγή    6        2              4               1
4             18       15     8                1
5              8       10    10
     Αλλαγή   10        8              2               1
6              2        6     8
     Αλλαγή    6        2              4               1
7             15       19    11                1             _
   Σ Υ Ν Ο Λ Α               53       11       2       4


Κι αν καλύτερα το θέλεις με τα λόγια να το δεις
πάτα τούτη εδώ τη λέξη (http://users.sch.gr/fanikosa/poem.htm).. δε θα παραξενευτείς !!
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: lykos στις 14 Φεβ 2011, 07:57:57 ΜΜ
Σαν να το παραδυσκολεύεις!
Εγώ θάλεγα να προστίθενται και τα της 1ης Διάβασε (3 τσιγάρα, 1 πακέτο), αφού - απλά και λογικά  - βρισκόμαστε ήδη μέσα στην επανάληψη. Και εφ' όσον έχουμε "Μέχρις_Οτου" (ο έλεγχος τερματισμού γίνεται μετά τις διάφορες "Αν" και προσθαφαιρέσεις) να πραγματοποιείται και η τελευταία "ανταλλαγή": + 4 στο κέρδος. Λέω...
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: Sergio στις 17 Φεβ 2011, 12:36:46 ΜΜ
Παράθεση από: lykos στις 14 Φεβ 2011, 07:57:57 ΜΜ
Σαν να το παραδυσκολεύεις! 

Έχεις δίκαιο, όντως κατά την ανάλυσή της η άσκηση προκύπτει δυσκολότερη απ'ότι φαίνεται..

Όλα τα ζητούμενα του προβλήματος αφορούν στο διάστημα που κρατάει το «παιχνίδι», το οποίο ξεκινάει μόλις πρωτοσυναντηθούνε και τελειώνει μόλις ο «πονηρός» έχει καπνίσει 50 τσιγάρα..

Παράθεση από: lykos στις 14 Φεβ 2011, 07:57:57 ΜΜΕγώ θάλεγα να προστίθενται και τα της 1ης Διάβασε (3 τσιγάρα, 1 πακέτο),

Όμως τα τσιγάρα που του λείπουν από το πακέτο στην πρώτη τους συνάντηση ΔΕΝ πρέπει να προσμετρηθούν στα καπνισμένα αφού το παιχνίδι ΜΟΛΙΣ άρχισε..

Παράθεση από: lykos στις 14 Φεβ 2011, 07:57:57 ΜΜ
να πραγματοποιείται και η τελευταία "ανταλλαγή": + 4 στο κέρδος.

Όμως την τελευταία φορά (όταν θα έχει καπνίσει πλέον 50) ΔΕΝ πρέπει να γίνει αλλαγή πακέτου αφού το παιχνίδι ΜΟΛΙΣ τέλειωσε.

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

Με το βήμα (α) συνδέεται και ο υπολογισμός του κέρδους ενώ με το βήμα (μ) συνδέεται και η μέτρηση των πακέτων.

Επομένως, με βάση τα δύο προβλήματα που εντόπισες, ο (ε) πρέπει να γίνει ΠΡΙΝ την (α) αλλά ΜΕΤΑ τη (μ).  Επομένως, ο βρόχος θα πρέπει να έχει τη μορφή: (μ) – (ε) – (α), ώστε η αρχή του βρόχου να «συμπίπτει» με την αρχή της συνάντησης.  Δηλαδή να μην έχει τον έλεγχο στην αρχή του βρόχου (δηλαδή στην αρχή της συνάντησης) ούτε στο τέλος του, αλλά στη μέση !!  Τέτοια εντολή εμείς ΔΕΝ έχουμε, ούτε στην ψευδογλώσσα ούτε (φυσικά) στη ΓΛΩΣΣΑ (απ όσο θυμάμαι, η ALGOL έχει τέτοια μορφή βρόχου, αλλά αυτό δε μας αφορά).

Το «πρόβλημα» δεν υφίσταται σε επίπεδο διαγραμματικής αναπαράστασης αφού η ελευθερία αυτού του τρόπου αναπαράστασης μας επιτρέπει να υλοποιήσουμε μια τέτοια δομή επανάληψης.. (γενικά ενέχει τον κίνδυνο δημιουργίας αδόμητου κώδικα, όμως εφόσον τηρήσουμε, για κάθε συνιστώσα, τον κανόνα «ένα σημείο εισόδου και 1 σημείο εξόδου» ο αλγόριθμος είναι δομημένος).

Για να δώσουμε, επομένως, λύση με κωδικοποίηση, θα πρέπει να «μαγειρέψουμε» λίγο τον αλγόριθμο ώστε να υλοποιεί αυτή  τη σειρά των βημάτων (μ-ε-α) με μία από τις εντολές που (δυστυχώς μόνο) διαθέτουμε στο «λεξιλόγιό μας). Με δεδομένο ότι θα γίνει σίγουρα μία συνάντηση, φαίνεται πως καταλληλότερη εντολή είναι η μέχρις_ότου.

Σε αυτή την περίπτωση, μία λύση είναι η:
   Αρχή_επανάληψης
      α
   - - - - - - - - - - - - - -
      μ
   Μέχρις_ότου ε
όμως με τη «διακεκομμένη» γραμμή να «οριοθετεί» την «αρχή της συνάντησης» !!  Αυτό επιτρέπει να ξεπεράσουμε ΚΑΙ τα δύο προβήματα αφού, η (μ)έτρηση, στην πρώτη συνάντηση θα δώσει 0, και η τελευταία συνάντηση ΔΕΝ θα κάνει (α)λλαγή πακέτων.

Αν δοκιμάσεις την υλοποίηση σε αυτή τη βάση, νομίζω πως η λύση αποδεικνύεται αρκετά πιο απλή.. 

Τι λες;

Έχω κάνει μια κωδικοποίηση, αλλά νομίζω ότι δεν είναι σκόπιμο να "ανέβει" πριν δοθεί η ευκαιρία σε όποιον θέλει να δοκιμάσει τη λύση του με τις τιμές που δίνονται ως παράδειγμα.
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: soron80 στις 17 Φεβ 2011, 09:40:16 ΜΜ
Δεν μας είπες σε ποια καφετέρια έπινες τον καφέ για να πάμε κι εμείς!!!
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: Sergio στις 17 Φεβ 2011, 09:51:40 ΜΜ
Παράθεση από: soron80 στις 17 Φεβ 2011, 09:40:16 ΜΜ
Δεν μας είπες σε ποια καφετέρια έπινες τον καφέ για να πάμε κι εμείς!!!

:D :D :D
Mellow Yellow, στην πλατεία Εβραίων..

Κερνάω καφεδάκι οποτεδήποτε φίλος από Στέκι περάσει από Λάρισα :)
Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: lykos στις 17 Φεβ 2011, 10:36:20 ΜΜ
Παράθεση"Κερνάω καφεδάκι οποτεδήποτε φίλος από Στέκι περάσει από Λάρισα :)"
Και για όποιον δεν τα πάει καλά με τους καφέδες, κι' άλλη προσφορά: Τσίπουρο στον Αμπελώνα!

Τίτλος: Απ: Άσκηση .. ποιητική
Αποστολή από: soron80 στις 18 Φεβ 2011, 03:01:16 ΜΜ
το τσίπουρο στον Αμπελώνα το βάζω εγώ από δική μας παραγωγή :)
αρκεί να βρεθώ κι εγώ εκεί για μερικές μέρες :(