Κατάταξη 3 αριθμών

Ξεκίνησε από olga_ath, 04 Δεκ 2009, 02:29:29 ΜΜ

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

ntzios kostas

ΠαράθεσηΟ προφορικός βαθμός αν αλλάξει θα αλλάξει είτε κατά 3 είτε κατά -3. Άρα αν γίνει η αλλαγή θα γίνει κατά την ποσότητα 3* (πρ-γρ)/Α_Τ(πρ-γρ). Παρατηρείστε ότι η ποσότητα (πρ-γρ)/Α_Τ(πρ-γρ) είναι 1 ή -1
Αυτό πήγα να το χρησιμοποιήσω και εγώ στον αλγόριθμο που έδωσα, άλλα δεν δουλεύει αν πρ=γρ. Βέβαια εσύ το έχεις μέσα σε δομή επιλογής, οπότε δεν υπάρχει προβλημα. Για την αντικατάσταση αυτού του όρου έβαλα τον όρο κ = Α_Μ((Γρ-ΠΡ)/20+1)*2-1.
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

gpapargi

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

Μια λύση στάνταρ που πιάνει πάντα και τα σαρώνει όλα είναι η εξής:
κάνεις στη διαφορά div 6 και βγάζεις τιμές από -4 μέχρι 3. Μετά θέλεις συνάρτηση που γυρίζει άλλοτε -1 άλλοτε 1 και άλλοτε 0. Εδώ μπαίνουν τα μεγάλα όπλα. Βρίσκεις το πολυώνυμο που περνάει από αυτά τα σημεία (πολυώνυμο παρεμβολής). Δεν πας πια με σύστημα εξισώσεων (πας και έτσι) γιατί αργείς αλλά χρησιμοποιείς τα όπλα της αριθμητικής ανάλυσης. Βασικά βγάζεις το μπαζούκας.

Θα δω αν σκεφτώ και κάτι πιο απλό. 

ΥΓ
Παίζει και λύση με πίνακα αλλά δεν είναι αλγεβρική.

Σπύρος Δουκάκης

Μία παρατηρησούλα.

Οι λύσεις αν και αναδεικνύουν την ποικιλία στον τρόπο προσέγγισης του προβλήματος, χρησιμοποιούν τη συνάρτηση Α_Τ... που είναι δομή επιλογής.

Αυτό όμως που είναι αδιαμφισβήτητο, είναι ότι οι λύσεις δείχνουν το υψηλό επίπεδο των συμμετεχόντων!

ΣΔ

sstergou

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

evry

 Για να βρούμε την απόλυτη τιμή ενός αριθμού Α μπορούμε να κάνουμε αυτό?

    Α_Τ(Α) <- Α_Μ( Τ_Ρ( Α*Α ) )

Στάθη έχεις δίκιο, λογικά κάτι τέτοιο εννοούσες όπως το παρακάτω έτσι?
http://graphics.stanford.edu/~seander/bithacks.html#IntegerAbs
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Σπύρος Δουκάκης

Υπάρχει κάτι αντίστοιχο και για την τετραγωνική ρίζα;

ΣΔ

Σπύρος Δουκάκης


Σπύρος Δουκάκης

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

Δηλαδή για να βρούμε την απόλυτη τιμή χρησιμοποιήσαμε δύο -άντε μία- συνάρτηση... Δεν δημιουργήθηκε ο αλγόριθμος υπολογισμού της απόλυτης τιμής...

Τώρα όσον αφορά την υλοποίηση εσωτερικά. Δεν νομίζω ότι χρειάζεται να μας αφορά στην ανάπτυξη αλγορίθμου; Ο αλγόριθμος θα πρέπει να μπορεί να υλοποιηθεί σε πολλές γλώσσες...

ΣΔ

gpapargi

