ΕΝΤΟΛΗ ΕΠΙΛΕΞΕ

Ξεκίνησε από vav, 26 Αυγ 2008, 01:22:31 ΜΜ

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

vav

ΚΑΛΗΣΠΕΡΑ ΣΕ ΟΛΟΥΣ.
ΘΕ ΗΘΕΛΑ ΝΑ ΚΑΝΩ ΜΙΑ ΕΡΩΤΗΣΗ:
ΜΠΟΡΩ ΝΑ ΕΧΩ ΜΙΑ ΕΠΙΛΕΞΕ ΜΕΣΑ ΣΕ ΜΙΑ ΑΛΛΑ ΕΠΙΛΕΞΕ ? Π.Χ.

ΝΑ ΜΕΤΑΤΡΑΠΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΤΜΗΜΑ ΑΛΓΟΡΙΘΜΟΥ ΜΕ ΑΠΟΚΛΕΙΣΤΙΚΗ ΧΡΗΣΗ ΤΗΣ ΕΠΙΛΕΞΕ:

ΔΙΑΒΑΣΕ Α
ΑΝ Α<10 ΤΟΤΕ
   ΑΝ Α=0 ΤΟΤΕ
       ΕΜΦΑΝΙΣΕ "ΜΗΔΕΝ"
   ΑΛΛΙΩΣ_ΑΝ Α=1 ΤΟΤΕ
       ΕΜΦΑΝΙΣΕ "ΕΝΑ"
   ΑΛΛΙΩΣ_ΑΝ Α=2 Ή Α=4 Ή Α=6 Ή Α=8 ΤΟΤΕ
       ΕΜΦΑΝΙΣΕ "ΑΡΤΙΟΣ"
   ΑΛΛΙΩΣ
       ΕΜΦΑΝΙΣΕ ΠΕΡΙΤΤΟΣ"
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ

ΘΑ ΜΠΟΡΟΥΣΕ ΝΑ ΜΕΤΑΤΡΑΠΕΙ ΣΕ:

ΕΠΙΛΕΞΕ Α
    ΠΕΡΙΠΤΩΣΗ  <10
          ΕΠΙΛΕΞΕ Α
              ΠΕΡΙΠΤΩΣΗ 0
                     ΕΜΦΑΝΙΣΕ "ΜΗΔΕΝ"
              ΠΕΡΙΠΤΩΣΗ 1
                     ΕΜΦΑΝΙΣΕ "ΕΝΑ"
              ΠΕΡΙΠΤΩΣΗ 2,4,6,8
                     ΕΜΦΑΝΙΣΕ "ΑΡΤΙΟΣ"
              ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
                     ΕΜΦΑΝΙΣΕ "ΠΕΡΙΤΤΟΣ"
          ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ

ΕΥΧΑΡΙΣΤΩ.
ΚΑΛΗ ΧΡΟΝΙΑ ΝΑ ΕΧΟΥΜΕ

sstergou

Έχω την εντύπωση ότι είναι σωστό για τον ίδιο λόγο που μπορούμε να έχουμε Αν μέσα σε Αν ή Όσο μέσα σε Όσο μέσα σε Για κοκ...

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

P.Tsiotakis

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

vav

ΔΗΛΑΔΗ ΠΑΝΑΓΙΩΤΗ ΕΝΝΟΕΙΣ ΟΤΙ ΜΙΑ ΜΕΤΑΤΡΟΠΗ ΤΟΥ ΤΥΠΟΥ :

ΑΝ Χ<5 ΤΟΤΕ
   ΕΜΦΑΝΙΣΕ "ΤΕΛΟΣ"
ΤΕΛΟΣ_ΑΝ

ΔΕΝ ΘΑ ΜΠΟΡΟΥΣΕ (?) ΝΑ ΜΕΤΑΤΡΑΠΕΙ ΣΕ:

ΕΠΙΛΕΞΕ Χ
   ΠΕΡΙΠΤΩΣΗ <5
     ΕΜΦΑΝΙΣΕ "ΤΕΛΟΣ"
ΤΕΛΟ_ΕΠΙΛΟΓΩΝ


P.Tsiotakis

