Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Πολυδιάστατοι πίνακες => Μήνυμα ξεκίνησε από: tom στις 22 Μαρ 2010, 01:16:48 ΠΜ

Τίτλος: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: tom στις 22 Μαρ 2010, 01:16:48 ΠΜ
Έστω η παρακάτω άσκηση που "πιάνει" 10 μόρια:

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

Σημ. Εννοώ ότι θέλω ένα άθροισμα.

και δύο λύσεις:

α)
Κώδικας [Επιλογή]
Αλγόριθμος διαγώνιοι
Διάβασε Ν
Για γρ από 1 μέχρι Ν
Για στ από 1 μέχρι Ν
Διάβασε π[γρ,στ]
Τέλος_επανάληψης
Τέλος_επανάληψης
αδ← 0
Για γρ από 1 μέχρι Ν
Για στ από 1 μέχρι Ν
Αν γρ=στ ή γρ=Ν-στ+1 τότε
αδ← αδ+π[γρ,στ]
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
Εμφάνισε αδ
Τέλος διαγώνιοι

β)
Κώδικας [Επιλογή]
Αλγόριθμος διαγώνιοι
Διάβασε Ν
Για γρ από 1 μέχρι Ν
Για στ από 1 μέχρι Ν
Διάβασε π[γρ,στ]
Τέλος_επανάληψης
Τέλος_επανάληψης
ακδ← 0
αδδ← 0
Για γρ από 1 μέχρι Ν
Για στ από 1 μέχρι Ν
Αν γρ=στ τότε
ακδ← ακδ+π[γρ,στ]
Τέλος_αν
Αν γρ=Ν-στ+1 τότε
αδδ← αδδ+π[γρ,στ]
Τέλος_αν
Τέλος_επανάληψης
Τέλος_επανάληψης
αδ← ακδ+αδδ
Εμφάνισε αδ
Τέλος διαγώνιοι


Πόσο θα "κόβατε" από τη δεύτερη λύση;
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 22 Μαρ 2010, 08:34:42 ΠΜ
Η ύπαρξη λάθους είναι ότι το 'κεντρικό' στοιχείο του πίνακα προστίθεται δύο φορές σε περίπτωση που το Ν είναι περιττός. Πιστεύω για τον λόγο αυτό θα έκοβα το 2-4 % των μορίων της άσκησης.

Για έναν ακόμα λόγο που θα έκοβα μόρια και από τις δύο λύσεις είναι το διάβασε Ν στην αρχή του προγράμματος.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Νίκος Αδαμόπουλος στις 22 Μαρ 2010, 09:13:01 ΠΜ
Ελάχιστα θα έκοβα... αφού το ζητούμενο είναι λίγο εξεζητημένο...

Κώστα γιατί θα έκοβες για το Διάβασε Ν;
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: gpapargi στις 22 Μαρ 2010, 09:51:18 ΠΜ
Να πούμε πάντως ότι καλύτερα να γίνει με μονό βρόχο. Να μην περνάμε από όλο τον πίνακα δηλαδή αφού αν με το δάχτυλο δείχναμε τα στοιχεία που προσθέτουμε δεν θα περνάγαμε από όλο τον πίνακα. θα βηματίζαμε απευθείας πάνω στις διαγωνίους.
Είναι βασικό για το μάθημα ο αλγόριθμος που γράφουμε να είναι αυτός που εκτελούμε μηχανικά με το χέρι.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: gthal στις 22 Μαρ 2010, 12:13:51 ΜΜ
Στη βαθμολόγηση θα συμφωνήσω με τον Κώστα,
αλλά κι εγώ απορώ, γιατί θα έκοβες για το Διάβασε Ν ;
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 22 Μαρ 2010, 12:23:31 ΜΜ
Ο πίνακας είναι στατική δομή και το μέγεθός του δεν ορίζεται από τον χρήστη. Αυτός ο αλγόριθμος δεν μπορεί να γίνει προγραμμα.

Θα έπρεπε να ήταν Δεδομένα //Ν//.   
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: tom στις 22 Μαρ 2010, 01:53:01 ΜΜ
Παράθεση από: ntzios kostas στις 22 Μαρ 2010, 12:23:31 ΜΜ
Ο πίνακας είναι στατική δομή και το μέγεθός του δεν ορίζεται από τον χρήστη. Αυτός ο αλγόριθμος δεν μπορεί να γίνει προγραμμα.

Θα έπρεπε να ήταν Δεδομένα //Ν//.   
Εντάξει ρε παιδιά. Αφού αυτό λύνεται αν δώσουμε ένα πολύ μεγάλο μέγιστο (π.χ. 1000 ή 10000). Γιατί να περιορίσουμε το βαθμό παραμετροποίησης ενός προγράμματος για κάτι τέτοιο. Εμένα με βολεύει να έχει Ν και να κάνω πειραματισμούς. Νομίζω και για τον μαθητή είναι παιδαγωγικά χρήσιμο κάτι τέτοιο. Του εξηγείς πως ο πίνακας είναι στατική δομή, βάζει ένα άνω φράγμα και επικεντρώνεται στα υπόλοιπα. Θα καθόμαστε και θα αλλάζουμε δείκτες τώρα...; Εξ 'άλλου και στην υλοποίηση της ψευδογλώσσας που υπάρχει, και Δεδομένα //Ν// να βάλεις, εσύ δεν θα δώσεις το Ν;  :)

Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: sstergou στις 22 Μαρ 2010, 02:55:40 ΜΜ
Η ψευδογλώσσα έχει πάθει κρίση ταυτότητας...
Κάποια στιγμή θα πρέπει να αποφασίσουμε τι θέλουμε από αυτήν.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 22 Μαρ 2010, 04:15:51 ΜΜ
Παράθεση από: tom στις 22 Μαρ 2010, 01:53:01 ΜΜ
Εντάξει ρε παιδιά. Αφού αυτό λύνεται αν δώσουμε ένα πολύ μεγάλο μέγιστο (π.χ. 1000 ή 10000). Γιατί να περιορίσουμε το βαθμό παραμετροποίησης ενός προγράμματος για κάτι τέτοιο. Εμένα με βολεύει να έχει Ν και να κάνω πειραματισμούς. Νομίζω και για τον μαθητή είναι παιδαγωγικά χρήσιμο κάτι τέτοιο. Του εξηγείς πως ο πίνακας είναι στατική δομή, βάζει ένα άνω φράγμα και επικεντρώνεται στα υπόλοιπα. Θα καθόμαστε και θα αλλάζουμε δείκτες τώρα...; Εξ 'άλλου και στην υλοποίηση της ψευδογλώσσας που υπάρχει, και Δεδομένα //Ν// να βάλεις, εσύ δεν θα δώσεις το Ν;  :)



Και τελικά ποια είναι η διαφορά της εντολής Δεδομένα //Ν// από το διάβασε Ν. Οι μαθητές νομίζω ότι πρέπει να την ξέρουν και να εφαρμόζουν το σωστό.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: tom στις 22 Μαρ 2010, 05:22:18 ΜΜ
Παράθεση από: ntzios kostas στις 22 Μαρ 2010, 04:15:51 ΜΜ
Και τελικά ποια είναι η διαφορά της εντολής Δεδομένα //Ν// από το διάβασε Ν. Οι μαθητές νομίζω ότι πρέπει να την ξέρουν και να εφαρμόζουν το σωστό.

