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

Γενικό Λύκειο => Δομή επιλογής => Γ΄ Λυκείου => Εντολή ΑΝ => Μήνυμα ξεκίνησε από: xaidi στις 10 Νοε 2004, 11:59:51 ΠΜ

Τίτλος: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: xaidi στις 10 Νοε 2004, 11:59:51 ΠΜ
 2.2.3.Ασκ3. Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει το μέσο όρο ενός μαθητή κατά την περασμένη σχολική χρονιά και θα εκτυπώνει το αντίστοιχο μήνυμα σύμφωνα με τα ακόλουθα: Αν ο βαθμός είναι μικρότερος από 9,5 ο μαθητής απορρίπτεται στο μάθημα, αν είναι μεγαλύτερος από 9,5 και μικρότερος από 13 τότε ο χαρακτηρισμός του μαθητή είναι "Σχεδόν καλά", αν είναι μεγαλύτερος του 13 έως 16 ο χαρακτηρισμός είναι "Καλά", αν είναι μικρότερος του 18 "Πολύ καλά", ενώ τέλος αν ο μέσος όρος είναι μεγαλύτερος του 18 ο χαρακτηρισμός είναι "Άριστα"

Λύση
Σημειώνεται ότι στα πλαίσια του αλγορίθμου θα πραγματοποιήσουμε έλεγχο και για την περίπτωση ο χρήστης να έχει εισάγει κάποιον αριθμό εκτός των ορίων [0, 20] και σε αυτήν την περίπτωση να εκτυπωθεί αντίστοιχο μήνυμα λάθους. Ο έλεγχος των δεδομένων είναι μια ενέργεια που δεν είναι απαραίτητη σ' έναν αλγόριθμο αλλά σε ένα πρόγραμμα πρέπει απαραιτήτως να ελέγχουμε τα δεδομένα εισόδου.
Για την υλοποίηση του αλγορίθμου και δεδομένου οτι πρέπει να ελεχθούν ουσιάστικά 6 περιπτώσεις η δομή επιλογής δεν αρκεί. Πρέπει να χρησιμοποιήσουμε την δομή πολλαπλής επιλογής. Θα υλοποιήσουμε τον αλγόριθμο και με τις δομές πολλαπλής επιλογής που έχουν παρουσιαστεί

Αλγόριθμος Χαρακτηρισμός_ΜΟ
  Διάβασε μέσος_όρος
  Αν μέσος_όρος < 9.5 τότε
    Εκτύπωσε "Ο μαθητής απορρίπτεται"
  Αλλιώς_Αν μέσος_όρος < 13 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 9,5
    Εκτύπωσε "Σχεδόν καλά"
  Αλλιώς_Αν μέσος_όρος < 16 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 13
    Εκτύπωσε "Καλά"
  Αλλιώς_Αν μέσος_όρος < 18 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 16
    Εκτύπωσε "Πολύ καλά"
  Αλλιώς_Αν μέσος_όρος <= 20 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 18
    Εκτύπωσε "Άριστα"
  Αλλιώς ! μέσος_όρος > 20
    Εκτύπωσε "Λάθος καταχώρηση δεδομένων"
  Τέλος_Αν
Τέλος Χαρακτηρισμός_ΜΟ

Παναγιώτη συγνώμη που "έκλεψα"  :)τα παρδείγματα από τη σελίδα σου, αλλά αυτό έγινε γιατί είσαι πηγή πληροφοριών και μελέτης (όπως ξέρεις, ήδη ;))....στο θέμα:
ο έλεγχος των λάθος τιμών γίνεται πριν την δομή της επιλογής με δομή επανάληψης. Βέβαια, σε αυτόν τον αλγόριθμο υλοποιούμε ακόμη μόνο τη δομή της επιλογής.
η ερώτηση μου είναι η εξής:
αν κάποιος δώσει αρνητική τιμή ο αλγόριθμος θα εμφανίσει "Ο μαθητής απορρίπτεται", που είναι λάθος διότι υπήρξε λάθος εισαγωγή τιμής.
Μήπως θα πρέπει σε αυτές τις ασκήσεις  και για την πρώτη περίπτωση επιλογής να παίρνουμε περιορισμό και για το κάτω όριο ώστε οι αρνητικές τιμές και οι μεγαλύτερες του 20 να καταλήγουν στο αλλιώς?

Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: P.Tsiotakis στις 11 Νοε 2004, 12:23:40 ΜΜ
Καλή μου xaidi, η κλοπή των ασκήσεων από τη σελίδα μου είναι θέμα της ημερήσιας διάταξης, οι παρατηρητές είναι ειδικοί στο copy-paste  :o

Μάλιστα, με την παρατήρησή σου, δεν μ' αφήνεις να μπω και γω στην κοινότητα των παρατηρητών

Για τον έλεγχο δεδομένων έχω να πω τα εξής:

1. Αν η εκφώνηση ρητά ζητάει έλεγχο εγκυρότητας πρέπει να τον κάνουμε
2. Αν η εκφώνηση δεν το λέει, καλό είναι να γίνεται ειδικά στις "εξώφθαλμες" περιπτώσεις (π.χ. βαθμός)
3. Ο αλγόριθμος είναι κάτι φιλελεύθερο - τρόπος σκέψης, άρα δεν απαιτείται έλεγχος, σε ένα πρόγραμμα γραμμένο σε ΓΛΩΣΣΑ ΠΡΕΠΕΙ ΝΑ ΚΑΝΟΥΜΕ ώστε να μην "κρεμάει" το "πρόγραμμα"
4. Ο έλεγχος δεδομένων γίνεται με τις εντολές:
Αρχή_Επανάληψης
    Διάβασε  <μεταβλητές>
