Συνάρτηση να εμφανίζει 2 τιμές....!

Ξεκίνησε από JR, 11 Απρ 2011, 04:39:06 ΜΜ

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

JR

Την προηγούμενη βδομάδα έλυνα ασκήσεις και μου ήρθε αυτή η (όμορφη για εμένα) ιδέα!

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

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

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

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

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

Γιάννης

Peace

andreas_p

Τι σημαίνει  τις θέσεις ενός δυισδιάστατου πίνακα   ;

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

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

Δεν γνωρίζω

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

Α.Π.

sstergou

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

JR

Παράθεση από: andreas_p στις 11 Απρ 2011, 05:26:46 ΜΜ
Τι σημαίνει  τις θέσεις ενός δυισδιάστατου πίνακα   ;

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

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

Δεν γνωρίζω

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


Παράθεση από: sstergou στις 11 Απρ 2011, 06:03:49 ΜΜ
Αν εννοείς να επιστρέφει πίνακα δεν νομίζω ότι αυτό είναι εφικτό χωρίς προσθήκες στο υπάρχον συντακτικό της γλώσσας.

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

andreas_p


tom

Παράθεση από: JR στις 11 Απρ 2011, 04:39:06 ΜΜ
Πιστεύω θα μπορούσε να χρησιμοποιηθεί σε κατευθυνόμενες ασκήσεις τύπου 'Να φτιαχτεί συνάρτηση που να επιστρέφει τις θέσεις ενός δυσδιάστατου πίνακα.' 
Για ποιο λόγο θες μια συνάρτηση να επιστρέφει τις θέσεις ενός δυσδιάστατου πίνακα; Πώς μπορεί να αξιοποιηθεί μια τέτοια συνάρτηση; Όταν λες τις θέσεις τι εννοείς? Τα στοιχεία του?
Θωμάς Σκυλογιάννης

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

odysseas

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

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

Παράθεση από: odysseas στις 12 Απρ 2011, 12:47:42 ΠΜ
Νομίζω αναφέρεται στην απεικόνιση δισδιάστατου πίνακα σε μονοδιάστατο. Πως οι 2 συντεταγμένες ενός στοιχείου στον μεν μπορεί να "κωδικοποιηθούν" σε έναν μοναδικό ακέραιο (ώστε να επιστραφούν από συνάρτηση).

Χμμ...

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

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

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

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

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

spantoulis

Μήπως εννοείς το πλήθος των θέσεων του πίνακα? Δηλ. τόσες γραμμές επί τόσες στήλες?
Πάντως να επιστρέψει δύο τιμές δεν γίνεται, εκτός αν τις βάλεις σε μια φράση και την επιστρέψει σαν  μία τιμή τύπου χαρακτήρα  :D
Η χρήση υπολογιστών ΔΕΝ είναι πληροφορική

evry

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

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

JR

Παράθεση από: tom στις 11 Απρ 2011, 11:50:58 ΜΜ
Για ποιο λόγο θες μια συνάρτηση να επιστρέφει τις θέσεις ενός δυσδιάστατου πίνακα; Πώς μπορεί να αξιοποιηθεί μια τέτοια συνάρτηση; Όταν λες τις θέσεις τι εννοείς? Τα στοιχεία του?

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

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

Παράθεση από: Νίκος Αδαμόπουλος στις 12 Απρ 2011, 01:03:46 ΠΜ
Εννοείς μέσα στη συνάρτηση να επιστρέφει:  Αποτ <- (γρ-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)

Παράθεση από: spantoulis στις 12 Απρ 2011, 01:04:02 ΜΜ
Πάντως να επιστρέψει δύο τιμές δεν γίνεται

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

sstergou

Άσχετο αλλά σχετικό.

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

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


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


spantoulis

Παράθεση από: JR στις 12 Απρ 2011, 07:14:13 ΜΜ
Μόλις έγινε.  :'(

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

lykos

spantoulis, συμφωνώ!
Το πρόβλημα είναι η "Γλώσσα" (όνομα που βρήκαν...).
Αν δουλεύαμε με μια πραγματική γλώσσα, δεν θα ασχολούμασταν με τέτοιες  μακακίες, αλλά με προγραμματισμό.
Αν το βιβλίο ("μας") δεν μας το επέβαλαν κι' έβγαινε στό εμπόριο, πόσα αντίτυπα θα πουλούσε? 
(Ελπίζω να μην μ' απαντήσει κάποιος, πως ούτε τα θρησκευτικά θα πουλούσαν...)

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