Θα σου πω, πώς το καταλαβαίνω εγώ.

Χρησιμοποιούμε την εντολή Δεδομένα //Ν// όταν θέλουμε να κερδίσουμε χρόνο από την είσοδο των δεδομένων και να επικεντρωθούμε στην ουσία του αλγορίθμου που στην προκειμένη περίπτωση είναι ο υπολογισμός του αθροίσματος. Σημαίνει πως το Ν απλά υπάρχει από "κάπου".  Εξαρτάται από τι θέλουμε να εξετάσουμε.

Στο παράδειγμα που έδωσα θα μπορούσα να πω και το εξής:

   Δεδομένα //Ν, π[Ν,Ν]// αντί να πω:

   Διάβασε Ν
   Για γρ από 1 μέχρι Ν
      Για στ από 1 μέχρι Ν
         Διάβασε π[γρ,στ]
      Τέλος_επανάληψης
   Τέλος_επανάληψης

πιο κομψό δεν είναι το πρώτο;

Λέει κάπου μέσα στο διδακτικό πακέτο πως ακριβώς ορίζεται η εντολή Δεδομένα//.... // ; :-\
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Νίκος Αδαμόπουλος στις 22 Μαρ 2010, 06:06:33 ΜΜ
Κώστα να πω ότι με μπέρδεψες!

Η άσκηση λέει ότι ο χρήστης θα δίνει το Ν. Δεν θα πρέπει να μπει εντολή Διάβασε Ν; Το Δεδομένα //Ν// δεν θα το βάζαμε αν η άσκηση έλεγε "Έστω Ν ο αριθμός ..." ή "Δίνεται αριθμός Ν..." ;;

Πράγματι οι πίνακες είναι στατικές δομές αλλά το Ν δεν σημαίνει ντε και καλά ότι θα είναι το καθορισμένο μέγεθος του πίνακα, με την έννοια που δηλώνεται π.χ. στη ΓΛΩΣΣΑ. Στην ψευδογλώσσα μάς ενδιαφέρει το μέγεθος του πίνακα;

Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Νίκος Αδαμόπουλος στις 22 Μαρ 2010, 06:10:59 ΜΜ
Παράθεση από: tom στις 22 Μαρ 2010, 05:22:18 ΜΜ
   Δεδομένα //Ν, π[Ν,Ν]//

Είναι σωστή η παραπάνω γραφή;
Εγώ θα το έγραφα έτσι:

Δεδομένα //π, Ν//

... αν όμως η άσκηση δεν έλεγε να δίνει το Ν ο χρήστης! Πάντως και η συγκεκριμένη άσκηση δεν είναι συνεπής! Ενώ λέει το Ν να το δίνει ο χρήστης, για τον πίνακα δεν λέει τίποτα... ούτε να τον διαβάζουμε ούτε να τον θεωρήσουμε δεδομένο. Πώς θα προκύψει αυτός; Με παρθενογέννεση;
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: tom στις 22 Μαρ 2010, 06:16:28 ΜΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 22 Μαρ 2010, 06:10:59 ΜΜ
Εγώ θα το έγραφα έτσι:

Δεδομένα //π, Ν//

Και πως θα φαίνεται ότι είναι δισδιάστατος;
Για τον πίνακα θεωρώ ότι επίσης δίνεται από τον χρήστη.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: evry στις 22 Μαρ 2010, 06:35:17 ΜΜ
Αν υποθέσουμε ότι τα Δεδομένα στην ψευδογλώσσα παίζουν τον ίδιο ρόλο που παίζουν οι παράμετροι εισόδου στα υποπρογράμματα τότε δεν ξέρω αν χρειάζεται να φαίνεται ότι ο πίνακας είναι 2D. Μην ξεχνάμε ότι και στον ορισμό του υποπρογράμματος δεν φαίνεται ότι η παράμετρος είναι πίνακας παρά μόνο αν κοιτάξεις το τμήμα δηλώσεων του υποπρογράμματος.

Τέλος πάντων τα συγκεκριμένα σημεία δεν είναι αυστηρά ορισμένα στο βιβλίο και μπορούμε να συζητάμε για ώρα τι σημαίνει το ένα και τι σημαίνει το άλλο. Με λίγη καλή θέληση όμως μπορούμε να καταλήξουμε κάπου.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: sstergou στις 22 Μαρ 2010, 06:40:15 ΜΜ
Πάντως το τετράδιο του μαθητή έχει παραδείγματα εισαγωγής πίνακα με την εντολή

Δεδομένα //Π//

όπου ο πίνακας Π έχει π.χ. 50 στοιχεία.

Στην ψευδογλώσσα πιστεύω ότι πρέπει να πάρουμε όλους τους τρόπους που αναφέρετε ως σωστούς.


Παράθεση από: ntzios kostas στις 22 Μαρ 2010, 12:23:31 ΜΜ
Αυτός ο αλγόριθμος δεν μπορεί να γίνει προγραμμα.   

Αυτό από που προκύπτει; Μια χαρά πρόγραμμα μπορεί να γίνει, απλά όχι στην ΓΛΩΣΣΑ.

Θα πω και κάτι άλλο και ας με πάρετε με τις ντομάτες : Δεν πρέπει να κάνουμε διάκριση μεταξύ αλγορίθμου και προγράμματος. Κάθε αλγόριθμος μπορεί να γίνει πρόγραμμα και κάθε πρόγραμμα είναι κάποιος αλγόριθμος εκφρασμένος με κάποιο τρόπο.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Keep Growing στις 22 Μαρ 2010, 06:57:30 ΜΜ
Πάντως εγώ προτιμώ να φάω φασολάδα από τα χεράκια της μαμάκας μου.
Είναι θέμα γούστου. ;D
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: evry στις 22 Μαρ 2010, 08:09:31 ΜΜ
εεε, δεν το κατάλαβα ακριβώς. Τι σχέση έχει με τα προηγούμενα? κάπου το έχασα :-\

Παράθεση από: Keep Growing στις 22 Μαρ 2010, 06:57:30 ΜΜ
Πάντως εγώ προτιμώ να φάω φασολάδα από τα χεράκια της μαμάκας μου.
Είναι θέμα γούστου. ;D
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 22 Μαρ 2010, 08:28:15 ΜΜ
Παιδιά το δεδομένα //Ν// σημαίνει ότι ο αλγόριθμος αυτός για να δουλέψει χρειάζεται το Ν. Νομίζω ότι μέχρι εδώ είμαστε συμφωνούμε όλοι. Με άλλα λόγια σημαίνει ότι όταν αυτός ο αλγόριθμος θα γίνει πρόγραμμα είναι θέμα του προγραμματιστή ποιο είναι το μέγεθος του πίνακά  του (Ν)στον οποίο βέβαια θα εφαρμόσει τον αλγόριθμο που του περιγράψαμε. Όταν του λέμε δεδομένα //Ν// του λέμε, λοιπόν, είναι δικό σου θέμα το μέγεθος του πίνακα, ενώ όταν του λέμε διάβασε Ν του λέμε το Ν θα στο δώσει ο χρήστης, πράγμα που δεν θα μπορεί να το κάνει πρόγραμμα (σε γλώσσα Στάθη που ο πίνακας θεωρείται στατική δομή).