Μέχρις_Ότου <επιθυμητή συνθήκη>

Στο κεφάλαιο 2 που βρίσκεται η συγκεκριμένη άσκηση δεν έχει παρουσιαστεί το Μέχρις_Ότου όπως σωστά επισημαίνεις (θα μπορούσε βέβαια να ελεγχθεί το <0 με το τελευταίο αλλιώς να γίνεται
Αλλιώς_Αν μέσος_όρος > 20 ή μέσος_όρος > 20 τότε
...

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

Απο την άλλη δεν είναι και σωστό να μας πιάνει ελεγχο-λαγνεία και να πραγματοποιούμε έλεγχο για όλες τις μεταβλητές !!

Αυτή είναι η προσέγγισή μου...  ;)

Με εκτίμηση,

Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: bagelisb στις 11 Νοε 2004, 12:39:13 ΜΜ
Κατά τη γνώμη μου δεν πρέπει σε μία άσκηση που δεν ζητεί ρητά να γίνει έλεγχος τιμών να πραγματοποιείται είτε αναφέρεται σε αλγόριθμο είτε σε πρόγραμμα. Διαφορετικά θα έπρεπε να λύνουμε όλες τις ασκήσεις έτσι, πράγμα δύσκολα εφικτό.
Παρ' όλα αυτά αν σε κάποια περίπτωση χρειαστεί έλεγχος τιμών με ΑΝ το καλύτερο κατά τη γνώμη μου είναι αυτό να γίνεται με ένα μεγάλο εμφωλευμένο ΑΝ που περικλείει την κανονική λύση της άσκησης που δεν περιέχει έλεγχο τιμών. Δηλαδή για την παραπάνω άσκηση:
ΑΝ βαθμός > 0 ΚΑΙ βαθμός <= 20 ΤΟΤΕ
      ! Λύση ολόκληρης της άσκησης χωρίς έλεγχο
ΑΛΛΙΩΣ
      Εμφάνισε 'Λάθος δεδομένα'
ΤΕΛΟΣ_ΑΝ
Νομίζω ότι αυτή η αντιμετώπιση αποφεύγει όλες τις ειδικές περιπτώσεις που δημιουργούνται όταν βάζεις μέσα στην κανονική λύση και τις λάθος τιμές και επίσης είναι και ευκολότερο να διδαχθεί γιατί δεν αναιρείς καθόλου τις λύσεις που έχεις ήδη δώσει χωρίς έλεγχο, απλά τις επεκτείνεις.
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: P.Tsiotakis στις 11 Νοε 2004, 12:56:22 ΜΜ

Στην προσέγγιση του να βρούμε μεθοδολογία ώστε να εφαρμόζουμε κοινώς θεωρώ πολύ καλή την προσέγγιση

ΑΝ βαθμός > 0 ΚΑΙ βαθμός <= 20 ΤΟΤΕ
 ! Λύση ολόκληρης της άσκησης χωρίς έλεγχο
ΑΛΛΙΩΣ
 Εμφάνισε 'Λάθος δεδομένα'
ΤΕΛΟΣ_ΑΝ

Ωστόσο: 1. στην άσκηση που έτσι κι αλλιώς πήραμε πολλαπλή επιλογή για να τη λύσουμε τότε μπορούμε να βάλουμε άλλη μια περίπτωση για τα λάθος δεδομένα.
2. Το βιβλίο του καθηγητή (αν δεν κάνω λάθος) αλλά και το σχολικό (σελίδα 171) λέει οτι γενικά καλό είναι να αποφεύγουμε τα εμφωλευμένα Αν, ειδικά αν μπορούμε να πάρουμε πολλαπλό

Θεωρώ ωραία τη συζήτηση, αλλά αφού τα παιδιά γράφουν τον Μάιο, ξέρουν το Μέχρις_Ότου, άρα η συζήτηση ίσως να είναι και των ουκ άνευ.

Πάντως Βαγγέλη, διαφωνώ οτι αν δεν λέει κάντε έλεγχο να μην κάνουμε.
Πρέπει να κάνουμε έλεγχο στη ΓΛΩΣΣΑ.

Αντίθετα δεν πρέπει να κάνουμε οταν μας λέει η εκφώνηση "ΜΗΝ ΚΑΝΕΤΕ ΕΛΕΓΧΟ". Και πως το λέει αυτό ? "Θεωρείστε οτι για το βάρος εισάγεται θετικός αριθμός" , κάτι το οποίο συνηθίζεται τα τελευταία χρόνια στα θέματα των εξετάσεων.

Καλό είναι τα παιδιά πάντα να έχουν στο μυαλό τους οτι πρέπει σε "εξώφθαλμες" περιπτώσεις να κάνουν έλεγχο

Με εκτίμηση,
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: gpapargi στις 12 Νοε 2004, 10:55:33 ΠΜ
Καλημέρα

Νομίζω ότι λίγο πολύ όλοι συμφωνούμε στις μεθόδους ανίχνευσης λάθους εισόδου. Το θέμα για μένα που αξίζει να συζητηθεί είναι το εξής:

