Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: Νίκος Αδαμόπουλος στις 30 Απρ 2014, 02:14:00 ΠΜ

Τίτλος: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 30 Απρ 2014, 02:14:00 ΠΜ
Επαναληπτικό Διαγώνισμα για την Ανάπτυξη Εφαρμογών (2013-2014).

-- από την Oμάδα Διαγωνισμάτων του Στεκιού

Edit: προστέθηκε το αρχείο των λύσεων.
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: evoy στις 02 Μαΐου 2014, 01:19:00 ΜΜ
Έχετε αναρτήσει ή θα αναρτήσετε ενδεικτικές λύσεις ;
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 03 Μαΐου 2014, 12:39:35 ΠΜ
Παράθεση από: evoy στις 02 Μαΐου 2014, 01:19:00 ΜΜ
Έχετε αναρτήσει ή θα αναρτήσετε ενδεικτικές λύσεις ;

Σε λίγες μέρες θα αναρτηθούν και οι λύσεις...
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: epsilonXi στις 04 Μαΐου 2014, 10:50:52 ΠΜ
καλημέρα

έναν μικρό προβληματισμό έχω... θα μού άρεσε περισσότερο να μην ήτανε συνάρτηση το υποπρόγραμμα ΤΥΧΑΙΟΣ(α,β), αλλά διαδικασία ΤΥΧΑΙΟΣ(α,β,γ), με το σκεπτικό ότι ενώ θα καλείται και θα ξανακαλείται με τις ίδιες παραμέτρους, τα αποτελέσματα που θα δίνει θα είναι αλλιώτικα κάθε φορά... το οποίο σημαίνει ότι το αποτέλεσμα είναι -εν μέρει- ασυνάρτητο των δεδομένων
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 04 Μαΐου 2014, 02:14:06 ΜΜ
Παράθεση από: epsilonXi στις 04 Μαΐου 2014, 10:50:52 ΠΜ
καλημέρα

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

Συνάρτηση αντίστοιχη της ΤΥΧΑΙΟΣ υπάρχει στις γλώσσες προγραμματισμού. Η διαδικασία που προτείνεις τι διαφορετικό/παραπάνω θα έκανε από την αντίστοιχη συνάρτηση;

Πάντως νομίζω ότι είναι σαφές ότι δεν θα φτιάξουμε τη συνάρτηση ΤΥΧΑΙΟΣ αλλά θεωρούμε ότι υπάρχει έτοιμη.
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: epsilonXi στις 04 Μαΐου 2014, 07:24:42 ΜΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 04 Μαΐου 2014, 02:14:06 ΜΜ
Συνάρτηση αντίστοιχη της ΤΥΧΑΙΟΣ υπάρχει στις γλώσσες προγραμματισμού. Η διαδικασία που προτείνεις τι διαφορετικό/παραπάνω θα έκανε από την αντίστοιχη συνάρτηση;

αντίστοιχη της ΤΥΧΑΙΟΣ υπάρχει σε όλες τις γλώσσες, οκ, αλλά πόσες γλώσσες προγραμματισμού είναι που να διαχωρίζουν σε θεωρητικό ή πρακτικό επίπεδο τα υποπρογράμματα σε διαδικασίες και συναρτήσεις; εγώ μόνο την pascal έχω υπ' όψην μου...

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

αλλά είναι και η λέξη «συνάρτηση» που περιπλέκει τα πράγματα -πάντα μέσα στο κεφάλι μου αναφέρομαι- και με κάνει να θέλω το αποτέλεσμα να εξάγεται σε απόλυτη συνάρτηση/εξάρτηση με/από τις εισόδους, οπότε δε θα μού άρεσε τη μία να βλέπω ότι f(0,1) = 0.5 και την άλλη να βλέπω ότι f(0,1) = 0.94 ... άσε που δε θα μού άρεσε κι από μαθηματικής απόψεως κάτι τέτοιο
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: odysseas στις 04 Μαΐου 2014, 09:54:58 ΜΜ
Παράθεση από: epsilonXi στις 04 Μαΐου 2014, 07:24:42 ΜΜ
αλλά είναι και η λέξη «συνάρτηση» που περιπλέκει τα πράγματα -πάντα μέσα στο κεφάλι μου αναφέρομαι- και με κάνει να θέλω το αποτέλεσμα να εξάγεται σε απόλυτη συνάρτηση/εξάρτηση με/από τις εισόδους, οπότε δε θα μού άρεσε τη μία να βλέπω ότι f(0,1) = 0.5 και την άλλη να βλέπω ότι f(0,1) = 0.94 ... άσε που δε θα μού άρεσε κι από μαθηματικής απόψεως κάτι τέτοιο

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

