Τελικό Διαγώνισμα - Προσομοίωση 2007-2008

Ξεκίνησε από Laertis, 30 Μαρ 2008, 08:21:52 ΜΜ

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

vistrian

Καλημέρα

Προς ομάδα διαγωνισμάτων

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

Σε διαγώνισμα που έβαλα στους μαθητές μου οι μισοί έκαναν τη λύση που έδωσε η ομάδα μαθητών
και οι άλλοι μισοί το έκαναν με εύρεση μεγίστου max.

Τι θα γινόταν αν το θέμα αυτο ήταν στις πανελλαδικές;
Ποιο θα ήταν το σωστό;
Με max ή χωρίς max


Ευχαριστώ.
VR in Computing

rodotheos

Μια ερώτηση για το 4ο Θέμα - β1 "...αποθηκεύει στον πίνακα Πόντοι[7] τους συγκεκριμένους πόντους σε κάθε θέση όπως φαίνεται στο παράδειγμα."
Πως πρέπει να υλοποιηθεί το παραπάνω;
Με μία...
Για ι από 1 μέχρι 7
  Διάβασε Πόντοι[ι]
Τέλος_Επανάληψης

ή να περάσουμε μία μία τις τιμές με το χέρι π.χ.
Π[1] <- 1
Π[2] <- 3
..
Π[7] <- 12

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

vistrian

Παράθεση από: rodotheos στις 14 Μαΐου 2008, 12:32:27 ΜΜ
Μια ερώτηση για το 4ο Θέμα - β1 "...αποθηκεύει στον πίνακα Πόντοι[7] τους συγκεκριμένους πόντους σε κάθε θέση όπως φαίνεται στο παράδειγμα."
Πως πρέπει να υλοποιηθεί το παραπάνω;
Με μία...
Για ι από 1 μέχρι 7
  Διάβασε Πόντοι[ι]
Τέλος_Επανάληψης

ή να περάσουμε μία μία τις τιμές με το χέρι π.χ.
Π[1] <- 1
Π[2] <- 3
..
Π[7] <- 12

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


προτείνω το δεύτερο, έτσι το έλυσα και εγώ και το ίδιο έκαναν και οι μαθητές μου 
VR in Computing

vistrian

Παράθεση από: rodotheos στις 13 Μαΐου 2008, 05:13:44 ΜΜ
Μια λύση για το 3ο Θέμα
Περιμένω παρατηρήσεις.



rodothee μερικές παρατηρήσεις κατα τη γνώμη μου:
1) δεν χρειάζεται πίνακας αλλα δεν είναι λάθος!!!

2) Για το αν κέρδισε ΥΠΟΛΟΙΠΟ<-ΥΠΟΛΟΙΠΟ + ΚΠ -ΠΟΣΟ
! αφαιρείτε το ποσό που πόνταρε αλλιώς είναι λάθος το υπόλοιπο

3) ΓΡΑΨΕ 'ΚΕΡΔΙΣΑΤΕ +', ΚΠ - ΠΟΣΟ,'ΕΥΡΩ'
! το κέρδος είναι χωρίς το ποσό πονταρίσματος

4) Μόνο αν ΥΠΟΛΟΙΠΟ > 0 ΤΟΤΕ ΓΡΑΨΕ 'ΘΕΛΕΤΕ ΝΑ ΣΥΝΕΧΙΣΕΤΕ; [ΝΑΙ /ΟΧΙ]'

έτσι όπως το έκανες θα σου κάνει ερώτηση ακόμη και αν το ΥΠΟΛΟΙΠΟ είναι 0 κάτι το οποίο δεν είναι σωστό

το σημαντικότερο είναι όμως η παρατήρηση της άσκησης βλέπε προϋγούμενο post
VR in Computing

gpapargi

Παράθεση από: vrose στις 14 Μαΐου 2008, 12:09:29 ΜΜ
Καλημέρα

Προς ομάδα διαγωνισμάτων

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

Σε διαγώνισμα που έβαλα στους μαθητές μου οι μισοί έκαναν τη λύση που έδωσε η ομάδα μαθητών
και οι άλλοι μισοί το έκαναν με εύρεση μεγίστου max.