Προτιμάμε τον παρακάτω αλγόριθμο 1 ή τον αλγόριθμο 2 και γιατί;

Αλγόριθμος 1

Αλγόριθμος Χαρακτηρισμός_ΜΟ
  Διάβασε μέσος_όρος
  Αν μέσος_όρος < 9.5 και μέσος_όρος >0 τότε
    Εκτύπωσε "Ο μαθητής απορρίπτεται"
  Αλλιώς_Αν μέσος_όρος < 13 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 9,5
    Εκτύπωσε "Σχεδόν καλά"
  Αλλιώς_Αν μέσος_όρος < 16 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 13
    Εκτύπωσε "Καλά"
  Αλλιώς_Αν μέσος_όρος < 18 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 16
    Εκτύπωσε "Πολύ καλά"
  Αλλιώς_Αν μέσος_όρος <= 20 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 18
    Εκτύπωσε "Άριστα"
  Αλλιώς ! μέσος_όρος > 20
    Εκτύπωσε "Λάθος καταχώρηση δεδομένων"
  Τέλος_Αν
Τέλος Χαρακτηρισμός_ΜΟ

Αλγόριθμος 2

Αλγόριθμος Χαρακτηρισμός_ΜΟ
  Διάβασε μέσος_όρος
  Αν μέσος_όρος >=0 και μέσος_όρος <9.5 τότε
    Εκτύπωσε "Ο μαθητής απορρίπτεται"
  Αλλιώς_Αν μέσο_όρος >=9.5 και μέσος_όρος < 13 τότε
    Εκτύπωσε "Σχεδόν καλά"
  Αλλιώς_Αν μέσος_όρος >=13 και μέσος_όρος < 16 τότε
    Εκτύπωσε "Καλά"
  Αλλιώς_Αν μέσος_όρος > =16 και μέσος_όρος < 18 τότε  
    Εκτύπωσε "Πολύ καλά"
  Αλλιώς_Αν μέσος_όρος >=18 και μέσος όρος <= 20 τότε  
    Εκτύπωσε "Άριστα"
  Αλλιώς
    Εκτύπωσε "Λάθος καταχώρηση δεδομένων"
  Τέλος_Αν
Τέλος Χαρακτηρισμός_ΜΟ

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


Προτείνω να συγκριθούν οι 2 αλγόριθμοι ως προς:
1 Την ευκολία εκμάθησης από το μαθητή
2 Την παραγωγή ευανάγνωστου αλγορίθμου
3 Την αποδοτικότητα
4 Την δυνατότητα χρήσης σε πιο πολύπλοκα προβλήματα (δείτε για παράδειγμα στο κεφάλαιο 8 του τετραδίου το παράδειγμα 1 με τους ρύπους).
5 Ότι άλλο πλεονέκτημα ή μειονέκτημα μπορεί να σκεφτεί ο καθένας.

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

Νομίζω είναι ένα ενδιαφέρον θέμα που αξίζει να συζητηθεί. Ελπίζω να δούμε και κανένα νέο μέλος στην κουβέντα. Αλλιώς να φτιάξουμε μια λίστα τα 5-6 άτομα που γράφουν συνεχώς και να ανταλλάσουμε κλειστά mail μεταξύ μας.

Φιλικά
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: xaidi στις 12 Νοε 2004, 12:12:53 ΜΜ
σαφέστατα θα έλεγα τον 1ο διότι ο 2οσ διότι κάνει περιττούς ελέγχους όπως αναφέρεται και στο 7ο κεφάλαιο.

«&#8230;Θα μπορούσαμε να πούμε ότι ο αλγ 1 αντιμετωπίζει την πολλαπλή επιλογή σαν πολλές ερωτήσεις που λαμβάνουν 2 πιθανές απαντήσεις η καθεμιά, ενώ ο αλγ 2 αντιμετωπίζει την πολλαπλή επιλογή σα μια ερώτηση που μπορεί να λάβει πολλές πιθανές απαντήσεις. Έτσι στον αλγ 2 η σειρά των επιλογών μπορεί να αλλάξει ενώ στον αλγ 1 όχι&#8230;» δεν καταλαβαίνω τι θέλεις να πεις. Μπορείς σε παρακαλώ να το εξηγήσεις?

