Διάφορες ασάφειες

Ξεκίνησε από mitskas9, 22 Φεβ 2023, 02:13:55 ΠΜ

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

mitskas9

Καλησπέρα σας,ως καινούριος θα ήθελα να κάνω κάποιες μικρές ερωτήσεις και αν έχετε την καλοσύνη να βοηθήσετε.

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

ΠΡΟΓΡΑΜΜΑ Α1
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:
  ΠΡΑΓΜΑΤΙΚΕΣ: χ
ΑΡΧΗ


Ο πίνακας τιμών πρέπει να έχει κάποια συγκεκριμένη μορφή;
Στον αλγόριθμο σειριακής αναζήτησης είναι υποχρεωτικό να  κάνουμε θέση <- 0 ως αρχικοποίηση;

Παρακαλώ αν κάποιος απαντήσει να είναι τεκμηριωμένη η απάντηση και όχι απλά εμπειρική κρίση.

Σας ευχαριστώ πολύ για το χρόνο σας!





George Eco

#1
Δε θέλω να σε προβληματίσω χειρότερα συνάδελφε, αλλά αν δεις το αλφάβητο της ΓΛΩΣΣΑΣ (σελ 128 ενότητα 7.1), λείπει η άνω κάτω τελεία (και οι αγγύλες για τους πίνακες). Σε γενικές γραμμές, πώς να το πω τώρα όμορφα, το βιβλίο δεν είναι και τόσο καλό, οπότε η απάντηση σε πολλά θέματα δε μπορεί να είναι τεκμηριωμένη.  Η ΓΛΩΣΣΑ είναι θεωρητική γλώσσα προγραμματισμού, ορισμένη επί χάρτου, οπότε με βάση τα παραπάνω γίνεται κατανοητό πως υπάρχουν διάφορα προβλήματα.

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

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

Σελ 130 (και πέρα) δεν αναφέρεται προαιρετική ύπαρξη μεταβλητών, οπότε καλό είναι να αποφεύγεται το φαινόμενο τύποι μεταβλητών δίχως μεταβλητές στο τμήμα δηλώσεων.

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


θέση <- 0
Μάλλον αναφέρεσαι στη σελίδα 64.
Εξαρτάται το πως θα το διαχειριστείς. Ας πούμε επειδή έχει το done, δε χρειάζεται αρχικοποίηση, σωστή η παρατήρησή σου.

Η λογική είναι πως αν δε βρεθεί, θα πρέπει να επιστρέφει τιμή (στη θέση) και το 0 σημαίνει πως δε βρέθηκε το ζητούμενο. Το 0 είναι εκτός ορίων πίνακα ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ. Οι πίνακες στο μάθημα ξεκινούν από 1 και μάλιστα είναι στατικές δομές.

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

Αλγόριθμος Sequential_Search
Δεδομένα // n, table, key //
done ψευδής
position 0
i 1
Όσο (done=ψευδής) και (i<=n) επανάλαβε
Αν table=key τότε
done αληθής
position i
αλλιώς
i i+1
Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα //done, position //
Τέλος Sequential_Search


Αλγόριθμος Sequential_Search_δίχως_done
Δεδομένα // n, table, key //
position 0
i 1
Όσο ( position = 0 ) και (i<=n) επανάλαβε
Αν table=key τότε
done αληθής
position i
αλλιώς
i i+1
Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα //position//
Τέλος Sequential_Search_δίχως_done

To position από τη φύση του, αφού το αρχικοποιούμε με απαράδεκτη τιμή για δείκτη, εμπεριέχει τη boolean λογική που εξετάζει η done. Οπότε μπορούμε να επιστρέψουμε ΜΟΝΟ το position και να ξέρουμε κι αν βρέθηκε η τιμη ή όχι. Απλώς διαχειριζόμαστε το αποτέλεσμα με την ίδια τη position κι όχι με τη done.
Να αναφερθεί εδώ πως αυτή η λογική διδάσκεται στη Γ ΕΠΑΛ σε python κανονικότατα. Γιατί εμείς έχουμε μείνει στο πλεονασμό της done; Το ίδιο ισχύει σαφώς και στον αλγόριθμο της δυαδικής αναζήτησης.