Και να συμπληρώσω ότι για όλα αυτά φταίει η εκφώνηση. :)
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Keep Growing στις 22 Μαρ 2010, 08:39:57 ΜΜ
Ένα πρόβλημα προς επίλυση είναι και το μαγείρεμα της φασολάδας.

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

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

Εγώ τι λέω λοιπόν.

Λέω ότι προτιμώ την φασολάδα από τα χεράκια της μανούλας μου, παρά να περιμένω το "νεροζούμι".

Κάθε κατεργάρης στην "κουζίνα" του. :)
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 22 Μαρ 2010, 08:52:24 ΜΜ
Ήταν φανερό. Έπρεπε να το καταλάβουμε.  ;D
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Keep Growing στις 22 Μαρ 2010, 08:55:17 ΜΜ
Και κάτι ακόμα μάγκες.... (και πριν αρχίσετε να μου πετάτε σωσίβια) μια και είπα "νεροζούμι" θυμήθηκα ότι σήμερα είναι η μέρα του νερού.
Ευκαιρία να ξεσκονίσουμε τους αλγόριθμους "ελεύθερης κολύμβησης", διότι όπως θα γνωρίζετε και εσείς, το κολύμπι αντίθετα στο ρεύμα, είναι όπως και να το κάνουμε, εξοντωτικό.... :)
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Keep Growing στις 22 Μαρ 2010, 09:04:41 ΜΜ
....αυτό θα πει δια θεματικότητα. Ελεύθερο κολύμπι στην διαδρομή από κύρια σε δευτερεύουσα διαγώνιο δισδιάστατου πίνακα.
Με άλλα λόγια δια θεματικότητα γυμναστικής - πληροφορικής.

Σημ: Είμαι για τα σίδερα.  ;D ;D ;D
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: sstergou στις 22 Μαρ 2010, 09:06:32 ΜΜ
Το
Αλγόριθμος Τάδε
  Δεδομένα //Ν//

είναι αντίστοιχο του :

Συνάρτηση Τάδε(Ν)...

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

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

Όσον αφορά τις φασολάδες και τις συνταγές δεν είναι αλγόριθμοι εκτός και αν οριστούν όπως ακριβώς προβλέπει και ο ορισμός και τα κριτήρια ενός αλγόριθμου. Αν αυτό γίνει τότε ο αλγόριθμος μπορεί να εκτελεστεί από ένα ρομπότ μάγειρα.  :D

Πάντως έχω βαρεθεί αυτό το παράδειγμα με την συνταγή μαγειρικής... υπάρχουν καλύτερα/σωστότερα παραδείγματα για την εισαγωγή στην έννοια του αλγορίθμου. Άντε μετά να σε πάρουν στα σοβαρά όταν αρχίσεις και μιλάς για φασολάδες και μακαρόνια...
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Keep Growing στις 22 Μαρ 2010, 09:25:41 ΜΜ
Το πιο σωστό για μένα συνάδελφε (το όνομά σου;  :)) είναι να πούμε: Αλγόριθμος μπορεί να είναι και μια συνταγή μαγειρικής αρκεί να ικανοποιεί τις ιδιότητες των αλγορίθμων.
Αλλιώς οι σελίδες 178 και 179 του βιβλίου του Γυμνασίου θα πρέπει να αναθεωρηθούν.

Εξάλλου οι ιδιότητες δεν προέκυψαν από την εμπειρία;
Δίνω ένα παράδειγμα. Αν έχει ζήσει κάποιος στο εξωτερικό, (στην Ολλανδία για παράδειγμα) όταν περιμένει το λεωφορείο στην στάση, ξέρει πότε θα έρθει αυτό (το λεωφορείο) με ακρίβεια δευτερολέπτων από την ενημέρωση που έχει από τις φωτεινές ενδείξεις της στάσης.
Γιατί συμβαίνει αυτό; Όχι γιατί βρέθηκε κάποιος ξαφνικά και είπε ότι το λεωφορείο θα έρχεται ακριβώς την συγκεκριμένη ώρα, αλλά γιατί κάποια μηχανήματα έκαναν χρονομετρήσεις και στη συνέχεια με την στατιστική ανάλυση προέκυψε η ακρίβεια.
Αντίστοιχα συμβαίνουν και με την εκτέλεση και διαρκή τροποποίηση των υποψήφιων αλγορίθμων μαγειρικής από την μητέρα μου. Θα έρθει κάποτε το πλήρωμα του χρόνου που οι χρονικές και ποσοτικές και ποιοτικές απαιτήσεις των υποψήφιων αλγορίθμων θα δώσουν την ιδανική λύση. Εκεί ακριβώς είναι που γεννιέται ένας αλγόριθμος μαγειρικής. Και γιαυτό υπάρχουν όλα αυτά τα σκεύη με κλίμακες και τα χρονόμετρα που χρησιμοποιούνται στην μαγειρική.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: evry στις 22 Μαρ 2010, 09:59:05 ΜΜ
Νομίζω ότι καλά  παραδείγματα αλγορίθμου είναι κάποια από τα παρακάτω

Το κλασικό πρόβλημα με τον λύκο/λάχανο/πρόβατο και τον βαρκάρη
Οι αλγόριθμοι πρόσθεσης, πολλαπλασιασμού, διαίρεσης, ΜΚΔ, κλπ

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

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

ΓΙΑ Χ ΑΠΟ -100 ΜΕΧΡΙ 100
   ΑΝ F(X)=0 ΤΟΤΕ
      ΓΡΑΨΕ Χ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

όπου F(X) είναι μια συνάρτηση που έχω ορίσει παρακάτω. Βασικά τους προτείνω να μου πουν οποιοδήποτε πολυώνυμο θέλουν με ακέραιες ρίζες. Απλά ανοίγουν το βιβλίο των μαθηματικών κατεύθυνσης της Β και στη συνέχεια το πρόγραμμα εμφανίζει όλες τις ρίζες του.
  Εκεί τους εξηγώ ότι τα μαθηματικά που έκαναν πέρυσι δεν έχουν νόημα γιατί στο μάθημα αυτό θα μάθουμε πως να βάζουμε τον υπολογιστή να κάνει τη βρώμικη δουλειά για μας ώστε να λύνουμε οποιαδήποτε εξίσωση θέλουμε χωρίς καθόλου πράξεις  ;)
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Keep Growing στις 22 Μαρ 2010, 10:09:15 ΜΜ
Ευριπίδη, δε θα το πιστέψεις, αλλά πέρσι είπα να παρακάμψω την μαγειρική και να δώσω εστίαση στον βαρκάρη.
Ξέρεις τι πετάχτηκε και μου είπε ένας μαθητής;
Έχει κάποια σχέση με τον Βαρκάρη του Αχέρωντα;
Κάποιος άλλος πετάχτηκε και είπε κάτι άλλο για βαρκάρη....και όπως φαντάζεσαι έγινε ο χαμός.


