Αποστολέας Θέμα: Άσκηση Ουρές  (Αναγνώστηκε 4287 φορές)

akalest0s

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 248
Απ: Άσκηση Ουρές
« Απάντηση #15 στις: 15 Φεβ 2020, 12:25:01 μμ »
Το λιγότερο που μπορώ να δεχθώ, είναι ότι έπρεπε η εκφώνηση της Ε6 να το λέει, ή έστω να υπήρχε άλλη εξήγηση στην λύση, από αυτήν που παρέθεσα παραπάνω.
Όπως και να έχει, συμφωνώ και εγώ, το έγραψα και παραπάνω: αν περιγράφεται ρητά η υλοποίηση της ολίσθησης, μπορεί να συμπεριληφθεί στις εξετάσεις. Με την ίδια λογική που μπορεί να ζητήσουν insertionsort αλγόριθμο, ενώ δεν υπάρχει στο βιβλίο.
Από κει και πέρα, εγώ κατ' αρχάς κατέθεσα μια άσκηση/λύση σε ολίσθηση. Το πρόβλημα της Ε6 είχε ήδη θιχτεί από άλλους εδώ μέσα, και δεν είχα σκοπό να κάνω ντόρο, αλλά βγήκε από μόνο του.. ίσως για καλό, ειδικά αν κρίνω την ιδέα του Άλκη στο άλλο θέμα.

υγ> Το ενίοτε υπερβάλλον θυμικό μου, συμπαθάτε το.
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK

epsilonXi

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 168
Απ: Άσκηση Ουρές
« Απάντηση #16 στις: 15 Φεβ 2020, 08:03:29 μμ »
Καλημέρα σε όλους

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


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

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

συνήθως έτσι καταλαβαίνουν ότι δεν είναι ό,τι καλύτερο

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

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 883
Απ: Άσκηση Ουρές
« Απάντηση #17 στις: 15 Φεβ 2020, 08:29:10 μμ »
τα περισσότερα παιδιά αυτό μού λένε ότι τους φαίνεται «φυσικό», να μετακινούνται όλοι μία θέση μπροστά όταν φύγει ο μπροστινός, όπως συμβαίνει στην πραγματικότητα...

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

συνήθως έτσι καταλαβαίνουν ότι δεν είναι ό,τι καλύτερο

Καλησπέρα σε όλους
Συνάδελφε να πω την αλήθεια δεν καταλαβαίνω ακριβώς πως το θέτεις, πως συνδέεις το νούμερο προτεραιότητας με την θέση στην ουρά και γιατί δεν είναι ο,τι καλύτερο..οπως και να χει συμφωνώ πως όλα αυτά είναι τροφή για σκέψη  >:D :police:

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6111
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Άσκηση Ουρές
« Απάντηση #18 στις: 15 Φεβ 2020, 08:47:08 μμ »
Οι άνθρωποι που προχωρούν μπροστά από μόνοι τους σε μια ουρά τραπέζης, αντιστοιχούν σε Ν επεξεργαστές που ο καθένας κάνει μόνο μια κίνηση. Υπερ-παράλληλος προγραμματισμός.
Εμείς προγραμματίζουμε με έναν επεξεργαστή.
Ας προτείνουμε λοιπόν στον ίδιο τον μαθητή (=1 επεξεργαστής) σε κάθε ολίσθηση να τους κουβαλάει αυτός σαν να είναι κούκλες! Και θα καταλάβει γιατί η υλοποίηση ουράς με ολίσθηση είναι μη αποδοτική! :)
Μάλιστα σε αυτό το παράδειγμα δεν χρειάζεται καν δείκτης front αφού είναι πάντα ίσος με 1.

Ένα πιο δόκιμο παράδειγμα θα ήταν, "αν στην τράπεζα αντί για όρθια ουρά είχαμε 10 καρέκλες, πώς θα οργανώναμε την καθιστή ουρά, ώστε να μην χρειάζεται να αλλάζουν καρέκλα;"
Οι καρέκλες αντιστοιχούν καλύτερα σε υλοποίηση ουρών με πίνακα και χρειάζονται δείκτη front.

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

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2374
Απ: Άσκηση Ουρές
« Απάντηση #19 στις: 16 Φεβ 2020, 08:33:48 μμ »
...
« Τελευταία τροποποίηση: 16 Φεβ 2020, 11:30:02 μμ από petrosp13 »
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6111
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Άσκηση Ουρές
« Απάντηση #20 στις: 17 Φεβ 2020, 09:00:59 πμ »
Συνάδελφοι όπως ζητήσατε μετέφερα τα μηνύματα που αφορούσαν επικοινωνία με το Υπουργείο κλπ στο Συγκρούσεις-Αντιφάσεις στη Νέα Ύλη 2019.
Αν κατάλαβα ή έκανα κάτι λάθος φωνάξτε. :)

pvs

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 134
Απ: Άσκηση Ουρές
« Απάντηση #21 στις: 02 Δεκ 2020, 10:43:26 πμ »
Θα ήθελα τη βοήθεια σας στο παρακάτω κομμάτι κώδικα. Προσπάθησα να υλοποιήσω την ουρά με ολίσθηση με βάση τον κώδικα του βιβλίου έτσι ώστε στους μαθητές να τους έρθει πιο εύκολο καθώς θα χρειάζεται να μάθουν απλά μία μικρή παραλλαγή. Η ερώτηση μου είναι απλή είναι σωστή η συγκεκριμένη υλοποίηση ή βλέπετε κάπου λάθος? Ευχαριστώ πολύ για το χρόνο σας.
!ΕΣΤΩ ΟΤΙ ΥΠΑΡΧΟΥΝ ΔΕΚΑ ΣΤΟΙΧΕΙΑ ΣΤΗΝ ΟΥΡΑ
FRONT ← 1
REAR ← 10