Να στο κάνω χειρότερο;
Δεδομένα // n, table, key //  σημαίνει πως ΔΙΑΒΑΖΕΙΣ n μέγεθος πίνακα. Άρα ο αλγόριθμος σε ψευδογλώσσα είναι ασύμβατος με ΓΛΩΣΣΑ μιας και δε μπορείς να διαβάσεις προτού δηλωθούν οι διαστάσεις πινάκων.
Στόχος φαντάζομαι είναι το n να αναπαριστά μια οποιαδήποτε σταθερά (ελπίζω) και να δείχνει ένα γενικό κανόνα, αποσπασμένο από οποιαδήποτε γλώσσα προγραμματισμού. Αλλά βλέπεις τι συμβαίνει όταν πας να το βάλεις σε ΓΛΩΣΣΑ...



Γενικά όπως είπα και πρίν, υπάρχουν θέματα με το βιβλίο.

Σελ 132:
Σε μια εντολή εκχώρησης η μεταβλητή και η έκφραση πρέπει να είναι του ιδίου τύπου.

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

Σωστό βάσει βιβλίου θα ήταν το:
πρ <- 10 * 1.0
αλλά γι' αυτό όλοι κάνουν χρόνια τα στραβά μάτια. Διότι είναι εντελώς ανόητο να ασχολούμαστε με τέτοια πράγματα. Από το 1999 μέχρι σήμερα όμως πολλά προβλήματα παραμένουν.

Καλώς ήλθες στο forum. ΥΓ: Ενδιαφέρεσαι φαντάζομαι για το πως βαθμολογούν Πανελλήνιες;

mitskas9

ευχαριστώ πολύ για το μήνυμα. Όσο αφορά τη σειριακή αναζήτηση ,έτυχε καθηγητής ενός μαθητή μου να το κόψει μονάδες σε ΠΡΟΓΡΑΜΜΑ που δεν είχε αρχικοποιήσει τη θέση στο 0 ,ενώ τη χρησιμοποιούσε μόνο σε περίπτωση που το flag = Αληθής. Μπορώ να καταλάβω την αρχικοποίηση της θέσης σε σε 0 στη περίπτωση που αναγράφεται στα Αποτελέσματα// // 
όπως στη θεωρία, καθώς είτε βρεθεί είτε όχι θα πρέπει να έχει μια τιμή ,αλλά θεωρώ απαράδεκτο να το θεωρεί κάποιος απαραίτητο σε ένα πρόγραμμα.

Σίγουρο θα ήταν χρήσιμο νομίζω όλοι μας να ξέρουν ακριβώς που βαθμολογούνται τα γραπτά.

George Eco

Υπάρχει αρκετή ανομοιογένεια στο μάθημά μας, μεταξύ των Καθηγητών. Τόσο στο Δημίσιο, όσο και στον Ιδιωτικό τομέα, έχω ακούσει και δει πολλά. Ωστόσο αν δε δω το παιδί τι ακριβώς έγραψε δε μπορώ να πάρω θέση.

Στο δια ταύτα, αν απαίτησε αχρείαστη αρχικοποίηση είναι κρίμα να έκοψε. Αν η αρχικοποίηση είναι απαραίτητη για να μη σκάσει το πρόγραμμα, τότε καλώς έκοψε.

Νίκος Αδαμόπουλος

Παράθεση από: mitskas9 στις 28 Φεβ 2023, 10:36:03 ΜΜΌσο αφορά τη σειριακή αναζήτηση ,έτυχε καθηγητής ενός μαθητή μου να το κόψει μονάδες σε ΠΡΟΓΡΑΜΜΑ που δεν είχε αρχικοποιήσει τη θέση στο 0 ,ενώ τη χρησιμοποιούσε μόνο σε περίπτωση που το flag = Αληθής. Μπορώ να καταλάβω την αρχικοποίηση της θέσης σε σε 0 στη περίπτωση που αναγράφεται στα Αποτελέσματα// //
όπως στη θεωρία, καθώς είτε βρεθεί είτε όχι θα πρέπει να έχει μια τιμή ,αλλά θεωρώ απαράδεκτο να το θεωρεί κάποιος απαραίτητο σε ένα πρόγραμμα.
Έχεις δίκιο...

akalest0s

