sarwsi 2diastatu me zig zag

Ξεκίνησε από Dem, 03 Μαΐου 2007, 02:55:13 ΜΜ

« προηγούμενο - επόμενο »

Dem

borei na mu pei kaneis an exw lysei swsta mia diskoli askisi???
steilte mu e-mail sto kapsuris@hotmail.com

Dem

1   2  6   7   14  15
3   5  8   13 16  21
4   9  12 17  20  22
10 11 18 19  23  24


steilte mu mia lysi giati dn kserw an to xw lysei swsta!!!!
sto kapsuris@hotmail.com
thnx          ;)

alkisg

Dem, καλωσήρθες.

Είναι πιο εύκολο να διαβάζουμε μηνύματα σε ελληνικά, γι' αυτό καλύτερα να μην γράφεις greeklish.

Ανέβασε τη λύση σου να σου πούμε που έχεις λάθος. Πάτα «Απάντηση», μετά στις «Πρόσθετες επιλογές», και δεξιά από εκεί που λέει «Επισύναψη αρχείου» πάτα το κουμπί «Αναζήτηση».

gpapargi

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

Έφτιαξα μια λύση, που ίσως δεν είναι η καλύτερη αλλά είναι καπως πιο εύκολη να τη σκεφτείς.
Έστω ότι γραμμές είναι το πλήθος των γραμμών και στήλες είναι το άθροισμα των στηλών. Στο συγκεκριμένο παράδειγμα γραμμές=4 και στήλες = 6

Η σκέψη κλειδί είναι ότι τα στοιχεία που βρίσκονται στην ίδια διαγώνιο έχουν το ίδιο άθροισμα δεικτών. Χρησιμοποιώ λοιπόν ένα μετρητή i που παράγει όλα τα πιθανά αθροίσματα δεικτών. Στο συγκεκριμένο παράδειγμα αυτά είναι από 2 (για το στοιχείο α[1,1]) μέχρι 10 (για το στοιχείο α[4,6]).

Από κει και πέρα παρατηρείς ότι αν το άθροισμα των δεικτών είναι ζυγό σαρώνεις από κάτω προς τα πάνω ενώ όταν το άθροισμα των δεικτών είναι μονό σαρώνεις από πάνω προς τα κάτω. 

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


x <- 0
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ γραμμές+στήλες
    ΑΝ i MOD 2 = 1 ΤΟΤΕ
      ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ i-1
        ΑΝ  j <= γραμμές ΚΑΙ i-j <= στήλες ΤΟΤΕ
          x <- x+1
          α[j,i-j] <- x
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΛΛΙΩΣ_ΑΝ i MOD 2 = 0 ΤΟΤΕ
      ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ i-1
        ΑΝ i-j <= γραμμές ΚΑΙ j <= στήλες ΤΟΤΕ
          x <- x+1
          α[i-j,j] <- x
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Dem

#4
gpapargi η λυση μου ξεφευγει απο τα ορια του πινακα!!!thnx για τη λυση σου
οντως δν εχει παιδαγωγικο χαρακτηρα η ασκηση αλλα νομιζω οτι το μαθημα ειναι πολυ απλο στα πλαισια
του λυκειου....δν χανω το χρονο μου για πνευματικες αναζητησεις...απο περιεργεια και μονο αν θα το ελυνα!!
ασχετο μια συναρτηση επιστρεφει και τις παραμετρους τις????
στο προγραμμα απο κατω σκοπος ειναι αν γεμισεις τον πινακα με τις τιμες που εχει στο δευτερο μηνυμα
να σου εμφανισει 1 2 3 ..........23 24
πως γινεται να μην βγαινεις εκτος οριων??η δν γινεται με αυτη τη λυση....??

gpapargi

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

Λοιπόν... οι περιπτώσεις δεν είναι μόνο 4 (δηλαδή να βρεθείς σε έναν από τους 4 «τοίχους») αλλά περισσότερες. Δες για παράδειγμα τον πάνω τοίχο. Μετά τον αριθμό 2 πάς κάτω και αριστερά, αλλά μετά τον αριθμό 6 πάς δίπλα. Και τις 2 φορές είσαι στον πάνω τοίχο αλλά το επόμενο βήμα αλλάζει.
Όλες αυτές οι διαφορετικές περιπτώσεις πρέπει να διακριθούν.

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

