Αποστολέας Θέμα: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου  (Αναγνώστηκε 23450 φορές)

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
Έστω η παρακάτω άσκηση που "πιάνει" 10 μόρια:

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

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

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

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

Πόσο θα "κόβατε" από τη δεύτερη λύση;
« Τελευταία τροποποίηση: 22 Μάρ 2010, 02:02:53 πμ από tom »
Θωμάς Σκυλογιάννης

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

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών
Η ύπαρξη λάθους είναι ότι το 'κεντρικό' στοιχείο του πίνακα προστίθεται δύο φορές σε περίπτωση που το Ν είναι περιττός. Πιστεύω για τον λόγο αυτό θα έκοβα το 2-4 % των μορίων της άσκησης.

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

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2806
  • Πύργος Ηλείας
Ελάχιστα θα έκοβα... αφού το ζητούμενο είναι λίγο εξεζητημένο...

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

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2457
  • I 'm not young enough to know everything
Να πούμε πάντως ότι καλύτερα να γίνει με μονό βρόχο. Να μην περνάμε από όλο τον πίνακα δηλαδή αφού αν με το δάχτυλο δείχναμε τα στοιχεία που προσθέτουμε δεν θα περνάγαμε από όλο τον πίνακα. θα βηματίζαμε απευθείας πάνω στις διαγωνίους.
Είναι βασικό για το μάθημα ο αλγόριθμος που γράφουμε να είναι αυτός που εκτελούμε μηχανικά με το χέρι.

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 945
Στη βαθμολόγηση θα συμφωνήσω με τον Κώστα,
αλλά κι εγώ απορώ, γιατί θα έκοβες για το Διάβασε Ν ;
Φιλικά,
Γιώργος Θαλασσινός

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών
Ο πίνακας είναι στατική δομή και το μέγεθός του δεν ορίζεται από τον χρήστη. Αυτός ο αλγόριθμος δεν μπορεί να γίνει προγραμμα.

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

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
Ο πίνακας είναι στατική δομή και το μέγεθός του δεν ορίζεται από τον χρήστη. Αυτός ο αλγόριθμος δεν μπορεί να γίνει προγραμμα.

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

 
Θωμάς Σκυλογιάννης

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

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Η ψευδογλώσσα έχει πάθει κρίση ταυτότητας...
Κάποια στιγμή θα πρέπει να αποφασίσουμε τι θέλουμε από αυτήν.
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

ntzios kostas

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

 

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

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
Και τελικά ποια είναι η διαφορά της εντολής Δεδομένα //Ν// από το διάβασε Ν. Οι μαθητές νομίζω ότι πρέπει να την ξέρουν και να εφαρμόζουν το σωστό.

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

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

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

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

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

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

Λέει κάπου μέσα στο διδακτικό πακέτο πως ακριβώς ορίζεται η εντολή Δεδομένα//.... // ; :-\
Θωμάς Σκυλογιάννης

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

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2806
  • Πύργος Ηλείας
Κώστα να πω ότι με μπέρδεψες!

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

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

 

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2806
  • Πύργος Ηλείας
   Δεδομένα //Ν, π[Ν,Ν]//

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

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

... αν όμως η άσκηση δεν έλεγε να δίνει το Ν ο χρήστης! Πάντως και η συγκεκριμένη άσκηση δεν είναι συνεπής! Ενώ λέει το Ν να το δίνει ο χρήστης, για τον πίνακα δεν λέει τίποτα... ούτε να τον διαβάζουμε ούτε να τον θεωρήσουμε δεδομένο. Πώς θα προκύψει αυτός; Με παρθενογέννεση;

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
Εγώ θα το έγραφα έτσι:

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

Και πως θα φαίνεται ότι είναι δισδιάστατος;
Για τον πίνακα θεωρώ ότι επίσης δίνεται από τον χρήστη.
Θωμάς Σκυλογιάννης

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

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3513
  • to Iterate is human to Recurse divine
Αν υποθέσουμε ότι τα Δεδομένα στην ψευδογλώσσα παίζουν τον ίδιο ρόλο που παίζουν οι παράμετροι εισόδου στα υποπρογράμματα τότε δεν ξέρω αν χρειάζεται να φαίνεται ότι ο πίνακας είναι 2D. Μην ξεχνάμε ότι και στον ορισμό του υποπρογράμματος δεν φαίνεται ότι η παράμετρος είναι πίνακας παρά μόνο αν κοιτάξεις το τμήμα δηλώσεων του υποπρογράμματος.