Τι θα γινόταν αν το θέμα αυτο ήταν στις πανελλαδικές;
Ποιο θα ήταν το σωστό;
Με max ή χωρίς max


Ευχαριστώ.

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

Βέβαια σωστά είναι και τα 2 αφού θα καταλήξουν στο ίδιο αποτέλεσμα. Δεν καταλαβαίνω το ερώτημα "ποιο θα ήταν το σωστό στις πανελλάδικές;" Δεν υπάρχει μια σωστή απάντηση. Όσες δίνουν σωστό αποτέλεσμα είναι σωστές.

Η διευκρίνιση αυτή γράφτηκε για πολύ συγκεκριμένο λόγο. Υπάρχουν παιχνίδια που παίρνεις τα κέρδη από όλες τις περιπτώσεις στις οποίες ταιριάζεις. Πχ αν πιάσεις 6αρι στο λόττο, τότε παίρνεις χρήματα και απο τα 6 πεντάρια αλλά και από τα 4αρια. Δεν παίρνεις μόνο από το 6αρι (δηλαδή από το καλύτερο). Έτσι για λόγους σαφήνειας έπρεπε να καθοριστεί τι από τα 2 συμβαίνει στο στοίχημα. Μετά από επαφή με τζογαδόρους μάθαμε ότι παίρνεις το καλύτερο "match".   ;)

gpapargi

Παράθεση από: rodotheos στις 14 Μαΐου 2008, 12:32:27 ΜΜ
Μια ερώτηση για το 4ο Θέμα - β1 "...αποθηκεύει στον πίνακα Πόντοι[7] τους συγκεκριμένους πόντους σε κάθε θέση όπως φαίνεται στο παράδειγμα."
Πως πρέπει να υλοποιηθεί το παραπάνω;
Με μία...
Για ι από 1 μέχρι 7
  Διάβασε Πόντοι[ι]
Τέλος_Επανάληψης

ή να περάσουμε μία μία τις τιμές με το χέρι π.χ.
Π[1] <- 1
Π[2] <- 3
..
Π[7] <- 12

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


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

rodotheos

Ευχαριστώ vrose
και αναρωτιόμουν τη να ήθελε να πει ο ποιητής με την παρένθεση ...
(Το ποσό αυτό είτε χάσει είτε κερδίσει δεν επιστρέφεται)

Θα συμφωνήσω με τον Γιώργο.

nclpao13

#52
Γεια χαρά σε όλους. Σας παραθέτω την ακόλουθη λύση που έδωσε μαθητής μου στο 1ο Θέμα/Δ
χ<--8
Οσο χ>=0 επανάλαβε
Υ<--9
Οσο Υ>= 2 επανάλαβε
   Χ<--Χ-2
   Υ<-- Υ-2
Τέλος_επανάληψης
Εμφάνισε Χ
Τέλος_επανάληψης
Ποιά είναι η γνώμη σας;

nikosx

Καλημέρα,

η αρχική τιμή στον εσωτερικό βρόγχο (Για) είναι 7 και όχι 9, οπότε η 3η εντολή πρέπει να είναι Υ<--7 και όχι Υ<--9.
Νίκος Ξένος
Καθηγητής Πληροφορικής
nxenos@sch.gr

P.Tsiotakis

#54
Επομένως μια λύση για το θέμα 3, θα ήταν η ακόλουθη:

Αλγόριθμος Θέμα3 
Αρχή_επανάληψης 
    Διάβασε απ  ! αρχικό ποσό
Μέχρις_ότου απ > 0