Ουσιαστικά αν πας προς μια κατεύθυνση συνεχίζεις να πηγαίνεις μέχρι να «σκάσεις» πάνω στον τοίχο. Το ότι συνεχίζεις να κάνεις αυτό που έκανες και πριν μου λέει ότι κατά κάποιο τρόπο στο πρόβλημα υπάρχει κάποιου είδους «μνήμη». Σκέψου ότι αν σε ρωτήσω ποιο είναι το επόμενο βήμα από τη θέση α[17,16] σε ένα πίνακα α[30,30] δεν θα ξέρεις κατευθείαν. Θα πρέπει να πας από την αρχή για να δεις την πορεία πριν τη θέση α[17,16].  Αν ξέρεις τα προηγούμενα μετά απλά θα συνεχίσεις. Αυτό μου δίνει την ιδέα να κρατάω τις προηγούμενες τιμές των δεικτών. Δηλαδή θα έχω τα i και j της τρέχουσς θέσης αλλά θα κρατάω και τις αμέσως προηγούμενες τιμές τους. Δηλαδή θα έχω προηγούμενο_i και προηγούμενο_j. Ισως έτσι να μπορέσω να εκφράσω με φυσικό τρόπο το πρόβλημα. Πρόσεξε ότι αν πάνω σε ένα σχήμα πίνακα 2 διαστάσεων σου δώσω την τρέχουσα και την προηγούμενη θέση (χωρίς να σου δώσω όλη τη διαδρομή) τότε μπορείς να καταλάβεις πως θα συνεχίσεις. Μάλλον πιάσαμε την άκρη του νήματος  ;)

Παρατήρησε τώρα πως διαφοροποιουται οι παραπάνω περιπτώσεις του αριθμού 2 και του αριθμού 6. Και στις 2 περιπτώσεις είμαι στον πάνω τοίχο. Αλλά πριν το 2 ήμουν δίπλα αριστερά ενώ πριν το 6 ήμουν κάτω αριστερά. Να η διαφορά που θα με κάνει να διακρίνω τις περιπτώσεις και άρα να καθορίσω το επόμενο βήμα. Το «δίπλα αριστερά» και το «κάτω αριστερά» εκφράζονται πολύ εύκολα σαν σχέσεις των δεικτών i και j αλλά και των προηγούμενο_i και προηγούμενο_j. Άρα πάμε καλά. Θέλουμε 2 συνθήκες για τον πάνω τοίχο.

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

Δεν τσέκαρα με ακρίβεια όλες τις περιπρώσεις, αλλά χοντρικά από ότι βλέπω με το μάτι θέλεις 2 ελέγχους για κάθε τοίχο και κάθε γωνία. ʼρα 16 συνθήκες. Βάλε και άλλες 2 για τη μέση (μια όταν ανεβαίνεις και μια όταν κατεβαίνεις) πάμε στις 18. Ξαναλέω ότι δεν έκατσα να το ψάξω ακριβώς. Μπορεί να αλλάζει κάτι όταν ελέγξεις τις λεπτομέρειες.