Από τότε έδωσα "όρκο" να χρησιμοποιώ την μαγειρική ως παράδειγμα. 

Πάντως αντικειμενικά συμφωνώ μαζί σου.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Νίκος Αδαμόπουλος στις 23 Μαρ 2010, 01:11:32 ΠΜ
Παράθεση από: Keep Growing στις 22 Μαρ 2010, 10:09:15 ΜΜ
...είπε κάτι άλλο για βαρκάρη....

...το καραβόσκοινο του βαρκάρη; ...
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 23 Μαρ 2010, 02:09:09 ΠΜ
Δεδομένα //Ν//
για θ από 1 μέχρι Ν
     διάβασε Α[θ]
τέλος_επανάληψης

Στάθη να το πούμε καλύτερα: ο παραπάνω αλγόριθμος εφαρμόζεται σε έναν πίνακα Ν θέσεων, ή αλλιώς χρειάζεται έναν πίνακα Ν θέσεων για να έχει νόημα.
Πάντως δεν είναι το ίδιο με την εντολή διάβασε Ν, η οποία κατά την γνώμη μου δεν μπορεί να χρησιμοποιηθεί για το μέγεθος του πίνακα. Όταν γράφω έναν αλγόριθμο σε ψευδογλώσσα πρέπει να έχω στο μυαλό μου και κάποιους κανόνες που ισχύουν στον προγραμματισμό, αλλιώς πρέπει να εφαρμόσω ελευθερο κείμενο ή φυσική γλώσσα κατά βήματα. Σκέψου ότι αν τελικά μπορεί να χρησιμοποιηθεί η εντολή διάβασε Ν αγνοώντας τους κανόνες του προγραμματισμού, τότε μπορώ να χρησιμοποιήσω ότι θέλω. Για παράδειγμα διάβασε Α, διαβάζει τον πίνακα. Γράψε 2*Α εμφανίζει το διπλάσιο όλων των στοιχείων του πίνακα κ.οκ.

Και ρωτάω, ο απώτερος σκοπός του αλγόριθμου σε ψευδογλώσσα δεν είναι να γίνει πρόγραμμα;
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Νίκος Αδαμόπουλος στις 23 Μαρ 2010, 08:37:33 ΠΜ
Παράθεση από: ntzios kostas στις 23 Μαρ 2010, 02:09:09 ΠΜ
...ο παραπάνω αλγόριθμος εφαρμόζεται σε έναν πίνακα Ν θέσεων, ή αλλιώς χρειάζεται έναν πίνακα Ν θέσεων για να έχει νόημα...

Εγώ θα έλεγα ότι ο πίνακας πρέπει να έχει μέγεθος >=Ν. Όμως δεν νομίζω ότι στην ψευδογλώσσα θα πρέπει να μας απασχολεί τόσο πολύ αυτό το ζήτημα...

Και επιπλέον, από τη στιγμή που όντως υπάρχουν μεταξύ μας αυτές οι μικρές διαφωνίες, τότε πραγματικά δεν μπορούμε να κόψουμε από μαθητές μονάδες επειδή έγραψαν "Διάβασε Ν", αφού η ίδια η άσκηση ζήταγε κάτι τέτοιο!
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 23 Μαρ 2010, 10:58:17 ΠΜ
Δεν έχεις άδικο για το κόψιμο μονάδων.  Να σου πω την αλήθεια δεν μου είχε μείνει στο μυαλό η φράση της εκφώνησης, να δέχεται από τον χρήστη το μέγεθος του πίνακα. Κακώς τα έβαλα, λοιπόν, με τον μαθητή. Με την εκφώνηση έπρεπε να τα βάλω. :)
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: sstergou στις 23 Μαρ 2010, 07:11:34 ΜΜ
Κώστα, στην ψευδογλώσσα, ο σκοπός κατά την γνώμη μου είναι η συνοπτική παρουσίαση ενός αλγορίθμου χρησιμοποιώντας εκφραστικές ψευδοεντολές που είναι κατανοητές στους ανθρώπους.

Βέβαια, η ψευδογλώσσα έχει χάσει εκ των πραγμάτων το νόημά της για πολλούς λόγους :
1) Εντολές που είναι μια άμεση μεταφορά εντολών πραγματικών γλωσσών προγραμματισμού.
2) Πανελλήνιες εξετάσεις (πρέπει να υπάρχει γενική συμφωνία στους κανόνες βαθμολόγησης)
3) Ακολουθεί η ΓΛΩΣΣΑ που είναι σχεδόν το ίδιο πράγμα.

Στο συγκεκριμένο παράδειγμα τώρα όπως και σε άλλα παρόμοια κρίνουμε μια λύση ως λάθος επειδή δεν μπορεί να εκφραστεί ακριβώς στην συγκεκριμένη ΓΛΩΣΣΑ. Είναι αυτό σωστό; Η ψευδογλώσσα δεν είναι κάτι πιο γενικό, πιο καθολικό; Μήπως θα έπρεπε να κάνουμε το αντίστροφο; Να δεχόμαστε δηλαδή λύσεις σε ΓΛΩΣΣΑ που παραβιάζουν κάποιους πρωτόγονους και άκαιρους περιορισμούς που οι συγγραφείς έδωσαν σε αυτήν αλλά που η λογική τους είναι σωστή. Γιατί θα έπρεπε η ΓΛΩΣΣΑ να επισκιάζει την αλγοριθμική σκέψη και όχι το αντίστροφο; Στο κάτω κάτω, όταν γράφεις στην υπογραφή σου, "σκοπός δεν είναι η εκμάθηση κάποιου προγραμματιστικού περιβάλλοντος" φαντάζομαι εννοείς όλα τα περιβάλλοντα, μαζί με την ΓΛΩΣΣΑ.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 24 Μαρ 2010, 12:24:20 ΠΜ
Παράθεση από: sstergou στις 23 Μαρ 2010, 07:11:34 ΜΜ

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

Ν<-0
διάβασε χ
όσο χ >0 επανάλαβε
      Ν<-Ν+1
      Α[Ν]<-χ
      διάβασε χ
τέλος_επανάληψης

Αποτελέσματα //Α,Ν//
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Νίκος Αδαμόπουλος στις 24 Μαρ 2010, 01:16:22 ΠΜ
Παράθεση από: ntzios kostas στις 24 Μαρ 2010, 12:24:20 ΠΜ
... ο παρακάτω αλγόριθμος πρέπει να θεωρηθεί ότι αντιβαίνει στους κανόνες της στατικής δομής πίνακα και να χαρακτηριστεί ως λάθος.

Ν<-0
διάβασε χ
όσο χ >0 επανάλαβε
      Ν<-Ν+1
      Α[Ν]<-χ
      διάβασε χ
τέλος_επανάληψης

Αποτελέσματα //Α,Ν//

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