Στα πλαίσια του ΑΕΠΠ δεν έχω δει και πολλές ασκήσεις να κάνουν χρήση μιας τέτοιας συνάρτησης και, από αυτή την άποψη, η χρήση της εδώ θα μπορούσε να συζητηθεί. Είναι βέβαιο όμως πως οι ασκήσεις που "ανοίγουν" αν δεχτεί κανείς να κάνει χρήση της ΤΥΧΑΙΟΣ είναι πολλές και ενδιαφέρουσες. Στην συγκεκριμένη άσκηση, θεωρώ προσωπικά ότι δεν θα είχε ιδιαίτερο ενδιαφέρον αν ζητούνταν από το χρήστη η ζαριά του.
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: itt στις 05 Μαΐου 2014, 12:11:54 ΜΜ
Παράθεση από: epsilonXi στις 04 Μαΐου 2014, 07:24:42 ΜΜ
αντίστοιχη της ΤΥΧΑΙΟΣ υπάρχει σε όλες τις γλώσσες, οκ, αλλά πόσες γλώσσες προγραμματισμού είναι που να διαχωρίζουν σε θεωρητικό ή πρακτικό επίπεδο τα υποπρογράμματα σε διαδικασίες και συναρτήσεις; εγώ μόνο την pascal έχω υπ' όψην μου...