Τέλος πάντων τα συγκεκριμένα σημεία δεν είναι αυστηρά ορισμένα στο βιβλίο και μπορούμε να συζητάμε για ώρα τι σημαίνει το ένα και τι σημαίνει το άλλο. Με λίγη καλή θέληση όμως μπορούμε να καταλήξουμε κάπου.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Πάντως το τετράδιο του μαθητή έχει παραδείγματα εισαγωγής πίνακα με την εντολή

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

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

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


Αυτός ο αλγόριθμος δεν μπορεί να γίνει προγραμμα.   

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

Θα πω και κάτι άλλο και ας με πάρετε με τις ντομάτες : Δεν πρέπει να κάνουμε διάκριση μεταξύ αλγορίθμου και προγράμματος. Κάθε αλγόριθμος μπορεί να γίνει πρόγραμμα και κάθε πρόγραμμα είναι κάποιος αλγόριθμος εκφρασμένος με κάποιο τρόπο.
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

Keep Growing

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 2023
  • Παναγιώτης Πέντσας Γυμνάσιο Σορωνής
    • Περισσότερες πληροφορίες για μένα
Πάντως εγώ προτιμώ να φάω φασολάδα από τα χεράκια της μαμάκας μου.
Είναι θέμα γούστου. ;D
Ο Έρωτας (του Εκπ/κου Πληροφορικού) στ' αλώνια της καλδέρας (του υπνωτισμού).

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3513
  • to Iterate is human to Recurse divine
εεε, δεν το κατάλαβα ακριβώς. Τι σχέση έχει με τα προηγούμενα? κάπου το έχασα :-\

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

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών
Παιδιά το δεδομένα //Ν// σημαίνει ότι ο αλγόριθμος αυτός για να δουλέψει χρειάζεται το Ν. Νομίζω ότι μέχρι εδώ είμαστε συμφωνούμε όλοι. Με άλλα λόγια σημαίνει ότι όταν αυτός ο αλγόριθμος θα γίνει πρόγραμμα είναι θέμα του προγραμματιστή ποιο είναι το μέγεθος του πίνακά  του (Ν)στον οποίο βέβαια θα εφαρμόσει τον αλγόριθμο που του περιγράψαμε. Όταν του λέμε δεδομένα //Ν// του λέμε, λοιπόν, είναι δικό σου θέμα το μέγεθος του πίνακα, ενώ όταν του λέμε διάβασε Ν του λέμε το Ν θα στο δώσει ο χρήστης, πράγμα που δεν θα μπορεί να το κάνει πρόγραμμα (σε γλώσσα Στάθη που ο πίνακας θεωρείται στατική δομή).

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

Keep Growing

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 2023
  • Παναγιώτης Πέντσας Γυμνάσιο Σορωνής
    • Περισσότερες πληροφορίες για μένα
Ένα πρόβλημα προς επίλυση είναι και το μαγείρεμα της φασολάδας.

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

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

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

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

Κάθε κατεργάρης στην "κουζίνα" του. :)
Ο Έρωτας (του Εκπ/κου Πληροφορικού) στ' αλώνια της καλδέρας (του υπνωτισμού).

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών
Ήταν φανερό. Έπρεπε να το καταλάβουμε.  ;D
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

Keep Growing

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 2023
  • Παναγιώτης Πέντσας Γυμνάσιο Σορωνής
    • Περισσότερες πληροφορίες για μένα
Και κάτι ακόμα μάγκες.... (και πριν αρχίσετε να μου πετάτε σωσίβια) μια και είπα "νεροζούμι" θυμήθηκα ότι σήμερα είναι η μέρα του νερού.
Ευκαιρία να ξεσκονίσουμε τους αλγόριθμους "ελεύθερης κολύμβησης", διότι όπως θα γνωρίζετε και εσείς, το κολύμπι αντίθετα στο ρεύμα, είναι όπως και να το κάνουμε, εξοντωτικό.... :)
Ο Έρωτας (του Εκπ/κου Πληροφορικού) στ' αλώνια της καλδέρας (του υπνωτισμού).

Keep Growing

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 2023
  • Παναγιώτης Πέντσας Γυμνάσιο Σορωνής
    • Περισσότερες πληροφορίες για μένα
....αυτό θα πει δια θεματικότητα. Ελεύθερο κολύμπι στην διαδρομή από κύρια σε δευτερεύουσα διαγώνιο δισδιάστατου πίνακα.
Με άλλα λόγια δια θεματικότητα γυμναστικής - πληροφορικής.