Δηλαδή για μένα στο παράδειγμά σου το Ν δεν δείχνει το μέγεθος του πίνακα Α, το οποίο θα μπορούσε να είναι αρκετά μεγάλο ώστε να μας καλύπτει στην χειρότερη περίπτωση (ΟΚ απαιτώντας πολλές συνεχόμενες θέσεις στη μνήμη του Η/Υ που πρέπει να έχουν δεσμευτεί εκ των προτέρων ... κλπ...κλπ). Το Ν όπως το βλέπω στο παράδειγμά σου είναι κάτι σαν το top της στοίβας...
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 24 Μαρ 2010, 10:26:33 ΠΜ
Κάτσε ρε Νίκο ας υποθέσουμε  είχαμε την εκφώνηση: Να διαβάζει θετικούς αριθμους και να εμφανίζει το μέγιστο. Ο μαθητής λοιπόν γράφει:

Ν<-0
διάβασε χ
όσο χ >0 επανάλαβε
      Ν<-Ν+1
      Α[Ν]<-χ
      διάβασε χ
τέλος_επανάληψης
μαχ<- -1
για θ από 1 μέχρι Ν
     αν Α[θ]>μαχ τότε
         μαχ<-Α[θ]
     τέλος_αντέλος_επανάληψης
  αν Ν>0 τότε
    γράψε μαχ
τέλος_αν

Αυτό είναι σωστό;

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

Ας το δούμε και αλλιώς

Αλγόριθμος Βάζω_επιπλέον_στοιχεία_στον_Πίνακα

Δεδομένα //Α,Ν// !Ν το μέγεθος του πίνακα
διάβασε χ
όσο χ>0 επανάλαβε
      Ν<-Ν+1
      Α[Ν]<-χ
      διάβασε χ
τέλος_επανάληψης
Αποτελέσματα //Α,Ν//

Τέλος

Αυτό γίνεται;

Κακά τα ψέματα Νίκο δεν μπορούμε να λέμε στους μαθητές μας να λύνουν, όλα τα θέματα με πίνακες.

Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Νίκος Αδαμόπουλος στις 24 Μαρ 2010, 05:40:16 ΜΜ
Παράθεση από: ntzios kostas στις 24 Μαρ 2010, 10:26:33 ΠΜ
Κάτσε ρε Νίκο ας υποθέσουμε  είχαμε την εκφώνηση: Να διαβάζει θετικούς αριθμους και να εμφανίζει το μέγιστο. Ο μαθητής λοιπόν γράφει:

Ν<-0
διάβασε χ
όσο χ >0 επανάλαβε
      Ν<-Ν+1
      Α[Ν]<-χ
      διάβασε χ
τέλος_επανάληψης
μαχ<- -1
για θ από 1 μέχρι Ν
     αν Α[θ]>μαχ τότε
         μαχ<-Α[θ]
     τέλος_αντέλος_επανάληψης
  αν Ν>0 τότε
    γράψε μαχ
τέλος_αν

Αυτό είναι σωστό;
Με παρεξήγησες! Στην παραπάνω άσκηση προφανώς δεν απαιτείται πίνακας ούτε και ζητείται κάτι τέτοιο. Δεν ξέρουμε πόσοι το πολύ αριθμοί θα διαβαστούν, οπότε ο πίνακας είναι μια ατυχής επιλογή! Αν βέβαια ξέραμε ότι είναι βαθμοί μαθητών μιας σχολικής τάξης τότε παρόλο που μπορεί ο προγραμματιστής να μην γνωρίζει το ακριβές πλήθος των μαθητών, ωστόσο μπορεί να δηλώσει έναν πίνακα με 40 θέσεις (ή 50 ή 60 - τέλος πάντως μπορεί να βάλει έναν μεγάλο αριθμό) κι ας μην χρησιμοποιηθούν όλες. Σε αυτήν την περίπτωση εγώ δεν θα θεωρούσα λάθος τη λύση παρόλο που θα μου άρεσε καλύτερα χωρίς πίνακα...

Παράθεση από: ntzios kostas στις 24 Μαρ 2010, 10:26:33 ΠΜ
Ας το δούμε και αλλιώς

Αλγόριθμος Βάζω_επιπλέον_στοιχεία_στον_Πίνακα

Δεδομένα //Α,Ν// !Ν το μέγεθος του πίνακα
διάβασε χ
όσο χ>0 επανάλαβε
      Ν<-Ν+1
      Α[Ν]<-χ
      διάβασε χ
τέλος_επανάληψης
Αποτελέσματα //Α,Ν//

Τέλος

Αυτό γίνεται;
Αυτό δεν έχει να κάνει με αυτά που λέγαμε πιο πριν. Εδώ δηλώνεις ότι Ν είναι το μέγεθος του πίνακα και μετά πηγαίνεις και το αυξάνεις... Εγώ σε όλα όσα έλεγα πιο πριν τόνιζα ότι δεν θεωρούσα ότι Ν είναι το μέγεθος του πίνακα. Έλεγα ότι το μέγεθος του πίνακα πρέπει να είναι καθορισμένο τόσο ώστε να είναι >= του πλήθους των στοιχείων που θα καταχωριστούν σε αυτόν. Απλά στην ψευδογλώσσα δεν είναι αναγκαίο να το καθορίσουμε - χωρίς αυτό να σημαίνει πως μπορεί να είναι όσο μεγάλο θέλουμε αφού δεν πρέπει να ξεπεράσουμε τη χωρητικότητα της RAM!

Παράθεση από: ntzios kostas στις 24 Μαρ 2010, 10:26:33 ΠΜ
Κακά τα ψέματα Νίκο δεν μπορούμε να λέμε στους μαθητές μας να λύνουν, όλα τα θέματα με πίνακες.

... αυτό εννοείται, αλλά δεν καταλαβαίνω γιατί το λες! Δεν ισχυρίστηκε κανείς το αντίθετο... Επί της ουσίας νομίζω πως η διαφωνία μας, αν υπάρχει, εντοπίζεται σε κάποιες λεπτομέρειες που δεν αναδεικνύονται από τα παραπάνω παραδείγματα. Εν τέλει δεν νομίζω ότι διαφωνούμε... Απλά δεν συντονιζόμαστε σε αυτά που λέμε...  ::)

Πάντως έχουμε κατά πολύ ξεφύγει από το θέμα αυτού το topic!!!
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 24 Μαρ 2010, 09:45:21 ΜΜ
Όλη η συζήτηση ξεκίνησε αν επιτρέπεται το διάβασε Ν για το μέγεθος του πίνακα, και αν ο πίνακας πρέπει να θεωρείται και στον αλγόριθμο στατική δομή. Επειδή λοιπόν ο πίνακας πρέπει να θεωρείται στατική δομή δεν πρέπει να φτιάχνω αλγόριθμο που το μέγεθός του να καθορίζεται από τον χρήστη, εκτός βέβαια και αν αυτό δεν ξεπερνάει μία ανώτερη τιμή, η οποία όμως πρέπει να καθορίζεται από την εκφώνηση.


ΠαράθεσηΠάντως έχουμε κατά πολύ ξεφύγει από το θέμα αυτού το topic!!!
Νομίζω ότι ο Θωμάς που άνοιξε το θέμα δεν πρέπει να ασχολείται άλλο με αυτό... :)

Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Σπύρος Δουκάκης στις 25 Μαρ 2010, 09:45:46 ΠΜ
Παράθεση από: ntzios kostas στις 22 Μαρ 2010, 08:28:15 ΜΜ
Και να συμπληρώσω ότι για όλα αυτά φταίει η εκφώνηση. :)

