2 μικρές διευκρινήσεις

Ξεκίνησε από Wizard, 14 Μαρ 2006, 04:49:34 ΜΜ

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

Wizard

Χαιρετώ τους συναδέλφους!  :)

2 μικρές απορίες:

1) Στη σελίδα 48 του σχολικού βιβλίου που υπάρχει ο αλγόριθμος του πολλαπλασιασμού αλά ρωσικά, υπάρχει η έκφραση Μ2<--[Μ2/2], δηλαδή συμβολίζεται το ακέραιο μέρος με [], ενώ στη ΓΛΩΣΣΑ υπάρχει η συνάρτηση Α_Μ.
Αφού δεν περιγράφεται πουθενά αλλού αυτός ο συμβολισμός, μπορεί να χρησιμοποιηθεί στις εξετάσεις σε αλγόριθμο; Υπάρχουν άλλα τέτοια "κρυμμένα" μυστικά που μπορούν να εφαρμοστούν σε αλγόριθμο σαν "μεταφορά" κατά κάποιο τρόπο από τη ΓΛΩΣΣΑ (π.χ. το υπόλοιπο από τη MOD,  συναρτήσεις όπως Τ_Ρ, Α_Τ κλπ);

2) Το τμήμα ΑΛΛΙΩΣ σε μια ΑΝ-ΤΟΤΕ-ΑΛΛΙΩΣ_ΑΝ (σελ. 170) υποθέτω ότι δεν είναι υποχρεωτικό, παρόλο που δεν έχω δει να αναφέρεται στο βιβλίο αν μπορεί να παραληφθεί (αν και "ξέρω" ότι φυσικά δεν είναι απαραίτητο...). Υποθέτω σωστά; Το ίδιο δεν ισχύει και για το τμήμα ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ της ΕΠΙΛΕΞΕ;
Το ρωτάω αυτό γιατί κάποια παιδιά στο ερώτημα γ' του θέματος 4 του 2005, μου γράφουν:

Αν ΑΠ[i,j]='Σ' τότε
    S <-- S + 2
αλλιώς_αν ΑΠ[i,j]='Λ' τότε
    S <-- S - 1
αλλιώς
    S <-- S
Τέλος_αν

γιατί βλέπουν τη σύνταξη της εντολής που πάντα έχει το ΑΛΛΙΩΣ και μπερδεύονται!

Ευχαριστώ για το χρόνο σας!

evry

 Έχεις δίκιο, εγώ τους λέω να χρησιμοποιούν τον τελεστή div αντί για τη συγκεκριμένη περίπτωση. Πιστεύω είναι καλύτερα από το Α_Μ(), δεν έχουν μπει και στις συναρτήσεις ακόμα.

Τώρα για το αλλιώς αν όχι δεν είναι υποχρεωτικό αλλά είναι καλό να δείχνεις ότι έχεις τον έλεγχο στον κώδικα και ελέγχεις όλες τις περιπτώσεις. Δηλαδή αν δε δώσει ο χρήστης ούτε Σ, ούτε Λ να βγάλει κάποιο μήνυμα λάθους.
   Φυσικά και αυτό που γραφείς σωστό είναι έτσι?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Wizard

Σχετικά με το θέμα του 2005, οι πιθανές απαντήσεις του χρήστη ήταν "Σ", "Λ" και "Ξ", αλλά επειδή έχει γίνει ήδη έλεγχος εγκυρότητας των δεδομένων και η απάντηση "Ξ" προσθέτει 0 μονάδες στη βαθμολογία του χρήστη, δεν χρειαζόταν το ΑΛΛΙΩΣ (δεν έχει νόημα το S <-- S + 0). Υπήρχαν παιδιά όμως που νόμιζαν είναι ότι είναι υποχρεωτικό και έγραφαν S <-- S + 0 ή S <-- S.

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

evry

Σε αυτή την περίπτωση θα μπορούσε να γράψει απλά

Αν ΑΠ[i,j]='Σ' τότε
    S <-- S + 2
αλλιώς
    S <-- S - 1
Τέλος_αν


αφού έχει ήδη κάνει έλεγχο και θα είναι ή Σ ή Λ.

