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

Ξεκίνησε από Laertis, 14 Απρ 2011, 12:22:39 ΠΜ

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

noname

Παράθεση από: sstergou στις 04 Μαΐου 2011, 02:31:48 ΜΜ
Μια λεπτομέρεια : η συνάρτηση (που είναι και ωραία σαν λύση) πρέπει να πάρει σαν παράμετρο όχι τον πίνακα ΛΑΜΠ αλλά το τρέχων στοιχείο του.


Έχεις απόλυτο δίκιο! Άλλωστε αναγράφεται ξεκάθαρα στην εκφώνηση: "Να δέχεται ως παραμέτρους... το πλήθος των λαμπτήρων της στοάς...".
Ευχαριστώ για την επισήμανση!

evry

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

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

netnick

#77
παιδιά γειά σας.

Θα ήθελα να δώσω λίγο περισσότερη σημασία στο Α5
Μόλις είδα το συγκεκριμένο θέμα θεώρησα ότι η απάντηση με τις πολλές ΓΙΑ δεν θα ήταν η ζητούμενη. Έτσι άμεσα έδωσα την παρακάτω, με χρήση μιας μονο επανάληψης (ΟΣΟ) που την θεωρώ πιο κοντινή απάντηση.
Οκ.

Είναι γραμμένη στο διερμηνευτή για άμεση εκτέλεση και έλεγχο...

ΠΡΟΓΡΑΜΜΑ A5
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: π[8, 12], ι, κ, ι1, ι2, κ1, κ2, χ
ΑΡΧΗ

! Αρχικοποίηση του πίνακα ώστε να έχουμε τιμές
! με αίσθηση του τι εκτυπώνουμε ...
  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 8
    χ <- 100*ι + 1
    ΓΙΑ κ ΑΠΟ 1 ΜΕΧΡΙ 12
      π[ι, κ] <- χ
      χ <- χ + 1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


! Παραδείγματα εκτέλεσης
  ΚΑΛΕΣΕ Εξοδος(π, 3, 4, 5, 8 )
  ΓΡΑΨΕ
 
  ΚΑΛΕΣΕ Εξοδος(π, 3, 4, 3, 12)
  ΓΡΑΨΕ

  ΚΑΛΕΣΕ Εξοδος(π, 3, 4, 4, 1)
  ΓΡΑΨΕ

!για εκτύπωση όλου του πίνακα λοιπόν με μια επανάληψη
! θα έγραφα: ΚΑΛΕΣΕ Εξοδος(π, 1, 1, 8, 12)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

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

evry

#78
Πολύ σωστά έκανες, απλά στο θέμα αυτό είπαμε να δώσουμε την λύση που θα έδινε πιθανότατα ένας μαθητής. Φυσικά και η Όσο είναι πιθανή αλλά νομίζω ότι η λύση με τις πολλές Για είναι πιθανότερο να δοθεί από έναν μαθητή.
Δηλαδή έχω την εντύπωση ότι ένας καθηγητής θα έδινε την απάντηση με την Όσο αλλά ένας μαθητής την απάντηση με τις πολλές Για

Μια άλλη λύση που παρουσιάζει ιδιαίτερο ενδιαφέρον είναι η παρακάτω την οποία έδωσε ο Άλκης, αλλά δεν την βάλαμε τελικά στις λύσεις. Την παραθέτω (με την άδεια ελπίζω του δημιουργού :police:)

Παράθεση από: alkisg στις 01 Μαΐου 2011, 12:16:17 ΜΜ
Κατά πάσα πιθανότητα έχω ανάποδα τα i με τα j σε σχέση με την εκφώνηση. :)

Σ' αυτήν, τα +/-1 χρειάζονται επειδή οι πίνακες στην (ψευδο)ΓΛΩΣΣΑ είναι 1-based αντί 0-based, αλλιώς θα ήταν πολύ πιο απλή:
Κώδικας: ΓΛΩΣΣΑ
  ΓΙΑ ι ΑΠΟ (j1 - 1)*Ν + i1 - 1 ΜΕΧΡΙ (j2 - 1)*Ν + i2 - 1
    ΓΡΑΨΕ Π[1 + ι MOD Ν, 1 + ι DIV Ν], '  '
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


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

gpapargi