Αρχή_επανάληψης 
    Αρχή_επανάληψης 
        Διάβασε π  !  ποσό που ποντάρεται 
    Μέχρις_ότου π <= απ 
    Αρχή_επανάληψης 
        Διάβασε  Φ1
    Μέχρις_ότου Φ1="A" ή Φ1="Μ" ή Φ1="Π"
    Αρχή_επανάληψης 
        Διάβασε  Φ2
    Μέχρις_ότου Φ2="A" ή Φ2="Μ" ή Φ2="Π"
    Αρχή_επανάληψης 
        Διάβασε  Φ3
    Μέχρις_ότου Φ3="A" ή Φ3="Μ" ή Φ3="Π"
    απ ← απ – π  ! αφαίρεση ποσού πονταρίσματος

    Αν Φ1 ="A" και Φ2 ="Α" και Φ3 ="Α" τότε 
        Κ ← (1000/100) * π
    Αλλιώς_Αν Φ1 = Φ2 και Φ2 = Φ3 τότε 
        Κ ← (500/100) * π 
    Αλλιώς_Αν Φ1 = Φ2 τότε 
        Κ ← (300/100) * π 
     Αλλιώς 
        Κ ← 0
    Τέλος_Αν 
    απ ← απ + Κ  ! απόδοση κέρδους

    Αν Κ = 0 τότε 
        Εμφάνισε "-", π, "€" 
    Αλλιώς 
        Εμφάνισε "+", Κ - π, "€" 
    Τέλος_αν 

    Εμφάνισε "Απομένουν", απ
    Αν απ > 0 τότε 
         Διάβασε συνέχεια
    Αλλιώς ! απ = 0
         συνέχεια ← "όχι"
    Τέλος_αν 
Μέχρις_ότου  απ = 0 ή συνέχεια = "όχι"
Τέλος Θέμα3


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

P.Tsiotakis

#55
Επομένως μια λύση για το θέμα 4, θα ήταν η ακόλουθη:

ΠΡΟΓΡΑΜΜΑ Διαγωνισμός
ΜΕΤΑΒΛΗΤΕΣ 
  ΧΑΡΑΚΤΗΡΕΣ: Ο[24], χώρα, temp2 
  ΑΚΕΡΑΙΕΣ: θ, Πόντοι[7], i, j, Β[24, 24], ΣΒ[24], Σ, temp1 
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 7 
    ΔΙΑΒΑΣΕ Πόντοι[i] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 24 
    ΔΙΑΒΑΣΕ Ο[i] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 24
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 24  ! γέμισε όλα τη γραμμή με 0 
      Β[i, j] <- 0 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 

    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7 ! πάρε τις 7 χώρες
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ 
        ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ 
          ΔΙΑΒΑΣΕ χώρα
          θ <- Αναζήτηση(Ο, χώρα)
        ΜΕΧΡΙΣ_ΟΤΟΥ θ <> 0 ΚΑΙ θ <> i
        ! έγκυρο όνομα, όχι τον εαυτό της 
      ΜΕΧΡΙΣ_ΟΤΟΥ Β[i, θ] = 0
      ! και να μην έχει δώσει ήδη βαθμολογία
      Β[i, θ] <- Πόντοι[j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 

  ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 24 ! κατά στήλες
    Σ <- 0 
    ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 24 
      Σ <- Σ + Β[i, j] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
    ΣΒ[j] <- Σ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 

  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 24 
    ΓΙΑ j ΑΠΟ 24 ΜΕΧΡΙ i ΜΕ_ΒΗΜΑ -1 
      ΑΝ ΣΒ[j-1] < ΣΒ[j] ΤΟΤΕ 
        temp1 <- ΣΒ[j] 
        ΣΒ[j] <- ΣΒ[j-1] 
        ΣΒ[j-1] <- temp1 
        temp2 <- Ο[j] 
        Ο[j] <- Ο[j-1] 
        Ο[j-1] <- temp2 
      ΑΛΛΙΩΣ_ΑΝ ΣΒ[j] = ΣΒ[j-1] ΚΑΙ Ο[j-1] > Ο[j] ΤΟΤΕ 
        temp2 <- Ο[j] 
        Ο[j] <- Ο[j-1] 
        Ο[j-1] <- temp2 
      ΤΕΛΟΣ_ΑΝ 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 24 
    ΓΡΑΨΕ Ο[i], ΣΒ[i] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Διαγωνισμός
!==============================
ΣΥΝΑΡΤΗΣΗ Αναζήτηση(table, key): ΑΚΕΡΑΙΑ 
ΜΕΤΑΒΛΗΤΕΣ 
  ΧΑΡΑΚΤΗΡΕΣ: table[24], key 
  ΑΚΕΡΑΙΕΣ: pos, i 
  ΛΟΓΙΚΕΣ: done 
ΑΡΧΗ 
  done <- ΨΕΥΔΗΣ 
  pos <- 0 
  i <- 1 
  ΟΣΟ done = ΨΕΥΔΗΣ ΚΑΙ i <= 24 ΕΠΑΝΑΛΑΒΕ 
    ΑΝ table[Ι] = key ΤΟΤΕ 
      done <- ΑΛΗΘΗΣ 
      pos <- i 
    ΑΛΛΙΩΣ 
      i <- i + 1 
    ΤΕΛΟΣ_ΑΝ 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ 
  Αναζήτηση <- pos 
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


Στην εκφώνηση μάλλον θα πρέπει να προστεθεί στον έλεγχο δεδομένων "οτι δεν μπορεί να βαθμολογήσει χώρα που βαθμολόγησε ήδη" (δείτε και λύση παραπάνω)

επίσης, ο πίνακας Πόντοι διαβάζεται ή αρχικοποιείται με εκχώρηση όπως ρωτά ο @rodotheos; Αν διαβάζεται, να μπει παρατήρηση οτι αυτό γίνεται σωστά...

nclpao13

Παράθεση από: Τσιωτάκης Παναγιώτης στις 17 Μαΐου 2008, 03:28:05 ΜΜ
    Αν απ > 0 τότε 
         Διάβασε συνέχεια
    Τέλος_αν 
Μέχρις_ότου συνέχεια ="όχι" ή απ = 0 
Τέλος Θέμα3

Παναγιώτη θα ήθελα να ρωτήσω τί γίνεται στην περίπτωση που απ=0 οπότε η μεταβλητή συνέχεια δεν αρχικοποιείται και μετά ελέγχεται η τιμή της στη συνθήκη τερματισμού. Μήπως θα έπρεπε να βάλουμε
Αλλιώς
   συνέχεια <-- "όχι"
Ποιά είναι η γνώμη σου;

P.Tsiotakis

Σε προηγούμενο post του, το είχε αναφέρει και ο @andreas_p, αλλά εγώ   :D

Μόνο αν στην πρώτη επανάληψη ποντάρει και χάσει όλα του τα λεφτά ο παίκτης (συνηθισμένο  ;)  ) υπάρχει θέμα. Διαφορετικά έχει το "ναι" ως τιμή, από την προηγούμενη επανάληψη (και σπάει η επανάληψη λόγω της συνθήκης απ = 0).

το διόρθωσα (αν και σκεφτόμουν να το κάνω με Όσο, προτίμησα τελικά τη Μέχρις_ότου)

papaluk



    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7 ! πάρε τις 7 χώρες
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΔΙΑΒΑΣΕ χώρα
        θ <- Αναζήτηση(Ο, χώρα)
      ΜΕΧΡΙΣ_ΟΤΟΥ θ <> 0 ΚΑΙ θ <> i ΚΑΙ Β[i, θ] <> 0
     ! έγκυρο όνομα, όχι τον εαυτό της και να μην έχει δώσει ήδη βαθμολογία
   
είχα θίξει το να μην βαθμολογείται κάποιος που έχει ήδη βαθμολογηθεί, αλλά μέλος ομάδας διαγωνισμάτων απάντησε ότι θα γίνει πιο δύσκολο και δεν είναι αυτός ο στόχος..όταν διόρθωνα το έπιανα σωστό σε κάθε περίπτωση

P.Tsiotakis

Ναι φίλε, το είχα δει οτι το πρότεινες και τι απάντησαν τα παιδιά και έχουν δίκιο. Κατά τη γνώμη μου  όμως είναι σημαντικός έλεγχος.

Συμπερασματικά, αν το ζητά η εκφώνηση (όπως προτείνω στο τέλος του post παραπάνω), δεν το θεωρώ τραβηγμένο...