Η Fortran (http://en.wikibooks.org/wiki/Fortran/Fortran_procedures_and_functions) έρχεται κατευθείαν στο κεφάλι.

Παράθεση από: epsilonXi στις 04 Μαΐου 2014, 07:24:42 ΜΜ
αφού στη ΓΛΩΣΣΑ καλώς ή κακώς επιβιώνει ένας τέτοιος διαχωρισμός, μού κολλάει στο κεφάλι μου πιο καλά ως διαδικασία, παρά ως συνάρτηση... δεν επιμένω

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

Παράθεση από: epsilonXi στις 04 Μαΐου 2014, 07:24:42 ΜΜ
αλλά είναι και η λέξη «συνάρτηση» που περιπλέκει τα πράγματα -πάντα μέσα στο κεφάλι μου αναφέρομαι- και με κάνει να θέλω το αποτέλεσμα να εξάγεται σε απόλυτη συνάρτηση/εξάρτηση με/από τις εισόδους, οπότε δε θα μού άρεσε τη μία να βλέπω ότι f(0,1) = 0.5 και την άλλη να βλέπω ότι f(0,1) = 0.94 ... άσε που δε θα μού άρεσε κι από μαθηματικής απόψεως κάτι τέτοιο

Δεν υπάρχει αντιστοιχία μαθηματικών συναρτήσεων με τίποτα που θα μπορούσαμε να κάνουμε προγραμματιστικά, οπότε πιστεύω ότι γενικά αν το σκέφτεσαι έτσι καλύτερα θα ήταν να απομακρυνθείς από αυτήν τη λογική.
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: COACH στις 06 Μαΐου 2014, 12:39:21 ΜΜ
polu omorfo diagonisma...
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: magic_technology στις 08 Μαΐου 2014, 07:51:51 ΜΜ
Αναρτήστε σας παρακαλώ τις λύσεις όσο πιο σύντομα μπορείτε, ευχαριστώ!!!
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: kostasprotopapas στις 13 Μαΐου 2014, 08:57:05 ΜΜ
Υπάρχει κάπου η λύση για το 3ο και 4ο θέμα;
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 13 Μαΐου 2014, 09:36:50 ΜΜ
Σε 1-2 μέρες θα ανεβάσουμε το αρχείο των λύσεων.
Παρόλα αυτά αν έχεις να προτείνεις κάποιες λύσεις, ανέβασέ τες για σχολιασμό.
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: kostasprotopapas στις 13 Μαΐου 2014, 10:00:22 ΜΜ
έγινε! θα τις ανεβάσω αυτές τις μέρες!
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: manpap στις 14 Μαΐου 2014, 04:56:13 ΜΜ
Πολύ ωραία θέματα παιδιά, μπράβο σε όλους σας.

Μια ενδεικτική λύση για το 4ο θέμα (την έγραψα πολύ γρήγορα, θα χει κάποια λαθάκια. αλλά καλύπτει τη βασική ιδέα :-)
Αλγόριθμος θεμα4
Δεδομένα //Σ//
ΜΑΧ<- (-1)
Αρχή_επανάληψης
   Διάβασε γ,σ
! Καλεσε Υπολ_Λεξη(Σ,γ,σ,Λεξη,Ν) ! στον Λεξη[15] φερνει το αντιγραφο
   π<-0
   στοπ<-ψευδης
  Όσο σ+π<=15 και όχι στοπ επανάλαβε
    Αν Σ[γ,σ+π]≠'#' τότε
     Λέξη[π+1]<-Σ[γ,σ+π]
     π<-Π+1
    αλλιώς
     στοπ<-Αληθής
    Τέλος_αν
  τελος_Επαναληψης
  Ν<-π

! μεγαλυτερη λεξη
  Αν Ν>μαχ τότε
   μαχ<-χ
   θγ<-γ
   θσ<-σ
  Τελος_Αν

! εισαγωγή λέξης και ελεγχος
  π<-1
  λάθος<-ψευδής
  Αρχή_επανάληψης
    Διάβασε χ
    Αν Λέξη[π]=' ' τότε
     Λέξη[π]<-χ
    αλλιώς_αν Λέξη[π]<>χ τότε
     λαθος<- Αληθής
    Τέλος_αν
    π<-Π+1
  Μέχρις_ότου λαθος ή π>Ν
  Αν όχι λάθος τότε
    Για π από 1 μέχρι Ν
      Σ[γ,σ+π-1]<-Λέξη[π]
    τέλος_επανάληψης
  αλλιώς
   Γράψε 'λαθος λεξη'
  τελος_αν

! Κενά<-ΕλεγχοςΚενων(Σ)
κενά<-0
Για ι από 1 μέχρι 15
  Για ξ από 1 μέχρι 15
   Αν Σ[ι,ξ]=' ' τότε
     κενά<-κενά+1
   Τέλος_αν
  Τέλος_επανάληψης
τέλος_επανάληψης
Αν κενά<>0 τότε Γράψε Κενά
Μέχρις_ότου Κενά=0
Γράψε μαχ, θγ,θσ
Τέλος θεμα4
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: patsimo στις 14 Μαΐου 2014, 11:49:48 ΜΜ
Γεια σε όλους και Χριστός Ανέστη
Καλή δύναμη και επιτυχία στα παιδιά. Ως γνωστό, να μην αγχώνονται ότι ΟΛΑ τα θέματα Πανελλαδικών θα είναι επιπέδου του Διαγωνίσματος του Στεκιού. Αυτό είναι ό,τι πρέπει για εξάσκηση (και φυσικά αξίζουν πολλά συγχαρητήρια στους αξιόλογους συναδέλφους που εργάστηκαν να βγάλουν τόσο ωραία θέματα).
Ακολουθεί μια λύση για το θέμα Δ που νομίζω δουλεύει. Σίγουρα θα έχει και άλλες, πιθανώς καλύτερες. Μπορείτε να ελέγξετε στη Γλώσσα βάζοντας μικρότερες τιμές για τον πίνακα π.χ. 5Χ5 πίνακα (προσοχή να αλλάξει ανάλογα ο έλεγχος εκεί που έχει το 16, "ΑΝ στ + i = 16 ΤΟΤΕ"...).
ΥΓ: Εννοείται η λύση μπορεί να 'χει και λάθη (αν και έγινε έλεγχος).
Να 'στε καλά,
Πάρης

ΠΡΟΓΡΑΜΜΑ ΣΤΑΥΡΟΛΕΞΟ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: γρ, στ, γρ_μεγ, στ_μεγ, i, j, μήκος, μήκος_μεγ, πλ_συμπλ, κενά
  ΧΑΡΑΚΤΗΡΕΣ: λέξη[15], Σ[15, 15]
  ΛΟΓΙΚΕΣ: τέλος, τέλος_λέξης, αναντιστοιχία
ΑΡΧΗ
  κενά <- 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 15
      ΑΝ Σ[i, j] = " " ΤΟΤΕ
        κενά <- κενά + 1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  τέλος <- ΨΕΥΔΗΣ
  μήκος_μεγ <- 0
  ΟΣΟ (ΟΧΙ τέλος) ΕΠΑΝΑΛΑΒΕ
    ΔΙΑΒΑΣΕ γρ, στ
    τέλος_λέξης <- ΨΕΥΔΗΣ
    αναντιστοιχία <- ΨΕΥΔΗΣ
    i <- 0
    πλ_συμπλ <- 0                  ! αριθμός σωστά συμπληρωμένων (ήδη) γραμμάτων
    ΟΣΟ (ΟΧΙ αναντιστοιχία) ΚΑΙ (ΟΧΙ τέλος_λέξης) ΕΠΑΝΑΛΑΒΕ
      ΑΝ στ + i = 16 ΤΟΤΕ
        τέλος_λέξης <- ΑΛΗΘΗΣ
      ΑΛΛΙΩΣ_ΑΝ Σ[γρ, στ + i] = "#" ΤΟΤΕ
        τέλος_λέξης <- ΑΛΗΘΗΣ
      ΑΛΛΙΩΣ
        ΔΙΑΒΑΣΕ λέξη[i + 1]           ! όχι τέλος λέξης - διάβασε επόμενο γράμμα
        ΑΝ Σ[γρ, στ + i] <> " " ΤΟΤΕ
          ΑΝ λέξη[i + 1] <> Σ[γρ, στ + i] ΤΟΤΕ
            αναντιστοιχία <- ΑΛΗΘΗΣ
          ΑΛΛΙΩΣ                                     !υπάρχει σωστό συμπληρωμένο
            πλ_συμπλ <- πλ_συμπλ + 1
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΑΝ
        i <- i + 1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ τέλος_λέξης ΤΟΤΕ
      μήκος <- i                    !βγαίνοντας από ΟΣΟ το i είναι = μήκος λέξης
      ΓΙΑ j ΑΠΟ 0 ΜΕΧΡΙ μήκος - 1
        Σ[γρ, στ + j] <- λέξη[j + 1]
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      κενά <- κενά - (μήκος - πλ_συμπλ)       ! μείωσε σωστά τα κενά σταυρόλεξου
      ΓΡΑΨΕ 'Κενά που απομένουν: ', κενά
      ΑΝ κενά = 0 ΤΟΤΕ
        τέλος <- ΑΛΗΘΗΣ
      ΤΕΛΟΣ_ΑΝ
      ΑΝ μήκος > μήκος_μεγ ΤΟΤΕ
        μήκος_μεγ <- μήκος
        γρ_μεγ <- γρ
        στ_μεγ <- στ
      ΤΕΛΟΣ_ΑΝ
    ΑΛΛΙΩΣ                                                        !αναντιστοιχία
      ΓΡΑΨΕ 'Αναντιστοιχία λέξης!'
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Μήκος μεγαλύτερης λέξης οριζοντίως ', μήκος_μεγ, ' με πρώτο γράμμα στη γραμμή: ', γρ_μεγ, ' , στήλη: ', στ_μεγ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: patsimo στις 15 Μαΐου 2014, 01:44:29 ΠΜ
Χαίρετε και πάλι,
Ακολουθεί μια λύση για το Θέμα Γ. Φυσικά ενδέχεται να υπάρχουν λάθη (αν και έγινε έλεγχος). Και να μην υπάρχουν, πιθανόν να μην είναι η καλύτερη και σίγουρα δεν είναι η μοναδική. Συγχαρητήρια και πάλι στους συναδέλφους που κουράστηκαν και έβγαλαν τόσο ωραίο αποτέλεσμα. Τους ευχαριστούμε για τον κόπο τους!
Καλό κουράγιο και καλή επιτυχία στα παιδιά
Πάρης

ΠΡΟΓΡΑΜΜΑ ΦΙΔΑΚΙ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Θ[3], Π[100], νικητής, πρώτος, δεύτερος, τρίτος, παίζει, ζμεγ, ζ, i, θέση_μετά_ζαριά
  ΛΟΓΙΚΕΣ: τέρμα
ΑΡΧΗ
  ΚΑΛΕΣΕ ΠΙΣΤΑ (Π)
  Θ[1] <- 1
  Θ[2] <- 1
  Θ[3] <- 1
  πρώτος <- 1                                                 !πρώτος ο 1 ως εδώ
  ζμεγ <- ΤΥΧΑΙΟΣ (1,6)                                            !ζαριά πρώτου
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 3
    ζ <- ΤΥΧΑΙΟΣ(1,6)
    ΑΝ ζ > ζμεγ ΤΟΤΕ
      πρώτος <- i
      ζμεγ <- ζ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ πρώτος = 1 ΤΟΤΕ
    δεύτερος <- 2
    τρίτος <- 3
  ΑΛΛΙΩΣ_ΑΝ πρώτος = 2 ΤΟΤΕ
    δεύτερος <- 3
    τρίτος <- 1
  ΑΛΛΙΩΣ
    δεύτερος <- 1
    τρίτος <- 2
  ΤΕΛΟΣ_ΑΝ
  τέρμα <- ΨΕΥΔΗΣ
  ΟΣΟ (ΟΧΙ τέρμα) ΕΠΑΝΑΛΑΒΕ
    i <- 1
    ΟΣΟ (ΟΧΙ τέρμα) ΚΑΙ i <= 3 ΕΠΑΝΑΛΑΒΕ             !έναρξη γύρου παιχνιδιού: πρώτος-δεύτερος-τρίτος
      ΑΝ i = 1 ΤΟΤΕ
        παίζει <- πρώτος
      ΑΛΛΙΩΣ_ΑΝ i = 2 ΤΟΤΕ
        παίζει <- δεύτερος
      ΑΛΛΙΩΣ
        παίζει <- τρίτος
      ΤΕΛΟΣ_ΑΝ
      ΓΡΑΨΕ 'Σειρά του παίκτη: ', παίζει
      ζ <- ΤΥΧΑΙΟΣ(1,6)
      θέση_μετά_ζαριά <- Θ[παίζει] + ζ       !θα εξαρτηθεί όμως που θα καταλήξει
      ΑΝ θέση_μετά_ζαριά > 100 ΤΟΤΕ
        θέση_μετά_ζαριά <- 100 - (θέση_μετά_ζαριά - 100)
      ΤΕΛΟΣ_ΑΝ
      ΑΝ θέση_μετά_ζαριά < 100 ΤΟΤΕ      !εδώ και κάτω θα φανεί που θα καταλήξει
        ΑΝ Π[θέση_μετά_ζαριά] = θέση_μετά_ζαριά + 1 ΤΟΤΕ       !απλός προορισμός
          Θ[παίζει] <- θέση_μετά_ζαριά    !δεν θέτουμε Π[θέση_μετά_ζαριά] γιατί θα το πήγαινε μια θέση ακόμα δεξιά χωρίς λόγο
        ΑΛΛΙΩΣ_ΑΝ Π[θέση_μετά_ζαριά] > θέση_μετά_ζαριά + 1  ΤΟΤΕ        !σκάλα
                 Θ[παίζει] <- Π[θέση_μετά_ζαριά]
                 ΓΡΑΨΕ <- 'ΣΚΑΛΑ'
        ΑΛΛΙΩΣ
                 Θ[παίζει] <- Π[θέση_μετά_ζαριά]
                 ΓΡΑΨΕ <- 'ΥΠΟΧΩΡΗΣΗ'
        ΤΕΛΟΣ_ΑΝ
      ΑΛΛΙΩΣ              !εννοείται θέση_μετά_ζαριά=100, μεγαλύτερο αποκλείεται
        Θ[παίζει] <- 100
        τέρμα <- ΑΛΗΘΗΣ
        νικητής <- παίζει
      ΤΕΛΟΣ_ΑΝ
      ΓΡΑΨΕ 'Νέα θέση του παίκτη ', παίζει, ':', Θ[παίζει] 
      i <- i + 1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ              !τέλος για γύρο παικτών πρώτος-δεύτερος-τρίτος
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Νίκησε ο παίκτης ', νικητής, '!!!'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ ΠΙΣΤΑ(Π)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Π[100], ι, εν, πρ
  ΛΟΓΙΚΕΣ: οκ
ΑΡΧΗ
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 99
    Π[ι] <- ι + 1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Π[100] <- 100
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 8         !έστω διάβασμα πρώτα για σκάλες & μετά για φιδάκια
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ εν, πρ
      ΑΝ ι <= 4 ΤΟΤΕ                                                     ! σκάλα
        οκ <- (πρ >= εν + 2)                              !περιορισμός για σκάλα
      ΑΛΛΙΩΣ                                                             !φιδάκι
        οκ <- (πρ < εν)                                  !περιορισμός για φιδάκι
      ΤΕΛΟΣ_ΑΝ
    ΜΕΧΡΙΣ_ΟΤΟΥ  (Π[εν] = εν + 1)  ΚΑΙ  (Π[πρ] = πρ + 1)  ΚΑΙ  οκ
    Π[εν] <- πρ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: vistrian στις 15 Μαΐου 2014, 10:06:25 ΠΜ
Και μία λύση από εμένα για το ΘΕΜΑ Δ

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

Αν Φ1 = Ψευδής και Φ2 = Ψευδής τότε

σε
Αν  Φ2 = Ψευδής τότε

διότι περνάμε τη λέξη από τον πίνακα στον άλλον μόνο εαν δεν υπάρχει αναντιστοιχία
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: vistrian στις 15 Μαΐου 2014, 10:37:17 ΠΜ
Οι λύσεις που έδωσαν οι περισσότεροι μαθητές μου για το ΘΕΜΑ Α και ΘΕΜΑ Β


Στο Α5 α) το 2 είναι Λ διορθώστε το
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 15 Μαΐου 2014, 07:05:55 ΜΜ
Παράθεση από: vistrian στις 15 Μαΐου 2014, 10:37:17 ΠΜ
Οι λύσεις που έδωσαν οι περισσότεροι μαθητές μου για το ΘΕΜΑ Α και ΘΕΜΑ Β