Πριν πολυύυυ καιρό (τόσο που δεν μπορώ να την ψάξω στις συζητήσεις, κάπου στο 2004-5), είχαμε μια συζήτηση για την Επίλεξε. Και γω τότε την φανταζόμουν και ως δομή σύνθετης επιλογής (2 περιπτώσεις), αλλά μετά τη συζήτηση, αναθεώρησα.

- Στη σελίδα 36 του βιβλίου μαθητή γράφει: "Αν οι διαφορετικές επιλογές είναι πολλές, τότε είναι προτιμότερο να χρησιμοποιηθεί το σχήμα πολλαπλής επιλογής Επίλεξε...Τέλος επιλογών..."
- Στη σελίδα 172 του βιβλίου μαθητή γράφει: "Αν οι εναλλακτικές περιπτώσεις επιλογής είναι πολλές, μπορεί να χρησιμοποιηθεί η εντολή ΕΠΙΛΕΞΕ..."

Η Επίλεξε σύμφωνα με το διδακτικό πακέτο θεωρώ οτι είναι δομή πολλαπλής επιλογής (κάλυψη περισσοτέρων απο 2 περιπτώσεις) και μάλιστα ΟΧΙ ισοδύναμη με την Αν, καθώς δεν υπάρχει πάντα μετατροπή...
Τι λες;

alkisg

Έστω ότι θέλω να εμφανιστεί ένα μήνυμα μόνο σε μια τεράστια λίστα περιπτώσεων.
Κώδικας: ΓΛΩΣΣΑ
ΕΠΙΛΕΞΕ α
  ΠΕΡΙΠΤΩΣΗ 1, 4.2, 5, 7, 8.2, 9, 13, 17, 19.2, 22.3, 44, 55, 63, 88, 91, 92.5
    ΓΡΑΨΕ μήνυμα
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ


Επίτηδες δεν έβαλα διαστήματα στο παράδειγμα για να μην ξεφύγει η συζήτηση.
Λοιπόν, το παραπάνω είναι πολύ πιο απλό και αναγνώσιμο (και πιθανώς πιο αποδοτικό) με ΕΠΙΛΕΞΕ παρά με ΑΝ, επειδή δεν χρειάζεται συνέχεια να επαναλαμβάνουμε τη μεταβλητή (ή έκφραση) της ΕΠΙΛΕΞΕ, ούτε να βάζουμε συνέχεια το λογικό τελεστή Ή.
Δεν είναι καλοί λόγοι αυτοί για να προτιμηθεί η ΕΠΙΛΕΞΕ, ακόμα κι αν υπάρχει μόνο μία ΠΕΡΙΠΤΩΣΗ;
Ή, έστω ότι είχαμε 2 τέτοιες περιπτώσεις, με 2 τεράστιες λίστες τιμών. Θα βάζαμε τότε ΕΠΙΛΕΞΕ; Κι αν όχι, από πόσες περιπτώσεις / λίστες τιμών και πάνω;

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

Αντίστοιχο παράδειγμα. Το βιβλίο λέει ότι όταν έχουμε συγκεκριμένο αριθμό επαναλήψεων, θα πρέπει να χρησιμοποιούμε τη ΓΙΑ.
Κώδικας: ΓΛΩΣΣΑ
ι <- 1
β <- 1
ΟΣΟ ι < 100 ΕΠΑΝΑΛΑΒΕ
  ι <- ι + β
  β <- β + 1   !βήμα αυξανόμενο κατά 1 σε κάθε επανάληψη
  ΓΡΑΨΕ ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


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

vav

Αλκη συμφωνά απόλυτα μαζί σου.

Δεν είναι σωστό να περιορίζουμε τη χρήση μίας εντολής (στη συγκεκριμένη περίπτωση της ΕΠΙΛΕΞΕ), επειδή δεν υπάρχει κάποιο παράδειγμα στο βιβλίο ή επειδή οι συγγραφείς του δεν το προέβλεψαν.
Απο τη στιγμή που συντακτικά είναι σωστή και μπορεί να εκτελεστεί δεν βλέπω το λόγω να μην τη χρησιμοποιούμε όπως και στα δύο παραδείγματα (δικό μου - δικό σου) που προαναφέρθηκαν.

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

P.Tsiotakis

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

Ο συμπαγής τρόπος γραφής της είναι σημαντικός λόγος.