Σημ: Είμαι για τα σίδερα.  ;D ;D ;D
Ο Έρωτας (του Εκπ/κου Πληροφορικού) στ' αλώνια της καλδέρας (του υπνωτισμού).

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Το
Αλγόριθμος Τάδε
  Δεδομένα //Ν//

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

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

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

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

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

Πάντως έχω βαρεθεί αυτό το παράδειγμα με την συνταγή μαγειρικής... υπάρχουν καλύτερα/σωστότερα παραδείγματα για την εισαγωγή στην έννοια του αλγορίθμου. Άντε μετά να σε πάρουν στα σοβαρά όταν αρχίσεις και μιλάς για φασολάδες και μακαρόνια...
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

Keep Growing

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 2023
  • Παναγιώτης Πέντσας Γυμνάσιο Σορωνής
    • Περισσότερες πληροφορίες για μένα
Το πιο σωστό για μένα συνάδελφε (το όνομά σου;  :)) είναι να πούμε: Αλγόριθμος μπορεί να είναι και μια συνταγή μαγειρικής αρκεί να ικανοποιεί τις ιδιότητες των αλγορίθμων.
Αλλιώς οι σελίδες 178 και 179 του βιβλίου του Γυμνασίου θα πρέπει να αναθεωρηθούν.

Εξάλλου οι ιδιότητες δεν προέκυψαν από την εμπειρία;
Δίνω ένα παράδειγμα. Αν έχει ζήσει κάποιος στο εξωτερικό, (στην Ολλανδία για παράδειγμα) όταν περιμένει το λεωφορείο στην στάση, ξέρει πότε θα έρθει αυτό (το λεωφορείο) με ακρίβεια δευτερολέπτων από την ενημέρωση που έχει από τις φωτεινές ενδείξεις της στάσης.
Γιατί συμβαίνει αυτό; Όχι γιατί βρέθηκε κάποιος ξαφνικά και είπε ότι το λεωφορείο θα έρχεται ακριβώς την συγκεκριμένη ώρα, αλλά γιατί κάποια μηχανήματα έκαναν χρονομετρήσεις και στη συνέχεια με την στατιστική ανάλυση προέκυψε η ακρίβεια.
Αντίστοιχα συμβαίνουν και με την εκτέλεση και διαρκή τροποποίηση των υποψήφιων αλγορίθμων μαγειρικής από την μητέρα μου. Θα έρθει κάποτε το πλήρωμα του χρόνου που οι χρονικές και ποσοτικές και ποιοτικές απαιτήσεις των υποψήφιων αλγορίθμων θα δώσουν την ιδανική λύση. Εκεί ακριβώς είναι που γεννιέται ένας αλγόριθμος μαγειρικής. Και γιαυτό υπάρχουν όλα αυτά τα σκεύη με κλίμακες και τα χρονόμετρα που χρησιμοποιούνται στην μαγειρική.
 
« Τελευταία τροποποίηση: 22 Μάρ 2010, 09:45:50 μμ από Keep Growing »
Ο Έρωτας (του Εκπ/κου Πληροφορικού) στ' αλώνια της καλδέρας (του υπνωτισμού).

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3513
  • to Iterate is human to Recurse divine
Νομίζω ότι καλά  παραδείγματα αλγορίθμου είναι κάποια από τα παρακάτω

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

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

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

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

όπου F(X) είναι μια συνάρτηση που έχω ορίσει παρακάτω. Βασικά τους προτείνω να μου πουν οποιοδήποτε πολυώνυμο θέλουν με ακέραιες ρίζες. Απλά ανοίγουν το βιβλίο των μαθηματικών κατεύθυνσης της Β και στη συνέχεια το πρόγραμμα εμφανίζει όλες τις ρίζες του.
  Εκεί τους εξηγώ ότι τα μαθηματικά που έκαναν πέρυσι δεν έχουν νόημα γιατί στο μάθημα αυτό θα μάθουμε πως να βάζουμε τον υπολογιστή να κάνει τη βρώμικη δουλειά για μας ώστε να λύνουμε οποιαδήποτε εξίσωση θέλουμε χωρίς καθόλου πράξεις  ;)
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Keep Growing

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 2023
  • Παναγιώτης Πέντσας Γυμνάσιο Σορωνής
    • Περισσότερες πληροφορίες για μένα