Πιστεύω πως ο 2ος αλγόριθμος είναι λάθος, οπότε δεν μπορώ να τους συγκρίνω.
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: redhata στις 12 Νοε 2004, 07:41:20 ΜΜ
Συμφωνώ εν μέρει με xaidi, ο αλγ2 είναι ο ορισμός των περιττών ελέγχων και επιπλέον δεν χρησιμοποιεί σωστά την εντολή Αλλιώς_αν. 100% λάθος πάντως δε νομίζω ότι είναι, χαμηλής αποδοτικότητας μάλλον θα τον χαρακτήριζα. Επίσης πιστεύω πως είναι πιο χρονοβόρο να τροποποιηθεί ο αλγ2, αν αλλάξουν οι κλίμακες χαρακτηρισμού των βαθμών.
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: George στις 13 Νοε 2004, 02:00:03 ΠΜ
Καλησπέρα
Καταρχήν στον έλεγχο τιμών που συζητήθηκε λίγο πιο πάνω πιστεύω ότι αν δεν το ζητά ρητά η άσκηση καλύτερα είναι να μην γίνεται, τουλάχιστον σε αλγόριθμο. Αν χρειαστεί να γίνει έλεγχος συμφωνώ με τον bagelisb  ότι είναι καλύτερα ένα μεγάλο εμφωλευμένο ΑΝ που περικλείει την κανονική λύση της άσκησης. Είναι ευκολότερη, πιο κατανοητή και μας γλιτώνει και από πολλούς μπελάδες.
Για παράδειγμα οι δύο παραπάνω αλγόριθμοι που δίνει ο gpapargi. Ο πρώτος είναι λάθος όσον αφορά τον έλεγχο τιμών μιας και εμφανίζει το "Σχεδόν καλά" σε περίπτωση αρνητικού αριθμού. Αντίθετα ο δεύτερος με τους τόσους περιττούς ελέγχους τα καταφέρνει μια χαρά σ' αυτό το θέμα.
Έχω παρατηρήσει πάντως ότι αρκετοί μαθητές ενώ κατανοούν τον πρώτο αλγόριθμο χρησιμοποιούν περισσότερο τον δεύτερο. Αυτό μου γεννά και ένα ερώτημα. Πόσο λάθος είναι ο έλεγχος περιττών συνθηκών ( όπως στον Αλγ2) σε έναν αλγόριθμο;

Φιλικά
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: redhata στις 13 Νοε 2004, 09:22:21 ΜΜ
ωχ... τώρα που το βλέπω, μετά το post του george, ο αλγ1 έτσι όπως είναι γραμμένος είναι άστα να πάνε... μάλλον θα πρέπει να γίνει:

  Αν μέσος_όρος < 0 τότε
   Εκτύπωσε "Λάθος καταχώρηση δεδομένων"  
  Αλλιώς_Αν μέσος_όρος < 9.5 τότε  
    Εκτύπωσε "Ο μαθητής απορρίπτεται"  
  Αλλιώς_Αν μέσος_όρος < 13 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 9,5  
    Εκτύπωσε "Σχεδόν καλά"  
  Αλλιώς_Αν μέσος_όρος < 16 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 13  
    Εκτύπωσε "Καλά"  
  Αλλιώς_Αν μέσος_όρος < 18 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 16  
    Εκτύπωσε "Πολύ καλά"  
  Αλλιώς_Αν μέσος_όρος <= 20 τότε ! εννοείται σε αυτό το σημείο οτι μέσος_όρος >= 18  
    Εκτύπωσε "Άριστα"  
  Αλλιώς ! μέσος_όρος > 20  
    Εκτύπωσε "Λάθος καταχώρηση δεδομένων"  
  Τέλος_Αν  
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: gpapargi στις 15 Νοε 2004, 08:40:52 ΠΜ
Γεια και χαρά

Δε θα δώσω τώρα την απάντηση μου στα θέματα που κουβεντιάζουμε. Θα δώσω απλά τις διευκρινήσεις που ζήτησε η Χάιντι.

Καταρχήν ο αλγόριθμος 2 δεν είναι λάθος. Λάθος είναι ο αλγόριθμος που δίνει λάθος αποτελέσματα. Αυτό που θέλεις να πεις Χαιντι είναι ότι δεν είναι αποδοτικός γιατί κάνει περιτούς ελέγχους. Το αν τελικά αυτό ισχύει πάντα είναι κάτι που θα το σχολιάσω στην απάντησή μου.

Για τον αλγόριθμο 1 όντως υπάρχει λάθος από. . .  πρόθεση. Ο καθηγητής στο πανεπιστήμιο μας έδωσε μια τέτοια άσκηση στην τάξη και μας ρώτησε αν βλέπουμε κάτι λάθος. Στα επόμενα δευτερόλεπτα δεν απάντησε κανείς. Ο καθηγητής, αφού μας υπέδειξε το λάθος, μας είπε ότι θέλει κάποια πείρα όταν εκμεταλλεύεσαι το ότι οι συνθήκες ελέγχονται σειριακά. Ήμουν περίεργος να δω πόσοι θα το καταλάβουν. Χάιντι και redhata δεν το πρόσεξαν. Ο George το είδε. Αυτή η τεχνική εγκυμονεί κινδύνους για το μαθητή. Είναι ένας από τα μειονεκτήματα του αλγόριθμου 1. Για να είσαι σίγουρος, καλό είναι να κάνεις ένα σχήμα (σαν και αυτό που κάνουμε στις ανισώσεις) και να δεις ποιες περιοχές καλύπτονται από τον αλγόριθμο. Η σύγκριση των 2 αλγορίθμων έχει και άλλες εκπλήξεις, ακόμα και στο θέμα της ταχύτητας! Τα υπόλοιπα θα τα αναφέρω στην αναλυτική μου απάντηση.

Ξαναγράφω τον αλγόριθμο 1 σωστά. Από δω και πέρα συγκρίνουμε αυτόν με τον αλγόριθμο 2 του αρχικού μου post.

Αλγόριθμος 1