Η απάντηση στο Α2α, σχετικά με την έκφραση 0<=X<=20, δεν μου φαίνεται πολύ ικανοποιητική...
Συγκεκριμένα λέει:

Επειδή το Συντακτικό: Είναι το σύνολο των κανόνων που καθορίζει αν η διάταξη και η σύνδεση των λέξεων σε μία πρόταση είναι σωστή , η έκφραση  0<=X<=20  το παραβιάζει. Θα έπρεπε για να γίνει αποδεκτό από το συντακτικό της Γλώσσας να ήταν στην παρακάτω μορφή .  Χ>=0 και Χ<=20

Όμως δεν εξηγεί τι ακριβώς παραβιάζεται. Υπάρχει άλλη απάντηση;
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 15 Μαΐου 2014, 08:09:09 ΜΜ
Παράθεση από: vistrian στις 15 Μαΐου 2014, 10:37:17 ΠΜ
Οι λύσεις που έδωσαν οι περισσότεροι μαθητές μου για το ΘΕΜΑ Α και ΘΕΜΑ Β

Στο A5α:

2. Αν η συνθήκη της εντολής ΑΝ...ΤΟΤΕ του αλγορίθμου αλλάξει σε: Α[λ] > Α[λ-1]
τότε το αποτέλεσμα του αλγορίθμου είναι ο πίνακας Α με τα Ν+1 στοιχεία του σε
φθίνουσα σειρά.