Ευριπίδη, δε θα το πιστέψεις, αλλά πέρσι είπα να παρακάμψω την μαγειρική και να δώσω εστίαση στον βαρκάρη.
Ξέρεις τι πετάχτηκε και μου είπε ένας μαθητής;
Έχει κάποια σχέση με τον Βαρκάρη του Αχέρωντα;
Κάποιος άλλος πετάχτηκε και είπε κάτι άλλο για βαρκάρη....και όπως φαντάζεσαι έγινε ο χαμός.

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

Πάντως αντικειμενικά συμφωνώ μαζί σου.
Ο Έρωτας (του Εκπ/κου Πληροφορικού) στ' αλώνια της καλδέρας (του υπνωτισμού).

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2806
  • Πύργος Ηλείας
...είπε κάτι άλλο για βαρκάρη....

...το καραβόσκοινο του βαρκάρη; ...

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών
Δεδομένα //Ν//
για θ από 1 μέχρι Ν
     διάβασε Α[θ]
τέλος_επανάληψης

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

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

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2806
  • Πύργος Ηλείας
...ο παραπάνω αλγόριθμος εφαρμόζεται σε έναν πίνακα Ν θέσεων, ή αλλιώς χρειάζεται έναν πίνακα Ν θέσεων για να έχει νόημα...

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

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

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών
Δεν έχεις άδικο για το κόψιμο μονάδων.  Να σου πω την αλήθεια δεν μου είχε μείνει στο μυαλό η φράση της εκφώνησης, να δέχεται από τον χρήστη το μέγεθος του πίνακα. Κακώς τα έβαλα, λοιπόν, με τον μαθητή. Με την εκφώνηση έπρεπε να τα βάλω. :)
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Κώστα, στην ψευδογλώσσα, ο σκοπός κατά την γνώμη μου είναι η συνοπτική παρουσίαση ενός αλγορίθμου χρησιμοποιώντας εκφραστικές ψευδοεντολές που είναι κατανοητές στους ανθρώπους.

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

Στο συγκεκριμένο παράδειγμα τώρα όπως και σε άλλα παρόμοια κρίνουμε μια λύση ως λάθος επειδή δεν μπορεί να εκφραστεί ακριβώς στην συγκεκριμένη ΓΛΩΣΣΑ. Είναι αυτό σωστό; Η ψευδογλώσσα δεν είναι κάτι πιο γενικό, πιο καθολικό; Μήπως θα έπρεπε να κάνουμε το αντίστροφο; Να δεχόμαστε δηλαδή λύσεις σε ΓΛΩΣΣΑ που παραβιάζουν κάποιους πρωτόγονους και άκαιρους περιορισμούς που οι συγγραφείς έδωσαν σε αυτήν αλλά που η λογική τους είναι σωστή. Γιατί θα έπρεπε η ΓΛΩΣΣΑ να επισκιάζει την αλγοριθμική σκέψη και όχι το αντίστροφο; Στο κάτω κάτω, όταν γράφεις στην υπογραφή σου, "σκοπός δεν είναι η εκμάθηση κάποιου προγραμματιστικού περιβάλλοντος" φαντάζομαι εννοείς όλα τα περιβάλλοντα, μαζί με την ΓΛΩΣΣΑ.
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών

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

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

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

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

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2806
  • Πύργος Ηλείας
... ο παρακάτω αλγόριθμος πρέπει να θεωρηθεί ότι αντιβαίνει στους κανόνες της στατικής δομής πίνακα και να χαρακτηριστεί ως λάθος.

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

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

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

Δηλαδή για μένα στο παράδειγμά σου το Ν δεν δείχνει το μέγεθος του πίνακα Α, το οποίο θα μπορούσε να είναι αρκετά μεγάλο ώστε να μας καλύπτει στην χειρότερη περίπτωση (ΟΚ απαιτώντας πολλές συνεχόμενες θέσεις στη μνήμη του Η/Υ που πρέπει να έχουν δεσμευτεί εκ των προτέρων ... κλπ...κλπ). Το Ν όπως το βλέπω στο παράδειγμά σου είναι κάτι σαν το top της στοίβας...

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών
Κάτσε ρε Νίκο ας υποθέσουμε  είχαμε την εκφώνηση: Να διαβάζει θετικούς αριθμους και να εμφανίζει το μέγιστο. Ο μαθητής λοιπόν γράφει:

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

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

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

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

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

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

Τέλος

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

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

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

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2806
  • Πύργος Ηλείας
