sos: προβλημα μεγιστου -ελαχιστου

Ξεκίνησε από malvi, 29 Οκτ 2009, 01:57:12 ΠΜ

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

malvi

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

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

Παράθεση από: malvi στις 29 Οκτ 2009, 01:57:12 ΠΜ
μπορείτε να βοηθήσετε? "να γραφεί αλγόριθμος που θα διαβάζει τις θερμοκρασίες 3 πλανητών, το όνομα τους και την υγρασία τους. Να εμφανίζει λοιπόν την μέγιστη θερμοκρασία του πλανήτη (αν υπάρχει) του οποίου το όνομα αρχίζει από "Λ" και σε περίπτωση ισοβαθμίας να εμφανίζει αυτόν με την υψηλότερη υγρασία."

Σας το έδωσα ως άσκηση για να το λύσετε μόνοι σας και εσύ την δίνεις για να στη λύσουν άλλοι;  >:(
Αν είσαι μαθητής/τρια καλό είναι να προσπαθήσεις να μας παρουσιάσεις μια λύση και εμείς να σε βοηθήσουμε και να αξιολογήσουμε τη λύση. Μην ζητάς όμως να σου λύσουμε την άσκηση!
Αν είσαι εκπαιδευτικός τότε πάλι ισχύουν τα παραπάνω. Προτείνεις μια λύση και την συζητάμε...

ΥΓ: Πάντως δεν είμαι ο καθηγητής σου... για να μην αγχώνεσαι...

malvi

βασικά το θέμα  μου είναι με την πόλη που αρχίζει απο 'λ'. πως μπορείς να το πεις αυτό αλγοριθμικά. Να σπάσεις μια λεξη,,,εναν αριθμό το καταλαβαινω,,με mod,,μια λέξη;;;

gpapargi

Υπόδειξη:
Η διάταξη είναι ορισμένη και στις αλφαριθμητικές τιμές. Οπότε μπορείς να χρησιμοποιήσεις συγκριτικούς τελεστές για να συγκρίνεις 2 αλφαριθμητικά ως προς την αλφαβητική τους σειρά.

Πχ η παράσταση «καρέκλα» > «τραπέζι» είναι Ψευδής διότι το αλφαριθμητικό «καρέκλα» προηγείται αλφαβητικά του αλφαριθμητικού «τραπέζι». Η παράσταση «ελέφαντας» <= «ποντίκι» είναι Αληθής. 

Ουσιαστικά λοιπόν πρέπει να βρεις μια συνθήκη που να είναι αληθής για όλους τους πλανήτες που αρχίζουν από «λ» και μόνο για αυτούς.

Τώρα ξέρεις όσα χρειάζεται για να βρεις τη λύση.

malvi

ευχαριστώ πολύ gpapargi! Δηλαδή μπορώ να πω :"
αν ονομ_πλ < "κ" και ονομ_πλ>"μ" τοτε
,,,,,,,
ε? ικανοποιει την συνθηκη μου "για πλανήτη από Λ";

gpapargi

Η συνθήκη που περιγράφεις δεν αληθεύει ποτέ. Δεν υπάρχει αλφαριθμητικό που να είναι πριν το "κ" και μετά το "μ" αφού το "κ" είναι πριν το "μ". Μάλλον θέλεις να πεις
ονομ_πλ > "κ" και ονομ_πλ<"μ"

Αλλά ούτε αυτό μας κάνει. Σίγουρα πιάνει όλα όσα ξεκινούν από "λ" αλλά δεν πιάνει μόνο αυτά. Πιάνει και το "κρόνος" αφού είναι μετά το "κ". Θυμήσου σε ένα λεξικό... τι θα συναντήσεις πρώτα, το σκέτο γράμμα "κ" ή το "κρόνος";

Θέλεις κάτι που να πιάνει ότι ξεκινάει από "λ" και μόνο αυτά.

malvi

Ναι σωστά,,,οπότε

Αν ονομ>="λ"και ονμ<"μ" τοτε
,,,,,,
::)

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





gpapargi

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

Η σύγκριση αλφαριθμητικών χρησιμοποιείται σε αλφαριθμητικά. Οπότε μπορεί να χρησιμοποιηθεί τόσο σε σταθερές όσο και σε μεταβλητές με τέτοιο περιεχόμενο (χαρακτήρες αν μιλάμε για ΓΛΩΣΣΑ).
Κάθε στοιχείο πίνακα χαρακτήρων είναι μια τέτοια μεταβλητή τύπου χαρακτήρα και αυτός είναι ο λόγος που χρησιμοποιείται στους πίνακες η σύγκριση χαρακτήρων.

Nikosn