...η απάντηση δεν είναι Σ. Ο σχετικός αλγόριθμος δεν είναι η φυσαλίδα ούτε κάνει κανονική ταξινόμηση. Χρησιμοποιείται μόνο για συγκεκριμένο σκοπό. Δες πιο καλά πώς λειτουργεί και θα καταλάβεις.
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: patsimo στις 15 Μαΐου 2014, 08:17:38 ΜΜ
Στις λύσεις των θεμάτων Γ' και Δ' των δύο προηγούμενων αναρτήσεων μου πρόσθεσα καναδυό εντολές ΓΡΑΨΕ που δεν παίζουν ιδιαίτερο ρόλο στην ουσία (και είχα παραλείψει αν και ζητούσε η εκφώνηση) π.χ. ΓΡΑΨΕ 'ΣΚΑΛΑ' στο θέμα Γ'.
Επίσης στο θέμα Δ' πρόσεξα μετά ζητά απλά αλγόριθμο, αλλά άφησα τη λύση σε πρόγραμμα της Γλώσσας μιας κ το είχα ξεκινήσει έτσι.
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: patsimo στις 15 Μαΐου 2014, 08:23:39 ΜΜ
Για το θέμα Α2α με το 0<=Χ<=20 θα έλεγα ότι εφόσον έχουμε δυο συγκριτικούς τελεστές (δύο <=) πρώτα γίνεται η σύγκριση αριστερά 0<=Χ που παίρνει μια λογική τιμή, έστω ΑΛΗΘΗΣ. Κατόπιν έχουμε ΑΛΗΘΗΣ <= 20. Δηλαδή έχουμε σύγκριση λογικής τιμής με αριθμητική τιμή, που είναι λάθος γιατί είναι διαφορετικού τύπου τιμές.