Κάτσε ρε Νίκο ας υποθέσουμε  είχαμε την εκφώνηση: Να διαβάζει θετικούς αριθμους και να εμφανίζει το μέγιστο. Ο μαθητής λοιπόν γράφει:

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

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

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

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

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

Τέλος

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

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

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

Πάντως έχουμε κατά πολύ ξεφύγει από το θέμα αυτού το topic!!!

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών
Όλη η συζήτηση ξεκίνησε αν επιτρέπεται το διάβασε Ν για το μέγεθος του πίνακα, και αν ο πίνακας πρέπει να θεωρείται και στον αλγόριθμο στατική δομή. Επειδή λοιπόν ο πίνακας πρέπει να θεωρείται στατική δομή δεν πρέπει να φτιάχνω αλγόριθμο που το μέγεθός του να καθορίζεται από τον χρήστη, εκτός βέβαια και αν αυτό δεν ξεπερνάει μία ανώτερη τιμή, η οποία όμως πρέπει να καθορίζεται από την εκφώνηση.


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

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

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 831
  • Έτερος εξ ετέρου σοφός, το τε πάλαι το τε νυν
    • http://sdoukakis.wordpress.com/
Και να συμπληρώσω ότι για όλα αυτά φταίει η εκφώνηση. :)

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

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

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
Νομίζω ότι ο Θωμάς που άνοιξε το θέμα δεν πρέπει να ασχολείται άλλο με αυτό... :)
Είναι γεγονός  :)
Θωμάς Σκυλογιάννης

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

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
 :)

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

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

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

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

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

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

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

 :)
Θωμάς Σκυλογιάννης

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

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 945
Γεια σου ρε Θωμά
Πολύ χαίρομαι γιατί τα ίδια πράγματα περίπου έλεγα κι εγώ σε κάποια ποστ που τώρα έχουν θαφτεί σε μια από τις 100 και πλέον σελίδες του άλλου τοπικ.
Είχα δει κι εκεί κάποιες τοποθετήσεις σου που μου ταίριαζαν γάντι αλλά δυστυχώς δεν βρεθήκαμε ποτέ ταυτόχρονα ώστε να προλάβω να σου πω ένα "συμφωνώ" ... και βέβαια καταπλακώθηκαν κι αυτά από σελίδες και σελίδες.

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

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
{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
« Τελευταία τροποποίηση: 02 Ιούν 2010, 07:10:44 μμ από tom »
Θωμάς Σκυλογιάννης

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

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών
Αυτό είναι  Θωμά και Γιώργο που με προβληματιζει περισσότερο απ΄ όλα. Πριν τόσο καιρό κάναμε αυτή την κουβένται και μιλάγαμε 10 άτομα. Τώρα που το είδαμε στις εξετάσεις εμφανίστηκαν τόσοι πολλοί. Που ήταν τόσο καιρό όλος αυτός ο κόσμος;
Αν είχαμε την μισή συμμετοχή από αυτή που υπάρχει στο αντίστοιχο θέμα με τα 100 και βάλε posts, τα πράγματα θα ήταν διαφορετικά τώρα. 
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Τι θα είχε αλλάξει κατά την γνώμη σου Κώστα;
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

ntzios kostas

  • Καθηγητής Πληροφορικής
  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 605
    • Ανάπτυξη Εφαρμογών
Αυτό που θα είχε αλλάξει κατά την γνώμη μου Στάθη είναι να μην το βλέπαμε στις εξετάσεις. Από εκεί και πέρα οι συζητήσεις που γίνονται εδώ γίνονται ώστε οι ασάφειες να  εντοπιστούν αν υπάρχουν στο σχολικό και να διορθωθούν αν υπάρχουν στο μυαλό μας.
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Κώστα, το πρόβλημα ήταν γνωστό εδώ και χρόνια.

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

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

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

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

Συγγνώμη, αλλά όταν η κοινότητα διαφωνεί για κάτι, αυτό δεν πρέπει να εξετάζεται. Και δεν μπορώ να καταλάβω για ποιο λόγο ήρθε η διευκρίνηση. Αν το θέμα ήταν σαφές γιατί την έστειλαν; Δεν θα έπρεπε ο κάθε διορθωτής να το ξέρει ότι η λύση είναι λάθος σύμφωνα με το βιβλίο;
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
Αυτό είναι  Θωμά και Γιώργο που με προβληματιζει περισσότερο απ΄ όλα. Πριν τόσο καιρό κάναμε αυτή την κουβένται και μιλάγαμε 10 άτομα. Τώρα που το είδαμε στις εξετάσεις εμφανίστηκαν τόσοι πολλοί. Που ήταν τόσο καιρό όλος αυτός ο κόσμος;
Αν είχαμε την μισή συμμετοχή από αυτή που υπάρχει στο αντίστοιχο θέμα με τα 100 και βάλε posts, τα πράγματα θα ήταν διαφορετικά τώρα.
Δε βαριέσαι και μόνο από την όλη επιχειρηματολογία κάτι μπορεί να βγει για μας και για το μάθημα. Κάποιοι για παράδειγμα ανακάλυψαν το www.pseudoglossa.gr (Στάθη ετοίμαζε σιγά-σιγά cluster με servers) προβλέπω έκρηξη στην επισκεψιμότητα  :D



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


Νομίζω πάλι πας να ξεφύγεις από την ερώτηση  ;D Ντεζα βου!  :D
Πραγματικά αυτά που γράφω στις τέσσερις λύσεις σε βρίσκουν όλα σύμφωνο;
Εννοείται ότι ισχύει και για τους άλλους η ερώτηση.  :)
Θωμάς Σκυλογιάννης

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

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2806
  • Πύργος Ηλείας