Παράθεση από: malvi στις 29 Οκτ 2009, 01:57:12 ΠΜ
μπορείτε να βοηθήσετε? "να γραφεί αλγόριθμος που θα διαβάζει τις θερμοκρασίες 3 πλανητών, το όνομα τους και την υγρασία τους. Να εμφανίζει λοιπόν την μέγιστη θερμοκρασία του πλανήτη (αν υπάρχει) του οποίου το όνομα αρχίζει από "Λ" και σε περίπτωση ισοβαθμίας να εμφανίζει αυτόν με την υψηλότερη υγρασία."

Υπάρχει ασάφεια στην άσκηση όπως διατυπώνεται:ζητάμε μεγιστη θερμοκρασία μεταξύ τι?Μεταξύ των άλλων πλανητών? Και τότε πως θα εμφανίσουμε μόνο αυτόν με μέγιστη θερμοκρασία και ν'αρχίζει από Λ, αφού μπορεί να υπάρχει ένας πλανήτης από Λ αλλά να μην έχει μεγιστη θερμοκρασία. Κάτι λείπει απο την άσκηση...μηπώς εγώ δε καταλαβαίνω κάτι??
Η γνώση κατακτάται μέσα από τα λάθη μας

malvi

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

Nikosn

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

malvi

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

P.Tsiotakis

πάντως κατά τη γνώμη μου το "...πλανήτης που να ξεκινά από το γράμμα "Λ" "
δεν εντάσσεται στους στόχους του μαθήματος

malvi

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

pgrontas

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

Πάντως, ό,τι και αν σημαίνει αυτό, μια παρόμοια συνθήκη είχε δωθεί πέρσι στην επιμόρφωση των καθηγητών πληροφορικής (ενότητα Α4_3_L2).
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

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

Παράθεση από: malvi στις 29 Οκτ 2009, 12:27:05 ΜΜ
Σας ευχαριστώ για το ενδιαφέρον και την άμεση ανταποκριση,,,γιατι δεν βάζουν την Pascal ή την basiv να διδασκουμε να τελείωνει και όλη αυτή η ασαφολογία  με αυτο το πολύπαθο μάθημα,,,;;;;τελοσπάντων,,,, :)

Στο αν η άσκηση είναι σαφής ή όχι, δεν φταίει η αλγοριθμική, ούτε θα πρόσφερε τίποτα άλλο η Pascal...

Πάντως συμφωνώ κι εγώ ότι η άσκηση "ξεφεύγει"...

gpapargi

Μην ξεχνάμε όμως ότι στη σελίδα 55-56 περιγράφεται η αναζήτηση με ευρετήριο όπου χρειάζεται να βρεις το πρώτο γράμμα δεδομένου ονόματος.

P.Tsiotakis

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

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

Είχα δει παρόμοιο ερώτημα και σε παλιότερο διαγώνισμα του ΟΕΦΕ και διαφωνώ έντονα....

gpapargi

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

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


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

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

Δύο τα κομμάτια ενδιαφέροντος κατά τη γνώμη μου.
1. Η ύπαρξη του πίνακα ASCII.
2. Ο τρόπος σύγκρισης μεταξύ αλφαριθμητικών.

Δίνω ένα παράδειγμα άσκησης:

Τα τμήματα αγγλικών σε ένα φροντιστήριο ξένων γλωσσών χωρίζονται σύμφωνα με τον ακόλουθο τρόπο:
Οι μαθητές/τριες που τα επώνυμά τους ξεκινούν με το γράμμα Α, το Β και το C, τοποθετούνται στο τμήμα 1.
Οι  μαθητές/τριες που τα επώνυμά τους ξεκινούν με το γράμμα D, E, F, G, H, I, J, K, τοποθετούνται στο τμήμα 2.
Οι  μαθητές/τριες που τα επώνυμά τους ξεκινούν με το γράμμα L, M, N, O, P, Q, R, S, τοποθετούνται στο τμήμα 3.
Οι υπόλοιποι/ες μαθητές/τριες τοποθετούνται στο τέταρτο τμήμα.
Νααοο θα διαβάζει το επώνυμο ενός μαθητή και θα εκτυπώνει το τμήμα στο οποίο θα τοποθετηθεί.

Είναι βέβαιο ότι αν δεν το έχουν αντιμετωπίσει προηγουμένως δεν το γνωρίζουν!

Έτσι μου δίνεται η ευκαιρία:
1. να τους δείξω τον πίνακα ASCII (σελ. 324-325 του σχολικού) και να τους εξηγήσω τον τρόπο που εμφανίζονται ταξινομημένα τα usernames, οι φάκελοι, τα αρχεία σε έναν file manager, αν έχουμε επιλέξει να εμφανίζονται αλφαβητικά. Εκεί πολύ εύστοχα μια μαθήτρια μου επισήμανε: "Α για αυτό το λόγο στο messenger κάποιος που το username του ξεκινά με αριθμό ή με κενό χαρακτήρα εμφανίζεται πρώτα από τα υπόλοιπα usernames...".
2. Να δούνε με την άσκηση τη σύκριση αλφαριθμητικών.

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

ΣΔ

pgrontas

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