Εξάλλου (απλή υπενθύμιση) οι λογικές τιμές ακόμη και μεταξύ τους δεν επιτρέπεται να συμμετέχουν σε συγκρίσεις με <=, όπως και σε καμιά άλλη σύγκριση εκτός του = και <> (στη Γλώσσα πάντα)
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: vistrian στις 15 Μαΐου 2014, 08:52:33 ΜΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 15 Μαΐου 2014, 08:09:09 ΜΜ
Στο A5α:

2. Αν η συνθήκη της εντολής ΑΝ...ΤΟΤΕ του αλγορίθμου αλλάξει σε: Α[λ] > Α[λ-1]
τότε το αποτέλεσμα του αλγορίθμου είναι ο πίνακας Α με τα Ν+1 στοιχεία του σε
φθίνουσα σειρά.

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

Νίκο δίκιο έχεις εγώ έκανα λάθος. Λ απάντησαν οι μαθητές μου, από την ταχύτητα έβαλα Σ
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: vistrian στις 15 Μαΐου 2014, 08:55:26 ΜΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 15 Μαΐου 2014, 07:05:55 ΜΜ
Η απάντηση στο Α2α, σχετικά με την έκφραση 0<=X<=20, δεν μου φαίνεται πολύ ικανοποιητική...
Συγκεκριμένα λέει:

Επειδή το Συντακτικό: Είναι το σύνολο των κανόνων που καθορίζει αν η διάταξη και η σύνδεση των λέξεων σε μία πρόταση είναι σωστή , η έκφραση  0<=X<=20  το παραβιάζει. Θα έπρεπε για να γίνει αποδεκτό από το συντακτικό της Γλώσσας να ήταν στην παρακάτω μορφή .  Χ>=0 και Χ<=20

Όμως δεν εξηγεί τι ακριβώς παραβιάζεται. Υπάρχει άλλη απάντηση;

Όχι δυστυχώς έτσι απάντησαν οι περισσότεροι. Πάντως εγώ τους έδωσα τα μόρια που έπιανε η ερώτηση. 
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 16 Μαΐου 2014, 01:26:59 ΜΜ
Παράθεση από: vistrian στις 15 Μαΐου 2014, 10:37:17 ΠΜ
Οι λύσεις που έδωσαν οι περισσότεροι μαθητές μου για το ΘΕΜΑ Α και ΘΕΜΑ Β

Στο Β3, για τα ομώνυμα κλάσματα, στον υπολογισμό των νέων αριθμητών και του κοινού παρονομαστή, δίνεται η λύση:

ΔΙΑΒΑΣΕ α1, π1, α2, π2
α1 <- α1 * ΕΚΠ(π1,π2) DIV  π1
α2 <- α2 * ΕΚΠ (π1,π2) DIV π2
π <- ΕΚΠ(π1,π2)
ΓΡΑΨΕ α1, α2, π

Δεδομένου ότι τα α1, π1, α2, π2 είναι ακέραιες μεταβλητές, αλλά και ότι το ΕΚΠ(π1,π2) θα διαιρείται ακριβώς με το π1 και το π2, αναρωτιέμαι αν έπρεπε να θεωρηθεί λάθος, τουλάχιστον σε τέτοιο βαθμό ώστε να κοπούν μονάδες, αν οι μαθητές έδιναν την απάντηση:

ΔΙΑΒΑΣΕ α1, π1, α2, π2
α1 <- α1 * ΕΚΠ(π1,π2) /  π1
α2 <- α2 * ΕΚΠ (π1,π2) / π2
π <- ΕΚΠ(π1,π2)
ΓΡΑΨΕ α1, α2, π

Τι λέτε;
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: vistrian στις 16 Μαΐου 2014, 02:23:12 ΜΜ
Παράθεση από: Νίκος Αδαμόπουλος στις 16 Μαΐου 2014, 01:26:59 ΜΜ
Στο Β3, για τα ομώνυμα κλάσματα, στον υπολογισμό των νέων αριθμητών και του κοινού παρονομαστή, δίνεται η λύση:

ΔΙΑΒΑΣΕ α1, π1, α2, π2
α1 <- α1 * ΕΚΠ(π1,π2) DIV  π1
α2 <- α2 * ΕΚΠ (π1,π2) DIV π2
π <- ΕΚΠ(π1,π2)
ΓΡΑΨΕ α1, α2, π