Μετά θέλω κάποιο τρόπο να κάνω πιο συμπαγή των κώδικα. Παρατηρώ λοιπόν ότι όλες οι κινήσεις που γίνονται είναι δίπλα δεξιά, κάτω, κάτω αριστερά και πάνω δεξιά. ʼρα μια καλή ιδέα είναι να μαζέψω σε μια σύνθετη συνθήκη (με τη βοήθεια του λογικού τελεστή «Ή» όλες τις συνθήκες που οδηγούν σε κάθε μια από τις 4 κινήσεις. Έτσι τελικά θα έχω μια πολλαπλή επιλογή με 4 συνθήκες μόνο που η κάθε μια από αυτές θα είναι σύνθετη. Αν θέλω να ζουλήξω τα πράγματα ακόμα πιο πολύ μπορώ να βάλω λογικές μεταβλητές που θα υλοποιούν τις σύνθετες συνθήκες και απλά να ελέγχω στην τεσσάρα πολλαπλή επιλογή αν η λογική μεταβλητή είναι Αληθής ή Ψευδής και ανάλογα να αλλάζω τους 4 δείκτες.

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

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

Δεν έγραψα κώδικα αλλά σου ανέφερα τον τρόπο σκέψης έτσι ώστε να μπορέσεις μόνος σου να το ψάξεις. Είναι σίγουρα πιο παιδαγωγικό να δεις το τρόπο σκέψης παρά μια λύση που δε θα ξέρεις πως τη σκέφτηκα.   Δες το και αν θέλεις κάτι τα ξαναλέμε.

Τώρα στα υπόλοιπα.

Η συνάρτηση δεν επιστρέφει και τις παραμέρους της. Αυτό είναι ξεκάθαρο. Η διαδικασία επιστρέφει τις πααμέτρους της (copy in copy out). Η συνάρτηση επιστρέφει μόνο μια τιμή με το όνομάτης. Αυτός είναι ο μόνος τρόπος να πάρεις πληροφορία από συνάρτηση. Αν η συνάρτηση επέστρεφε και τις παραμέτρους της τότε δε θα υπήρχε λόγος να υπάρχουν οι διαδικασίες. Θα τα κάναμε όλα με συναρτήσεις αφού οι λειτουργίες τους θα ήταν υπερσύνολο των λειτουργιών των διαδικασιών. (Εννοώ όχι μόνο ως προς το περιεχόμενο αλλά και ως προς το τρόπο κλησης).

Τέλος ...(το πιο σημαντικό)... για μένα το μάθημα δεν είναι πολύ απλό στα πλαίσια του λυκείου. Υπάρχουν ασκήσεις στο τετράδιο μαθητή (με 2 και 3 αστέρια) που είναι πολύ καλές. Για παράδειγμα η ανάλυση ενός αριθμού σε πρώτους παράγοντες ή το να βρεις πιο από τα στοιχεία ενός πίνακα εμφανίζεται πιο πολλές φορές κλπ είναι ασκήσεις μέσα από το διδακτικό μας πακέτο. Εύκολα είναι αυτά που πέφτουν μέχρι στιγμής στις εξετάσεις. Και έτσι όσοι διδάσκουν μόνο ΣΟΣ μένουν στα απλά. Όταν διδάσκεται με πληρότητα το διδακτικό πακέτο το μάθημα δεν είναι απλό. Έχει δυσκολία ανάλογη με τα μαθηματικά και τη φυσική και δεν τυποποιείται σε καμία περίπτωση. Όμως το πόσο δύσκολο είναι το μάθημα καθορίζεται από το διδακτικό πακέτο και όχι από τα ΣΟΣ. Ελπίζω πως το επίπεδο των πανελληνίων θα ανέβει και θα φέρει το μάθημα στην πραγματική του θέση εκθέτοντας όσους διδάσκουν μόνο τα ΣΟΣ.



Dem

συμφωνω με το τελευταιο οτι το μαθημα μπορει να παει στα επιπεδα των μαθηματικων και της φυσικης και οτι οταν καποιος διδασκει τα σοσ το μαθημα γινεται απλο.τυχαινει στο φροντ να εχω ενα καθηγητη που καναμε κατι απιστευτες ασκησεις και αυτος ειναι και ο λογος που με εχει πορωσει.
οταν ηρθε η ωρα λοιπον να κανουμε τα θεματα των πανελληνιων τα ειδα και ξενερωσα απιστευτα!!μονο ενα θεμα επαναληπτικων ηταν πολυ ενδιαφερον(μετατροπη δομης πολυ καλη που αρχιζε νομιζω καπως ετσι: Α,Μ ακεραιοι)και τωρα μονο η θεωρια νομιζω ειναι το μονο εμποδιο για το 100.ελπιζω να μην διαψευστω...αλλα δν μπορεις να πεις οτι δν θεωρειται ενα απο τα ευκολα μαθηματα απο τη πλειοψηφια??
τεσπα....ευχαριστω πολυ που εκατσες και εγραψες τοσο κειμενο σαν υποδειξη!!!!! :)

gpapargi

Για μένα όποιος θεωρεί το μάθημα εύκολο δεν έχει πλήρη εικόνα της ύλης. Σε αυτές τις περιπτώσεις ανοίγω το τετράδιο και του δίνω μερικές ασκήσεις από μέσα. Η γνώμη του αλλάζει αμέσως. Οι μαθητές μου  πάντως δεν το θεωρούν καθόλου εύκολο.

Για μένα το θέμα εξετάσεων που μου άρεσε πραγματικά είναι το θέμα 4 των εσπερινών 2005 (αυτό με τα σχολεία που ψήφιζαν το καθένα 5 άλλα). Ο λόγος που μου άρεσε είναι ότι δεν ήταν η κλασσική πια επεξεργασία όλων των γραμμών και όλων των στηλών του δισδιάστατου πίνακα. Ο παπαγάλος έχανε τη μπάλα. Ήταν θέμα για μαθητές που καταλαβαίνουν και δε δουλεύουν με τυφλοσούρτες.

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

kLee

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

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

Πληροφορικός

Dem

ναι οκ
αν μπορεις στειλτη μου!ειναι και επικαιρη....!!
οσο για την ευκολια του μαθηματος απλα νομιζω οτι μεχρι να μπουν δυσκολα θεματα θα περασει καιρος.....