Όλοι οι βρόχοι γράφονται και μονή εντολή επανάληψης και αυτό είναι ένα παράδειγμα.

Επειδή μου αρέσει να βλέπω γεωμετρία και συσχετισμούς όπου αυτό είναι δυνατόν, το θέμα αυτό σχετίζεται και με το περυσινό θέμα 3.
Φαντάσου ότι έχεις ένα ηλεκτρονικό ρολόι που δείχνει ώρες και λεπτά και θέλεις να εκτυπώσεις όλες τις ενδείξεις του από τις 10:30 μέχρι τις 12:20. Θα δεις ότι γεωμετρικά είναι η ίδια άσκηση... σαν να πρέπει να βηματίσεις σε ένα πίνακα [24,60]. Πέρυσι είχαμε ζητήσει την αντίστροφη μέτρηση. Αλλάζει η φορά σάρωσης, αλλά το γεωμετρικό σχήμα που είναι πίσω και από τις 2 ασκήσεις είναι ουσιαστικά το ίδιο.

veni

Συγχαρητήρια σε όλους τους συντελεστές για την προσπάθειά τους!

Θα ήθελα να κάνω ένα μικρό σχόλιο σχετικά με το Α2 αφού είδα και τις προτεινόμενες λύσεις.

Ο Μέσος όρος των βαθμών είναι ζητούμενο; ή δεδομένο;
Θεωρώ ότι λόγω μη πλήρους - ασαφούς  εκφώνησης μπορεί να ανήκει και στα δύο (εφόσον βέβαια ο μαθητής το τεκμηριώσει κατάλληλα).
Δεν προκύπτει χωρίς αμφιβολία  από την εκφώνηση το συμπέρασμα ότι ο συνολικός αριθμός των μαθητών του σχολείου είναι 160. Σαφώς βέβαια είναι μία πιθανή ερμηνεία.
Θέλει όμως προσοχή διότι επηρεάζει και το ερώτημα 4 (αναφορικά με τη χρήση πίνακα)

Θα ήθελα τη γνώμη σας σε αυτό.
Βενιέρης Γεώργιος
Καθηγητής Πληροφορικής
Πιλοτικό (R.I.P.)  Γυμνάσιο

evry

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

Η φιλοσοφία είναι η εξής: ότι υπάρχουν τα δεδομένα και τα ζητούμενα αλλά δεν είναι μόνο αυτά. Υπάρχουν και ενδιάμεσες ποσότητες που υπολογίζονται και αυτές δεν ανήκουν ούτε στα δεδομένα ούτε στα ζητούμενα, δηλαδή στην έξοδο του αλγορίθμου. Με αυτό το σκεπτικό δεν το προσθέσαμε εκεί.

Τέτοια προβλήματα δημιουργούν ερωτήσεις στους μαθητές μέσα από τις οποίες μπορεί να γίνει πολύ εποικοδομητική συζήτηση. Σίγουρα αρκετά θέματα του διαγωνίσματος ίσως να είναι δύσκολο να μπουν σε εξετάσεις είτε λόγω της εκφώνησής τους (δεν μιλάω για ασάφεια αλλά ας πούμε για περισσότερους βαθμούς ελευθερίας στον μαθητή >:D) είτε λόγω της δυσκολίας τους.
Πιστεύω όμως είναι πολύ καλές για ένα διαγώνισμα στην τάξη(3ωρο   :) ) ή να το δώσεις στους μαθητές στο σπίτι και στη συνέχεια να συζητηθούν τα θέματα στην τάξη.

Παράθεση από: veni στις 06 Μαΐου 2011, 10:00:03 ΜΜ
Ο Μέσος όρος των βαθμών είναι ζητούμενο; ή δεδομένο;

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

Για παράδειγμα σκέψου την άσκηση στο τετράδιο μαθητή που λέει "Δίνονται οι τίτλοι των CD". Είναι προφανές ότι το πλήθος των CD είναι γνωστό και δεδομένο εξαρχής άρα μπορείς να χρησιμοποιήσεις πίνακα. Αφού έχεις από την αρχή στα χέρια σου τα CD ξέρεις ήδη και πόσα είναι. Δηλαδή και το πλήθος είναι δεδομένο όπως και τα CD

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

melina

