Αποστολέας Θέμα: Εντολή επίλεξε  (Αναγνώστηκε 7705 φορές)

Paros

  • Επισκέπτης
Εντολή επίλεξε
« στις: 21 Σεπ 2004, 11:40:56 πμ »
Γεια και χαρά  

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

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3174
  • I love you 3000
    • Panagiotis Tsiotakis
Re: Εντολή επίλεξε
« Απάντηση #1 στις: 21 Σεπ 2004, 10:31:39 μμ »
Η δομή Έπίλεξε είναι δομή πολλαπλής επιλογής όπως η Αν...τότε...Αλλιώς_Αν...Τέλος_Αν και ως τέτοια έχει το ίδιο διάγραμμα ροής με την δεύτερη. Θεωρώ οτι δεν χρειάζεται ιδιαίτερη μνεία στο βιβλίο (και δεν υπάρχει κι όλας

Με εκτίμηση,

xaidi

  • Ομάδα διαγωνισμάτων 2009
  • *
  • Μηνύματα: 111
  • who is WHO!!!!!!
Re: Εντολή επίλεξε
« Απάντηση #2 στις: 22 Σεπ 2004, 02:58:51 μμ »
θα συμφωνήσω και εγώ.
Η εντολή επίλεξε είναι ένας άλλος τρόπος γραφής κώδικά της πολλαπλής δομής επιλογής. Άρα στο διάγραμμα ροής δεν διαφέρει ο τρόπος αναπαράστασης της μιας ή της άλλης. η επιλογή του τι θα χρησιμοποιήούσαμε γίνεται μετά ανάλογα του είδους του αλγορίθμου.
Ευχαριστώ,

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 831
  • Έτερος εξ ετέρου σοφός, το τε πάλαι το τε νυν
    • http://sdoukakis.wordpress.com/
Re: Εντολή επίλεξε
« Απάντηση #3 στις: 08 Οκτ 2004, 06:33:03 μμ »
Στο σχολικό βιβλίο που διαθέτουμε δεν υπάρχει το διάγραμμα ροής της πολλαπλής επιλογής. Είναι άλλη μία παράλειψη.

Ωστόσο, υπάρχει διάγραμμα ροής κατάλληλο να παρουσιάσει την πολλαπλή δομή επιλογής.
Μεταβλητή

|

\/

τιμή1         τιμή2        τιμή3        τιμήn

εν1               εν2           εν3           ενn

|


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

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3174
  • I love you 3000
    • Panagiotis Tsiotakis
Re: Εντολή επίλεξε
« Απάντηση #4 στις: 08 Οκτ 2004, 10:19:29 μμ »
Σπύρο,

το διάγραμμα στη σελίδα 36 του σχολικού βιβλίου τι είναι ;

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 831
  • Έτερος εξ ετέρου σοφός, το τε πάλαι το τε νυν
    • http://sdoukakis.wordpress.com/
Re: Εντολή επίλεξε
« Απάντηση #5 στις: 09 Οκτ 2004, 12:34:35 μμ »
Διόρθωση

Στο σχολικό βιβλίο που διαθέτουμε δεν υπάρχει το διάγραμμα ροής της πολλαπλής επιλογής Επίλεξε...Τέλος_επιλογών, αλλά μόνο της πολλαπλής επιλογής
Αν σ1 τότε εν1
αλλιώς_αν σ2 τότε εν2
...
αλλιώς εναλλιώς
Τέλος_αν
Είναι άλλη μία παράλειψη.
Ωστόσο, υπάρχει διάγραμμα ροής κατάλληλο να παρουσιάσει την πολλαπλή δομή επιλογής Επίλεξε.  

Μεταβλητή

|

\/

τιμή1    τιμή2   τιμή3   τιμήn

εν1     εν2      εν3      ενn

|


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

Ευχαριστώ Παναγιώτη...

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 4879
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Re: Εντολή επίλεξε
« Απάντηση #6 στις: 09 Οκτ 2004, 05:54:19 μμ »
Σπύρο για να είμαι ειλικρινής δεν είμαι σίγουρος για το τι ακριβώς περιγράφει το σχήμα σου (λόγω του ότι είναι text), οπότε «ανέβασα» εικόνες για να το συζητήσουμε καλύτερα.

Το βιβλίο στην σελίδα 36 έχει την Αν ... αλλιώς_αν ... αλλιώς ... Τέλος_αν:



Εσύ, αν κατάλαβα καλά λες ότι η Επίλεξε δίνεται από το παρακάτω λογικό διάγραμμα:



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

Συμφωνώ με τον Παναγιώτη ότι το λογικό διάγραμμα της Επίλεξε ταυτίζεται με της Αν ... αλλιώς_αν ... αλλιώς ... Τέλος_αν (σελ. 36 βιβλίου). Ο υπολογιστής θα ελέγξει σειριακά τις συνθήκες και θα εκτελέσει μόνο την πρώτη που ικανοποιείται. Αντίθετα, με το λογικό διάγραμμα που προτείνεις θα εκτελούσε παράλληλα όλες τις «ΠΕΡΙΠΤΩΣΗ» στις οποίες θα ανήκε η μεταβλητή, αν υποθέσουμε ότι μπορεί να ικανοποιεί περισσότερες από μία.

Φιλικά,
Άλκης

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3174
  • I love you 3000
    • Panagiotis Tsiotakis
Re: Εντολή επίλεξε
« Απάντηση #7 στις: 09 Οκτ 2004, 11:57:48 μμ »
Παιδιά το βιβλίο είναι ξεκάθαρο:

Δομή πολλαπλής επιλογής είναι η Αν...Αλλιώς_Αν...Τέλος_Αν και το διάγραμμα ροής είναι αυτό της σελίδας 36

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

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

Συνεπώς από όλες τις απόψεις το διάγραμμα της σελ 36 είναι το σωστό, καλύπτει και το επίλεξε και μπορεί να εξεταστεί

Είναι το διάγραμμα ροής για την δομή πολλαπλής επιλογής και η Επίλεξε είναι δομή πολλαπλής επιλογής

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


Με εκτίμηση,
« Τελευταία τροποποίηση: 10 Οκτ 2004, 12:00:33 πμ από ptsiotakis »

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 4879
    • alkisg@im.sch.gr
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Re: Εντολή επίλεξε
« Απάντηση #8 στις: 10 Οκτ 2004, 10:35:29 πμ »
Το έψαξα λίγο και στην βιβλιογραφία και βρήκα τρεις μορφές αναπαράστασης της Επίλεξε: τις δύο που φαίνονται στις εικόνες παραπάνω και μία ακόμα που φαίνεται στις εικόνες παρακάτω (διαγράμματα ροής και δομής):




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

Φιλικά,
Άλκης

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3174
  • I love you 3000
    • Panagiotis Tsiotakis
Re: Εντολή επίλεξε
« Απάντηση #9 στις: 10 Οκτ 2004, 10:38:36 μμ »
Όλα τα διαγράμματα έχουν παρουσιαστεί στην βιβλιογραφία. Και αυτό που παρουσίασε ο Σπύρος θεωρώ οτι είναι σωστό (είναι θέμα ορισμού)

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

Με εκτίμηση,

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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 831
  • Έτερος εξ ετέρου σοφός, το τε πάλαι το τε νυν
    • http://sdoukakis.wordpress.com/
Re: Εντολή επίλεξε
« Απάντηση #10 στις: 11 Οκτ 2004, 09:10:55 μμ »
Το σχήμα σε text που εννοούσα Άλκη είναι το σχήμα 1 που έχεις στείλει στο msg 10/10 10:35 am. Αυτό που έχεις βάλει στο Msg Οκτώβριος 9th, 2004, 5:54pm είναι προφανώς λάθος...

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

Θέτω ερώτημα: Ποιο είναι το διάγραμμα ροής της Για;

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2448
  • I 'm not young enough to know everything
Re: Εντολή επίλεξε
« Απάντηση #11 στις: 12 Οκτ 2004, 01:24:32 πμ »
Γεια χαρά

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

Η αν τοτε αλλιως_αν έχει μια λίγο περίεργη ιστορία. Προφανώς κατάγεται από την if then else των γλωσσών προγραμματισμού. Αρχικά η υλοποίηση των πολλών επιλογών γινόταν με φωλιασμένες  if then else.
Δηλαδή

If <συνθ1 >then
        else if <συνθ2> then
                        else if <συνθ3> then

που  βέβαια δίνει ένα κώδικα δυσανάγνωστο. Οι προγραμματιστές χωρίς να αλλάξουν τίποτε «τράβηξαν» έξω τα else και άλλαξαν τη στοίχιση δηλαδή
if <συνθ1> then
else if <συνθ2>then
else if <συνθ3>then

που δίνει πιο ευανάγνωστο κώδικα. Έτσι δημιουργήθηκε η elsif εντολή και ενσωματώθηκε.
Επειδή η elsif εντολή έχει τις ρίζες της στην κλασική if then else που ισοδυναμεί με μια ερώτηση που παίρνει 2 πιθανές απαντήσεις, έτσι φανταζόμαστε και τις πολλές  elsif σαν πολλές ερωτήσεις που η κάθε μια παίρνει 2 πιθανές απαντήσεις.
Η αν. . . τοτε. . .  αλλιώς_αν είναι ισοδύναμη με την επίλεξε. Ότι κάνεις με τη μια κάνεις και με την άλλη. Αλλά είτε τη δεις αφαιρετικά, είτε με τον τρόπο που εκτελείτε το πρόγραμμα, ισοδυναμεί με πολλές ερωτήσεις που η καθε μια δέχεται 2 πιθανές απαντήσεις. Η επίλεξε αν τη δεις με τον τρόπο που εκτελείτε το πρόγραμμα ισοδυναμεί και αυτή πολλές ερωτήσεις που η καθε μια παίρνει 2 πιθανές απαντήσεις, ενώ αν τη δεις αφαιρετικά έχεις δικαίωμα να τη δεις σα μια ερώτηση με πολλές πιθανές απαντήσεις.
Γι αυτό λέω ότι δε διαφωνειτε απαραίτητα. Νομίζω ότι αλλάζει απλά ο τρόπος με τον οποίο αντιλαμβάνεστε την εντολή. Ο ένας τη βλέπει από τη σκοπιά εκτέλεσης του προγράμματος και ο άλλος πιο αφαιρετικά.
Δεν ξέρω αν γίνομαι κατανοητός γιατί είναι λίγο λεπτό αυτό που λέω.        

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

Snicker

  • Επισκέπτης
Re: Εντολή επίλεξε
« Απάντηση #12 στις: 09 Νοέ 2004, 09:16:15 πμ »
Το καφέ βιβλίο (...όταν είχαμε δύο βιβλία), παρουσιάζει σαν διάγραμμα ροής της Επίλεξε αυτό που λέει ο Σπύρος. Αν λοιπόν τότε τα παιδιά μπορούσαν να το γράψουν στις πανελλήνιες...