Για το θέμα που λες με το Α_Μ τη συγκεκριμένη χρονιά πολύ θα ήθελα να δω τα ποσοστά αποτυχίας στα συγκεκριμένα θέματα. Ήταν απίστευτα ασαφή και κακογραμμένα. Το τρίτο θέμα αν θυμάμαι καλά ήταν μια κλιμακωτή χρέωση. Διαβάζοντας την άσκηση νόμιζες ότι διάβαζες μόνο ένα δεδομένο αλλά αν πρόσεχες μια επεξήγηση σε ένα ανύποπτο σημείο έβλεπες ότι εννοούσε πως διαβάζει πολλά. Οπότε έπρεπε να μπουν όλα σε μια επανάληψη.

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

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

    Αντιμετάθεσε ΒΑΘΜΟΣ[j], ΒΑΘΜΟΣ[j-1]
    Αντιμετάθεσε ΟΝΟΜΑ[j],   ΟΝΟΜΑ[j-1]


ενώ στη Γλώσσα δε μπορούμε να γράψουμε τα παρακάτω

    ΚΑΛΕΣΕ Αντιμετάθεσε( ΒΑΘΜΟΣ[j], ΒΑΘΜΟΣ[j-1] )
    ΚΑΛΕΣΕ Αντιμετάθεσε( ΟΝΟΜΑ[j],   ΟΝΟΜΑ[j-1] )


διότι θα πρέπει να ορίσουμε δυο διαδικασίες αντιμετάθεσε μια για ΧΑΡΑΚΤΗΡΕΣ και μια για ΑΚΕΡΑΙΕΣ.

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

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Wizard

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

Wizard

#5
Η χρήση συναρτήσεων της ΓΛΩΣΣΑΣ (ή και της Αντιμετάθεσε της σελ. 68) σε αλγόριθμο δεν παραβιάζει *θεωρητικά* το κριτήριο της αποτελεσματικότητας ; Με αυτή τη λογική, μπορώ να εφεύρω όποια εντολή θέλω σε αλγόριθμο και να θεωρώ ότι υλοποιείται με απλό τρόπο :-\

veni

Παράθεση από: Wizard στις 14 Μαρ 2006, 04:49:34 ΜΜ
Χαιρετώ τους συναδέλφους!  :)

2 μικρές απορίες:
....

2) Το τμήμα ΑΛΛΙΩΣ σε μια ΑΝ-ΤΟΤΕ-ΑΛΛΙΩΣ_ΑΝ (σελ. 170) υποθέτω ότι δεν είναι υποχρεωτικό, παρόλο που δεν έχω δει να αναφέρεται στο βιβλίο αν μπορεί να παραληφθεί (αν και "ξέρω" ότι φυσικά δεν είναι απαραίτητο...). Υποθέτω σωστά; Το ίδιο δεν ισχύει και για το τμήμα ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ της ΕΠΙΛΕΞΕ;
Το ρωτάω αυτό γιατί κάποια παιδιά στο ερώτημα γ' του θέματος 4 του 2005, μου γράφουν:

Αν ΑΠ[i,j]='Σ' τότε
    S <-- S + 2
αλλιώς_αν ΑΠ[i,j]='Λ' τότε
    S <-- S - 1
αλλιώς
    S <-- S
Τέλος_αν

γιατί βλέπουν τη σύνταξη της εντολής που πάντα έχει το ΑΛΛΙΩΣ και μπερδεύονται!

Ευχαριστώ για το χρόνο σας!

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

Με εκτίμηση,

Γιώργος
Βενιέρης Γεώργιος
Καθηγητής Πληροφορικής
Πιλοτικό (R.I.P.)  Γυμνάσιο

veni

Παράθεση από: evry στις 14 Μαρ 2006, 06:32:58 ΜΜ
Έχεις δίκιο, εγώ τους λέω να χρησιμοποιούν τον τελεστή div αντί για τη συγκεκριμένη περίπτωση. Πιστεύω είναι καλύτερα από το Α_Μ(), δεν έχουν μπει και στις συναρτήσεις ακόμα.


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


Γιώργος
Βενιέρης Γεώργιος
Καθηγητής Πληροφορικής
Πιλοτικό (R.I.P.)  Γυμνάσιο

