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

Γενικό Λύκειο => Δομή επιλογής => Γ΄ Λυκείου => Εντολή ΕΠΙΛΕΞΕ => Μήνυμα ξεκίνησε από: MichaelP στις 27 Νοέ 2008, 03:32:52 πμ

Τίτλος: Αν σε Επίλεξε
Αποστολή από: MichaelP στις 27 Νοέ 2008, 03:32:52 πμ
Αγαπητοί,

Αναφέρομαι ξανά στην Επίλεξε, αν και έχουν γίνει αρκετές συζητήσεις γι'αυτή τα περασμένα χρόνια...

Έψαξα αλλά δεν βρήκα πουθενά στο forum την περίπτωση μετατροπής της Αν σε Επίλεξε.

Παρακαλώ τα φώτα σας:

Αν Χ>0 ΚΑΙ Χ<10 τοτε
...
αλλιώς_αν Χ>=10 ΚΑΙ Χ<=20 τότε
...
Τέλος_Αν

Ποιός θα ήταν ο κώδικας στην Επίλεξε;

Ευχαριστώ
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: MichaelP στις 27 Νοέ 2008, 05:39:10 πμ
Το βρήκα...Αργήσατε (καλά κοιμόσταστε στις 05:32 το πρωί;  :D)


Επιλεξε Χ
Περίπτωση <=10
    Επίλεξε Χ   
    Περίπτωση >0
     …
    Τελος_Επιλογών
Περίπτωση <=20
 ...
Περίπτωση <40
…
Περίπτωση Αλλιώς
…
Τέλος_Επιλογών

Αγαπητοί, παρακαλώ επιβεβαιώστε την ορθότητα του παραπάνω κώδικα.
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: alkisg στις 27 Νοέ 2008, 08:18:49 πμ
Με μία επίλεξε:

Κώδικας: Text
  1. ΠΡΟΓΡΑΜΜΑ Βαθμολογία
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΠΡΑΓΜΑΤΙΚΕΣ: βαθμός
  4. ΑΡΧΗ
  5.   ΔΙΑΒΑΣΕ βαθμός
  6.   ΕΠΙΛΕΞΕ βαθμός
  7.     ΠΕΡΙΠΤΩΣΗ < 0, > 20
  8.       ΓΡΑΨΕ 'Εκτός κλίμακας'
  9.     ΠΕΡΙΠΤΩΣΗ < 10
  10.       ΓΡΑΨΕ 'Κάτω από τη βάση'
  11.     ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
  12.       ΓΡΑΨΕ 'Επιτυχών'
  13.   ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  14. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
  15.  
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: andreas_p στις 27 Νοέ 2008, 08:50:22 πμ
Καλημέρα.

MichaelP  :  Σωστό, να δούμε αν δουλεύει στον Διερμηνευτή.

alkisg      :    Δεν το 'χω δει πουθενά. ( >0 , <10) ;;;;;

Ανδρέας
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: Laertis στις 27 Νοέ 2008, 09:07:13 πμ
Με βάση το βιβλίο (σελ.37) πρέπει να ισχύει :

Επιλεξε Χ
Περίπτωση απο 1 έως 9
    ..... 
Περίπτωση από 10 έως 20
     …
Περίπτωση Αλλιώς
     …
Τελος_Επιλογών
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: alkisg στις 27 Νοέ 2008, 10:22:54 πμ
alkisg      :    Δεν το 'χω δει πουθενά. ( >0 , <10) ;;;;;

Για το >0 υπάρχει παράδειγμα στο βιβλίο.
Για το 1, 2, 3, 4 επίσης υπάρχει παράδειγμα στο βιβλίο (δηλαδή το , διαχωρίζει περιπτώσεις, παίζοντας ουσιαστικά το ρόλο μιας Ή).

Αυτό που έγραψα είναι απλά ο συνδυασμός των δύο παραπάνω...
Υπάρχουν παραπομπές στις σχετικές σελίδες του βιβλίου στη βοήθεια του Διερμηνευτή: https://alkisg.mysch.gr/ΓΛΩΣΣΑ/ΕΠΙΛΕΞΕ


Με βάση το βιβλίο (σελ.37) πρέπει να ισχύει :

Επιλεξε Χ
Περίπτωση απο 1 έως 9
    ..... 
Περίπτωση από 10 έως 20
     …
Περίπτωση Αλλιώς
     …
Τελος_Επιλογών

Γι' αυτό δυστυχώς δεν έχω δει παράδειγμα!!! :) Μακάρι να υπήρχε, θα διευκόλυνε τα πράγματα.


Είχαμε κάνει παλιότερα πολύ εξονυχιστική συζήτηση εδώ: https://alkisg.mysch.gr/steki/index.php?topic=1384.msg9800#msg9800
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: ntzios kostas στις 27 Νοέ 2008, 10:44:24 πμ
Είναι ένα θέμα που το έχουμε συζητήση πολύ. Απλά και εγώ γράφω αυτο που βγάζω νοήμα από το σχολικό βιβλίο:

Επίλεξε χ
περίπτωση >0 και <10
....
πείπτωση >=10 και <=20
.....
τέλος_επιλογών

 


Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: P.Tsiotakis στις 27 Νοέ 2008, 11:24:03 πμ
Εγώ πάλι πιστεύω οτι δε γίνεται   :angel:
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: andreas_p στις 27 Νοέ 2008, 12:00:09 μμ
Επίλεξε χ
περίπτωση >0 και <10
....
πείπτωση >=10 και <=20
.....
τέλος_επιλογών


Μόνο μετά από σχετικό έγγραφο του  Π.Ι. (για τήρηση ενιαίας στάσης)  μπορούμε να το δεχτούμε.

Αν θυμάστε όπως έγινε με τα   div, mod  και αρνητικούς.
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: COACH στις 27 Νοέ 2008, 12:39:39 μμ
Επιτέλους μετά από τόσα χρόνια ας μας στείλουν ένα έγγραφο 2-3 σελίδων στο οποίο να ξεκαθαρίζουν όλες τις ασάφειες αυτού του τύπου γιατί μέχρι να το κάνουν αποδεικνυόμαστε γραφικοί μπροστά στα παιδιά τα οποία πάνε να δώσουν πανελλήνιες και δεν είναι συνηθισμένα σε ασάφειες αυτού του τύπου σε κανένα άλλο μάθημα...

ΤΙ ΑΛΛΟ ΠΡΕΠΕΙ ΝΑ ΚΑΝΟΥΜΕ ΓΙΑ ΝΑ ΚΑΝΟΥΝ ΤΟ ΑΥΤΟΝΟΗΤΟ?
Για πόσο ακόμα πρέπει να ψάχνουμε μεταξύ μας?

Πάλι καλά που υπάρχει και το στέκι για να έχουμε σχετικά ενιαία αντιμετώπιση..
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: papet στις 27 Νοέ 2008, 02:23:32 μμ
 :o Ωχ... Όχι πάλι αυτή η κουβέντα...!!!  :o

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

Σε αυτές τις διαφωνίες, είναι προφανές πως δεν πρόκειται να καταλήξουμε κάπου. Η μόνη κοινώς αποδεκτή και οριστική λύση τέτοιων ζητημάτων είναι οι επίσημες διευκρινήσεις. Όσο αυτές δεν έρχονται, προσωπική μου πρόταση είναι να αποφεύγουμε να ασχολούμαστε επί ματαίω με παρόμοια "γκρίζα" θέματα, τόσο μεταξύ μας, όσο και με τα παιδιά, γιατί κατ' αυτόν τον τρόπο, μόνο σύγχιση και εντάσεις μπορούμε να προκαλέσουμε.
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: MichaelP στις 27 Νοέ 2008, 10:22:32 μμ
Αγαπητοί,

Δεν χρειαζόμαστε τους λογικούς τελεστες για να γράψουμε κώδικα που αναφέρεται σε περιοχές τιμών.

Προσωπικά διαφωνώ κάθετα με τα:

απο χ1 έως χ2
χ1..χ2
>χ1, <χ2

Εκτός αν δωθεί επεξήγηση-διευκρίνηση απο το ΥΠΕΠΘ...

Αιτιολόγηση:
1. Πουθενά δεν αναφέρονται στο βιβλίο του μαθητή. Εκτός απο τη σελ 173 η οποία αναφέρει ότι η επίλεξε μπορεί να χρησιμοποιηθεί για διάστημα από, έως αλλά ΠΡΟΣΟΧΗ: δεν διευκρινίζει αν εννοεί ότι το φραγμένο διαστημα από-έως το δημιουργούμε με κατάλληλη χρήση άνω ή κάτω απείρων της μορφής (-οο, α) ή [α,+οο) ή οποιοδήποτε συνδιασμό ανοικτού - κλειστού στο α, διαστημάτων ή με άλλο τρόπο (έναν απο τους τρείς ανωτέρω αναφερθέντες τρόπους).
2. Είναι απολύτως εφικτό να κατασκευάσουμε φραγμένα διαστήματα με χρήση γνωστών μεθόδων όπως η εμφώλευση και η κατάλληλη χρήση άνω ή κάτω απείρων διαστημάτων.
3. Είναι απολύτως εφικτό να κατασκευασουμε έλεγχο περισσοτέρων της μίας μεταβλητών και να προσαρμόσουμε αντόστοιχες μορφές της 'Αν' σε 'Επίλεξε'

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

Α.
Επίλεξε Χ
Περίπτωση α1, α2, α3     ! ...

και

Β.
Επίλεξε Χ
Περίπτωση >α1    ! Ή >=, <=, < κτλ

Γ.
Εμφωλευμένη Επίλεξε

Όσων αφορά το τελευταίο, το βιβλιο δεν το καθιστά σαφές αλλά αλλίμωνο αν δεν ισχύει διότι όποιος το ισχυριστεί πρέπει να μου απαντήσει, πού λέει το βιβλίο:


α. Για εμφωνευμένο ΟΣΟ, Αρχη_Επαναληψης
β. Για μεταβλητές στο βήμα της 'Για'
γ. Για Βήμα δεκαδικό στη 'Για'
δ. Για μεταβλητές ή δεκαδικό στο 'απο' και στο 'μέχρι' στη 'Για'.
ε. Για εμφωνευμένη 'Οσο' σε ΄Για' ή οποινδήποτε συνδιασμό
στ. Για τριπλή, τετραπλή κτλ εμφώλευση με συνδιασμούς όλων των δομών και μεταβλητές στα όρια, που παίρνουν δεκαδικές τιμές και δεκαδικά βήματα...
ζ. Αλήθεια στους Αλγορίθμους, πού αναφέρει το βιβλίο ότι η 'Εμφάνισε' παίρνει κόμμα (,) μετά το string για να εμφανίσεις τιμή μεταβλητής ? Δεν πιστεύω να το χρησιμοποιεί κανένας σας ?
η. Αλήθεια, που λέει το βιβλίο πως δουλευει η 'Για' ?

Παρακαλώ τη γνώμη σας.

Μιχάλης Περάκης
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: ntzios kostas στις 28 Νοέ 2008, 12:29:05 πμ
Παράθεση
Επίλεξε χ
περίπτωση >0 και <10
....
πείπτωση >=10 και <=20
.....
τέλος_επιλογών


Μόνο μετά από σχετικό έγγραφο του  Π.Ι. (για τήρηση ενιαίας στάσης)  μπορούμε να το δεχτούμε.

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

Μιχάλη, δεν χρειάζεται να δώσει το βιβλίο διευκρινήσεις για όλα τα ζητήματα που αναφέρεις, αφού ο στόχος του δεν είναι να γράψει μία γλώσσα που να είναι τα πάντα τέλεια ορισμένα και διατυπωμένα. Αν ήταν έτσι θα έβαζε μία είδη υπάρχουσα γλώσσα. Θέλει να διδάξει την αλγοριθμική και αναλυτική σκέψη στο μαθητή, που αυτή τη γνώση θα τη πάρει μετέπειτα και θα την εφαρμόσει πολύ εύκολα στη γλώσσα προγραμματισμού που θα χρησιμοποιήσει. Ας έχουμε αυτό στο μυαλό μας και όλα είναι πλέον πολύ απλά.   
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: MichaelP στις 28 Νοέ 2008, 01:08:43 πμ
Αγαπητέ Κώστα,
Καταρχήν μου αρέσει ο τρόπος που σκεύτεσαι και σαφώς θα συμφωνούσα μαζί σου, αν...

Οι πανελλήνιες εξετάσεις είναι ένα δύαδικό σύστημα 1/0, Ναι/Οχι, Σωστό/Λάθος.

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

Ναι πράγματι, με όποιο τρόπο και άν συνταχθεί η Επίλεξε, φαίνεται αν ο μαθητής έχει αλγοριθμική σκέψη. Όμως υπάρχει και ένα άλλο θέμα με την ανάπτυξη κώδικα και αυτό αφορά όπως πολύ καλά γνωρίζεις όλες τις γλώσσες προγραμματισμού, ανέκαθεν.
Είναι το ζήτημα του συντακτικού, το οποίο αν μου επιτρέπεται η ιεροσυλία, είναι πιο απαιτητικό (δηλαδή απαιτείται ο κώδικας να είναι συντακτικά απόλυτα 101% σωστός) ακόμα και απο τα μαθηματικά.
Και καλά στους Αλγορίθμους να κάνουμε τα στραβά μάτια. αλγόριθμοι είναι...Μπορούμε να παρεκλίνουμε λιγο απο την ορθή γραφή βρε αδερφε (μπορούμε το Περίπτωση Αλλιώς να το γράψουμε Περίπτωση_Αλλιώς).
Όταν όμως γράφουμε κώδικα που θα μεταφραστεί απο Compiler (θεωρητικά) οφείλουμε να είμαστε απόλυτα σωστοι.

Έτσι ότι λέμε στα παιδιά πρέπει να το αναφέρει κάπου (σαφώς) το βιβλίο.

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

Δεν ξέρω τι άλλο να πω. Εγώ τους τα μαθαίνω χωρίς από...έως.

Μ.

Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: ntzios kostas στις 28 Νοέ 2008, 08:47:15 πμ
Παράθεση
Όταν όμως γράφουμε κώδικα που θα μεταφραστεί από Compiler (θεωρητικά) οφείλουμε να είμαστε απόλυτα σωστοί.
Προσωπικά όταν γράφω κώδικα ποτέ δεν είμαι σωστός 100% από άποψη σύνταξης. Όμως έρχεται ο compiler και μου βρίσκει τα συντακτικά λάθη. Όταν γράφουμε όμως στο χαρτί ένα πρόγραμμα -που αυτομάτως πλέον είναι αλγόριθμος- είναι κουτό να εξετάζω εγώ συντακτικά λάθη, αφού αυτά τα κάνω και εγώ και διορθώνονται εύκολα με τη βοήθεια του compiler. 
Έτσι, λοιπόν, αν για παράδειγμα στις εξετάσεις δώσουν πρόγραμμα και ένας μαθητής έχει κάποιο συντακτικό λάθος δεν πρέπει να μετρήσει. Για παράδειγμα αν χρησιμοποιήσει ως όνομα μεταβλητής το Ε, τι θα του πω ότι είναι λάθος; Αν βάλει βελάκι αντί <- να του κόψω; Αν καταλάθος βάλει επανέλαβε αντί επανάλαβε να του κόψω; και αντί για Τέλος_Προγράμματος βάλει Τέλος να του κόψω; ΟΧΙ βέβαία. Άρα δεν πρέπει να είμαι απόλυτα σωστός από άποψη σύνταξης όταν γράφω πρόγραμμα.  Βέβαια δεν σημαίνει ότι δεν μπορεί να βρεθεί κάποιος και να του κόψει για όλα τα παραπάνω λάθη. Και στο δικό σου παράδειγμα μπορεί να βρεθεί κάποιος και να του κόψει αν δεν χρησιμοποιήσει ο μαθητής το από...έως. Γι' αυτό προσωπικά λέω ότι αν όλοι μας κοιτάμε σε ένα γραπτό μόνο τη λογική του μαθητή και όχι τη στεγνή αυστηρότητα της σύνταξης των εντολών του τότε τέτοια προβλήματα δεν υπάρχουν.

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

Καλή σας μέρα.



 
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: MichaelP στις 28 Νοέ 2008, 09:04:50 πμ
Συμφωνω απόλυτα με το σκεπτικό σου φίλε Κώστα.
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: P.Tsiotakis στις 28 Νοέ 2008, 10:56:37 πμ
Η εντολή

Αν χ είναι άρτιος τότε
...

θα θεωρηθεί σωστή στη βαθμολόγηση?
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: ntzios kostas στις 28 Νοέ 2008, 01:29:55 μμ
Αυτό θα θεωρηθεί λάθος, γιατί ο μαθητής ενώ γνωρίζει ότι πρέπει να εξετάσει αν είναι άρτιος, δεν ξέρει πώς να το εξετάσει. Και δεν μιλάω αν γνωρίζει τη σύνταξη της εντολής mod αλλά ότι πρέπει να βάλει το υπόλοιπο της διαίρεσης με το 2 ίσο με το 0. Τώρα αυτό είτε μου το γράψει α mod 2 =0 είτε mod(α,2)=0, είτε α modulo 2 = 0, είτε α-2*Α_Μ(α/2)=0..., δεν θα του κόψω το παραμικρό μόριο. Και βάζω και το τελευταίο, γιατί έχω ακούσει από συνάδελφους ότι αν το α είναι ακέραιος δεν μπορούμε να χρησιμοποιήσουμε το /. :) 
Τίτλος: Απ: Αν σε Επίλεξε
Αποστολή από: gpapargi στις 28 Νοέ 2008, 02:17:59 μμ
Στο βιβλίο καθηγητή σελίδα 72 γράφει:

«Μπορούμε επίσης να δεχθούμε και τις συνήθεις μαθηματικές τυπογραφικές
συμβάσεις για την αποτύπωση τύπων.Για παράδειγμα είναι αποδεκτό να γραφεί
είτε a^2 είτε a2, όπως επίσης a(i,j) ή a[i,j] ή aij καθώς και το σύμβολο της τετραγωνικής
ρίζας.
Αποδεκτός είναι επίσης και ο περιφραστικός τρόπος για ορισμένες ενέργειες,
όπως για παράδειγμα “Θέσε Α=0” ή “Αν Χ είναι άρτιος τότε ...”. Προφανώς αυτές
οι “ελευθερίες” παύουν στον προγραμματισμό είτε στη ΓΛΩΣΣΑ είτε σε οποιαδήποτε
γλώσσα προγραμματισμού.»

Γενικά το θέμα του που σταματάει η ελευθερία και που αρχίζει η αυστηρότητα είναι θολό στην ψευδογλώσσα. Εγώ πάντως υπό μορφή πρότασης ωθώ τους μαθητές στο να χρησιμοποιούν πράγματα που ισχύουν και στη ΓΛΩΣΣΑ. Το επιχείρημα είναι «να κάνουν πράγματα που ισχύουν παντού έτσι ώστε να είναι ασφαλείς και να έχουν και λίγα πράγματα στο κεφάλι τους».

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