Κώστα, το πρόβλημα ήταν γνωστό εδώ και χρόνια.
....
Από τότε συχνά πυκνά, όπως συνέβη στο παρών θέμα, ξανασυζητήθηκε το ίδιο ακριβώς πράγμα, με το ίδιο ακριβώς αποτέλεσμα (αδιέξοδο).

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

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

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

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

George

  • Θαμώνας
  • ***
  • Μηνύματα: 42
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
« Απάντηση #47 στις: 01 Ιούν 2010, 10:45:46 πμ »
{1}
Κώδικας: [Επιλογή]
Αλγόριθμος αριθμοί
   Δεδομένα//Ν//
   α<-0
   Για ι από 1 μέχρι Ν
        Διάβασε Χ
        α<-α+Χ
   Τέλος_επανάληψης
   Εμφάνισε α
Τέλος αριθμοί

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


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

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



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

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 831
  • Έτερος εξ ετέρου σοφός, το τε πάλαι το τε νυν
    • http://sdoukakis.wordpress.com/
Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
« Απάντηση #48 στις: 01 Ιούν 2010, 10:55:01 πμ »
Τα Δεδομένα // Ν // σχετίζονται με τα υποπρογράμματα.

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

tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
« Απάντηση #49 στις: 01 Ιούν 2010, 12:52:31 μμ »
Να υποθέσω δηλαδή οτι το ΔΕΔΟΜΕΝΑ // Ν //  σε έναν αλγόριθμο είναι αντίστοιχο του ΔΙΑΒΑΣΕ  Ν   σε ένα πρόγραμμα?
Αν η απάντησή σου είναι :
α) ΝΑΙ.   Τότε το αντίστοιχο του ΔΕΔΟΜΕΝΑ //Ν, Χ πίνακας ακεραίων μεγέθους Ν//  ποιό είναι???
β) ΟΧΙ .  Τότε τι ακριβως κάνει το ΔΕΔΟΜΕΝΑ // Ν // ??

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

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

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

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

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

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

Θωμάς Σκυλογιάννης

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

George

  • Θαμώνας
  • ***
  • Μηνύματα: 42
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
« Απάντηση #50 στις: 01 Ιούν 2010, 01:08:28 μμ »
Η απάντηση είναι ΟΧΙ. Θα έλεγα το αντίστοιχο του:

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

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

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

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

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


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


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


tom

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 488
Απ: Άθροισμα στοιχείων κύριας και δευτερεύουσας διαγωνίου
« Απάντηση #51 στις: 01 Ιούν 2010, 02:26:13 μμ »
Οπότε  μπορώ να υποθέσω οτι το ΔΕΔΟΜΕΝΑ // Ν, Χ //  είναι κάπως έτσι??

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

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

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

Ας πούνε και οι άλλοι την άποψη τους... Η ουσία είναι ότι η Δεδομένα //Ν// δεν ορίζεται επαρκώς στο βιβλίο!
« Τελευταία τροποποίηση: 02 Ιούν 2010, 07:08:45 μμ από tom »
Θωμάς Σκυλογιάννης

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

mpoufi

  • Νέος
  • *
  • Μηνύματα: 1
Ελάχιστα θα έκοβα... αφού το ζητούμενο είναι λίγο εξεζητημένο...

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

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