Αλγόριθμος Χαρακτηρισμός_ΜΟ  
  Διάβασε μέσος_όρος
  Αν μέσος_όρος <0 ή μέσος_όρος > 20 τότε
    Εκτύπωσε "Λάθος καταχώρηση δεδομένων"
  αλλιώς_αν μέσος_όρος < 9.5 τότε  
    Εκτύπωσε "Ο μαθητής απορρίπτεται"  
  Αλλιώς_Αν μέσος_όρος < 13 τότε
    Εκτύπωσε "Σχεδόν καλά"  
  Αλλιώς_Αν μέσος_όρος < 16 τότε  
    Εκτύπωσε "Καλά"  
  Αλλιώς_Αν μέσος_όρος < 18 τότε  
    Εκτύπωσε "Πολύ καλά"  
  Αλλιώς μέσος_όρος <= 20 τότε  
    Εκτύπωσε "Άριστα"  
    
  Τέλος_Αν  
Τέλος Χαρακτηρισμός_ΜΟ


Παρακάτω δίνω τις διευκρινήσεις που ζητήθηκαν από τη Χάιντι.

Στον αλγόριθμο 2 μπορεί να αλλάξει η σειρά των αλλιώς_αν χωρίς να αλλάξει το αποτέλεμα του αλγορίθμου. Για παράδειγμα μπορούμε να γράψουμε

Αν μέσος_όρος >=13 και μέσος_όρος <16 τότε
  Εκτύπωσε «Καλά»
αλλιώς_αν μέσος_όρος >=0 και μέσος_όρος <9.5 τότε
  Εκτύπωσε «Ο μαθητής απορρίπτεται»
αλλιώς_αν μέσος_όρος >=18 και μέσος_όρος <20 τότε
  Εκτύπωσε «Άριστα»

Κλπ κλπ

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

Στον αλγόριθμο 1 λαμβάνουμε υπ&#8217; όψην ότι οι έλεγχοι γίνονται σειριακά. Πρώτα ελέγχεται η πρώτη συνθήκη. Μόνο αν είναι ψευδής ελέγχεται δεύτερη, μετά η τρίτη κλπ μέχρι την τελευταία. Κάθε έλεγχος συνθήκης είναι ουσιαστικά μια ερώτηση που η απάντησή της παίρνει 2 τιμές: Αληθής ή ψευδής.

Αυτό ισχύει και στον αλγόριθμο 2 αλλά επειδή μπορούμε να αλλάξουμε αυθαίρετα τη σειρά των ελέγχων, σε ένα αφαιρετικό επίπεδο μπορούμε να φανταστούμε όλες μαζί τις αλλιώς_αν σα μια ερώτηση
«Ποιο είναι το διάστημα που περιέχει το βαθμό που δώσαμε σαν είσοδο στον αλγόριθμο;»
Η ερώτση αυτή φανταζόμαστε ότι παίρνει 7 διαφορετικές απαντήσεις:
1 Το διάστημα από 0 ως 9.5
2 Το διάστημα από 9.5 ως 13
3 Το διάστημα από 13 ως 16
5 Το διάστημα από 16 ως 18
6 Το διάστημα από 18 ως 20
7 Κάθε άλλη περίπτωση (δηλαδή κάτω από 0 και πάνω από 20).

Δηλαδή ο σχεδιαστής του αλγορίθμου μπορεί σε αφαιρετικό επίπεδο να θεωρήσει την πολλαπλή επιλογή (αλλιώς_αν) σαν μια ερώτηση με πολλές πιθανές απαντήσεις κι ας μην είναι ακριβώς έτσι τα πράγματα. (Στην πραγματικότητα έχουμε πολλές ερωτήσεις που η κάθε μια παίρνει τιμές «Αληθής» ή «Ψευδής».)
Εδώ που τα λέμε οι λέξεις «πολλαπλή επιλογή» αυτό σημαίνει: μια ερώτηση με πολλές πιθανές απαντήσεις :-)

Τώρα ελπίζω να έγινε κατανοητό αυτό που είπα αρχικά.

Για να δώσω και λίγο χρώμα στην κουβέντα θέτω προς καθηγητές και μαθητές την παρακάτω ερώτηση σαν σπαζοκεφαλιά:

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

Με εκτίμηση
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: P.Tsiotakis στις 15 Νοε 2004, 10:16:16 ΠΜ
Η εκφώνηση είναι: Να αναπτύξετε αλγόριθμο που θα διαβάζει έναν μέσο όρο και θα εκτυπώνει χαρακτηρισμό

Η μόνη σωστή λύση είναι η:

Αλγόριθμος Χαρακτηρισμός_ΜΟ  
  Αρχή_Επανάληψης
     Διάβασε μέσος_όρος
  Μέχρις_Ότου   μέσος_όρος >= 0 και μέσος_όρος <=20
  
  Αν μέσος_όρος < 9.5 τότε  
    Εκτύπωσε "Ο μαθητής απορρίπτεται"  
  Αλλιώς_Αν μέσος_όρος < 13 τότε  
    Εκτύπωσε "Σχεδόν καλά"  
  Αλλιώς_Αν μέσος_όρος < 16 τότε    
    Εκτύπωσε "Καλά"  
  Αλλιώς_Αν μέσος_όρος < 18 τότε    
    Εκτύπωσε "Πολύ καλά"  
  Αλλιώς ! μέσος_όρος <= 20
    Εκτύπωσε "Άριστα"  
  Τέλος_Αν    
Τέλος Χαρακτηρισμός_ΜΟ

Μόνο αυτός ο αλγόριθμος κάνει αυτό που λέει η εκφώνηση. Δεν με ενδιαφέρει να εκτυπώσω "λάθος δεδομένο", θέλω να εκτυπώσω χαρακτηρισμό

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