Δεδομένου ότι τα α1, π1, α2, π2 είναι ακέραιες μεταβλητές, αλλά και ότι το ΕΚΠ(π1,π2) θα διαιρείται ακριβώς με το π1 και το π2, αναρωτιέμαι αν έπρεπε να θεωρηθεί λάθος, τουλάχιστον σε τέτοιο βαθμό ώστε να κοπούν μονάδες, αν οι μαθητές έδιναν την απάντηση:

ΔΙΑΒΑΣΕ α1, π1, α2, π2
α1 <- α1 * ΕΚΠ(π1,π2) /  π1
α2 <- α2 * ΕΚΠ (π1,π2) / π2
π <- ΕΚΠ(π1,π2)
ΓΡΑΨΕ α1, α2, π

Τι λέτε;

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

Σε εμένα το έκανε ένας μαθητής και του έδωσα 2 από τις 6 μονάδες, δηλ έπιασα σωστό μόνο το  π <- ΕΚΠ(π1,π2)

Εναλλακτικά Θα μπορούσαν να γράψουν:
ΔΙΑΒΑΣΕ α1, π1, α2, π2
α1 <- α1 * Α_Μ(ΕΚΠ(π1,π2) /  π1)
α2 <- α2 * Α_Μ(ΕΚΠ (π1,π2) / π2)
π <- ΕΚΠ(π1,π2)
ΓΡΑΨΕ α1, α2, π

Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: evry στις 16 Μαΐου 2014, 03:36:48 ΜΜ
Για ένα τέτοιο λάθος δεν μπορούν να κοπούν πάνω από 2 μονάδες (και το 2 ειναι αυστηρο) για τους παρακάτω λόγους:
1) Δεν είναι αυτός ο βασικός διδακτικός στόχος του θέματος
2) Αν για ένα λάθος σε μια εντολή την κόβαμε όλη τότε όλοι θα έπαιρναν στις πανελλήνιες -20%
Δεν βαθμολογούμε γραμμή γραμμή αλλά και τη γενικότερη φιλοσοφία της λύσης
3) Δεν κόβουμε για το ίδιο λάθος 2 φορές.

Προσωπικά δεν θα έκοβα τίποτα διότι το συγκεκριμένο πρόβλημα οφείλεται σε αδυναμία της γλώσσας και όχι σε λάθος του προγραμματιστή. Σε άλλη γλώσσα θα γινόταν αυτόματα casting.
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: vistrian στις 16 Μαΐου 2014, 04:48:12 ΜΜ
Αν επρόκειτο για ΘΕΜΑ Γ ή ΘΕΜΑ Δ και εγώ  θα έκοβα το πολύ 2 μόρια, αλλά επειδή το Θέμα είναι συμπλήρωσης κενού τότε είναι λάθος, όπως και εάν ήταν σε ΘΕΜΑ Σωστού ή Λάθους.

Το ίδιο συμβαίνει και στο Θέμα που αφορά πίνακα τιμών. Όλοι γνωρίζουμε ότι η οδηγία λέει πως εάν ένας μαθητής κάνει ένα αριθμητικό λάθος και οι υπόλοιπες εντολές έχουν εκτελεστεί σωστά με βάση αυτό το λάθος,τότε να αφαιρούμε ΜΟΝΟ ΕΝΑ ΜΟΡΙΟ.

Ερώτηση: Πως βαθμολογείτε όταν η λύση του πίνακα τιμών είναι 10 γραμμές και ο μαθητής αφού κάνει το αριθμητικό λάθος έχει κάνει 15 γραμμές λύση; ΜΟΝΟ -1. Άρα 9/10

Εάν όμως έχει κάνει αριθμητικό λάθος και η λύση του είναι 5 γραμμές τότε τι του δίνεται; πάλι 9/10;

Το ρωτώ γιατί η απάντηση που είχα πάρει ήταν 4/10 να του δώσω.

Άρα εάν είναι να κάνεις λάθος τότε το λάθος να είναι τέτοιο ώστε η λύση να είναι >= της κανονικής.

Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: vistrian στις 16 Μαΐου 2014, 04:57:49 ΜΜ
Παράθεση από: patsimo στις 15 Μαΐου 2014, 08:23:39 ΜΜ
Για το θέμα Α2α με το 0<=Χ<=20 θα έλεγα ότι εφόσον έχουμε δυο συγκριτικούς τελεστές (δύο <=) πρώτα γίνεται η σύγκριση αριστερά 0<=Χ που παίρνει μια λογική τιμή, έστω ΑΛΗΘΗΣ. Κατόπιν έχουμε ΑΛΗΘΗΣ <= 20. Δηλαδή έχουμε σύγκριση λογικής τιμής με αριθμητική τιμή, που είναι λάθος γιατί είναι διαφορετικού τύπου τιμές.

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

Συμφωνώ απόλυτα. Πολύ ωραία απάντηση

παράδειγμα

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

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