Θέλω να κάνω μία επισήμανση για τις προτεινόμενες λύσεις στο Θέμα Γ. Νομίζω ότι ο αλγόριθμος δεν μπορεί να καλύψει τις πιθανές περιπτώσεις για τον τερματισμό της διαδικασίας των πρώτων 10 πέναλτι με μία μόνο δομή επανάληψης:
διαφορά <- Α_Τ(μ1 - μ2)
Αν π <= 10 τότε
   Αν εκτ1 τότε
      απομένουν ← 5 - ((π - 1) div 2)
   αλλιώς
      απομένουν ← 5 - (π div 2)
   Τέλος_αν
αλλιώς ....
Μέχρις_ότου διαφορά> απομένουν

και ο λόγος είναι ότι όταν έχει εκτελέσει ο 1ος και:
- προηγείται, η μεταβλητή απομένουν πρέπει να έχει τιμή τα γκολ που απομένουν για τον 2ο (5-(π-1)div2)
- χάνει, η μεταβλητή απομένουν πρέπει να έχει τιμή τα γκολ που απομένουν για τον 1ο (5-(π+1)div2)

για παράδειγμα, στο 9ο πέναλτι η 1η ομάδα δεν βάζει γκολ και το σκορ είναι 3-4. Το ματς λήγει χωρίς να χρειαστεί να εκτελέσει η 2η ομάδα το τελευταίο πέναλτι. Όμως στην προτεινόμενη λύση διαφορά=1 και απομένουν=1, άρα συνεχίζει και στο π=10.

Θεωρώ ότι ο πιο ασφαλής τρόπος για να λυθεί η άσκηση σωστά, είναι να γίνει (για τα πρώτα 10 πέναλτι) μια ΟΣΟ με 5 επαναλήψεις και έναν διακόπτη (λογική μεταβλητή) και μέσα σε κάθε επανάληψη να αναπτύσσονται χώρια οι εκτελέσεις της 1ης ομάδας και της 2ης ομάδας. Είναι μακροσκελής λύση αλλά δουλεύει.
Μπορεί κάτι να μου διαφεύγει στη λύση που δώσατε, γιατί έχει κουρκουτιάσει εντελώς το μυαλό μου.

Συγχαρητήρια για τα εμπνευσμένα θέματα.
Μελίνα Εφραιμίδου

sstergou

#83
Έχεις δίκιο.
Η λάθος λύση είναι δική μου.
Ίσως με 2 επαναλήψεις να είναι πιο κατανοητό. Παρ'όλα αυτα παραθέτω μια νέα λύση πάλι με μία επανάληψη :
Αλγόριθμος πέναλτι
Διάβασε ο1, ο2
μ1 ← 0
μ2 ← 0
π ← 0

Αρχή_επανάληψης
	π ← π + 1
	εκτ1 ← π mod 2 = 1
	Αν εκτ1 τότε
		Εμφάνισε "Εκτελεί η ", ο1
	αλλιώς
		Εμφάνισε "Εκτελεί η ", ο2
	Τέλος_αν
	Αρχή_επανάληψης
		Διάβασε πεν
	Μέχρις_ότου πεν = "ΕΥΣΤΟΧΟ" ή πεν = "ΑΣΤΟΧΟ"
	Αν πεν = "ΕΥΣΤΟΧΟ" τότε
		Αν εκτ1 τότε
			μ1 ← μ1 + 1
		αλλιώς
			μ2 ← μ2 + 1
		Τέλος_αν
	Τέλος_αν
	Εμφάνισε "Σκορ : ", μ1, " - ", μ2
	Αν π <= 10 τότε
		!Αν το πέναλτι είναι εύστοχο ελέγχουμε αν κερδίζει η ομάδα που ευστόχησε
		Αν πεν = "ΕΥΣΤΟΧΟ" τότε
			Αν εκτ1 τότε
				διαφορά ← μ1 - μ2
				απομένουν ← 5 - ((π - 1) div 2)
			αλλιώς
				διαφορά ← μ2 - μ1
				απομένουν ← 5 - (π div 2)
			Τέλος_αν
		αλλιώς
			!Αν είναι άστοχο, ελέγχουμε αν χάνει η ομάδα που αστόχησε
			Αν εκτ1 τότε
				διαφορά ← μ2 - μ1
				απομένουν ← 5 - (π + 1) div 2
			αλλιώς
				διαφορά ← μ1 - μ2
				απομένουν ← 5 - (π div 2)		
			Τέλος_αν
		Τέλος_αν
	αλλιώς
		διαφορά ← Α_Τ(μ1 - μ2)
		Αν εκτ1 τότε
			απομένουν ← 1
		αλλιώς
			απομένουν ← 0
		Τέλος_αν
	Τέλος_αν
