Αποστολέας Θέμα: Συνάρτηση να εμφανίζει 2 τιμές....!  (Αναγνώστηκε 3645 φορές)

JR

  • Οπαδός
  • **
  • Μηνύματα: 10
    • Film And Fap
Συνάρτηση να εμφανίζει 2 τιμές....!
« στις: 11 Απρ 2011, 04:39:06 μμ »
Την προηγούμενη βδομάδα έλυνα ασκήσεις και μου ήρθε αυτή η (όμορφη για εμένα) ιδέα!

Δεν μου πήρε πάνω από 10 δευτερόλεπτα να σκεφτώ άμα είναι πραγματοποιήσιμο... αμέσως μου φάνηκε εύκολο και τέλειο για να μπερδέψει (ίσως) κάποιους.  >:D

Δεν αναφέρω σκόπιμα το πως γίνεται (αν και σχεδόν όλοι θα έχετε ήδη μπει στην σκέψη μου!  ;) ).

Πιστεύω θα μπορούσε να χρησιμοποιηθεί σε κατευθυνόμενες ασκήσεις τύπου 'Να φτιαχτεί συνάρτηση που να επιστρέφει τις θέσεις ενός δυσδιάστατου πίνακα.' 

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

Ήθελα να δώσω απλώς αυτή την ιδέα μου. Πως σας φάνηκε εσάς;

Γιάννης

Peace

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1052
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #1 στις: 11 Απρ 2011, 05:26:46 μμ »
Τι σημαίνει  τις θέσεις ενός δυισδιάστατου πίνακα   ;

Πωώς να μας φανεί ;

δεν βρήκα κάτι

Δεν γνωρίζω

Υ.Γ. 
  Χτυπάω (ή και χτυπώ) πού και πού !

 Α.Π.

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #2 στις: 11 Απρ 2011, 06:03:49 μμ »
Αν εννοείς να επιστρέφει πίνακα δεν νομίζω ότι αυτό είναι εφικτό χωρίς προσθήκες στο υπάρχον συντακτικό της γλώσσας.
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

JR

  • Οπαδός
  • **
  • Μηνύματα: 10
    • Film And Fap
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #3 στις: 11 Απρ 2011, 10:52:11 μμ »
Τι σημαίνει  τις θέσεις ενός δυισδιάστατου πίνακα   ;

Πωώς να μας φανεί ;

δεν βρήκα κάτι

Δεν γνωρίζω

Wow, thanks for the tips, νομίζω ήταν άκρως απαραίτητα, κρίμα όμως που ήταν άκυρα με το θέμα.


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

Όχι, θέσεις πίνακα.

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1052
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #4 στις: 11 Απρ 2011, 11:18:44 μμ »
Αλλά ;

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #5 στις: 11 Απρ 2011, 11:50:58 μμ »
Πιστεύω θα μπορούσε να χρησιμοποιηθεί σε κατευθυνόμενες ασκήσεις τύπου 'Να φτιαχτεί συνάρτηση που να επιστρέφει τις θέσεις ενός δυσδιάστατου πίνακα.' 
Για ποιο λόγο θες μια συνάρτηση να επιστρέφει τις θέσεις ενός δυσδιάστατου πίνακα; Πώς μπορεί να αξιοποιηθεί μια τέτοια συνάρτηση; Όταν λες τις θέσεις τι εννοείς? Τα στοιχεία του?
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

odysseas

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 842
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #6 στις: 12 Απρ 2011, 12:47:42 πμ »
Νομίζω αναφέρεται στην απεικόνιση δισδιάστατου πίνακα σε μονοδιάστατο. Πως οι 2 συντεταγμένες ενός στοιχείου στον μεν μπορεί να "κωδικοποιηθούν" σε έναν μοναδικό ακέραιο (ώστε να επιστραφούν από συνάρτηση).

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2805
  • Πύργος Ηλείας
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #7 στις: 12 Απρ 2011, 01:03:46 πμ »
Νομίζω αναφέρεται στην απεικόνιση δισδιάστατου πίνακα σε μονοδιάστατο. Πως οι 2 συντεταγμένες ενός στοιχείου στον μεν μπορεί να "κωδικοποιηθούν" σε έναν μοναδικό ακέραιο (ώστε να επιστραφούν από συνάρτηση).

Χμμ...

Εννοείς μέσα στη συνάρτηση να επιστρέφει:  Αποτ <- (γρ-1)*στήλες+στ

Ενώ στο σημείο κλήσης:

θ <- Αποτ(...)
γρ <- (θ-1) div στήλες +1,
στ <- (θ-1) mod στήλες +1

(όπου γρ και στ οι θέσεις στον δισδιάστατο πίνακα και στήλες το πλήθος των στηλών του)

Βλ. και https://alkisg.mysch.gr/steki/index.php?topic=3763.0