Με εκτίμηση,
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: redhata στις 15 Νοε 2004, 10:33:26 ΠΜ
1) τον αλγ1 έτσι όπως τον έγραψες είναι πάλι εκτός της λογικής οικονομίας ελέγχων συνθηκών
2) ειλικρινά δεν καταλαβαίνω ΓΙΑΤΙ να αλλάξει η σειρά των ελέγχων ειδικά στο συγκεκριμένο παράδειγμα, αυτό που μπορεί να αλλάξει είναι το εύρος των διαστημάτων και σε αυτή την περίπτωση ο αλγ2 είναι δυσκολότερο να τροποοιηθεί.
3) δεν ξέραμε ότι "εξεταζόμαστε" εδώ... αλλά anyway το ξεχνάω αυτό. Επειδή δηλαδή έβαλες μια λάθος σύνθηκη για κάποιο λόγο και δεν την προσέξαμε επίσης για κάποιο λόγο, δεν σημαίνει ότι η τεχνική αυτή εγκυμονεί τους κινδύνους που συμπεραίνεις, αυθαίρετα κατά τη γνώμη μου. Ούτως ή άλλως το μπέρδεμα ξεκίνησε από τη σύνθετη συνθήκη.

φιλικά πάντα
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: xaidi στις 15 Νοε 2004, 11:42:58 ΠΜ
συμφωνώ με την redhata. το θέμα ήταν άλλο και νομίζω έχει ξεφύγει και ίσως σε λίγο πάψουμε να είμαστε και ευγενικοί. εν πάση περιπτώσει συμφωνώ με τον Παναγιώτη ότι ο έλεγχος γίνεται με επανάληψη... και τελικά δεν ξέρω το νόημα του να βάζουμε παγίδες σε μια λύση ώστε να αποδείξουμε κάτι ως καλύτερο ακόμη και αν το βιβλίο λέει κάτι διαφορετικό - που άσχετα με την προσωπική μας γνώμη-  και είναι αυτό που τα παιδιά γράφουν. Νιώθω λίγο υπεύθυνη διότι εγώ ξεκίνησα το θέμα αλλά από διαφορετικό πρίσμα.
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: gpapargi στις 15 Νοε 2004, 03:50:57 ΜΜ
Από μένα πάντως δεν τίθεται θέμα εκνευρισμού ή ευγένειας ανεξάρτητα από το τι θα ακούσω. Θεωρώ ότι απλά ανταλλάσουμε απόψεις σε επίπεδο επιχειρημάτων και πάντα σε φιλικό κλίμα. Καλό θα ήταν μάλιστα να γράφουν όλοι τα ονόματά τους και να μη συμμετέχουν με ψευδώνυμα έτσι ώστε να υπάρχει και μια προσωπική επαφή.
Πχ θεωρούσα το φίλο (ή τη φίλη) με το ψευδώνυμο redhata άντρα και η Χάιντι τη θεωρεί γυναίκα :-)
Πάντως ο (η) redhata δηλώνει γένους αρσενικού. Οπότε Χάιντι μάλλον έχεις άδικο
:-)

Το θέμα που έθεσα εγώ δεν ήταν ο έλεγχος εισόδου. Ήταν η σύγκριση των 2 αλγορίθμων για την πολλαπλή επιλογή. Φυσικά δε μιλάμε για το συγκεκριμένο παράδειγμα αλλά για τα πλεονεκτήματα και τα μειονεκτήματα των 2 τεχνικών.

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

Λίγο υπομονή και θα γράψω μια απάντηση που θα εξετάζει διάφορες πτυχές του θέματος.

Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: redhata στις 15 Νοε 2004, 05:36:14 ΜΜ
Το γένος του redhata είναι δηλωμένο μια χαρά...  ;D
Η "εξέταση" είναι μέσα σε εισαγωγικά, αν το πρόσεξες, και δεν βρίσκω άλλον χαρακτηρισμό για το λόγο που έβαλες τη λάθος συνθήκη, από τη στιγμή που δήλωσες ότι ήταν εσκεμένο. Για να γίνω πιο κατανοητός και στον αλγ2 θα μπορούσε να υπάρχει μια λάθος συνθήκη αυτού του στυλ και να μην την προσέχαμε, έχοντας σαν δεδομένο ότι οι δύο αλγόριθμοι είναι γραμμένοι χωρίς λάθη στη σύνταξη των συνθηκών, αφού στην ουσία πάμε να συγκρίνουμε τεχνικές. Εκτός, τώρα που το σκέφτομαι, αν σε διακατέχει μια """μεροληψία""" υπέρ του αλγ2 και προσπαθείς με διάφορα τρικ να αποδείξεις ότι είναι καλύτερος...  Φυσικά κάνουμε κουβέντα και δεν εκνευριζόμαστε...  ;D ;D ;D
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: P.Tsiotakis στις 15 Νοε 2004, 10:16:44 ΜΜ
[smiley=cwm39.gif]        8)




Παρακαλώ συνεχίστε...
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: gpapargi στις 15 Νοε 2004, 11:28:02 ΜΜ
«Το γένος του redhata είναι δηλωμένο μια χαρά»
Αλίμονο. . . δεν παίζουμε με αυτά. Ακούς Χάιντι;

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