Παράθεση από: sdoukakis στις 01 Νοε 2009, 10:59:52 ΠΜ
Υπάρχουν και άλλα ωραία σενάρια. Αυτό βέβαια που θέλει ιδιαίτερη προσοχή είναι η σύγκριση ελληνικών πεζών αλφαριθμητικών με τόνους και χωρίς τόνους.
Ο καλύτερος λόγος που πρέπει να προσέχουμε τέτοιες ασκήσεις.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

P.Tsiotakis

Παναγιώτη συμφωνώ με όσα αναφέρεις στο προηγούμενο μήνυμά σου, και τα συμπληρώνω επίσης με αυτό που έγραψες πρωτύτερα:

Παράθεση από: pgrontas στις 29 Οκτ 2009, 04:02:16 ΜΜ
Το συγκεκριμένο θέμα το θεωρώ τραβηγμένο, επειδή η δυσκολία του είναι τεχνητή, επειδή δηλαδή η ψευδογλώσσα σου πετάει έναν τύπο δεδομένων άλφαριθμητικό χωρίς να σου δίνει κατάλληλα εργαλεία για να τον χειριστείς.

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

Παράθεση από: pgrontas στις 02 Νοε 2009, 04:45:12 ΜΜ
Ασφαλώς και η σύγκριση αλφαριθμητικών είναι εντός ύλης και πρέπει να διδάσκεται.
Αυτό που βλέπω τραβηγμένο, είναι η εύρεση του πρώτου χαρακτήρα με σύγκριση.
Είναι μια μέθοδος η οποία δεν γενικεύεται (πώς θα βρεις τον τελευταίο χαρακτήρα;)

Έχω την εντύπωση ότι η εύρεση του πρώτου χαρακτήρα δεν ζητείται ούτε στην άσκηση που παρουσίασε ο/η malvi, αλλά ούτε και στη δική μου.

Ο έλεγχος του πρώτου χαρακτήρα είναι το ζητούμενο και στις δύο ασκήσεις.

Έτσι, αν μας δοθεί η εκφώνηση:

1. Να διαβάζει ένα επώνυμο το οποίο πρέπει να ελέγχεται ώστε να αρχίζει με Q, τότε η υλοποίηση είναι:

Αρχή_επανάληψης
  Διάβασε επώνυμο
Μέχρις_ότου επώνυμο >= "Q" και επώνυμο < "R"

ενώ αν μας δοθεί η εκφώνηση

2. Να εντοπίζει σε έναν πίνακα που περιέχει 100 επώνυμα, πόσα επώνυμα αρχίζουν με R, τότε η υλοποίηση είναι:

πλ <-0
Για θ από 1 μέχρι 100
  Αν ΕΠ[θ] >= 'R' και ΕΠ[θ] < 'S' τότε
   πλ <- πλ + 1
  Τέλος_αν
Τέλος_επανάληψης

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

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

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

ΣΔ

pgrontas

Παράθεση από: sdoukakis στις 02 Νοε 2009, 09:38:08 ΜΜ
Έχω την εντύπωση ότι η εύρεση του πρώτου χαρακτήρα δεν ζητείται ούτε στην άσκηση που παρουσίασε ο/η malvi, αλλά ούτε και στη δική μου.

Ο έλεγχος του πρώτου χαρακτήρα είναι το ζητούμενο και στις δύο ασκήσεις.
Τυπικά έχεις δίκιο. Αλλά αυτό δεν αλλάζει την ουσία του επιχειρήματος μου.
Πώς λοιπόν ελέγχεις τον τελευταίο χαρακτήρα ενός αλφαριθμητικού; Πώς γενικεύεις για να ελέγξεις οποιονδήποτε χαρακτήρα;
Θα μου πεις και τι σημασία έχει. Έχει. Εφ'όσον δεν μπορείς να γενικεύσεις, δεν πρόκειται για μια μέθοδο, αλλά για ένα τρυκ, όπως σωστά χαρακτηρίστηκε πιο πάνω.
Ένα τρυκ μάλιστα, το οποίο θα ξεχαστεί με το που ο μαθητής μάθει (αν περάσει σε κάποια σχολή) ότι μπορούμε να ελέγξουμε μεμονωμένους χαρακτήρες χρησιμοποιώνας  μια σύνταξη σαν αλφαριθμητικό[ι] ή ΧαρακτήραςΣεΘεση(αλφαριθμητικό,i).
Λοιπόν θεωρώ ότι δεν αξίζει να χαθούν μονάδες για ένα τέτοιο τρυκ.
Και φυσικά δεν είπα ότι είναι απαγορευτικό, αλλά μια τραβηγμένη περίπτωση της σύγκρισης αλφαριθμητικών.

Παράθεση από: sdoukakis στις 02 Νοε 2009, 09:38:08 ΜΜ
Νομίζω ότι αυτές οι ασκήσεις δεν είναι απαγορευτικές και δεν αντιτίθονται στην κοινή πρακτική...
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson