Θέματα Επαναληπτικών Ημερησίων Λυκείων

Ξεκίνησε από Σπύρος Δουκάκης, 15 Ιουν 2013, 09:56:11 ΠΜ

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

Λαμπράκης Μανώλης

και κάτι άλλο τώρα που παρατηρώ  ΟΣΟ F = ΨΕΥΔΗΣ ΚΑΙ i <= 1000 ΕΠΑΝΑΛΑΒΕ ---> μήπως το i Θ πάρει τιμές μέχρι 991 ?? από κει και πάνω αν συγκρίνουμε βγαίνουμε παί από τα όρια του πίνακα, αν το διαβάζω σωστά

giagia

Παράθεση από: dimitris76 στις 07 Ιουλ 2013, 10:36:42 ΠΜ
F <- ΨΕΥΔΗΣ
i <-1
ΟΣΟ i<=991 ΚΑΙ F=ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
J<- 0
ΟΣΟ j<=9 ΚΑΙ S[ j+i ] = W [j+1 ] ΕΠΑΝΑΛΑΒΕ
j <- j + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ j=10 ΤΟΤΕ
F <-ΑΛΗΘΗΣ
ΑΛΛΙΩΣ
i <- i + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ F = ΑΛΗΘΗΣ TOTE
ΓΡΑΨΕ i
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'ΔΕ ΒΡΕΘΗΚΕ'
ΤΕΛΟΣ_ΑΝ

Μια διόρθωση που χρειάζεται η παραπάνω λύση είναι:
γραμμή 5: ΟΣΟ j<=9 ΚΑΙ S[ j mod 10 + i ] = W [j mod 10 +1 ] ΕΠΑΝΑΛΑΒΕ


petrosp13

Θα μπορούσαν να βάλουν κάτι ακόμα πιο διαστημικό για να μιλάμε για μέρες

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

Ο κώδικας είναι (υποτίθεται) δημιουργία ιδέας εκ του μηδενός για την υλοποίηση της λύσης ενός προβλήματος και φυσικά προκύπτουν πολλές και διαφορετικές όμορφες λύσεις
Το να βάλεις έναν καλό προγραμματιστή να σπάει το κεφάλι του για να τελειώσει έναν μισό κώδικα που ξεκίνησε κάποιος άλλος, είναι μάλλον κάτι αντιδεοντολογικό
Και δεν μιλάμε καν για μισοτελειωμένο κώδικα
Μιλάμε για κώδικα που είναι τελειωμένος και απλά πρέπει να μαντέψεις συνθήκες και εντολές!

Συγνώμη για το off topic
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

P.Tsiotakis

Παράθεση από: mkouv στις 07 Ιουλ 2013, 11:00:11 ΜΜ
και κάτι άλλο τώρα που παρατηρώ  ΟΣΟ F = ΨΕΥΔΗΣ ΚΑΙ i <= 1000 ΕΠΑΝΑΛΑΒΕ ---> μήπως το i Θ πάρει τιμές μέχρι 991 ?? από κει και πάνω αν συγκρίνουμε βγαίνουμε παί από τα όρια του πίνακα, αν το διαβάζω σωστά

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

Λαμπράκης Μανώλης

Παναγιώτη εγώ θα άλλαζα και το ΑΝ j = 10 KAI S[i + 9] = W[10] ΤΟΤΕ  σε Αν j = 9 και s[i+9] = W[10]....η δευτερη συνθήκη μας διασφαλίζει το δέκατο στοιχείο, αν το j είνια ήδη 10 τι κάνει η δεύτερη συνθήκη??? έτσι κ αλλιώς, αν κάνω κάποιο λάθος διορθώστε με, το j δεν πρόκυται να γίνει 10 έτσι που είνια η δομή του αλγορίθμου....αν κάτι μου έχει ξεφύγει και κάνω κάποιο λάθος παρακαλώ τις γνώμες σας... καλό μεσημέρι σε όλους

hobbit

Στο Αν που βρίσκεται μετά την εσωτερική Όσο έχει 1 κενό.
Συμπέρασμα : Δεν μπορούμε να έχουμε σύνθετη συνθήκη (όπως στις Όσο που έχουν 2 κενά) ;

giagia

Παράθεση από: petrosp13 στις 08 Ιουλ 2013, 09:17:41 ΠΜ
Θα μπορούσαν να βάλουν κάτι ακόμα πιο διαστημικό για να μιλάμε για μέρες

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

Ο κώδικας είναι (υποτίθεται) δημιουργία ιδέας εκ του μηδενός για την υλοποίηση της λύσης ενός προβλήματος και φυσικά προκύπτουν πολλές και διαφορετικές όμορφες λύσεις
Το να βάλεις έναν καλό προγραμματιστή να σπάει το κεφάλι του για να τελειώσει έναν μισό κώδικα που ξεκίνησε κάποιος άλλος, είναι μάλλον κάτι αντιδεοντολογικό
Και δεν μιλάμε καν για μισοτελειωμένο κώδικα
Μιλάμε για κώδικα που είναι τελειωμένος και απλά πρέπει να μαντέψεις συνθήκες και εντολές!

Συγνώμη για το off topic
Έχεις απόλυτο δίκιο! Κάτι τέτοια θέματα δίνουν την εντύπωση της "εξυπνάδας" (με την κακή έννοια δυστυχώς)

giagia

Παράθεση από: hobbit στις 08 Ιουλ 2013, 02:58:45 ΜΜ
Στο Αν που βρίσκεται μετά την εσωτερική Όσο έχει 1 κενό.
Συμπέρασμα : Δεν μπορούμε να έχουμε σύνθετη συνθήκη (όπως στις Όσο που έχουν 2 κενά) ;
Θεωρώ πως η λογική αυτών που έθεταν το θέμα ήταν να ΜΗΝ χρησιμοποιηθεί σύνθετη συνθήκη. Όμως κάτι τέτοιο ΔΕΝ αναφέρεται πουθενά. Η εκφώνηση ζητά να συμπληρωθούν τα κενά. Θα μπορούσε, αντίστροφα, κανείς να ισχυριστεί ότι στις περιπτώσεις των Όσο η εκφώνηση ΑΠΑΙΤΕΙ σύνθετη συνθήκη με τη χρήση του λογικού τελεστή ΚΑΙ (και όχι τυχόν απλή), ενώ στην ΑΝ δίνει ΑΠΟΛΥΤΗ ελευθερία στο χρήστη να χρησιμοποιήσει σύνθετη ή απλή συνθήκη.

P.Tsiotakis

Παράθεση από: mkouv στις 08 Ιουλ 2013, 02:53:48 ΜΜ
Παναγιώτη εγώ θα άλλαζα και το ΑΝ j = 10 KAI S[i + 9] = W[10] ΤΟΤΕ  σε Αν j = 9 και s[i+9] = W[10]....η δευτερη συνθήκη μας διασφαλίζει το δέκατο στοιχείο, αν το j είνια ήδη 10 τι κάνει η δεύτερη συνθήκη??? έτσι κ αλλιώς, αν κάνω κάποιο λάθος διορθώστε με, το j δεν πρόκυται να γίνει 10 έτσι που είνια η δομή του αλγορίθμου....αν κάτι μου έχει ξεφύγει και κάνω κάποιο λάθος παρακαλώ τις γνώμες σας... καλό μεσημέρι σε όλους

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

Λαμπράκης Μανώλης

Καλημέρα σε όλους...Παναγιώτη εγώ έχω μπερδευτεί με αυτό το θέμα.....δεν ξέρω αν τα αναλύω και σωστά, αυτό που λέω είναι πως τo j δεν πρόκυται να γίνει 10.....στις δομές όσο ελέγχουμε μέχρι το 9ο στοιχείο (έτσι που μας έχουν δώσει τις συνθήκες των όσο δεν μπορούμε να ελέγξουμε το 10ο γιατί βγαίνουμε εκτός ορίων πίνακα), και με την συνθήκη του Αν από κάτω ελέγχουμε και το δέκατο στοιχείο.... το j αν μετράω καλά έτσι κ αλλιώς δεν μπορεί να πάρει τιμή 10..... οπότε η συνθήκη του Αν j=10 και()θα είναι πάντα Ψευδής.....αυτό συμπεράινω εγώ, επαναλαμβάνω με έχει μπερδέψει και μπορεί να έχω δει κάτι λάθος (πχ τι τιμές μπορεί να πάρει το J)...

ευχαριστώ

petrosp13