Το βασικό είναι το παραπάνω. Δεν θα συζητάγαμε με τόσα μνμ το θέμα.

Το Ν μπορεί να διαβάζεται με έλεγχο εγκυρότητας ώστε να είναι συγκεκριμένου μεγέθους ή μπορεί να είναι δεδομένο.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: tom στις 25 Μαρ 2010, 10:42:30 ΠΜ
Παράθεση από: ntzios kostas στις 24 Μαρ 2010, 09:45:21 ΜΜ
Νομίζω ότι ο Θωμάς που άνοιξε το θέμα δεν πρέπει να ασχολείται άλλο με αυτό... :)
Είναι γεγονός  :)
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: tom στις 31 Μαΐου 2010, 01:21:21 ΠΜ
 :)

Έστω το παρακάτω πρόβλημα...

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

και τέσσερις λύσεις...

{1}
Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί
   Δεδομένα//Ν//
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ
        α<-α+Χ
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί

{2}
Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί
   Διάβασε Ν
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ
        α<-α+Χ
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί

{3}
Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί
   Δεδομένα//Ν, Χ πίνακας ακεραίων μεγέθους Ν//
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ[ι]
        α<-α+Χ[ι]
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί

{4}
Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί
   Διάβασε Ν
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ[ι]
        α<-α+Χ[ι]
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί


Ποια προβλήματα εντοπίζετε σε κάθε λύση λαμβάνοντας υπόψιν τα παρακάτω:

1)Οι συγκεκριμένοι αλγόριθμοι σχεδιάστηκαν με σκοπό να εκτελεστούν από υπολογιστή αφού μετατραπούν σε ΓΛΩΣΣΑ. Η απόδοση δεν μας ενδιαφέρει.
2)Οι συγκεκριμένοι αλγόριθμοι σχεδιάστηκαν με σκοπό να εκτελεστούν από υπολογιστή αφού μετατραπούν σε ΓΛΩΣΣΑ. Η απόδοση μας ενδιαφέρει.
3)Οι συγκεκριμένοι αλγόριθμοι σχεδιάστηκαν με σκοπό να εκτελεστούν από υπολογιστή αφού μετατραπούν σε κάποια εμπορική γλώσσα προγραμματισμού (.ΝΕΤ, C++,Java...)...

Αν θέλετε προσθέστε κάποιο ερώτημα προς τα εμένα.

:)
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: gthal στις 31 Μαΐου 2010, 01:41:17 ΠΜ
Γεια σου ρε Θωμά
Πολύ χαίρομαι γιατί τα ίδια πράγματα περίπου έλεγα κι εγώ σε κάποια ποστ που τώρα έχουν θαφτεί σε μια από τις 100 και πλέον σελίδες του άλλου τοπικ.
Είχα δει κι εκεί κάποιες τοποθετήσεις σου που μου ταίριαζαν γάντι αλλά δυστυχώς δεν βρεθήκαμε ποτέ ταυτόχρονα ώστε να προλάβω να σου πω ένα "συμφωνώ" ... και βέβαια καταπλακώθηκαν κι αυτά από σελίδες και σελίδες.

Παρόλα αυτά ούτε αυτό το επιχείρημα πείθει διότι λέγεται ότι αν ανοίξουμε τέτοια εργαλεία (δυναμικούς πίνακες και τέτοια) τότε θα χάσουν το νόημά τους οι ασκήσεις στην επανάληψη, τιμή φρουρό κλπ
Δε διαφωνώ μ' αυτό αλλά από την άλλη πάλι, για να εξυπηρετήσουμε αυτή τη σκοπιμότητα, να κρύβουμε την αλήθεια ότι ο αλγόριθμος είναι υπεράνω της υλοποίησης ; Δεν ξέρω .... προβληματίζομαι
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: tom στις 31 Μαΐου 2010, 03:38:06 ΜΜ
{1}
Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί
   Δεδομένα//Ν//
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ
        α<-α+Χ
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί


1. Υλοποιήσιμος σε ΓΛΩΣΣΑ
2. Υλοποιήσιμος σε C++, JAVA κλπ
3. Καλή απόδοση
4. Το πλήθος των αριθμών θεωρείται δεδομένο τη στιγμή έναρξης εκτέλεσης του αλγορίθμου


{2}
Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί
   Διάβασε Ν
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ
        α<-α+Χ
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί


1. Υλοποιήσιμος σε ΓΛΩΣΣΑ
2. Υλοποιήσιμος σε C++, JAVA κλπ
3. Καλή απόδοση
4. Το πλήθος των αριθμών δίνεται από το χρήστη κατά τη διάρκεια της εκτέλεσης



{3}
Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί
   Δεδομένα//Ν, Χ πίνακας ακεραίων μεγέθους Ν//
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ[ι]
        α<-α+Χ[ι]
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί


1. ΜΗ Υλοποιήσιμος σε ΓΛΩΣΣΑ
2. Υλοποιήσιμος σε C++, JAVA κλπ
3.  Άσκοπη χρήση πίνακα, κατανάλωση πόρων
4. Το πλήθος των αριθμών δεδομένο τη στιγμή έναρξης εκτέλεσης
5. Χρήση στατικού πίνακα


{4}
Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί
   Διάβασε Ν
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ[ι]
        α<-α+Χ[ι]
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί


1. ΜΗ Υλοποιήσιμος σε ΓΛΩΣΣΑ
2. Υλοποιήσιμος σε C++, JAVA κλπ
3. Άσκοπη χρήση πίνακα, κατανάλωση πόρων
4. Το πλήθος των αριθμών δίνεται από το χρήστη κατά τη διάρκεια της εκτέλεσης
5. Χρήση δυναμικού πίνακα. Δεν θα έπρεπε να εξετάζεται και να υπάρχουν αντίστοιχα παραδείγματα στο διδακτικό πακέτο.


Άντε να τα κλείνουμε ένα ένα τα θέματα, μας έχουν μείνει τα χαρακτηριστικά αλγορίθμου κλπ. Έρχεται και καλοκαίρι  ;D
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 31 Μαΐου 2010, 03:50:31 ΜΜ
Αυτό είναι  Θωμά και Γιώργο που με προβληματιζει περισσότερο απ΄ όλα. Πριν τόσο καιρό κάναμε αυτή την κουβένται και μιλάγαμε 10 άτομα. Τώρα που το είδαμε στις εξετάσεις εμφανίστηκαν τόσοι πολλοί. Που ήταν τόσο καιρό όλος αυτός ο κόσμος;
Αν είχαμε την μισή συμμετοχή από αυτή που υπάρχει στο αντίστοιχο θέμα με τα 100 και βάλε posts, τα πράγματα θα ήταν διαφορετικά τώρα. 
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: sstergou στις 31 Μαΐου 2010, 04:06:34 ΜΜ
Τι θα είχε αλλάξει κατά την γνώμη σου Κώστα;
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: ntzios kostas στις 31 Μαΐου 2010, 04:20:28 ΜΜ
Αυτό που θα είχε αλλάξει κατά την γνώμη μου Στάθη είναι να μην το βλέπαμε στις εξετάσεις. Από εκεί και πέρα οι συζητήσεις που γίνονται εδώ γίνονται ώστε οι ασάφειες να  εντοπιστούν αν υπάρχουν στο σχολικό και να διορθωθούν αν υπάρχουν στο μυαλό μας.
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: sstergou στις 31 Μαΐου 2010, 04:36:33 ΜΜ
Κώστα, το πρόβλημα ήταν γνωστό εδώ και χρόνια.

