Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι

Ξεκίνησε από Νίκος Αδαμόπουλος, 30 Απρ 2014, 02:14:00 ΠΜ

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

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


danaos75

Παιδιά νομίζω στο Θέμα Γ στην διαδικασία Δημιουργία_Πίστας
λείπει η εκχώρηση κάθε σκάλας και φιδακίου στο πίνακα Πίστα.
    ΜΕΧΡΙΣ_ΟΤΟΥ Πίστα[θ]=θ+1 ΚΑΙ Πίστα[π]=π+1 ΚΑΙ π>θ+1
    Πίστα[θ] <- π
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

το ίδιο και στο φιδάκι.

Τα θέματα είναι καταπληκτικά.  ;)

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

Παράθεση από: danaos75 στις 19 Μαΐου 2014, 09:36:30 ΠΜ
Παιδιά νομίζω στο Θέμα Γ στην διαδικασία Δημιουργία_Πίστας
λείπει η εκχώρηση κάθε σκάλας και φιδακίου στο πίνακα Πίστα.
    ΜΕΧΡΙΣ_ΟΤΟΥ Πίστα[θ]=θ+1 ΚΑΙ Πίστα[π]=π+1 ΚΑΙ π>θ+1
    Πίστα[θ] <- π
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

το ίδιο και στο φιδάκι.

Τα θέματα είναι καταπληκτικά.  ;)

Σωστά! Θα διορθωθεί.

Ευχαριστούμε για τα καλά σου λόγια!

vistrian

#33
ΘΕΜΑ Δ

Νομίζω ότι το παρακάτω τμήμα  έχει κάποιο λαθάκι.

! Διάβασμα και έλεγχος μιας λέξης

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ Λ[κ]
ΑΝ Σ[γραμμή, στ]<>" " ΚΑΙ Σ[γραμμή, στ]<>Λ[κ] ΤΟΤΕ
αναντιστοιχία ← ΑΛΗΘΗΣ

εάν διαβάσουμε κάποιο γράμμα και στον πίνακα Σ έχει # τότε γίνεται Αληθης πχ

Διάβασε Λ[κ] έστω το γράμμα Κ

Αν # <> " " που ισχύει και # <> Κ που πάλι ισχύει τότε γίνεται Αληθης η συνθήκη και άρα η μεταβλητή αναντιστοιχία  γίνεται Αληθής

οπότε με το συνδυασμό της παρακάτω εντολής

ΑΝ αναντιστοιχία=ΑΛΗΘΗΣ ΤΟΤΕ
ΕΜΦΑΝΙΣΕ "Η λέξη δεν γίνεται αποδεκτή!"


είναι λάθος διότι δεν έχουμε αναντιστοιχία απλά έχουμε το τέλος της λέξης δλδ #

και ένα δεύτερο ερώτημα
Για ποιον λόγο να διαβάσουμε γράμμα εάν έχουμε φτάσει σε # ;
VR in Computing

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

Παράθεση από: vistrian στις 19 Μαΐου 2014, 11:21:36 ΜΜ
ΘΕΜΑ Δ

Νομίζω ότι το παρακάτω τμήμα  έχει κάποιο λαθάκι.
...

Το ζητούμενο είναι:

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


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

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

ΑΝ στ>15 ΤΟΤΕ
  όριο< ← ΑΛΗΘΗΣ
ΑΛΛΙΩΣ_ΑΝ Σ[γραμμή, στ]="#" ΤΟΤΕ
  μαύρο ← ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ

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

patsimo

Παράθεση από: vistrian στις 16 Μαΐου 2014, 04:57:49 ΜΜ

παράδειγμα

Αλγόριθμος ασκ
    Διάβασε χ
        Αν 0<=χ>=10 τότε
            Εμφάνισε "οκ"
        Τέλος_αν
Τέλος ασκ

Οθόνη εκτέλεσης


Δεν είναι δυνατή η πράξη «>=» με τα δοθέντα ορίσματα.
«0<=χ»: λογική έκφραση
«10»: ακέραια σταθερά


Μπράβο σας για ωραία ιδέα να δώσετε το παράδειγμα με την οθόνη εκτέλεσης και τα μηνύματα, όπου φαίνεται... Να 'στε καλά

Avengeil

#36
Μια μικρή ερώτηση σχετικά με το Β3:
    διάβασα την παρατήρηση και δεν καταλαβαίνω το πώς με την τρίτη εναλλακτική (χωρίς Α_Μ ή div)  εισάγεται στα α1, α2 πραγματικές τιμές. Οι εκφράσεις ΕΚΠ(π1,π2)/ π1 και ΕΚΠ(π1,π2) DIV π1 δε θα δώσουν το ίδιο ακέραιο αποτέλεσμα?

Ευχαριστώ πολύ.

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