Λάμπρος Μπουκουβάλας

αν έχει κανείς υποδείγματα τέτοιων ασκήσεων, μπορεί να στείλει???
Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

Ο Θουκυδίδης  (που τον διαβάζουν οι ξένοι, αλλά όχι εμείς)  έγραφε: «Αταλαίπωρος τοις πολλοίς η ζήτησις της αληθείας, και επί τα ετοίμα μάλλον τρέπονται» (Ι, 20, 3). Οι περισσότεροι δηλαδή αναζητούν αβασάνιστα την αλήθεια και στρέφονται σε ό,τι βρίσκουν έτοιμο. Δεν προβληματίζονται...

Vangelis

Η δική μου προσέγγιση στους μαθητές έιναι ότι όταν γράφουν αλγόριθμο και χρειάζονται μια συνάρτηση μπορούν να χρησιμοποιήσουν ότι θέλουν αρκεί να κάνουν μια διευκρίνηση.  Ακόμα αν θέλουν μπορούν να χρησιμοποιήσουν ολόκληρη φράση π.χ
Χ <-- Ακέραιο_μέρος (Ζ/2).

Για το δεύτερο ερώτημα είναι προφανές ότι το το "Αλλιώς" δεν έιναι απαραίτητο.

Φιλικά

Βαγγέλης   

Λάμπρος Μπουκουβάλας

η συνάρτηση Α_Μ αναφέρεται σε γλώσσα, αλλά μπορεί να χρησιμοποιηθεί (καταχρηστικά, όπως και η Τ_Ρ) σε αλγόριθμο. πρόκειται για έλλειψη υπευθυνότητας του βιβλίου (όχι βέβαια του ιδίου του βιβλίου...).
όσο για τον αλγόριθμο αλά ρωσικά, αυτό κι αν είναι ... κουλό από μόνο του.
το αλλιώς δεν είναι υποχρεωτικό στις δομές πολλαπλής επιλογής. αυτό είναι 100% ξεκάθαρο.
Λάμπρος Μπουκουβάλας
MSc - MRes

http://blogs.sch.gr/lambrosbouk

Ο Θουκυδίδης  (που τον διαβάζουν οι ξένοι, αλλά όχι εμείς)  έγραφε: «Αταλαίπωρος τοις πολλοίς η ζήτησις της αληθείας, και επί τα ετοίμα μάλλον τρέπονται» (Ι, 20, 3). Οι περισσότεροι δηλαδή αναζητούν αβασάνιστα την αλήθεια και στρέφονται σε ό,τι βρίσκουν έτοιμο. Δεν προβληματίζονται...

EleniK

Καθότι οι συναρτήσεις χρησιμοποιούνται εντελώς καταχρηστικά όπως λέει και ο συνάδελφος lamrosbouk, παροτρύνω τη χρήση του div. Ακόμα και για την Τ_Ρ ενθαρρύνω το ^(1/2) για τους αλγορίθμους.
Σχετικά με τη δεύτερη απορία, δεν είναι υποχρεωτικό να υπάρχει το αλλιώς. Απλά κάποιοι το χρησιμοποιούν διότι δεν ξέρουν τι σημαίνει το Αλλιώς ή ποιες τιμές συμπεριλαμβάνει. Πάντως μπορεί να υπάρξει και χωρίς αλλιώς.
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

Επισκέπτης

Παράθεση από: EleniK στις 16 Μαρ 2006, 07:16:37 ΜΜ
Καθότι οι συναρτήσεις χρησιμοποιούνται εντελώς καταχρηστικά όπως λέει και ο συνάδελφος lamrosbouk, παροτρύνω τη χρήση του div.

@Eleni: Στη θέση ποιάς συνάρτησης εννοείς ότι αντιπροτύνεις το div ?

P.Tsiotakis


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

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

Με εκτίμηση,

EleniK

@Επισκέπτης

Στη θέση του Α_Μ, προτείνω το div. Το ακέραιο μέρος ενός αριθμού βρίσκεται και x div1
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

P.Tsiotakis


Αυτό είναι λάθος διότι στην έκφραση Α div Β, πρέπει τα Α, Β να είναι ακέραιοι αριθμοί

Επισκέπτης

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