Η πρώτη φορά που θυμάμαι να συζητήθηκε ήταν το 2008.
https://alkisg.mysch.gr/steki/index.php?topic=1194.0

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

Επίσης σε συζητήσεις που είχαμε σχετικά με τις ασάφειες το θέμα είχε αναφερθεί ξανά. Δεν ήταν κάτι που έπεσε από τον ουρανό την Παρασκευή.

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

Συγγνώμη, αλλά όταν η κοινότητα διαφωνεί για κάτι, αυτό δεν πρέπει να εξετάζεται. Και δεν μπορώ να καταλάβω για ποιο λόγο ήρθε η διευκρίνηση. Αν το θέμα ήταν σαφές γιατί την έστειλαν; Δεν θα έπρεπε ο κάθε διορθωτής να το ξέρει ότι η λύση είναι λάθος σύμφωνα με το βιβλίο;
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: tom στις 31 Μαΐου 2010, 05:07:19 ΜΜ
Παράθεση από: ntzios kostas στις 31 Μαΐου 2010, 03:50:31 ΜΜ
Αυτό είναι  Θωμά και Γιώργο που με προβληματιζει περισσότερο απ΄ όλα. Πριν τόσο καιρό κάναμε αυτή την κουβένται και μιλάγαμε 10 άτομα. Τώρα που το είδαμε στις εξετάσεις εμφανίστηκαν τόσοι πολλοί. Που ήταν τόσο καιρό όλος αυτός ο κόσμος;
Αν είχαμε την μισή συμμετοχή από αυτή που υπάρχει στο αντίστοιχο θέμα με τα 100 και βάλε posts, τα πράγματα θα ήταν διαφορετικά τώρα.
Δε βαριέσαι και μόνο από την όλη επιχειρηματολογία κάτι μπορεί να βγει για μας και για το μάθημα. Κάποιοι για παράδειγμα ανακάλυψαν το www.pseudoglossa.gr (Στάθη ετοίμαζε σιγά-σιγά cluster με servers) προβλέπω έκρηξη στην επισκεψιμότητα  :D


Παράθεση από: ntzios kostas στις 24 Μαρ 2010, 09:45:21 ΜΜ

Νομίζω ότι ο Θωμάς που άνοιξε το θέμα δεν πρέπει να ασχολείται άλλο με αυτό... :)


Νομίζω πάλι πας να ξεφύγεις από την ερώτηση  ;D Ντεζα βου!  :D
Πραγματικά αυτά που γράφω στις τέσσερις λύσεις σε βρίσκουν όλα σύμφωνο;
Εννοείται ότι ισχύει και για τους άλλους η ερώτηση.  :)
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Νίκος Αδαμόπουλος στις 31 Μαΐου 2010, 11:01:29 ΜΜ
Παράθεση από: sstergou στις 31 Μαΐου 2010, 04:36:33 ΜΜ
Κώστα, το πρόβλημα ήταν γνωστό εδώ και χρόνια.
....
Από τότε συχνά πυκνά, όπως συνέβη στο παρών θέμα, ξανασυζητήθηκε το ίδιο ακριβώς πράγμα, με το ίδιο ακριβώς αποτέλεσμα (αδιέξοδο).

Επίσης σε συζητήσεις που είχαμε σχετικά με τις ασάφειες το θέμα είχε αναφερθεί ξανά. Δεν ήταν κάτι που έπεσε από τον ουρανό την Παρασκευή.

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

Συγγνώμη, αλλά όταν η κοινότητα διαφωνεί για κάτι, αυτό δεν πρέπει να εξετάζεται.
...

Αυτό έλεγα κι εγώ σε άλλα post μου. Τα ζητήματα αυτά κουβεντιάζονται συνεχώς στο Στέκι. Δεκτές οι διαφωνίες αλλά δεν μπορεί να πέφτει κάτι πάνω σε κάτι που απασχολεί ακόμα τους συναδέλφους. Μπορεί για κάποιους να είναι ξεκάθαρο στο μυαλό τους αλλά αυτό δεν αποδεικνύει ότι είναι και σωστό ή ότι δεν υπάρχει ασάφεια στο βιβλίο. Δεν νομίζω ότι οι επιτροπές δεν διαβάζουν το Στέκι. Υπάρχουν ενδείξεις μέσα από τα θέματα ότι το διαβάζουν και λαμβάνουν υπόψη τους τις απόψεις... Ούτε θεωρώ ότι το έκαναν επίτηδες... Για αυτό μίλησα για αστοχία του θέματος... Απλά η περιβόητη διευκρίνηση χειροτέρεψε τα πράγματα...
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: George στις 01 Ιουν 2010, 10:45:46 ΠΜ
Παράθεση από: tom στις 31 Μαΐου 2010, 03:38:06 ΜΜ
{1}
Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί
   Δεδομένα//Ν//
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ
        α<-α+Χ
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί


1. Υλοποιήσιμος σε ΓΛΩΣΣΑ
2. Υλοποιήσιμος σε C++, JAVA κλπ
3. Καλή απόδοση
4. Το πλήθος των αριθμών θεωρείται δεδομένο τη στιγμή έναρξης εκτέλεσης του αλγορίθμου


{2}
Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί
   Διάβασε Ν
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ
        α<-α+Χ
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί


1. Υλοποιήσιμος σε ΓΛΩΣΣΑ
2. Υλοποιήσιμος σε C++, JAVA κλπ
3. Καλή απόδοση
4. Το πλήθος των αριθμών δίνεται από το χρήστη κατά τη διάρκεια της εκτέλεσης



Να υποθέσω δηλαδή οτι το ΔΕΔΟΜΕΝΑ // Ν //  σε έναν αλγόριθμο είναι αντίστοιχο του ΔΙΑΒΑΣΕ  Ν   σε ένα πρόγραμμα?
Αν η απάντησή σου είναι :
α) ΝΑΙ.   Τότε το αντίστοιχο του ΔΕΔΟΜΕΝΑ //Ν, Χ πίνακας ακεραίων μεγέθους Ν//  ποιό είναι???
β) ΟΧΙ .  Τότε τι ακριβως κάνει το ΔΕΔΟΜΕΝΑ // Ν // ??
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: Σπύρος Δουκάκης στις 01 Ιουν 2010, 10:55:01 ΠΜ
Τα Δεδομένα // Ν // σχετίζονται με τα υποπρογράμματα.