Παράθεση από: Avengeil στις 22 Μαΐου 2014, 12:55:33 ΜΜ
Μια μικρή ερώτηση σχετικά με το Β3:
    διάβασα την παρατήρηση και δεν καταλαβαίνω το πώς με την τρίτη εναλλακτική (χωρίς Α_Μ ή div)  εισάγεται στα α1, α2 πραγματικές τιμές. Οι εκφράσεις ΕΚΠ(π1,π2)/ π1 και ΕΚΠ(π1,π2) DIV π1 δε θα δώσουν το ίδιο ακέραιο αποτέλεσμα?

Στο πλαίσιο του μαθήματος έχουμε:

Το 15 είναι ακέραια τιμή. Το 15.0 είναι πραγματική τιμή.

Το 30 div 2 δίνει αποτέλεσμα 15.  Το 30/2 δίνει αποτέλεσμα 15.0

Δηλαδή ο τελεστής / θεωρούμε ότι δίνει πάντα αποτέλεσμα πραγματικού τύπου.

Στην ΓΛΩΣΣΑ δεν μπορούμε να εκχωρούμε πραγματική τιμή σε ακέραια μεταβλητή.
Δηλαδή το a1<-15.0 δεν είναι σωστό συντακτικά αν η μεταβλητή a1 είναι δηλωμένη ως Ακέραια.

Δες σχετική συζήτηση στο https://alkisg.mysch.gr/steki/index.php?topic=5744.msg65037#msg65037 και παρακάτω.

alfabit

Καλησπέρα σε όλους και συγχαρητήρια για την προσπάθεια και για το ποιοτικό σας διαγώνισμα. Έχω μια μικρή ένσταση για το υποερώτημα Δ1.Β του θέματος 4.

Ζητάμε να αποθηκεύεται ένα άγνωστο πλήθος γραμμάτων σε πίνακα. Νομίζω ότι παίζουμε λίγο με τα όρια της στατικής δομής. Πώς θα δήλωνε ένας μαθητής τον πίνακα Λ σε ΓΛΩΣΣΑ; Θα μου απαντήσει κάποιος ότι απλά θα τον δήλωνε το μέγιστο δυνατό πχ Λ[15]. Αλλά δεν νομίζω ότι αυτή είναι σωστή τακτική. (φανταστείτε έναν πίνακα με μέγιστο πλήθος 1000 θέσεις και να χρησιμοποιούνται μόνο οι 3 -> τεράστια σπατάλη μνήμης)

Ευχαριστώ πολύ!

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

Παράθεση από: alfabit στις 02 Ιουν 2014, 12:46:49 ΜΜ
Καλησπέρα σε όλους και συγχαρητήρια για την προσπάθεια και για το ποιοτικό σας διαγώνισμα. Έχω μια μικρή ένσταση για το υποερώτημα Δ1.Β του θέματος 4.

Ζητάμε να αποθηκεύεται ένα άγνωστο πλήθος γραμμάτων σε πίνακα. Νομίζω ότι παίζουμε λίγο με τα όρια της στατικής δομής. Πώς θα δήλωνε ένας μαθητής τον πίνακα Λ σε ΓΛΩΣΣΑ; Θα μου απαντήσει κάποιος ότι απλά θα τον δήλωνε το μέγιστο δυνατό πχ Λ[15]. Αλλά δεν νομίζω ότι αυτή είναι σωστή τακτική. (φανταστείτε έναν πίνακα με μέγιστο πλήθος 1000 θέσεις και να χρησιμοποιούνται μόνο οι 3 -> τεράστια σπατάλη μνήμης)

Ευχαριστώ πολύ!

Ευχαριστούμε για τα καλά σου λόγια!

Σχετικά με τον πίνακα στον οποίο θα αποθηκεύονται τα γράμματα της προτεινόμενης λέξης, πράγματι την απάντηση την δίνεις ο ίδιος, θα είναι Λ[15], μέγεθος που προκύπτει από τον δισδιάστατο πίνακα του σταυρολέξου. Ακόμα κι αν δεν συμπληρώνονται όλες οι θέσεις του, δεν μπορούμε να πούμε ότι πρόκειται για σπατάλη μνήμης! Πόσο μάλιστα που αυτός ο πίνακας είναι ένας όλος κι όλος! Η χρήση αυτού του πίνακα είναι η "προσωρινή" αποθήκευση των γραμμάτων της προτεινόμενης λέξης έτσι ώστε αν αυτή δεν ταιριάζει με τα γράμματα που ήδη έχουν συμπληρωθεί στο σταυρόλεξο, τότε αυτό να μην αλλοιωθεί καθόλου. Αν τα γράμματα που έδινε ο χρήστης έμπαιναν απευθείας μέσα στο σταυρόλεξο και σε κάποιο γράμμα προέκυπτε ανακολουθία με τα γράμματα άλλων λέξεων, τότε θα ήταν πρόβλημα η διαγραφή των προηγούμενων γραμμάτων της τρέχουσας λέξης που θα είχαν ήδη αποθηκευτεί στο σταυρόλεξο.