Συνεχίζω, βλέποντας πόσο δυσκολεύει το θέμα (δεν έψαξα καν να βρω λύση)
Αυτό το θέμα ήταν μια άσκηση που κάποιοι άτυχοι μαθητές έπρεπε να λύσουν μέσα σε 10-15 λεπτά για να προλάβουν και τα υπόλοιπα
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

andreas_p

Τι να πούμε ;;;

Ο θεματοδότης θα είχε στο μυαλό του την παρακάτω λύση !!!

ΠΡΟΓΡΑΜΜΑ Α3
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: S[1000], W[10], i, j
ΛΟΓΙΚΕΣ: F
ΑΡΧΗ
  F <- ΨΕΥΔΗΣ
  i <- 1
  ΟΣΟ  i <= 991  ΚΑΙ   ΟΧΙ F  ΕΠΑΝΑΛΑΒΕ
     j <- 0
     ΟΣΟ  j < 10  ΚΑΙ   W[j+1] = S[i+j] ΕΠΑΝΑΛΑΒΕ
         j <- j+1
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
     ΑΝ  j = 10 ΤΟΤΕ
          F <- ΑΛΗΘΗΣ
     ΑΛΛΙΩΣ
       i <- i+1
     ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΝ F = ΑΛΗΘΗΣ  ΤΟΤΕ
     ΓΡΑΨΕ  i
  ΑΛΛΙΩΣ
     ΓΡΑΨΕ 'ΔΕ ΒΡΕΘΗΚΕ'
  ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Με το εξωτερικό ΟΣΟ (κλασική σειριακή) , όλα  οκ !!

Όμως με το εσωτερικό ΟΣΟ (απουσία λογικής μεταβλητής)  , παραβιάζονται τα όρια του πίνακα ... (Κριτήριο καθοριστικότητας)

Α

andreas_p

 ... και συνεχίζω !!

Μήπως μέσα σε 10-15' , απαιτούμε απ'τον μαθητή , το παρακάτω ;;;

Με λογική μεταβλητή.


ΠΡΟΓΡΑΜΜΑ Α3
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: S[1000], W[10], i, j
ΛΟΓΙΚΕΣ: F, ok
ΑΡΧΗ
  F <- ΨΕΥΔΗΣ
  i <- 1
  ΟΣΟ  i <= 991 ΚΑΙ   ΟΧΙ F ΕΠΑΝΑΛΑΒΕ
     j <- 0
     ok <- ΑΛΗΘΗΣ
     ΟΣΟ  j < 10 ΚΑΙ   ok  ΕΠΑΝΑΛΑΒΕ
         ΑΝ   W[j] <> S[i+j]  ΤΟΤΕ
            ok <- ΨΕΥΔΗΣ
         ΑΛΛΙΩΣ
            j <- j+1
         ΤΕΛΟΣ_ΑΝ
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
     ΑΝ  ok ΤΟΤΕ
          F <- ΑΛΗΘΗΣ
     ΑΛΛΙΩΣ
       i <- i+1
     ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΑΝ F = ΑΛΗΘΗΣ  ΤΟΤΕ
     ΓΡΑΨΕ  i
  ΑΛΛΙΩΣ
     ΓΡΑΨΕ 'ΔΕ ΒΡΕΘΗΚΕ'
  ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Α

kkapel

F <- ΨΕΥΔΗΣ
i <- 1
ΟΣΟ  i ≤ 991 ΚΑΙ F = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
   j <- 0
   ΟΣΟ j < 9 ΚΑΙ W[j+1] = S[i+j] ΕΠΑΝΑΛΑΒΕ
           j <- j + 1
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΑΝ W[j+1] = S[i+j] ΤΟΤΕ
         F <- ΑΛΗΘΗΣ
   ΑΛΛΙΩΣ
         i <- i + 1
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ F = ΑΛΗΘΗΣ TOTE
     ΓΡΑΨΕ i
ΑΛΛΙΩΣ       
    ΓΡΑΨΕ 'ΔΕΝ ΒΡΕΘΗΚΕ'
ΤΕΛΟΣ_ΑΝ

Καλησπέρα. Νέος στο Στέκι. Πιστεύω ότι η παραπάνω λύση δουλεύει!

andreas_p

Και πάλι δεν αποφεύγεται η υπέρβαση των ορίων πίνακα !!


Α