Παράθεση από: George στις 01 Ιουν 2010, 10:45:46 ΠΜ
Να υποθέσω δηλαδή οτι το ΔΕΔΟΜΕΝΑ // Ν //  σε έναν αλγόριθμο είναι αντίστοιχο του ΔΙΑΒΑΣΕ  Ν   σε ένα πρόγραμμα?
Αν η απάντησή σου είναι :
α) ΝΑΙ.   Τότε το αντίστοιχο του ΔΕΔΟΜΕΝΑ //Ν, Χ πίνακας ακεραίων μεγέθους Ν//  ποιό είναι???
β) ΟΧΙ .  Τότε τι ακριβως κάνει το ΔΕΔΟΜΕΝΑ // Ν // ??
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: tom στις 01 Ιουν 2010, 12:52:31 ΜΜ
Παράθεση από: George στις 01 Ιουν 2010, 10:45:46 ΠΜ
Να υποθέσω δηλαδή οτι το ΔΕΔΟΜΕΝΑ // Ν //  σε έναν αλγόριθμο είναι αντίστοιχο του ΔΙΑΒΑΣΕ  Ν   σε ένα πρόγραμμα?
Αν η απάντησή σου είναι :
α) ΝΑΙ.   Τότε το αντίστοιχο του ΔΕΔΟΜΕΝΑ //Ν, Χ πίνακας ακεραίων μεγέθους Ν//  ποιό είναι???
β) ΟΧΙ .  Τότε τι ακριβως κάνει το ΔΕΔΟΜΕΝΑ // Ν // ??

Η απάντηση είναι ΟΧΙ. Θα έλεγα το αντίστοιχο του:

Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί   
   Δεδομένα//Ν//   
   α<-0   
   Για ι από 1 μέχρι Ν       
      Διάβασε Χ       
      α<-α+Χ   
   Τέλος_επανάληψης   
   Εμφάνισε α
Τέλος αριθμοί


θα ήταν κάπως έτσι:

Κώδικας [Επιλογή]
ΥΠΟΠΡΟΓΡΑΜΜΑ αριθμοί (Ν)
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Ν
ΑΡΧΗ
   α<-0   
   ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν       
      ΔΙΑΒΑΣΕ Χ       
      α<-α+Χ   
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΓΡΑΨΕ α
ΤΕΛΟΣ_ΥΠΟΠΡΟΓΡΑΜΜΑ


Το υποπρόγραμμα μπορεί να είναι διαδικασία ή συνάρτηση ανάλογα με το ποιο είναι καταλληλότερο.

Οπότε το Δεδομένα//Ν// είναι κάτι σαν τις παραμέτρους των υποπρογραμμάτων. Τώρα αν με ρώταγες "Και αν έχουμε μόνο κυρίως πρόγραμμα"; Θα σου απαντούσα σε αυτή την περίπτωση είναι κάτι σαν τα ορίσματα της γραμμής εντολών.

Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: George στις 01 Ιουν 2010, 01:08:28 ΜΜ
Παράθεση από: tom στις 01 Ιουν 2010, 12:52:31 ΜΜ
Η απάντηση είναι ΟΧΙ. Θα έλεγα το αντίστοιχο του:

Κώδικας [Επιλογή]
Αλγόριθμος αριθμοί   
   Δεδομένα//Ν//   
   α<-0   
   Για ι από 1 μέχρι Ν       
      Διάβασε Χ       
      α<-α+Χ   
   Τέλος_επανάληψης   
   Εμφάνισε α
Τέλος αριθμοί


θα ήταν κάπως έτσι:

Κώδικας [Επιλογή]
ΥΠΟΠΡΟΓΡΑΜΜΑ αριθμοί (Ν)
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Ν
ΑΡΧΗ
   α<-0   
   ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν       
      ΔΙΑΒΑΣΕ Χ       
      α<-α+Χ   
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΓΡΑΨΕ α
ΤΕΛΟΣ_ΥΠΟΠΡΟΓΡΑΜΜΑ


Το υποπρόγραμμα μπορεί να είναι διαδικασία ή συνάρτηση ανάλογα με το ποιο είναι καταλληλότερο.

Οπότε το Δεδομένα//Ν// είναι κάτι σαν τις παραμέτρους των υποπρογραμμάτων. Τώρα αν με ρώταγες "Και αν έχουμε μόνο κυρίως πρόγραμμα"; Θα σου απαντούσα σε αυτή την περίπτωση είναι κάτι σαν τα ορίσματα της γραμμής εντολών.


Οπότε  μπορώ να υποθέσω οτι το ΔΕΔΟΜΕΝΑ // Ν, Χ //  είναι κάπως έτσι??


ΥΠΟΠΡΟΓΡΑΜΜΑ αριθμοί (Ν, Χ )
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Ν, Χ[ ? ]
ΑΡΧΗ
   α<-0   
   ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν       
      ΔΙΑΒΑΣΕ Χ [ι]       
      α<-α+Χ [ι] 
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΓΡΑΨΕ α
ΤΕΛΟΣ_ΥΠΟΠΡΟΓΡΑΜΜΑ

Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: tom στις 01 Ιουν 2010, 02:26:13 ΜΜ
Παράθεση από: George στις 01 Ιουν 2010, 01:08:28 ΜΜ
Οπότε  μπορώ να υποθέσω οτι το ΔΕΔΟΜΕΝΑ // Ν, Χ //  είναι κάπως έτσι??

ΥΠΟΠΡΟΓΡΑΜΜΑ αριθμοί (Ν, Χ )
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Ν, Χ[ ? ]
ΑΡΧΗ
   α<-0   
   ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν       
      ΔΙΑΒΑΣΕ Χ [ι]       
      α<-α+Χ [ι] 
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΓΡΑΨΕ α
ΤΕΛΟΣ_ΥΠΟΠΡΟΓΡΑΜΜΑ

ΝΑΙ κάπως έτσι...

ΥΠΟΠΡΟΓΡΑΜΜΑ αριθμοί (Ν, Χ )
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Ν, Χ[ ?N ]
ΑΡΧΗ
   α<-0   
   ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ Ν       
      ΔΙΑΒΑΣΕ Χ [ι]       
      α<-α+Χ [ι] 
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΓΡΑΨΕ α
ΤΕΛΟΣ_ΥΠΟΠΡΟΓΡΑΜΜΑ

Ας πούνε και οι άλλοι την άποψη τους... Η ουσία είναι ότι η Δεδομένα //Ν// δεν ορίζεται επαρκώς στο βιβλίο!
Τίτλος: Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
Αποστολή από: mpoufi στις 06 Νοε 2013, 10:26:18 ΜΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 22 Μαρ 2010, 09:13:01 ΠΜ
Ελάχιστα θα έκοβα... αφού το ζητούμενο είναι λίγο εξεζητημένο...

Κώστα γιατί θα έκοβες για το Διάβασε Ν;

πρέπει να κάψει το Ν δεν μπορεί να το διαβάσει.. δεν ειναι ένας αριθμός αλλα ειναι οι φυσικοί αριθμοί όλοι τους... στους δισδιάστατους πίνακες ο μόνος τρόπος για να διαβάσεις το Ν ειναι μεσα απο τα Δεδομένα.. δηλαδη
Δεδομενα //Α, Ν// :)