Στέλνω και μια ποσότητα που βρίσκει το πρόσημο (τη χρωσταω από την αρχική μου σκέψη μετά το λάθος που μου υπέδειξε ο Κώστας)
Είναι η 1 - 2* Α_Μ(1 - δ/21) όπου δ η διαφορά και παίρνει τιμές από -20 ως 20


Σπύρος Δουκάκης

Παράθεση από: evry στις 07 Δεκ 2009, 04:49:13 ΜΜ
Για να βρούμε την απόλυτη τιμή ενός αριθμού Α μπορούμε να κάνουμε αυτό?
    Α_Τ(Α) <- Α_Μ( Τ_Ρ( Α*Α ) )

http://www.gidforums.com/t-17138.html

ΣΔ

alkisg

Έχω δει πάρα πολλά θέματα στο στέκι με ανησυχίες για το αν κάτι που επιτρέπεται στη ΓΛΩΣΣΑ είναι αποδεκτό και στην ψευδογλώσσα ή όχι. Το συγκεκριμένο είναι μεγάλη συζήτηση, αλλά με την ευκαιρία ας πω τη γνώμη μου. Όπως το αντιλαμβάνομαι, με την ψευδογλώσσα οι συγγραφείς ήθελαν να δώσουν μια πιο χαλαρή μέθοδο αποτύπωσης της αλγοριθμικής σκέψης, πριν πάμε στην αυστηρότητα του προγράμματος. Δηλαδή, η ψευδογλώσσα είναι ένα καθαρό υπερσύνολο όλων των γλωσσών προγραμματισμού, και περιέχει μάλιστα και ελευθερίες έκφρασης οι οποίες δεν είναι αποδεκτές σε καμία γλώσσα προγραμματισμού. Πουθενά δεν είδα να προσπαθούν να την περιορίσουν σε ένα συγκεκριμένο ρεπερτόριο όπως προσπαθούμε να κάνουμε εμείς. Είναι σχεδιασμένη για συγγραφή αλγορίθμων στο χαρτί, όχι για εκτέλεση στον υπολογιστή.

Για παράδειγμα, για την τετραγωνική ρίζα:

Παράθεση από: Βιβλίο καθηγητή, σελίδα 53
2.8 Απαντήσεις δραστηριοτήτων τετραδίου μαθητή
T ← 2 * 3.14 * Ρίζα(L/g)

Παράθεση από: Βιβλίο καθηγητή, σελίδα 63
    Μπορούμε επίσης να δεχθούμε και τις συνήθεις μαθηματικές τυπογραφικές
συμβάσεις για την αποτύπωση τύπων. Για παράδειγμα είναι αποδεκτό να γραφεί
είτε a^2 είτε a2, όπως επίσης a(i,j) ή a[i,j] ή aij καθώς και το σύμβολο της τετραγω-
νικής ρίζας
.

Υπάρχει βέβαια κι ένα ζήτημα για το ποια πράγματα μπορούμε να θεωρήσουμε γνωστά ανάλογα με τον αλγόριθμο που εξετάζουμε. Προφανώς, όταν εξετάζουμε τον αλγόριθμο πολλαπλασιασμού αλλά ρωσικά δεν θα επιτρέψουμε την πράξη *, θα θεωρήσουμε όμως γνωστό τον αλγόριθμο της πρόσθεσης και την πράξη +.

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

sstergou

Παράθεση από: evry στις 07 Δεκ 2009, 04:49:13 ΜΜ
Στάθη έχεις δίκιο, λογικά κάτι τέτοιο εννοούσες όπως το παρακάτω έτσι?
http://graphics.stanford.edu/~seander/bithacks.html#IntegerAbs

Ναι κάτι τέτοιο έλεγα κι εγώ. Λίγο hardcore βέβαια και όχι μεταφέρσιμο, αυτό που έγραψες εσύ ήταν καλύτερο :)

Σπύρος Δουκάκης

Παράθεση από: alkisg στις 07 Δεκ 2009, 06:56:47 ΜΜ