Παράθεση από: mitskas9 στις 22 Φεβ 2023, 02:13:55 ΠΜΚαλησπέρα σας,ως καινούριος θα ήθελα να κάνω κάποιες μικρές ερωτήσεις και αν έχετε την καλοσύνη να βοηθήσετε.

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

ΠΡΟΓΡΑΜΜΑ Α1
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:
  ΠΡΑΓΜΑΤΙΚΕΣ: χ
ΑΡΧΗ


Ο πίνακας τιμών πρέπει να έχει κάποια συγκεκριμένη μορφή;
Στον αλγόριθμο σειριακής αναζήτησης είναι υποχρεωτικό να  κάνουμε θέση <- 0 ως αρχικοποίηση;

Παρακαλώ αν κάποιος απαντήσει να είναι τεκμηριωμένη η απάντηση και όχι απλά εμπειρική κρίση.

Σας ευχαριστώ πολύ για το χρόνο σας!


Αν έχεις την υπομονή και τον χρόνο, σκάλισε το παρόν φόρουμ και θα βρεις απαντήσεις ή θα δεις τα αδιέξοδα στα οποία έχουμε οδηγηθεί παλιότερα. Αυτό είναι ίσως το καλύτερο που μπορεί να σου δώσει το Στέκι, στο οποίο παρεμπιπτόντως συμμετέχουν αξιοσέβαστοι καθηγητές.
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK

akalest0s

#6
Παράθεση από: mitskas9 στις 22 Φεβ 2023, 02:13:55 ΠΜΚαλησπέρα σας,ως καινούριος θα ήθελα να κάνω κάποιες μικρές ερωτήσεις και αν έχετε την καλοσύνη να βοηθήσετε.

Η μεταβλητή Χ θεωρείται διαφορετική από τη μεταβλητή χ ;

===
tldr:
Τεκμηρίωση δε νομίζω να υπάρχει σε κανένα από τα πρώτα 3 ερωτήματά σου, ενώ τα 2 τελευταία, δεν χρειάζονται καν.
====

α) Σχετικά με τα τρία πρώτα ερωτήματα..
Ένδειξη ότι τα κεφαλαία - μικρά στην ψευδογλώσσα δεν έχουν σημασία:
- Βιβλίο μαθητή, σ. 70, Αλγόριθμος Fibonacci1: η μεταβλητή Fib χρησιμοποιείται και ως fib.
Ως προς την Γλώσσα, δεν υπάρχει καμμία σχετική αναφορά, όπως είπε ο Γιώργος παραπάνω. Υπάρχει μόνο το σημείο σ. 127, βιβλίο μαθητή: "Σε όλο το βιβλίο (...) οι μεταβλητές (της ΓΛΩΣΣΑΣ) είναι με πεζά ή κεφαλαία αλλά με το πρώτο γράμμα πάντα κεφαλαίο. Τα σχόλια των προγραμμάτων είναι γραμμένα με πράσινο χρώμα."
το οποίο βασικά δεν ορίζει κάτι, απλώς κάνει μια σύμβαση που περιορίζεται στην έκταση του βιβλίου.
Μια ένδειξη επίσης είναι ότι σε όλα του τα παραδείγματα σε Γλώσσα, το βιβλίο μαθητή χρησιμοποιεί όντως με τις μεταβλητές, ακριβώς όπως τις δήλωσε. Αν πχ ξεκινάνε με κεφαλαίο και συνεχίζουν με μικρό (Μέσος_όρος), έτσι θα εμφανίζονται και μετά στο πρόγραμμα. Αν είναι με μικρό (i), έτσι είναι και μέσα στο πρόγραμμα. Αν είναι κεφαλαίο (Χ), εμφανίζεται παντού Χ.

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

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

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

Ελπίζω λίγο να βοήθησα. Καλό κουράγιο στις ασάφειες του μαθήματος.


υγ> Γιατί στο παράδειγμα που προανέφερα (Fibonacci, σ. 70), το βιβλίο αναφέρει την ακολουθία ως πρώτης τάξης; Δεύτερης δεν είναι; οκ λύθηκε η απορία
"Abstraction is not the first stage, but the last stage, in a mathematical development." MK
"I don't want to write about a high level thing, unless I fully understand about a low level thing" DK