Οπότε νομίζω ότι είναι προτιμότερο ο μαθητής να χρησιμοποιήσει την Α_Μ σε αυτή την περίπτωση.

Αλήθεια, στις επαναληπτικές 2005 (Εσπερινά) τέθηκε τέτοιο θέμα (2ο): "β) να ελέγχει αν είναι ακέραιος και να εμφανίζει τη λέξη «ΑΚΕΡΑΙΟΣ» αλλιώς να εμφανίζει τη λέξη «ΠΡΑΓΜΑΤΙΚΟΣ»"

Είδε κανείς ενδεικτικές λύσεις που να στάλθηκαν από την ΚΕΕΕΛ στα βαθμολογικά σχετικά με αυτό το θέμα;

Επίσης, ας μην ξεχνάμε και τις επαναληπτικές του 2003 (Ενιαία) με το θέμα 2 να διατυπώνει (μεταξύ άλλων) και την έκφραση:

"Μέχρις_ότου Κ > Ρίζα (Α)....Θεωρείστε ότι η συνάρτηση Ρίζα (Α) επιστρέφει την τετραγωνική ρίζα του Α"

EleniK

Ναι έχεις δίκηο. Από κεκτημένη ταχύτητα έγραψα div σχετικά με τον έλεγχο ακεραίου. Κακό παράδειγμα. Εννοούσα ότι χρησιμοποιώ div 2 στον αλγόριθμο του πολλαπλασιασμού αλά ρωσικά μεταξύ ακεραίων α <- α div 2
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

DMitsos

Σχετικά με το τελευταίο σχόλιο για το
χ DIV 1,  αντί του Α_Μ(χ)
έχω την εξής απορία:
Δεν πρέπει οι ποσότητες που συμμετέχουν στο DIV ως διαιρετέος και διαιρέτης να είναι δηλωμένες ως ακέραιες; Άρα το παραπάνω "κόλπο" δεν είναι σωστό...


Christos

Γεια σε όλους.

Σχετικά με την άσκηση στη σελίδα 10 στο Τετράδιο Μαθητή όπου χρησιμοποιείται αλλιώς_αν για να κλείσει την εντολή πολλαπλής επιλογής, μπορεί να χρησιμοποιηθεί και το σκέτο αλλιώς χωρίς να μεταβάλλεται η λειτουργία του αφού θεωρούμε οτι οι τιμές που διαβάζει ο αλγόριθμος είναι μόνο 1,2,3. Άρα αφού δεν είναι 1 ή 2, υποχρεωτικά η τιμή θα είναι 3 και θα πηγαίνει στο αλλιώς.

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


P.Tsiotakis


Αν στο Αλλιώς δεν επιθυμούμε να κάνουμε κάποια ενέργεια, γιατί να μπει;

Ασφάλεια σημαίνει οτι μπορεί κάποιος να το πάρει λάθος αν δεν υπάρχει Αλλιώς;

Christos

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

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

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

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

xaidi

η μεταβλητή για την οποία πρέπει να χρησιμοποιήσουμε το div πρέπει να είναι ακέραια μην το ξεχνάς!!
Ευχαριστώ,

andreas_p

Στη θέση του Α_Μ, προτείνω το div. Το ακέραιο μέρος ενός αριθμού βρίσκεται και x div1 .

Δηλαδή :

χ <-- 8,3
ακέραιο <-- χ  div 1 ;

Μπορείς, Ελένη, να εφαρμόσεις DIV  σε πραγματικό ;

alkisg

#24
Το [glossa]x <- 8.3
ακέραιο <- x div 1[/glossa] είναι λάθος, όμως το [glossa]ακέραιο <- A_M(x) div 1[/glossa] είναι σωστό.

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

andreas_p

Το ακέραιο μέρος ενός αριθμού βρίσκεται και x div1 .

Δηλαδή, ΜΠΟΡΩ  :

χ <- 8,3
ακέραιο <- χ DIV 1   ;

alkisg

Όχι, το div ορίζεται μόνο για ακεραίους.

EleniK

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

Αν χ=Α_Μ(χ) τότε

εμφάνισε 'Ακέραιος'
Τέλος_αν

(κατ' αντιστοιχία με την int της Basic)
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19