Η αλήθεια είναι ότι ο αλγόριθμος 2 δεν είναι τόσο ευάλωτος σε τέτοιες παγίδες. Είναι πιο ξεκάθαρος. Πάντως δεν μεροληπτώ υπέρ του. Επειδή φάνηκε ο αλγ 1 να κερδίζει τις εντυπώσεις και θεωρώ σωστό για την κουβέντα να ακούγονται όλες οι απόψεις εξίσου, τον αβαντάρισα λίγο (σαν αποκατάσταση της ισοροπίας). Στην κριτκή που σκοπεύω να γράψω θα είμαι 100% αντικειμενικός. Κάθε αλγόριθμος έχει πλεονεκτήματα και μειονεκτήματα και άρα δικό του πεδίο εφαρμογής.

ΥΓ Παναγιώτη χωρατατζής όπως πάντα  ;D
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: George στις 16 Νοε 2004, 12:17:15 ΠΜ
Καλησπέρα
Άναψαν λίγο τα αίματα και ζωντάνεψε η κουβέντα. Χρειάζεται που και που! Μόνο που ο Παναγιώτης πήρε όλα τα Ποπκορν και δεν μας είπε από πού για να πάρουμε και εμείς!
Στην κουβέντα μας τώρα για τους δύο αλγορίθμους. Εγώ συμπαθώ και τους δύο για διαφορετικούς λόγους. Ο πρώτος δεν κάνει περιττούς ελέγχους και είναι ποιο λιτός και ''κομψός'' (αν και δεν πρόκειται να τον στείλουμε στα καλλιστεία!!!). Ο δεύτερος θεωρώ ότι είναι ποιο ξεκάθαρος και ''λογικός'' για τους περισσότερους  μαθητές και τον μαθαίνουν ευκολότερα. Όσο για τον έλεγχο περιττών συνθηκών  πιστεύω ότι δεν πρέπει να θεωρείτε λάθος στους Αλγορίθμους.  
Ο Αλγ2 μιας και δεν επηρεάζεται από την αλλαγή στη σειρά των συνθηκών  θα μπορούσε να είναι ταχύτερος στην περίπτωση που ελέγχουμε πρώτα την περιοχή τιμών που βρίσκεται η πλειοψηφία των μαθητών.
Με εκτίμηση,
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: gpapargi στις 16 Νοε 2004, 08:47:43 ΠΜ
Λοιπόν, ξεκινώ τη σύγκριση των 2 αλγορίθμων από το θέμα της αποδοτικότητας που φαίνεται να συζητήθηκε περισσότερο.

Ο αλγόριθμος 2 διπλασιάζει τους ελέγχους και σε πρώτη φάση είναι πιο αργός. Αλλά ο τρόπος που τους αυξάνει (ο διπλασιασμός) δεν είναι τόσο κακός. Δηλαδή δεν αλλάζει την τάξη του αλγορίθμου. Ν ήταν και Ν παραμένει. Αν θυμάστε είχα ασκήσει βέτο στο θέμα της εύρεσης των 2 πρώτων από μια λίστα αριθμών επικαλούμενος την αύξηση των συγκρίσεων και άρα την έλλειψη αποδοτικότητας. Αλλά τότε άλλαζε η τάξη του αλγορίθμου από Ν σε Ν^2. Αυτό είναι κάτι πολύ διαφορετικό. Ο διπλασιασμός γίνεται πιο ανώδυνος αν λάβουμε υπόψην ότι σε ένα σχολικό πρόβλημα δε θα υπάρχουν και πολλές συνθήκες. Και 20 να είναι δε βλέπω μεγάλη διαφορά. Ενώ ένας αλγόριθμος εύρεσης 2 μεγαλύτερων έχει ακριβώς την ίδια μορφή ακόμα κι αν πρέπει να ψάξει 1000000 αριθμούς.

Υπάρχουν όμως και περιπτώσεις που ο αλγόριθμος 2 μπορεί να γίνει πιο γρήγορος από τον αλγ1. Ο αλγόριθμος 2 έχει ένα πλεονέκτημα: μπορεί να αλλάξει τη σειρά των ελέγχων. Αν έχουμε την πληροφορία ότι σε κάποιο διάστημα κάπου στη μέση είναι η μεγάλη πλειοψηφία των δειγμάτων μας τότε βολευει να βάλουμε τα συχνά διαστήματα στην αρχή έτσι ώστε η πολλαπλή επιλογή να αποφασίζει με λίγους ελέγχους. Για παράδειγμα ας υποθέσουμε ότι πρέπει να ελέγξουμε το iq μιας ολόκληρης χώρας που παίρνει τιμές από 0 ως 160 και να το κατατάξουμε σε κατηγορίας (διαστήματα πλάτους 5). Έχουμε 32 διαστήματα. Έχουμε επίσης την πληροφορία ότι οι τιμές συσσωρεύονται γύρω από το 80 (κατανομή Gauss με μέση τιμή 80). Έτσι μας βολεύει να βάλουμε τα διαστήματα γύρω από το 80 ψηλά στην πολαπλή επιλογή και όσο κατεβαίνουμε να απομακρυνόμαστε από το 80. Οι τελευταίοι έλεγχοι θα είναι για τα σπάνια διαστήματα [0,5] και [155, 160].
Εδώ ο αλγ 2 αποκτάει σημαντικό πλεονέκτημα στην ταχύτητα.

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

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

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

