Απορία Αν..Αλλιώς_Αν..Αλλιώς

Ξεκίνησε από Glyko Xamogelo, 14 Δεκ 2015, 09:38:18 ΜΜ

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

ApoAntonis

Συμβαίνει το εξής παράδοξο. Και αυτό το βιβλίο που επέζησε και το δεύτερο, χρησιμοποιούν το ενδιάμεσο στάδιο της ΓΛΩΣΣΑΣ
για να παρουσιάσουν υλοποίηση είτε σε pascal είτε σε basic που είναι και αρχικός σκοπός. Εργαστηριακό μάθημα... μόνο που δεν είχαμε εργαστήρια.
Οπότε αφού δεν υπήρχαν τα εργαστήρια, που τελικώς δεν φτιάχτηκαν, κόπηκε η "πραγματική" υλοποίηση  και επέζησε η "θεωρητική" υλοποίηση της ΓΛΩΣΣΑΣ.

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

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

bugman

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

Παρόλο που η γλώσσα ΓΛΩΣΣΑ έχει μια σύνταξη που φέρνει στη Pascal, δεν έχει μπει το GOTO, μια εντολή που περιέχεται στη Pascal, και γενικά σε όλες σχεδόν τις γλώσσες:
(https://www.tutorialspoint.com/pascal/pascal_goto_statement.htm)
Από εκπαιδευτική άποψη η έλλειψη της GOTO γίνεται προφανώς για την υποχρέωση της χρήσης του δομημένου προγραμματισμού.

Στις Πανελλήνιες 2018 θέμα Β2, έπρεπε το αδόμητο πρόγραμμα να γίνει δομημένο, και έδινε πολλές μονάδες (10).
Ας πούμε ότι αυτά ήταν τα βήματα και οι απαιτούμενες εντολές (το αντιγράφω όπως το πήρα από το θέμα εδώ https://alkisg.mysch.gr/steki/index.php?topic=7452.0)

Β1: (Ε1): Διάβασε Σ
Β2: (Ε2): Διάβασε Α
Β3: (Ε3): Αν Α = 0, τότε πήγαινε στο Β6 (Ε3#1), αλλιώς πήγαινε στο Β4 (Ε3#2)
Β4: (Ε4): Σ <- Σ + Α
Β5: (Ε5): Πήγαινε στο Β2
Β6: (Ε6): Εμφάνισε Σ



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

Β1: Διαβασε Σ  (Ε1)
Επανέλαβε
Β2: Διαβασε Α   (Ε2)
Β3: Αν Α=0 Τότε (Ε3#2)
Αλλιώς
Β4: Σ <- Σ + Α   (Ε4)
Τέλος_Αν
Β5:Μέχρις_Ότου Α=0 (Ε3#1 και Ε5)
Β6:Εμφάνισε Σ (Ε6)

Όλο το "κόλπο" είναι στο βήμα 5. Διότι το 5 στον αδόμητο έχει ένα GOTO ενώ στο δομημένο πρέπει να είναι μέρος δομής επανάληψης. Εδώ όντως είναι δομή επανάληψης. Ποια όμως είναι η δομή; Η δομή ξεκινάει από το Β2 και γυρνάει στο Β5.  Στο Ε3 υπάρχουν δυο κλάδοι, ο Ε3#1 και ο Ε3#2. Ο Ε3#2 υλοποιείται χωρίς να βάλουμε το Όχι με χρήση της Αλλιώς. Απλά δεν βάζουμε κάτι μεταξύ του Τότε και του Αλλιώς.

Η Β5 παίζει το ρόλο της Ε3#1, Υποχρεωτικά όπως και η Ε3#2 θα έχει τον έλεγχο της συνθήκης, διότι δεν έχουμε GOTO (χωρίς συνθήκη άλμα).  Και πράγματι τον έχει με την Μέχρις_Ότου Α=0. Έτσι για να παίξει η εντολή Ε3#1 ξεκινάμε από το Β3 ελέγχουμε την Α=0 και αν την βρούμε τότε ελέγχουμε πάλι στο Β5 αν το Α=0 και πάμε στην Β6. Αυτός ο διπλός έλεγχος είναι απαραίτητος όταν δεν υπάρχει η GOTO. Διότι όταν το Α είναι διάφορο του 0 τότε ο πρώτος έλεγχος θα μας πάει στο Σ<-Σ+Α και ο δεύτερος θα μας επαναφέρει στο επόμενο Διάβασε Α (θα κάνει το GOTO), δηλαδή το B5 θα γίνει το Ε5.

Άρα τα βήματα Β1 μέχρι Β6 είναι όπως πρέπει, και οι εντολές Ε1 μέχρι Ε6 είναι στην ίδια σειρά. Η διαφορά είναι ότι στο Β5 έχουμε μια εντολή που παίζει ρόλο για Ε3#1 και Ε#5.

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





tall

πανελλαδικές εξετάσεις 2016 παλαιό σύστημα, θέμα Α ερώτημα 3

Αν x > 0 ή y > 0 τότε
      Εμφάνισε "Ένας τουλάχιστον θετικός αριθμός"
Αλλιώς_αν x < 0 και y < 0 τότε
      Εμφάνισε "Δύο αρνητικοί αριθμοί"
Τέλος_αν

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

George Eco

Παράθεση από: tall στις 25 Σεπ 2020, 12:59:43 ΜΜ
πανελλαδικές εξετάσεις 2016 παλαιό σύστημα, θέμα Α ερώτημα 3

Αν x > 0 ή y > 0 τότε
      Εμφάνισε "Ένας τουλάχιστον θετικός αριθμός"
Αλλιώς_αν x < 0 και y < 0 τότε
      Εμφάνισε "Δύο αρνητικοί αριθμοί"
Τέλος_αν

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


Ήμουν σίγουρος πως δε πρόκειται για πρόγραμμα σε ΓΛΩΣΣΑ, αλλά πήγα να σιγουρευτώ πως μιλάμε για αλγόριθμο.
Τμήμα αλγορίθμου. Συμφωνώ, μια χαρά. Αλλά η ΓΛΩΣΣΑ είναι διαφορετικό πράγμα από τη ψευδογλώσσα.
Η ΓΛΩΣΣΑ έχει αυστηρό συντακτικό ορισμένο από τα βιβλία. Δυστυχώς.  :-\

bugman

Παράθεση από: George Eco στις 26 Σεπ 2020, 02:14:03 ΠΜ
... Αλλά η ΓΛΩΣΣΑ είναι διαφορετικό πράγμα από τη ψευδογλώσσα.
Η ΓΛΩΣΣΑ έχει αυστηρό συντακτικό ορισμένο από τα βιβλία. Δυστυχώς.  :-\

Μεγάλη επιμονή να περάσεις την ιδέα σου! Δεν ορίζεται αυτό που λες ως "αυστηρό" συντακτικό.

Στους μεταφραστές, "compilers", ο συντακτικός αναλυτής φτιάχνει τις λεγόμενες "sequences" σε ένα δένδρο AST, βάσει των If και Else. Δεν υπάρχει το Else If ξεχωριστά, αλλά εμφανίζεται ως δια μαγείας, θα έλεγε κάποιος, αλλά αν το δεις σωστά λόγω του AST. Έτσι η δομή (σε τύπου C μεταφραστή) if (συνθήκη ) {  } else if (συνθήκη) { } είναι απόλυτα σωστή γιατί ενώ βλέπεις το else if (το ανάλογο του Αλλιώς_Αν, που γράφεται και έτσι ΑΛΛΙΩΣ ΑΝ, χωρίς ένωση με κάτω γραμμή), στην ουσία είναι το else σκέτο και ακολουθεί sequence if (συνθήκη) { }.

Άρα το Αλλιώς_Αν είναι στην ουσία μια Αλλιως Αν, άρα το έχει το Αλλιώς, δεν χρειάζεται να επιμένεις να βάλεις και άλλο! Το οποίο άλλο αν το βάλεις μπορεί να είναι και το λεγόμενο dangling else, δες εδώ https://en.wikipedia.org/wiki/Dangling_else δηλαδή ένα Αλλιώς που δεν ξέρεις σε ποιο Αν πέφτει, το αιωρούμενο Αλλιώς! Ευτυχώς για την Γλώσσα υπάρχει το ΤΕΛΟΣ ΑΝ που είναι το φάρμακο για το αιωρούμενο Αλλιώς.

Σε γλώσσες όπως στην Scheme όπου το Αν είναι στην ουσία συνάρτηση που αφήνει τιμή, το Αλλιώς είναι απαραίτητο για να "Αφήσει" τιμή (δεν υπάρχει ως όνομα else, αλλά είναι η δεύτερη  εναλλακτική, δες το παράδειγμα:).
Παράθεση(define (min a b)
   (if (< a b)
       a
       b))

George Eco

#20
Παράθεση από: bugman στις 26 Σεπ 2020, 10:15:57 ΠΜ
Μεγάλη επιμονή να περάσεις την ιδέα σου! Δεν ορίζεται αυτό που λες ως "αυστηρό" συντακτικό.

Στους μεταφραστές, "compilers"...

Να σε σταματήσω εδώ λίγο.
Μιλάμε για μάθημα.
Μιλάμε για θεωρητική γλώσσα...
δίχως compiler...
που ορίζεται από την εξεταστέα ύλη του μαθήματος.
Δε μιλάμε για το τι ισχύει στο πραγματικό Κόσμο και σε όλες τις κανονικές γλώσσες προγραμματισμού.
Βρες μου κάτι σταθερό σα βράχο μέσα από το βιβλίο, ή ας βγει κάποια επίσημη οδηγία που να ρυθμίζει αυτό το μετέωρο θέμα κι εγώ θα πω με χαρά σε όλα μου τα παιδιά πως η ΑΛΛΙΩΣ είναι προαιρετική.
Μέχρι τότε, το θέμα για 'μένα είναι ναρκοπέδιο.



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

Ποιος εμποδίζει έναν εξεταστή να πει πως έπρεπε να βάλει ΑΝ δίχως ΑΛΛΙΩΣ στο παρακάτω;

ΑΝ α ΤΟΤΕ
    ΓΡΑΨΕ 'Το α είναι ΑΛΗΘΗΣ'
ΑΛΛΙΩΣ
   ! Δε βάζω τίποτα εδώ
ΤΕΛΟΣ_ΑΝ

Κανείς! Εξετάζεται αν ξέρει το παιδί να διαλέγει σωστή μορφή ΑΝ.

Κι έχω τώρα:

ΑΝ χ = 1 ΤΟΤΕ
    ! κάτι εδώ
ΑΛΛΙΩΣ_ΑΝ χ = 2 ΤΟΤΕ
    ! κάτι άλλο εδώ
ΑΛΛΙΩΣ
   ΑΝ Χ = 3 ΤΟΤΕ
    ! κάτι τελευταίο εδώ
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ

Ποιος μου λέει πως δεν επιδιώκει την εμφώλευση ο εξεταστής;


Δεν είναι τόσο απλό ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ.
Εγώ θέλω να έχω άδικο! Αλλά με κάτι να στηρίξω πως έχω το άδικο και να έχει αντίκρυσμα στις Πανελλήνιες.
Αλλιώς μπορούμε να λέμε ό,τι ισχύει και σε κάθε άλλη γλώσσα προγραμματισμού, πως ισχύει και στη ΓΛΩΣΣΑ.
Δε πάει έτσι.  :)

bugman

Ok.
Αρκεί να βγει μια οδηγία που να λέει ότι το Αλλιώς είναι προαιρετικό.
Να πούμε σε δυο χρόνια, να είναι καλά;
Μήπως κάποιος, κάπου, κάποτε, έχει στείλει ήδη το ζήτημα για να διεκπεραιωθεί, και ήδη μετράει χρόνια το αίτημα;
Μήπως ντρέπονται να δώσουν την λύση εγγράφως γιατί το "σφάλμα" που δεν δόθηκε από την αρχή δεν σβήνει, αν δίνει την εντύπωση για ένα νέο σφάλμα του τύπου "άργησαν να δώσουν την λύση, είκοσι χρόνια".
Έχουμε πέσει σε λούπα (loop)!! (και λούμπα είναι επίσης για εδώ συμπληρωματικός όρος)


George Eco

#22
Στο έχω πει ποτέ Γιώργο πως εκτιμώ βαθύτατα το χιούμορ σου;
Προφανώς έχουμε πέσει σε λούμπα, μέσα σ' αυτή τη λούπα.
Ελπίζω το νέο Πρόγραμμα Σπουδών να φέρει δώρα.
Σίγουρα θα έχει σκοτούρες, αλλά ελπίζω στα περισσότερα θετικά.
Η ελπίδα πεθαίνει τελευταία λένε.

Παρένθεση. Μη μιλάμε για ντροπές για το "μετά από χρόνια". Σου έχω χειρότερο!  :D
Πόσα χρόνια έχουν το παρακάτω στη σελ. 59; Εκεί να δεις ντροπή.
Δεν υλοποιείται σε ΓΛΩΣΣΑ το παρακάτω ως έχει. Απλά.

Αλγόριθμος Αθρ_Πίνακα
Δεδομένα // m, n, table // 
sum ← 0
Για i από 1 μέχρι m
   row ← 0
Τέλος_επανάληψης
Για j από 1 μέχρι n
   col[j] ← 0
Τέλος_επανάληψης
Για i από 1 μέχρι m
   Για j από 1 μέχρι n
      sum   ← sum + table[i,j]
      row ← row + table[i,j]
      col[j] ← col[j] + table[i,j]
   Τέλος_επανάληψης
Τέλος_επανάληψης
Αποτελέσματα // row, col, sum //
Τέλος Αθρ_Πίνακα

Όπως είπε κι ο ApoAntonis δε ξέρω αν είχαν κατά νου τη Γλώσσα. Μάλλον είχαν κατά νου υλοποιήσεις σε κάποια γλώσσα προγραμματισμού κανονική. Το θέμα είναι... γιατί να αναλύσεις τη θεωρητική επί χάρτου γλώσσα και να μην έκανες φέρει πειν pascal ή κάποια άλλη; Με προσπερνάει αυτό.

Καρκαμάνης Γεώργιος

Μετά από 20 χρόνια ύπαρξης του μαθήματος δεν νομίζω ότι χρειάζεται να ασχολούμαστε με την ύπαρξη ή μη του ΑΛΛΙΩΣ στην ΑΛΛΙΩΣ_ΑΝ.
Είναι μια λεπτομέρεια άνευ σημασίας καθώς από διάφορα παραδείγματα, θέματα πανελλαδικών αλλά και λυσεις που έχει δώσει η ΚΕΕ είναι σαφέστατο ότι μπορεί μια εντολη ΑΛΛΛΙΩΣ_ΑΝ να ολοκληρώνεται και με ΑΛΛΙΩΣ. Παραπάνω αναφέρθηκε και παράδειγμα από θέμα πανελλαδικών εξετάσεων, Το να είναι σε αλγόριθμο και όχι σε ΓΛΩΣΣΑ δεν έχει διαφορά.


George Eco

#24
Παράθεση από: Καρκαμάνης Γεώργιος στις 28 Σεπ 2020, 11:34:46 ΜΜ
Μετά από 20 χρόνια ύπαρξης του μαθήματος δεν νομίζω ότι χρειάζεται να ασχολούμαστε με την ύπαρξη ή μη του ΑΛΛΙΩΣ στην ΑΛΛΙΩΣ_ΑΝ.
Είναι μια λεπτομέρεια άνευ σημασίας καθώς από διάφορα παραδείγματα, θέματα πανελλαδικών αλλά και λυσεις που έχει δώσει η ΚΕΕ είναι σαφέστατο ότι μπορεί μια εντολη ΑΛΛΛΙΩΣ_ΑΝ να ολοκληρώνεται και με ΑΛΛΙΩΣ. Παραπάνω αναφέρθηκε και παράδειγμα από θέμα πανελλαδικών εξετάσεων, Το να είναι σε αλγόριθμο και όχι σε ΓΛΩΣΣΑ δεν έχει διαφορά.

Εγώ νομίζω κε Καρκαμάνη πως πρέπει.
Δεν είναι λεπτομέρεια άνευ σημασίας.
Δε βρίσκεται εντός ύλης ΑΛΛΙΩΣ_ΑΝ δίχως ΑΛΛΙΩΣ.
Δεν υπάρχει στη θεωρία σύνταξη τέτοια.
Όλα τα θέματα που έχουν ΑΛΛΙΩΣ_ΑΝ δίχως ΑΛΛΙΩΣ, είναι αλγόριθμοι ψευδογλώσσας, που δεν έχουν αυστηρή σύνταξη. Η ψευδογλώσσα άλλωστε, είναι φτιαγμένη για να τη κατανοεί άνθρωπος. Η ΓΛΩΣΣΑ υποτίθεται εκτελείται εικονικά σε Η/Υ οπότε είναι αλλιώς τα πράγματα, απαιτεί αυστηρή σύνταξη.

Σελ 126 Εισαγωγή. Δίνει μια ιδέα.

Διδακτικός στόχος του μαθήματος:
Να επιλέγει την καλύτερη μορφή της εντολής ΑΝ για το κάθε πρόγραμμα.


Ξαναλέω λοιπόν ΠΑΝΩ ΣΕ ΑΥΤΟ:

ΑΝ α = 'ΑΛΗΘΗΣ' ΤΟΤΕ
    ΓΡΑΨΕ 'Το α είναι ΑΛΗΘΗΣ'
ΑΛΛΙΩΣ
   ! Δε βάζω τίποτα εδώ
ΤΕΛΟΣ_ΑΝ

Ποιος εμποδίζει έναν εξεταστή να πει πως έπρεπε να βάλει ΑΝ δίχως ΑΛΛΙΩΣ στο παραπάνω; Κανείς. Δίκιο θα έχει.

Κι έχουμε παρακάτω το εξής:

ΑΝ χ = 1 ΤΟΤΕ
    ! κάτι εδώ
ΑΛΛΙΩΣ_ΑΝ χ = 2 ΤΟΤΕ
    ! κάτι άλλο εδώ
ΑΛΛΙΩΣ
   ΑΝ Χ = 3 ΤΟΤΕ
    ! κάτι τελευταίο εδώ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ

Ποιος μου λέει πως δεν επιδιώκει την εμφώλευση ο εξεταστής;

"είναι σαφέστατο ότι μπορεί μια εντολη ΑΛΛΛΙΩΣ_ΑΝ να ολοκληρώνεται και με ΑΛΛΙΩΣ."
Δεν είναι εκεί το πρόβλημά μου κε Καρκαμάνη. Το πρόβλημα είναι πως ΔΕΝ ΥΠΑΡΧΕΙ ορισμός σύνταξης ΔΙΧΩΣ την ΑΛΛΙΩΣ, αν έχω ΑΛΛΙΩΣ_ΑΝ.
Δείτε το παρακάτω:

ΑΝ χ > 5 ΤΟΤΕ
   ! Κάτι γίνεται εδώ...
ΑΛΛΙΩΣ_ΑΝ χ > 10 ΤΟΤΕ
   ! Κάτι άλλο γίνεται
ΤΕΛΟΣ_ΑΝ

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

ΑΝ χ > 5 ΤΟΤΕ
   ! Κάτι γίνεται εδώ...
ΑΛΛΙΩΣ
   ΑΝ χ > 10 ΤΟΤΕ
        ! Κάτι άλλο γίνεται
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ

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


Παραπάνω αναφέρθηκε και παράδειγμα από θέμα πανελλαδικών εξετάσεων, Το να είναι σε αλγόριθμο και όχι σε ΓΛΩΣΣΑ δεν έχει διαφορά.
???
Αναπτύξτε μου τότε σε ΓΛΩΣΣΑ τον αλγόριθμο στη σελ 59 σημερινού βιβλίου Α.Ε.Π.Π. ακριβώς όπως είναι. (Σελ 58 στο βιβλίο του 1999) Δε γίνεται. Διαφωνώ κάθετα κε Καρκαμάνη. Έχει πολύ μεγάλες διαφορές, δεν αναφέρομαι στο τμήμα δηλώσεων, εννοώ πρακτική εφαρμογή της ψευδογλώσσας σε ΓΛΩΣΣΑ δεν είναι και τόσο απλό πράγμα. Θα πρέπει να γράφεται η ψευδογλώωσα εξ αρχής ώστε να είναι σύμφωνη με τη ΓΛΩΣΣΑ. Ο αλγόριθμος που παραθέτω, αντιμετωπίζει τον πίνακα ως δυναμική δομή δεδομένων, στα πλαίσια όμως του μαθήματος, ο πίνακας είναι στατική δομή με μέγιστη διάσταση κατά τη δήλωση. Η διάσταση όμως, βάσει του αλγορίθμου ορίζετεαι στην εκτέλεση, οπότε έπεται της δήλωσης κι έτσι καθιστά αδύνατο τον αλγόριθμο ως έχει να υλοποιηθεί σε ΓΛΩΣΣΑ.

Δεδομένα // m, n, table //
Ισοδύναμο με εισαγωγή δεδομένων, που προκύπτει ΜΕΤΑ το τμήμα δηλώσεων.


ΥΓ: Συμφωνώ, είναι λεπτομέρεια. Αλλά δεν αφήνω τίποτα στη τύχη κι είναι 20 χρόνια μετέωρα κάποια πράγματα.
Αν συνεχίσουμε να διδάσκουμε το μάθημα σε ΓΛΩΣΣΑ, τουλάχιστο ας ξεκαθαριστούν να ξέρω κι εγώ τι ισχύει για να ηρεμήσω.  :)

petrosp13

Συμφωνώ ότι δεν αναφέρεται πουθενά η προαιρετική χρήση του ΑΛΛΙΩΣ. Ούτε και η υποχρεωτική
Θα ήθελα να μου απαντήσεις (αν θέλεις) στο εξής ερώτημα που έθεσα και πιο πάνω
Διδάσκουμε μια μορφή επιλογής που δεν περιέχει τμήμα ΑΛΛΙΩΣ, την απλή επιλογή
Δηλαδή παρουσιάζεις στον μαθητή ότι δεν είναι υποχρεωτικό να βάζεις τον υπολογιστή να εκτελεί εντολές σε περίπτωση που δεν ισχύει μια συνθήκη
Πώς θα του δικαιολογήσω την υποχρεωτικότητα του ΑΛΛΙΩΣ σε μια δομή που μπορεί να εξετάζει 10 περιπτώσεις;
Δηλαδή δέχομαι να μην βάλω ΑΛΛΙΩΣ σε μια δομή που ελέγχει μια περίπτωση, αλλά δεν δέχομαι να μην βάλω ΑΛΛΙΩΣ σε μια δομή που ελέγχει 10 περιπτωσεις;
Πώς το δικαιολογούμε; Με την απουσία αναφοράς στην θεωρία;

Αν χ = 1 τότε
Γράψε 'Αυτό'
Τέλος_Αν

Αν χ = 2 τότε
Γράψε 'Εκείνο'
Τέλος_Αν

Να γραφεί μια ισοδύναμη δομή πολλαπλής επιλογής
Τι απαντάμε; Ότι δεν γίνεται;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

George Eco

Να απαντήσω βεβαίως.
Διδάσκουμε μια μορφή επιλογής που δεν περιέχει τμήμα ΑΛΛΙΩΣ, την απλή επιλογή
Ναι. Υπάρχει εντός ύλης, συντάσσεται δίχως ΑΛΛΙΩΣ.

Πώς θα του δικαιολογήσω την υποχρεωτικότητα του ΑΛΛΙΩΣ σε μια δομή που μπορεί να εξετάζει 10 περιπτώσεις;

Απαντώ πως γίνεται. Μη με βάζεις να το κάνω για 10. Να στο δείξω για 5;  :)

ΑΝ χ = 1 τότε
   ΓΡΑΨΕ 'Αυτό'
ΑΛΛΙΩΣ_ΑΝ χ = 2 ΤΟΤΕ
   ΓΡΑΨΕ 'Εκείνο'
ΑΛΛΙΩΣ_ΑΝ χ = 3 ΤΟΤΕ
   ΓΡΑΨΕ 'Το άλλο'
ΑΛΛΙΩΣ_ΑΝ χ = 4 ΤΟΤΕ
   ΓΡΑΨΕ 'Το παράλλο'
ΑΛΛΙΩΣ
    ΑΝ χ = 5 ΤΟΤΕ
        ΓΡΑΨΕ 'Το τελευταίο'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ

Πολλαπλή επιλογή με εμφωλευμένη απλή ΑΝ στην ΑΛΛΙΩΣ και καθάρισες. Εντός ύλης και οι δύο μορφές.

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


petrosp13

Στο συμπληρωματικό υλικό λέει ότι στη δομή επίλεξε η περίπτωση αλλιώς είναι προαιρετική. Δεν είναι ισοδύναμη με την πολλαπλή επιλογή με αν;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

George Eco

Παράθεση από: petrosp13 στις 29 Σεπ 2020, 01:37:39 ΜΜ
Στο συμπληρωματικό υλικό λέει ότι στη δομή επίλεξε η περίπτωση αλλιώς είναι προαιρετική. Δεν είναι ισοδύναμη με την πολλαπλή επιλογή με αν;

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

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

Έχεις δίκιο να προβληματίζεσαι και με όσα λέω και με όσα ίσχύουν και με όσα είναι ασαφή.


Λαμπράκης Μανώλης

καλησπέρα και από εμένα

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