ΘΕΜΑ Α

Ξεκίνησε από evry, 17 Ιουν 2021, 02:10:19 ΜΜ

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

evry

Λύσεις /Σχόλια / Παρατηρήσεις / προβλήματα αναφορικά με το Θέμα Α
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

themata

A5.
(1) 3
(2) -1
(3) Ψ
(4) 1
(5) Χ
(6) 1

evry

Πάλι τα ίδια λάθη.
Στο θέμα Α3 λέει η εκφώνηση   "ισοδύναμο", άρα τι σημαίνει αυτό?
Εγώ το καταλβαίνω ότι πρέπει να γίνουν τα ίδια βήματα με την ίδια σειρά , άρα
ΔΕΝ ΜΠΟΡΕΙΣ ΝΑ ΒΑΛΕΙΣ Αν...Τότε μέσα στην Μέχρις_ότου αλλά απέξω.

Η εκφώνηση έπρεπε να έλεγε "να εμφανίζει τα ίδια" ή στο "τέλος να παράγει τα ίδια αποτελέσματα"

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

Το ερώτημα είναι αν τα παρακάτω τμήματα προγράμματος είναι ισοδύναμα (ότι αυτό σημαίνει!!)
Κώδικας: ΓΛΩΣΣΑ
  ΔΙΑΒΑΣΕ α
  β <- 1
  ΑΝ α<=5 ΤΟΤΕ
     ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        β <- β + α
        ΔΙΑΒΑΣΕ α
     ΜΕΧΡΙΣ_ΟΤΟΥ α>5
  ΤΕΛΟΣ_ΑΝ


Κώδικας: ΓΛΩΣΣΑ
  ΔΙΑΒΑΣΕ α
  β <- 1
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
     ΑΝ α<=5 ΤΟΤΕ
        β <- β + α
        ΔΙΑΒΑΣΕ α
     ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ α>5
  ΤΕΛΟΣ_ΑΝ

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

kLee

Παράθεση από: themata στις 18 Ιουν 2021, 10:24:25 ΠΜ
A5.
(6) 1
Δε μου αρέσει και πολύ που έχουν ΜΕ_ΒΗΜΑ και μετά περιμένουν το (1), αλλά τέλος πάντων..
Ανδροκλής Πολυμένης

Πληροφορικός

bagelis

evry μου, πράγματα που δεν τα έχουμε λύσει εμείς, θα ζητήσουμε από τους μαθητές να τα έχουν λυμένα;

evry

Εμείς τα έχουμε λύσει μια χαρά εδώ και καιρό.
Η επιτροπή δεν τα έχει λύσει. Δεν επιτρέπεται μετά από τόσες συζητήσεις που έχουν γίνει για το θέμα αυτό και την έκφραση "ισοδύναμα" που δεν ορίζεται πουθενά
να βάζουν πάλι το ίδιο.

Παράθεση από: bagelis στις 18 Ιουν 2021, 10:37:40 ΠΜ
evry μου, πράγματα που δεν τα έχουμε λύσει εμείς, θα ζητήσουμε από τους μαθητές να τα έχουν λυμένα;

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

kLee

Παράθεση από: evry στις 18 Ιουν 2021, 10:46:42 ΠΜ
Εμείς τα έχουμε λύσει μια χαρά εδώ και καιρό.
Υπάρχει κάποιο λίνκ για αυτή τη συζήτηση;
Ανδροκλής Πολυμένης

Πληροφορικός

alkisg

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

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

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

alkisg

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

Αλλά εντάξει είναι κατανοητό το τι εννοεί ο ποιητής (θεματοδότης)...

evry

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

Παράθεση από: alkisg στις 18 Ιουν 2021, 11:28:26 ΠΜ
Ισοδύναμο (θα έπρεπε να) σημαίνει "ίδιας πολυπλοκότητας και με την ίδια έξοδο για κάθε δυνατή είσοδο".
Δεν έχει νόημα η αρίθμηση των βημάτων εντολών υψηλού επιπέδου, γιατί εξ' ορισμού κάποιες εντολές έχουν διαφορετική σημασία από άλλες παραπλήσιες.

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

Επομένως εγώ θεωρώ ότι τα τμήματα που έθεσε ο evry είναι όντως ισοδύναμα (ίδια πολυπλοκότητα και ίδια έξοδος για κάθε δυνατή είσοδο).
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

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

Παράθεση από: alkisg στις 18 Ιουν 2021, 11:36:13 ΠΜ
Αλλά εντάξει είναι κατανοητό το τι εννοεί ο ποιητής (θεματοδότης)...
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

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

Είναι σαν να συγκρίνουμε την εντολή
MOV AL,0
με την εντολή
XOR AL,AL

Και οι δύο μηδενίζουν τον καταχωρητή AL, αλλά η πρώτη κάνει πρόσβαση στη RAM, οπότε η δεύτερη είναι πιο γρήγορη.
Μπορούμε να τις πούμε ισοδύναμες μόνο σε επίπεδο πολυπλοκότητας και εισόδου/εξόδου.

evry

Ακριβώς
Παράθεση από: alkisg στις 18 Ιουν 2021, 11:41:40 ΠΜ
Μπορούμε να τις πούμε ισοδύναμες μόνο σε επίπεδο πολυπλοκότητας και εισόδου/εξόδου.

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

evry

Που το πήγες που το έφερες πάλι στην Assembly κατέληξες  :D

Παράθεση από: alkisg στις 18 Ιουν 2021, 11:41:40 ΠΜ
Είναι σαν να συγκρίνουμε την εντολή
MOV AL,0
με την εντολή
XOR AL,AL
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

Χαχα, αφού τα ξέρεις, οι πρώτες γλώσσες έχουν αυξημένη βαρύτητα στους προγραμματιστές!

Μια άλλη προσέγγιση θα ήταν να παραθέσω τον πηγαίο κώδικα υλοποίησης των εντολών ΕΠΙΛΕΞΕ και ΑΝ από τον Διερμηνευτή (και ιδιαίτερα της ρημαδο-ΓΙΑ), και μετά να σας προτείνω να υπολογίσουμε αν θα εκτελεστούν οι ίδιες εντολές Pascal ή όχι...!!! (που είναι το αντίστοιχο των "εντολών μηχανής" για intepreters...) ;D