Για παράδειγμα, για την τετραγωνική ρίζα:

Παράθεση από: Βιβλίο καθηγητή, σελίδα 53
2.8 Απαντήσεις δραστηριοτήτων τετραδίου μαθητή
T ← 2 * 3.14 * Ρίζα(L/g)

Παράθεση από: Βιβλίο καθηγητή, σελίδα 63
    Μπορούμε επίσης να δεχθούμε και τις συνήθεις μαθηματικές τυπογραφικές
συμβάσεις για την αποτύπωση τύπων. Για παράδειγμα είναι αποδεκτό να γραφεί
είτε a^2 είτε a2, όπως επίσης a(i,j) ή a[i,j] ή aij καθώς και το σύμβολο της τετραγω-
νικής ρίζας
.
Αυτά τα έχουμε επισημάνει από το 2002, όταν φτιάχθηκε το forum στο sch.gr, για όποιον θυμάται.

Παράθεση από: alkisg στις 07 Δεκ 2009, 06:56:47 ΜΜ
Υπάρχει βέβαια κι ένα ζήτημα για το ποια πράγματα μπορούμε να θεωρήσουμε γνωστά ανάλογα με τον αλγόριθμο που εξετάζουμε. Προφανώς, όταν εξετάζουμε τον αλγόριθμο πολλαπλασιασμού αλλά ρωσικά δεν θα επιτρέψουμε την πράξη *, θα θεωρήσουμε όμως γνωστό τον αλγόριθμο της πρόσθεσης και την πράξη +.

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

Προς αυτή την κατεύθυνση ήταν και το δικό μου σχόλιο... Για αυτό και παρέπεμψα στο link

Παράθεση από: sdoukakis στις 07 Δεκ 2009, 05:33:35 ΜΜ
Παράθεση από: evry στις 07 Δεκ 2009, 04:49:13 ΜΜ
Για να βρούμε την απόλυτη τιμή ενός αριθμού Α μπορούμε να κάνουμε αυτό?
    Α_Τ(Α) <- Α_Μ( Τ_Ρ( Α*Α ) )

http://www.gidforums.com/t-17138.html

ΣΔ

για να δείτε την αντίστοιχη συζήτηση για την απόλυτη τιμή.

ΣΔ

ntzios kostas

#43
Με αφορμή αυτό που ανέφερε ο Άλκης πάνω στους τελεστές και τις συναρτήσεις θέλω να πω ότι όλα αυτά που συζητάμε εδώ, τα οποία είναι άκρως ενδιαφέροντα και πολύ χρήσιμα για όλους, πρέπει κάποια στιγμή να φτάσουν και να φτάνουν στα αφτιά όλων των συναδέλφων που πιστεύουν ότι διδάσκουν το μάθημα. Από τις απορίες διάφορων συναδέλφων καταλαβαίνω ότι δεν φτάνουν όλα σε αυτούς  ή γιατί δεν μπαίνουν συχνά - καθόλου στο στέκι ή γιατί μπαίνουν αλλά δεν ξέρουν που να βρουν τις απαντήσεις όλων αυτών των ερωτήσεων. Μήπως θα έπρεπε να φτιάξουμε και να αναρτήσουμε όχι μόνο στο στέκι αλλά και σε όλες τις ιστοσελίδες μας, ένα αρχείο που να απαντά σε κάποιες από αυτές τις απορίες που έχουν κατά καιρούς διατυπωθεί στο Στέκι και να είναι άμεσα προσβάσιμο από όλους που ενδιαφέρονται; Γιατί πραγματικά δεν κουράζομαι να απαντάω αυτόν που ρωτάει, αλλά με φοβίζει αυτός που ζει στον κόσμο του και ενεργεί αυτοβούλως.
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

olga_ath

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

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

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

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

Στην διάθεση σας

Ολγα
Doubt everyone and first of all yourself