Δεν είναι δυνατή η πράξη «>=» με τα δοθέντα ορίσματα.
«0<=χ»: λογική έκφραση
«10»: ακέραια σταθερά
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 16 Μαΐου 2014, 06:20:10 ΜΜ
Παράθεση από: evry στις 16 Μαΐου 2014, 03:36:48 ΜΜ
Για ένα τέτοιο λάθος δεν μπορούν να κοπούν πάνω από 2 μονάδες (και το 2 ειναι αυστηρο) για τους παρακάτω λόγους:
1) Δεν είναι αυτός ο βασικός διδακτικός στόχος του θέματος
2) Αν για ένα λάθος σε μια εντολή την κόβαμε όλη τότε όλοι θα έπαιρναν στις πανελλήνιες -20%
Δεν βαθμολογούμε γραμμή γραμμή αλλά και τη γενικότερη φιλοσοφία της λύσης
3) Δεν κόβουμε για το ίδιο λάθος 2 φορές.

Προσωπικά δεν θα έκοβα τίποτα διότι το συγκεκριμένο πρόβλημα οφείλεται σε αδυναμία της γλώσσας και όχι σε λάθος του προγραμματιστή. Σε άλλη γλώσσα θα γινόταν αυτόματα casting.

Συμφωνώ απόλυτα!

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

Όμως να κοπούν 4 στις 6 μονάδες για κάτι τέτοιο, δηλαδή να αγνοηθεί τελείως η σκέψη του μαθητή ότι θα πρέπει να πολλαπλασιάσει τον αριθμητή με το ΕΚΠ και να διαιρέσει με τον παρονομαστή, ... δεν το περίμενα με τίποτα!!!

Συμπέρασμα: Άλλοι συνάδελφοι θεωρούν ότι το μάθημα είναι προγραμματισμός και άλλοι αλγοριθμική.
Ερώτηση: Ποιο από τα παραπάνω θα μπορούσε να σταθεί ως μάθημα στο Γενικό Λύκειο;

Υ.Γ. Πάντως στις λύσεις που θα αναρτηθούν θα προστεθεί ένα σχετικό σχόλιο!
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 18 Μαΐου 2014, 09:06:20 ΜΜ
Προστέθηκε το αρχείο των λύσεων στο αρχικό μήνυμα (https://alkisg.mysch.gr/steki/index.php?topic=5744.msg64856#msg64856).
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: danaos75 στις 19 Μαΐου 2014, 09:36:30 ΠΜ
Παιδιά νομίζω στο Θέμα Γ στην διαδικασία Δημιουργία_Πίστας
λείπει η εκχώρηση κάθε σκάλας και φιδακίου στο πίνακα Πίστα.
    ΜΕΧΡΙΣ_ΟΤΟΥ Πίστα[θ]=θ+1 ΚΑΙ Πίστα[π]=π+1 ΚΑΙ π>θ+1
    Πίστα[θ] <- π
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

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

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

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

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

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

Ευχαριστούμε για τα καλά σου λόγια!
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: vistrian στις 19 Μαΐου 2014, 11:21:36 ΜΜ
ΘΕΜΑ Δ

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

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

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

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

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

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

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

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


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

και ένα δεύτερο ερώτημα
Για ποιον λόγο να διαβάσουμε γράμμα εάν έχουμε φτάσει σε # ;
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 20 Μαΐου 2014, 01:16:05 ΠΜ
Παράθεση από: vistrian στις 19 Μαΐου 2014, 11:21:36 ΜΜ
ΘΕΜΑ Δ

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

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

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


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

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

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

Ίσως για λόγους τάξης να έπρεπε αυτή η ΑΝ να είναι εμφωλευμένη στο αλλιώς της προηγούμενης, ... αν και θέλω να πιστεύω ότι δεν επηρεάζεται!
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: patsimo στις 22 Μαΐου 2014, 02:23:16 ΠΜ
Παράθεση από: vistrian στις 16 Μαΐου 2014, 04:57:49 ΜΜ

παράδειγμα

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

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


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


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

Ευχαριστώ πολύ.
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 22 Μαΐου 2014, 01:33:15 ΜΜ
Παράθεση από: 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 και παρακάτω.
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: alfabit στις 02 Ιουν 2014, 12:46:49 ΜΜ
Καλησπέρα σε όλους και συγχαρητήρια για την προσπάθεια και για το ποιοτικό σας διαγώνισμα. Έχω μια μικρή ένσταση για το υποερώτημα Δ1.Β του θέματος 4.

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

Ευχαριστώ πολύ!
Τίτλος: Απ: Τελικό Επαναληπτικό Διαγώνισμα 2013-2014 από το Στέκι
Αποστολή από: Νίκος Αδαμόπουλος στις 02 Ιουν 2014, 11:10:51 ΜΜ
Παράθεση από: alfabit στις 02 Ιουν 2014, 12:46:49 ΜΜ
Καλησπέρα σε όλους και συγχαρητήρια για την προσπάθεια και για το ποιοτικό σας διαγώνισμα. Έχω μια μικρή ένσταση για το υποερώτημα Δ1.Β του θέματος 4.

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

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

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

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