spantoulis

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 109
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #8 στις: 12 Απρ 2011, 01:04:02 μμ »
Μήπως εννοείς το πλήθος των θέσεων του πίνακα? Δηλ. τόσες γραμμές επί τόσες στήλες?
Πάντως να επιστρέψει δύο τιμές δεν γίνεται, εκτός αν τις βάλεις σε μια φράση και την επιστρέψει σαν  μία τιμή τύπου χαρακτήρα  :D
Η χρήση υπολογιστών ΔΕΝ είναι πληροφορική

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3510
  • to Iterate is human to Recurse divine
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #9 στις: 12 Απρ 2011, 01:14:38 μμ »
Αν το ψήφιο κάθε αριθμού θεωρηθεί μια τιμή τότε ένας αριθμός μπορεί να αναπαραστήσει πολλές διαφορετικές πληροφορίες.
Γενικά μπορείς να δουλέψεις σε οποιοδήποτε αριθμητικό σύστημα θέλεις αλλά αυτό πρέπει να το ξέρει αυτός που χρησιμοποιεί τη συνάρτηση ώστε να κάνει την αντίστοιχη μετατροπή

Επίσης η μετατροπή μονοδιάστους σε 2Δ είναι μια καλή και ενδιαφέρουσα ιδέα γιατί έτσι δείχνεις σε έναν μαθητή πως υλοποιούνται εσωτερικά οι πίνακες 2 διαστάσεων.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

JR

  • Οπαδός
  • **
  • Μηνύματα: 10
    • Film And Fap
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #10 στις: 12 Απρ 2011, 07:14:13 μμ »
Για ποιο λόγο θες μια συνάρτηση να επιστρέφει τις θέσεις ενός δυσδιάστατου πίνακα; Πώς μπορεί να αξιοποιηθεί μια τέτοια συνάρτηση; Όταν λες τις θέσεις τι εννοείς? Τα στοιχεία του?

Όταν λέω θέσεις εννοώ θέσεις... (έστω πως σε αναζήτηση που βρίσκεται μέσα σε συνάρτηση βρίσκουμε πως η τιμή που ψάχνουμε είναι στην 3 γραμμή και 5 στήλη να επιστρέψει το 3 και το 5, τις θέσεις του στοιχείου)

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

Εννοείς μέσα στη συνάρτηση να επιστρέφει:  Αποτ <- (γρ-1)*στήλες+στ

Ναι. Αυτό ακριβώς.

Αν και η αρχική μου σκέψη ήταν διαφορετική. Για 9x9 σκέφτηκα :

Μέσα στην συνάρτηση έστω ότι βρίσκουμε ότι i=3 και j=4   (όπου i γραμμές και j στήλες)

συνάρτηση <- i*10 + j

Στο πρόγραμμα τώρα έχουμε:

κ <- συνάρτηση (...)
i <- kdiv10
j <- κmod10

(όπου κ μια μεταβλητή)


Σε μεγαλύτερους πίνακες έχει λίγο πιο περίπλοκη σκέψη.
Δουλεύουμε όπως στον 9x9 μόνο που τώρα πολλαπλασιάζουμε στην συνάρτηση με 100, 1000 κ.ο.κ.  ανάλογα με το μέγεθος του πίνακα.

Και επειδή θα γυρνάει ένα αποτέλεσμα της μορφής 345024 (σε πίνακα 1000x1000)

Θα το χωρίσουμε σε 345 και 024 και στην συνέχεια μέσω άλλου υποπρογράμματος διώχνουμε το 0. (εύκολο με έλενχο div10 για 0 - div100 σε περίπτωση αριθμού 002)

Πάντως να επιστρέψει δύο τιμές δεν γίνεται

Μόλις έγινε.  :'(

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #11 στις: 12 Απρ 2011, 08:02:20 μμ »
Άσχετο αλλά σχετικό.

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

Ο περιορισμός που έχει τεθεί, ότι μπορεί δηλαδή να επιστρέφει μία τιμή, είναι πιστεύω παραπλανητικός και δεν έχει και κανένα ιδιαίτερο νόημα. Αφού και ο πίνακας μπορεί να θεωρηθεί σαν μια τιμή (ορίζοντας κατάλληλο τύπο αν είναι απαραίτητο).


Επίσης άσχετο : Όλα τα κλασικά θέματα με πίνακες, είναι στην ουσία συνδυασμός 2-3 τέτοιων (περίπου :) ) συναρτήσεων.

Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

spantoulis

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 109
Απ: Συνάρτηση να εμφανίζει 2 τιμές....!
« Απάντηση #12 στις: 13 Απρ 2011, 01:40:27 μμ »
Μόλις έγινε.  :'(

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

lykos

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 143
  • Καλύτερα ταξιδάκια, παρά project
!
« Απάντηση #13 στις: 13 Απρ 2011, 11:35:33 μμ »
spantoulis, συμφωνώ!
Το πρόβλημα είναι η "Γλώσσα" (όνομα που βρήκαν...).
Αν δουλεύαμε με μια πραγματική γλώσσα, δεν θα ασχολούμασταν με τέτοιες  μακακίες, αλλά με προγραμματισμό.
Αν το βιβλίο ("μας") δεν μας το επέβαλαν κι' έβγαινε στό εμπόριο, πόσα αντίτυπα θα πουλούσε? 
(Ελπίζω να μην μ' απαντήσει κάποιος, πως ούτε τα θρησκευτικά θα πουλούσαν...)

Βασίλης Λυκοστράτης