Μέχρις_ότου διαφορά > απομένουν  
Αν μ1 > μ2 τότε
	Εμφάνισε "Κυπελλούχος - ", ο1
αλλιώς
	Εμφάνισε "Κυπελλούχος - ", ο2
Τέλος_αν
Εμφάνισε "Σκορ : ", μ1, " - ", μ2
Τέλος πέναλτι


Ελπίζω να μην είναι και αυτή λάθος και ζητώ συγνώμη για την ταλαιπωρία που προκάλεσε η προηγούμενη.

@evry : Πρέπει να αντικατασταθεί η προτεινόμενη λύση με μία που να είναι σωστή..

noname

Παράθεση από: melina στις 07 Μαΐου 2011, 11:20:06 ΜΜ
Θεωρώ ότι ο πιο ασφαλής τρόπος για να λυθεί η άσκηση σωστά, είναι να γίνει (για τα πρώτα 10 πέναλτι) μια ΟΣΟ με 5 επαναλήψεις και έναν διακόπτη (λογική μεταβλητή) και μέσα σε κάθε επανάληψη να αναπτύσσονται χώρια οι εκτελέσεις της 1ης ομάδας και της 2ης ομάδας. Είναι μακροσκελής λύση αλλά δουλεύει.

Έχεις δίκιο για τη συγκεκριμένη περίπτωση στις προτεινόμενες λύσεις. Αλλά δεν είναι απαραίτητη η χρήση δύο χωριστών επαναλήψεων. Αν θέλεις δες και τη δική μου λύση: https://alkisg.mysch.gr/steki/index.php?topic=3839.msg40909#msg40909

evry

#85
@melina
Η επισήμανσή σου είναι πάρα πολύ σωστή. Η ιδέα είναι ότι κάθε φορά τα πέναλτι που απομένουν αφορούν αποκλειστικά την ομάδα που χάνει. Στην περίπτωση που έχει παίξει η 2η ομάδα τα πέναλτι που απομένουν είναι τα ίδια για τις 2 ομάδες. Στην περίπτωση όμως που έχει παίξει η πρώτη πρέπει να ελέγξουμε την ομάδα που χάνει.
Μάλιστα Μελίνα η ίδια δίνεις και την απάντηση. Αρκεί να προστεθεί μια απλή δομή επιλογής μόνο για αυτή την περίπτωση με την συνθήκη που περιγράφεις.

Όσοι έχουν κατεβάσει τις λύσεις ας κατεβάσουν το αρχείο πάλι. Μας ξέφυγε μια δομή επιλογής (Αν μ1 < μ2) μέσα στην επανάληψη.
Ευχαριστούμε για την κατανόηση

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

papaluk

Αν και λίγο καθυστερημένα θεωρώ ότι η προτεινόμενη λύση στο τελευταίο θέμα έχει ένα προβληματάκι..
ΠΛ[Στοά] <-- Μήκος DIV 10, επειδή όμως πουθενά δεν αναφέρεται ότι το Μήκος είναι ακέραιος πιο σωστό θα ήταν
ΠΛ[Στοά] <-- Α_Μ( Μήκος / 10)

Stefevan

O διερμηνευτής δεν δέχεται το  <<μήκος div 10>> όταν το μήκος είναι πραγματικός, άρα αναγκαστικά με / και Α_Μ()

papaluk

Δεν είναι το θέμα ο διερμηνευτής μόνο... αλλά το γεγονός ότι οι τελεστές mod και div λειτουργούν μόνο με ακέραιες τιμές με βάση το σχολικό

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

Άνοιξα ξεχωριστό θέμα με τίτλο "Επιλογή Ακέραιου ή Πραγματικού Τύπου" επειδή καλό είναι να υπάρχει...
https://alkisg.mysch.gr/steki/index.php?topic=3928

...και αντέγραψα/μετακίνησα κάποια σχετικά μηνύματα...