Στη δυνατότητα χρήσης σε πολύπλοκα προγράμματα τα πράγματα είναι μπερδεμένα. Σε καταστάσεις που τα διαστήματα είναι διατεταγμένα μπορεί ο αλγ 1 να δώσει πιο συμπαγη κώδικα. Κλασσικό περίπτωση είναι στο κεφάλαιο 8 του τετραδίου το παράδειγμα 1 (με τους ρύπους). Για να το λύσεις αυτό με σαφή άκρα πρέπει να κατατάξεις μια κατάσταση ανάλογα με το ρύπο που οδηγεί στο χειρότερο στάδιο.
Πχ για στάδιο λήψης μέτρων Α βαθμίδας η συνθήκη είναι
Αν (ΝΟ2 >500 και ΝΟ2<700 και Ο3 <500) ή (Ο3>300 και Ο3<500 και ΝΟ2<700)
Μπέρδεμα! Αλλά από την άλλη μεριά αν ξέρεις να δίνεις σαφή άκρα παίζοντας με τις συνθήκες μπορείς να λύσεις τα πάντα.

Νομίζω ότι κάθε τεχνική έχει δικό της πεδίο εφαρμογής. Σαν κανόνα όμως θα έλεγα ότι στο χαμηλό επίπεδο του μαθήματος ψηφίζω τον αλγόριθμο 2 γιατί δίνει πιο ευανάγνωστο κώδικα και μικραίνει την πιθανότητα λάθους θυσιάζοντας σε ανεκτό σημείο την ταχύτητα (δεν αλλάζει την τάξη). Νομίζω ότι απαντώ και στο ιδιαίτερα εύστοχο ερώτημα του συνωνόματου George που ρώτησε «πόσο λάθος είναι ο έλεγχος περιττών συνθηκών σε ένα αλγόριθμο». Η απάντηση μου είναι: κυρίως αν δεν αλλάζει η τάξη του αλγορίθμου και δευτερευόντως αν τα δεδομένα δεν είναι πολλά (πχ 20 το πολύ έλεγχοι στο σχολικο μάθημα) επιλέγουμε ευκολία στην εκμάθηση.

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

Νομίζω μίλησα αντικειμενικά. Μπορούμε να κουβεντιάσουμε οτιδήποτε.

Φιλικά
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: xaidi στις 16 Νοε 2004, 12:29:33 ΜΜ
συγνώμη για το λάθος μου για το γένος του gpapargi.  :whip:
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: redhata στις 16 Νοε 2004, 04:20:27 ΜΜ
gpapargi
------------
ok, σε συγκεκριμένες εφαρμογές όπου υπάρχει συγκέντρωση τιμών μακριά από τα τελευταία διαστήματα του αλγ1, το πλεονέκτημα του αλγ2 σχετικά με τη δυνατότητα αλλαγής της σειράς των συνθηκών ισχύει.
Εγώ πάντως προτιμώ τον αλγ1, μιας και οι προτινόμενες απαντήσεις στα θέματα των πανελλαδικών είναι στο στιλ του αλγ1. Ειδικά όταν μιλάμε για αλγόριθμο όπου η επιλογή δεν είναι μέσα σε loop ώστε να εκτελείται πολλές φορές και να χρειαστεί να κάνουμε ανάλυση δεδομένων(το γνωστό ΘΕΜΑ3), αναγκαστικά γίνομαι εξετασιοκεντρικός.

xaidi
------
KAI τον gpapargi έκανες female?  ;D

psiotakis
-----------
sorry but the show is over here....   ;)
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: P.Tsiotakis στις 16 Νοε 2004, 11:40:59 ΜΜ

Σελίδα 172: Συχνό λάθος που παρατηρείται στα προγράμματα είναι ο έλεγχος περιττών συνθηκών

Κατά τα άλλα πουλάω pop corn με κλιμακωτή χρέωση

Με εκτίμηση,
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: George στις 18 Νοε 2004, 01:16:45 ΜΜ
Σελίδα 172: Συχνό λάθος που παρατηρείται στα προγράμματα είναι ο έλεγχος περιττών συνθηκών

Σε αυτό το σημείο το βιβλίο είναι ξεκάθαρο (όσον αφορά τα προγράμματα). Σε έναν αλγόριθμο όμως το θεωρούμε λάθος και κόβουμε βαθμούς ή όχι;
Τίτλος: Re: ΔΟΜΗ ΕΠΙΛΟΓΗΣ ΠΕΡΙΟΡΙΣΜΟΙ
Αποστολή από: gpapargi στις 19 Νοε 2004, 11:41:08 ΠΜ
Καλημέρα

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

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

Τώρα στο αν πρέπει να κοπούν βαθμοί θα πω τα εξής: Πριν από λίγες μέρες είχαμε κουβεντιάσει το θέμα της εύρεσης των 2 μεγαλύτερων. Σχεδόν όλοι υποστήριξαν την άποψη ότι ο μαθητής μπορεί να λύσει το πρόβλημα με πλήρη ταξινόμηση (αλλαγή τάξης από ν σε ν^2) παρά το ότι υπάρχει τρόπος να λυθεί η άσκηση με 2 σαρώσεις (η γνώση αυτή υπάρχει μέσα στην ύλη του βιβλίου). Είναι δυνατό να κοπούν βαθμοί όταν απλά διπλασιάζεις τους ελέγχους και η τάξη του αλγορίθμου δεν αλλάζει;
Μόνο με διαφορετικά μέτρα και σταθμά γίνεται αυτό!

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