Αρχή_επανάληψης
  Αν FRONT = 0 και REAR = 0 τότε
    Γράψε 'ΟΥΡΑ ΑΔΕΙΑ'
  αλλιώς_αν FRONT = REAR τότε
    Γράψε 'ΕΞΕΡΧΕΤΑΙ ΤΟ ΣΤΟΙΧΕΙΟ ', Α[FRONT]
    FRONT ← 0
    REAR ← 0
  αλλιώς
    Γράψε 'ΕΞΕΡΧΕΤΑΙ ΤΟ ΣΤΟΙΧΕΙΟ ', Α[FRONT]
    Για Ι από 2 μέχρι REAR !ΜΕΤΑΚΙΝΗΣΗ ΤΩΝ ΣΤΟΙΧΕΙΩΝ ΜΙΑ ΘΕΣΗ ΜΠΡΟΣΤΑ
      Α[Ι - 1] ← Α[Ι]
    Τέλος_επανάληψης
    REAR ← REAR - 1
  Τέλος_αν
Μέχρις_ότου FRONT = 0 και REAR = 0
 

johnk

  • Νέος
  • *
  • Μηνύματα: 6
Απ: Άσκηση Ουρές
« Απάντηση #22 στις: 02 Δεκ 2020, 11:48:15 πμ »
Εγώ έτσι ακριβώς το έκανα και πέρυσι. Θεωρώ πως είναι μια χαρά. Οι λύσεις του βιβλίου είναι πολύ κακογραμμένες.
Απλά μετά τη ΓΙΑ στο Α[rear] εκχωρώ το κενό (αν είναι πίνακας χαρακτήρων) ή το 0 (αν έχει αριθμούς) για να φαίνεται και εντάξει ο πίνακας

pvs

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 134
Απ: Άσκηση Ουρές
« Απάντηση #23 στις: 02 Δεκ 2020, 12:24:06 μμ »
Εγώ έτσι ακριβώς το έκανα και πέρυσι. Θεωρώ πως είναι μια χαρά. Οι λύσεις του βιβλίου είναι πολύ κακογραμμένες.
Απλά μετά τη ΓΙΑ στο Α[rear] εκχωρώ το κενό (αν είναι πίνακας χαρακτήρων) ή το 0 (αν έχει αριθμούς) για να φαίνεται και εντάξει ο πίνακας
Δεν έβαλα " " ή το 0 στη λογική ότι "παίζουμε" με τον rear αλλά θα το χρησιμοποιώ από εδώ και στο εξής

bugman

  • Επισκέπτης
Απ: Άσκηση Ουρές
« Απάντηση #24 στις: 02 Δεκ 2020, 03:30:23 μμ »
Φυσική ερμηνεία της ουράς με ολίσθηση είναι:
1. Ο σωρός της τράπουλας στο καζίνο, που τραβάμε φύλλο από κάτω, και προσθέτουμε από πάνω (πάνω είναι το rear, κάτω το front που έχει "κολλήσει" στο ίδιο νούμερο)
2. Το πατατοθέσιο, στα πολεμικά καράβια, όπου οι πατάτες μπαίνουν σε ένα είδος ντουλάπας, στο πλάι του καταστρώματος, και υπάρχει από πάνω ένα άνοιγμα για να προσθέτεις τις φρέσκιες, και από κάτω ένα άνοιγμα να πάρεις τις παλιές.
3. Σιλό καλαμποκιού και άλλον τροφών για ζώα. Και εδώ η νέα τροφή μπαίνει από πάνω, και η παλιά βγαίνει πρώτη!
Σε κάθε περίπτωση η ολίσθηση γίνεται με την βαρύτητα!
Υπάρχει και η περίπτωση με σπρώξιμο:
4. Γκισέ παραλαβής δίσκου φαγητού σε φοιτητική λέσχη. Αυτό το έχω δει! Σπρώχνουν τους δίσκους και δεν κοιτάνε καν αν τον έπιασε κανείς, γιατί είναι τόσος ο κόσμος που κάποιος θα τον πάρει!
 :D
« Τελευταία τροποποίηση: 02 Δεκ 2020, 11:13:40 μμ από bugman »

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 485
Απ: Άσκηση Ουρές
« Απάντηση #25 στις: 04 Δεκ 2020, 12:26:08 πμ »
(υγ> φανταστικοί moderators... ένα υποφόρουμ για στοίβες/ουρές;)


alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6111
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Άσκηση Ουρές
« Απάντηση #26 στις: 04 Δεκ 2020, 06:48:50 πμ »
Εεε..., το φτιάξαμε, το ονομάσαμε "Δομές δεδομένων" αντί για "ουρές/στοίβες", και μετάφεραμε το παρόν μήνυμα σε αυτό. He's right, and we've fixed it half a year ago...

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 485
Απ: Άσκηση Ουρές
« Απάντηση #27 στις: 05 Δεκ 2020, 03:03:49 πμ »
Εεε..., το φτιάξαμε, το ονομάσαμε "Δομές δεδομένων" αντί για "ουρές/στοίβες", και μετάφεραμε το παρόν μήνυμα σε αυτό. He's right, and we've fixed it half a year ago...
Θα το επισκευτώ ASAP!