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

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

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

Katsadouros_Dhm

Παιδιά, η λύση του 3ου θέματος που είχα γράψει χθες θέλει αρκετές αλλαγές, γιατί θεώρησα ότι οι ομάδες ρίχνουν κατά ζεύγη ακόμα και αν είναι άσκοπο, ενώ η άσκηση ζητάει κάθε πέναλτι κάθε ομάδας να λαμβάνεται υπόψη ξεχωριστά. ( Εϊναι αλήθεια ότι είδα τα θέματα γρήγορα, βιαστικά, τώρα κατάλαβα ότι η ομάδα στο στέκι δεν αστειεύεται...)
Φιλικά, Κατσαδούρος Δημήτρης

andreas_p

ΣΤΕΚΙ 2011 - ΘΕΜΑ Γ.

Η λύση. (μάλλον ... μία λύση)

ΠΡΟΓΡΑΜΜΑ Στέκι_2011_Γ
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: ονΑ, ονΒ, απ, απΑ, απΒ
  ΑΚΕΡΑΙΕΣ: π, πΑ, πΒ, γκΑ, γκΒ, υΑ, υΒ
  ΛΟΓΙΚΕΣ: τΑ, τΒ
ΑΡΧΗ
! Α' φάση
  π <- 0                               ! τα (το πολύ) 10 πέναλτι
  πΑ <- 0                                 ! τα πέναλτι της ομ. Α
  πΒ <- 0                                 ! τα πέναλτι της ομ. Β
  γκΑ <- 0                                   ! τα γκολ της ομ. Α
  γκΒ <- 0                                   ! τα γκολ της ομ. Β
  υΑ <- 5                       ! υπόλοιπο των πέναλτι της ομ. Α
  υΒ <- 5                       ! υπόλοιπο των πέναλτι της ομ. Β
  ΓΡΑΨΕ 'Δώσε τα ονόμ. των 2 ομάδων : '
  ΔΙΑΒΑΣΕ ονΑ, ονΒ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    π <- π + 1
    ΑΝ π MOD 2 = 1 ΤΟΤΕ
      ΓΡΑΨΕ 'Ομάδα ', ονΑ
      πΑ <- πΑ + 1
      υΑ <- υΑ - 1
      ΓΡΑΨΕ 'Χτυπάει το ', πΑ, 'ο πέναλτι'
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'Ομάδα ', ονΒ
      πΒ <- πΒ + 1
      υΒ <- υΒ - 1
      ΓΡΑΨΕ 'Χτυπάει το ', πΒ, 'ο πέναλτι'
    ΤΕΛΟΣ_ΑΝ
    ΓΡΑΨΕ 'Δώσε το αποτέλεσμα (Ε)ύστοχο / (Ά)στοχο : '
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ απ
    ΜΕΧΡΙΣ_ΟΤΟΥ απ = 'Ε' Η απ = 'Α'
    ΑΝ απ = 'Ε' ΤΟΤΕ
      ΑΝ π MOD 2 = 1 ΤΟΤΕ
        γκΑ <- γκΑ + 1
      ΑΛΛΙΩΣ
        γκΒ <- γκΒ + 1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ π = 10 Η (γκΑ - γκΒ) > υΒ Η (γκΒ - γκΑ) > υΑ
! Β' φάση
  ΑΝ γκΑ = γκΒ ΤΟΤΕ
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      τΑ <- ΨΕΥΔΗΣ          ! ΔΕΝ το έχει η ομ. Α (το γκολάκι !)
      τΒ <- ΨΕΥΔΗΣ          ! ΔΕΝ το έχει η ομ. Β (το γκολάκι !)
      ΓΡΑΨΕ 'Χτυπάει το (ΕΝΑ) πέναλτι η ομ. ', ονΑ
      ΓΡΑΨΕ 'Δώσε το αποτέλεσμα (Ε)ύστοχο / (Ά)στοχο : '
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΔΙΑΒΑΣΕ απΑ
      ΜΕΧΡΙΣ_ΟΤΟΥ απΑ = 'Ε' Η απΑ = 'Α'
      ΓΡΑΨΕ 'Χτυπάει το (ΕΝΑ) πέναλτι η ομ. ', ονΒ
      ΓΡΑΨΕ 'Δώσε το αποτέλεσμα (Ε)ύστοχο / (Ά)στοχο : '
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΔΙΑΒΑΣΕ απΒ
      ΜΕΧΡΙΣ_ΟΤΟΥ απΒ = 'Ε' Η απΒ = 'Α'
      τΑ <- απΑ = 'Ε'
      τΒ <- απΒ = 'Ε'
    ΜΕΧΡΙΣ_ΟΤΟΥ (τΑ = ΑΛΗΘΗΣ ΚΑΙ τΒ = ΨΕΥΔΗΣ) Η (τΑ = ΨΕΥΔΗΣ ΚΑΙ τΒ = ΑΛΗΘΗΣ)
    ΑΝ τΑ ΤΟΤΕ
      ΓΡΑΨΕ ονΑ, '  ΚΥΠΕΛΟΥΧΟΣ 2010 – 11'
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ ονΒ, '  ΚΥΠΕΛΟΥΧΟΣ 2010 – 11'
    ΤΕΛΟΣ_ΑΝ
  ΑΛΛΙΩΣ
    ΑΝ γκΑ > γκΒ ΤΟΤΕ
      ΓΡΑΨΕ ονΑ, '  ΚΥΠΕΛΟΥΧΟΣ 2010 – 11'
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ ονΒ, '  ΚΥΠΕΛΟΥΧΟΣ 2010 – 11'
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Α

Katsadouros_Dhm

Θέλω να κοιτάξετε μια ενδεικτική λύση στο 3ο θεμα. (Ξεχάστε την προηγούμενη που έδωσα   ;D)
Χρησιμοποιώ δυο λογικές μεταβλητές για να τερματίσουν τη διαδικασία αν κάποια ομάδα κερδίσει κανονικά ή πρόωρα και δυο μετρητές που μετράνε τις προσπάθειες των ομάδων.

ΠΡΟΓΡΑΜΜΑ θεμα_3_στεκι
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: σκορ1, σκορ2, προσπ1, προσπ2
  ΧΑΡΑΚΤΗΡΕΣ: αποτ1, αποτ2, ον1, ον2
  ΛΟΓΙΚΕΣ: φ1, φ2
ΑΡΧΗ
  σκορ1 <- 0
  σκορ2 <- 0
  προσπ1 <- 0
  προσπ2 <- 0
  φ1 <- ΨΕΥΔΗΣ
  φ2 <- ΨΕΥΔΗΣ
  ΓΡΑΨΕ 'Δώστε το όνομα της 1ης ομάδας:'
  ΔΙΑΒΑΣΕ ον1
  ΓΡΑΨΕ 'Δώστε το όνομα της 2ης ομάδας:'
  ΔΙΑΒΑΣΕ ον2
  ΟΣΟ φ1 = ΨΕΥΔΗΣ ΚΑΙ φ2 = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
    ΑΝ (Α_Τ(σκορ1 - σκορ2) <= 5 - προσπ1) Η(σκορ1 = σκορ2 ΚΑΙ προσπ1 >= 5) ΤΟΤΕ
      προσπ1 <- προσπ1 + 1
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΓΡΑΨΕ 'Δώστε το αποτέλεσμα εκτέλεσης της ', ον1, ' ομάδας:'
        ΔΙΑΒΑΣΕ αποτ1
      ΜΕΧΡΙΣ_ΟΤΟΥ αποτ1 = 'ευστοχο' Η αποτ1 = 'αστοχο'
      ΑΝ αποτ1 = 'ευστοχο' ΤΟΤΕ
        σκορ1 <- σκορ1 + 1
      ΤΕΛΟΣ_ΑΝ
      ΓΡΑΨΕ 'Η ', ον1, ' έχει εκτελέσει ', προσπ1, ' πεναλτι'
      ΓΡΑΨΕ 'Η ', ον2, ' έχει εκτελέσει ', προσπ2, ' πεναλτι'
      ΓΡΑΨΕ ον1, ':', σκορ1
      ΓΡΑΨΕ ον2, ':', σκορ2
    ΑΛΛΙΩΣ
      φ1 <- ΑΛΗΘΗΣ
    ΤΕΛΟΣ_ΑΝ
    ΑΝ φ1 = ΨΕΥΔΗΣ ΤΟΤΕ
      ΑΝ (Α_Τ(σκορ1 - σκορ2) <= 5 - προσπ2) Η(προσπ2 >= 5) ΤΟΤΕ
        προσπ2 <- προσπ2 + 1
        ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
          ΓΡΑΨΕ 'Δώστε το αποτέλεσμα εκτέλεσης της ', ον2, ' ομάδας:'
          ΔΙΑΒΑΣΕ αποτ2
        ΜΕΧΡΙΣ_ΟΤΟΥ αποτ2 = 'ευστοχο' Η αποτ2 = 'αστοχο'
        ΑΝ αποτ2 = 'ευστοχο' ΤΟΤΕ
          σκορ2 <- σκορ2 + 1
        ΤΕΛΟΣ_ΑΝ
        ΓΡΑΨΕ 'Η ', ον1, ' έχει εκτελέσει ', προσπ1, ' πεναλτι'
        ΓΡΑΨΕ 'Η ', ον2, ' έχει εκτελέσει ', προσπ2, ' πεναλτι'
        ΓΡΑΨΕ ον1, ':', σκορ1
        ΓΡΑΨΕ ον2, ':', σκορ2
      ΑΛΛΙΩΣ
        φ2 <- ΑΛΗΘΗΣ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ

  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ σκορ1 > σκορ2 ΤΟΤΕ
    ΓΡΑΨΕ 'Κυπελλούχος είναι η ', ον1
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Κυπελλούχος είναι η ', ον2
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

lp

#63
Και μια δική μου λύση 3ο Θέμα  που ίσως να θέλει λίγο κοίταγμα παραπάνω στις περιπτώσεις λήξης στα πρώτα 5 πέναλντι!
ΠΡΟΓΡΑΜΜΑ ΠΕΝΑΛΝΤΙ

ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΠΡΟΣΠ, ΣΚΟΡ_Α, ΣΚΟΡ_Β
  ΧΑΡΑΚΤΗΡΕΣ: ΣΟΥΤ, ΟΜ_Α, ΟΜ_Β
  ΛΟΓΙΚΕΣ: ΣΟΥΤ_Α, ΕΛΗΞΕ

ΑΡΧΗ
  ΓΡΑΨΕ 'ΔΩΣΕ ΟΝΟΜΑΤΑ ΟΜΑΔΩΝ'
  ΔΙΑΒΑΣΕ ΟΜ_Α, ΟΜ_Β
  ΣΟΥΤ_Α <- ΑΛΗΘΗΣ
  ΣΚΟΡ_Α <- 0
  ΣΚΟΡ_Β <- 0

  ΠΡΟΣΠ <- 1
  ΕΛΗΞΕ <- ΨΕΥΔΗΣ
  
  ΟΣΟ ΠΡΟΣΠ <= 10 ΚΑΙ ΕΛΗΞΕ = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
    ΑΝ ΣΟΥΤ_Α = ΑΛΗΘΗΣ ΤΟΤΕ
      ΓΡΑΨΕ 'Εκτελεί πέναλτι η ομάδα:', ΟΜ_Α
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΔΙΑΒΑΣΕ ΣΟΥΤ
      ΜΕΧΡΙΣ_ΟΤΟΥ ΣΟΥΤ = 'Ε' Η ΣΟΥΤ = 'Α'

      ΑΝ ΣΟΥΤ = 'Ε' ΤΟΤΕ
        ΣΚΟΡ_Α <- ΣΚΟΡ_Α + 1
      ΤΕΛΟΣ_ΑΝ
      ΣΟΥΤ_Α <- ΨΕΥΔΗΣ
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'Εκτελεί πέναλτι η ομάδα:', ΟΜ_Β
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΔΙΑΒΑΣΕ ΣΟΥΤ
      ΜΕΧΡΙΣ_ΟΤΟΥ ΣΟΥΤ = 'Ε' Η ΣΟΥΤ = 'Α'

      ΑΝ ΣΟΥΤ = 'Ε' ΤΟΤΕ
        ΣΚΟΡ_Β <- ΣΚΟΡ_Β + 1
      ΤΕΛΟΣ_ΑΝ
      ΣΟΥΤ_Α <- ΑΛΗΘΗΣ
    ΤΕΛΟΣ_ΑΝ
    ΓΡΑΨΕ ΣΚΟΡ_Α, ΣΚΟΡ_Β
    
    ! ΤΡΟΠΟΙ ΛΗΞΗΣ
    ΑΝ Α_Τ(ΣΚΟΡ_Α - ΣΚΟΡ_Β) = 3 ΚΑΙ ΠΡΟΣΠ > 5 ΤΟΤΕ
      ΕΛΗΞΕ <- ΑΛΗΘΗΣ
    ΑΛΛΙΩΣ_ΑΝ Α_Τ(ΣΚΟΡ_Α - ΣΚΟΡ_Β) = 2 ΚΑΙ ΠΡΟΣΠ >= 8 ΤΟΤΕ
      ΕΛΗΞΕ <- ΑΛΗΘΗΣ
    ΤΕΛΟΣ_ΑΝ
    
    ΠΡΟΣΠ <- ΠΡΟΣΠ + 1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  
  ΑΝ ΕΛΗΞΕ = ΨΕΥΔΗΣ ΤΟΤΕ
     ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΓΡΑΨΕ 'Εκτελεί πέναλτι η ομάδα:', ΟΜ_Α
        ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
           ΔΙΑΒΑΣΕ ΣΟΥΤ
        ΜΕΧΡΙΣ_ΟΤΟΥ ΣΟΥΤ = 'Ε' Η ΣΟΥΤ = 'Α'
        ΑΝ ΣΟΥΤ = 'Ε' ΤΟΤΕ
           ΣΚΟΡ_Α <- ΣΚΟΡ_Α + 1
        ΤΕΛΟΣ_ΑΝ
        
        ΓΡΑΨΕ 'Εκτελεί πέναλτι η ομάδα:', ΟΜ_Β
        ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
           ΔΙΑΒΑΣΕ ΣΟΥΤ
        ΜΕΧΡΙΣ_ΟΤΟΥ ΣΟΥΤ = 'Ε' Η ΣΟΥΤ = 'Α'
        ΑΝ ΣΟΥΤ = 'Ε' ΤΟΤΕ
           ΣΚΟΡ_Β <- ΣΚΟΡ_Β + 1
        ΤΕΛΟΣ_ΑΝ
     ΜΕΧΡΙΣ_ΟΤΟΥ ΣΚΟΡ_Α <> ΣΚΟΡ_Β
  ΤΕΛΟΣ_ΑΝ
  
  ΓΡΑΨΕ 'ΚΥΠΕΛΟΥΧΟΣ 2010 – 11'
  ΑΝ ΣΚΟΡ_Α > ΣΚΟΡ_Β ΤΟΤΕ
    ΓΡΑΨΕ ΟΜ_Α
  ΑΛΛΙΩΣ
     ΓΡΑΨΕ ΟΜ_Β
  ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Λέων Προκόπης
2ο ΓΕΛ Ναυπλίου

avasilis

ΠΑΙΔΙΑ ΕΙΝΑΙ ΠΟΛΥ ΚΑΛΗ Η ΔΟΥΛΕΙΑ ΣΑΣ ΑΛΛΑ ΓΙΑ ΕΜΑΣ ΠΟΥ ΔΕΝ ΕΧΟΥΜΕ ΜΕΓΑΛΗ ΕΜΠΕΙΡΙΑ ΜΠΟΡΟΥΜΕ ΝΑ ΕΟΥΜΕ ΚΑΠΟΙΕΣ ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ;
ΣΑΣ ΕΥΧΑΡΙΣΤΩ

evry

Οι ενδεικτικές λύσεις θα βγουν σύντομα, λίγο υπομονή και κατανόηση
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

amisail

Γεια σας και από μένα.

Σας παρακολουθώ πολύ καιρό αλλά τώρα μόλις γράφτηκα με αφορμή το νέο διαγώνισμα και τις λύσεις που θα ήθελα να δώσω.
Μου άρεσε πολύ η δουλειά που έγινε και τα 2 πρώτα θέματα είναι δύσκολα - προτότυπα και προκαλούν να τα λύσεις.
Το Γ είναι το κλασσικά δύσκολο θέμα με τον τερματισμό της διαδικασίας και το Δ πληθωρικό και δύσκολο.
Πιστεύω πως το Α-Β θα μπορούσαν να πέσουν και φέτος αλλά από Γ-Δ δε νομίζω πως λύνονται σε δίωρο...
Οπότε όποιος λύσει τη θεωρία είναι έτοιμος για καλά θέματα ενώ αν λύσει τις ασκήσεις είναι πολύ δυνατός και έτοιμος για όλα...




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

Θέμα  Α
============
Α1.
1.	Σ. Οι μόνες απαντήσεις που μπορεί να έχουν οι συγκριτικοί τελεστές είναι Αληθής ή Ψευδής άρα πρέπει να είναι λογική μεταβλητή.
2.	Σ. Και οι χαρακτήρες μπορούν να συγκριθούν με >, < ή =.
3.	Λ. Οι λογικές μεταβλητές συγκρίνονται μόνο με = ή <>.
4.	Σ. Προκύπτει από το 1 και 3 ότι δεν γίνεται να είναι ίδιου τύπου.
5.	Λ. Δεν είναι απαραίτητο και αφού λέει πρέπει είναι λάθος.

Α2. 
1.	Δεδομένα: 160 μαθητές, τα ονόματά τους και οι βαθμοί τους.
2.	Ζητούμενα: Ο μέσος όρος και η εμφάνιση συγκεκριμένων ονομάτων.
3.	Κατηγορία με βάση τη δυνατότητα επίλυσής του: Επιλύσιμο. (είναι υπολογιστικό αν ζητούσε με βάση το είδος επίλυσης).
4.	Χρήση πίνακα: Ναι, γιατί πρέπει πρώτα να υπολογίζεται ο μέσος όρος και μετά να εμφανίζονται συγκεκριμένα ονόματα που θα πρέπει να έχουν κρατηθεί σε πίνακα.

Α3. 
1.	Π[3] <-- Π[3] * 1,3
2.	Π[10] <-- Π[10] * 0,5
3.	Π[1] <-- Π[1] * 3
4.	ΑΝ Π[6] > 0 ΤΟΤΕ
	ΒΡΕΘΗΚΕ <-- ΑΛΗΘΗΣ
	ΑΛΛΙΩΣ
	ΒΡΕΘΗΚΕ <-- ΨΕΥΔΗΣ
	ΤΕΛΟΣ_ΑΝ
5.	ΒΡΕΘΗΚΕ <-- ΟΧΙ (ΒΡΕΘΗΚΕ)
6.	i <-- Α_Μ (Π[2])

Α4.
α) Α.  Για Ν=28 --> 32, Για Ν<>28 --> 10.
Β.  Για Ν=31 --> 32, Για Ν=9 --> 10.
Γ.  Για Ν=3 --> (1*2*1 + 2*2*2 + 8*2*3) - 16 = 48 – 16 = 32, Για Ν=2 --> (1*2*1 + 2*2*2) - 16 = 10 – 16 = -6. 
Δ.  Για Ν=4 --> (22 + 1 + 2 + 3 + 4) = 32.
Άρα η έξοδος είναι το 32 και οι είσοδοι: Α. 28, Β. 31, Γ. 3, Δ. 4.

β) 
1. 	Α[Χ] <-- Χ
2. 	Α[ι] <-- ι
3.	Όσο Χ <= _8_ επανάλαβε || Α[Χ] <-- Χ
4.	Α[Χ-1] <-- Χ-1 || Μέχρις_ότου Χ > 8

Α5.
Θα πρέπει να εμφανιστούν 3 κομμάτια Α, Β και Γ: 
Α: Για i από i1 μέχρι i2
	Για j από j1 μέχρι j2
		Εμφάνισε Π[ i , j ]
	Τέλος_επανάληψης
	Τέλος_επανάληψης

Β: Για i από i1+1 μέχρι i2
	Για j από 1 μέχρι j1-1
		Εμφάνισε Π[ i , j ]
	Τέλος_επανάληψης
	Τέλος_επανάληψης

Γ: Για i από i1 μέχρι i2-1
	Για j από j2+1 μέχρι 12
		Εμφάνισε Π[ i , j ]
	Τέλος_επανάληψης
	Τέλος_επανάληψης


Θέμα  Β
============
Β1. 
1. (Θέση1) 	ΑΚΕΡΑΙΕΣ: x, y, κ
(Θέση2)		κ <-- Πράξη ( χ, y)

2. (Θέση3)	ΣΥΝΑΡΤΗΣΗ Πράξη (α, β): ΑΚΕΡΑΙΑ
(Θέση4) 	ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

3. Το πρόγραμμα αυτό υπολογίζει πόσες φορές χωράει το χ στο y ή καλύτερα το αποτέλεσμα της ακέραιας διαίρεσης: y DIV χ.

Β2.
1. τελικές τιμές
δ	temp	T	1η	2η	3η	4η	5η	6η	7η	8η	9η	10η
9	200	6	10	5	15	50	100	150	200	300	400	400

2.  Στο Τ κρατάμε την τελευταία θέση του πίνακα που έγινε αντιμετάθεση.

3. Είναι ένας αλγόριθμος φυσαλίδας για ταξινόμηση των στοιχείων από τον μικρότερο στον μεγαλύτερο (φυσαλίδα ταξινόμησης αύξουσας σειράς). Το Τα βοηθάει να μη γίνονται περιττές αντιμεταθέσεις.


Αν βρείτε λαθάκια θα εκτιμούσα να μου τα πείτε γιατί σίγουρα θα έχω...  :)

noname

Ένα λαθάκι:

Παράθεση από: amisail στις 04 Μαΐου 2011, 01:41:00 ΠΜ
4.   ΑΝ Π[6] > 0 ΤΟΤΕ
   ΒΡΕΘΗΚΕ <-- ΑΛΗΘΗΣ
   ΑΛΛΙΩΣ
   ΒΡΕΘΗΚΕ <-- ΨΕΥΔΗΣ
   ΤΕΛΟΣ_ΑΝ

Το ζητούμενο ήταν χωρίς τη χρήση δομής επιλογής:
ΒΡΕΘΗΚΕ <-- Π[6] > 0
   

amisail

Παράθεση από: noname στις 04 Μαΐου 2011, 02:16:49 ΠΜ
Ένα λαθάκι:

Το ζητούμενο ήταν χωρίς τη χρήση δομής επιλογής:
ΒΡΕΘΗΚΕ <-- Π[6] > 0


Βεβαίως.... πως μου ξέφυγε...
ευχαριστώ πολύ για τη διόρθωση
δε θα είναι το μοναδικό... :(

Γιώργος Κατσαούνος

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

noname

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

Αλγόριθμος Θ3
Διάβασε ΟΜ1, ΟΜ2
Π1 <- 0
Π2 <- 0
ΓΚ1 <- 0
ΓΚ2 <- 0
Ι <- 1
ΕΛΗΞΕ <- ΨΕΥΔΗΣ
Όσο ΕΛΗΞΕ = ΨΕΥΔΗΣ επανάλαβε
	Αν Ι mod 2 = 1 τότε
		Εμφάνισε "Εκτελεί η ομάδα:", ΟΜ1
		Π1 <- Π1+1
	αλλιώς
		Εμφάνισε "Εκτελεί η ομάδα:", ΟΜ2
		Π2 <- Π2+1
	Τέλος_αν
	Αρχή_επανάληψης
		Διάβασε ΑΠ
	Μέχρις_ότου ΑΠ="ΕΥΣΤΟΧΟ" Ή ΑΠ="ΑΣΤΟΧΟ"
	Αν ΑΠ="ΕΥΣΤΟΧΟ" τότε
		Αν Ι mod 2 = 1 τότε
			ΓΚ1<-ΓΚ1+1
		αλλιώς
			ΓΚ2<-ΓΚ2+1
		Τέλος_αν
	Tέλος_αν
	Εμφάνισε ΓΚ1, "-", ΓΚ2
	Αν (Π1<5 Ή Π2<5) τότε 
		Αν (5-Π1<ΓΚ2-ΓΚ1) τότε
			ΕΛΗΞΕ <- ΑΛΗΘΗΣ
		Τέλος_αν
		Αν (5-Π2<ΓΚ1-ΓΚ2) τότε
			ΕΛΗΞΕ <- ΑΛΗΘΗΣ
		Τέλος_αν
	αλλιώς_αν Π1=Π2 τότε
		Αν ΓΚ1 <> ΓΚ2 τότε
			ΕΛΗΞΕ <- ΑΛΗΘΗΣ
		Τέλος_αν
	Τέλος_αν
	Ι <- Ι +1
Τέλος_επανάληψης
Αν ΓΚ1 > ΓΚ2 τότε
	Εμφάνισε ΟΜ1
αλλιώς
	Εμφάνισε ΟΜ2
Τέλος_αν
Τέλος Θ3

noname

Μια ενδεικτική λύση για το θέμα 4. Παρακαλώ αν εντοπίσετε λάθη να τα επισημάνετε.
ΠΡΟΓΡΑΜΜΑ Θ4
ΜΕΤΑΒΛΗΤΕΣ
	ΑΚΕΡΑΙΕΣ: Κ, Λ, Μ, ΛΑΜΠ[50], Σ, ΚΑΤ[50, 50], Σ_ΚΑΜ, ΠΛ, ΚΑΜ[50], ΜΑΧ, ΜΑΧ_ΣΤΟΑΣ, ΘΕΣΗ
	ΛΟΓΙΚΕΣ: ΥΠΑΡΧΟΥΝ, ΣΚΟΤΕΙΝΗ
ΑΡΧΗ
! Εισαγωγή δεδομένων στον πίνακα ΛΑΜΠ | Πλήθος λαμπτήρων ανά στοά
Σ <- 0
ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 50
	ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
		ΔΙΑΒΑΣΕ Μ
	ΜΕΧΡΙΣ_ΟΤΟΥ (Μ>=20 ΚΑΙ Μ<=500)
! Υπολογισμός πλήθους λαμπτήρων ανά στοά και αποθήκευση στον πίνακα ΛΑΜΠ
	ΛΑΜΠ[Κ]<-Μ DIV 10
! Υπολογισμός συνόλου λαμπτήρων σε όλες τις στοές
	Σ <- Σ + ΛΑΜΠ[Κ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'ΣΥΝΟΛΟ ΛΑΜΠΤΗΡΩΝ: ', Σ
! Εισαγωγή δεδομένων στον πίνακα ΚΑΤ | Κατάσταση λαμπτήρων
ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 50
! μέχρι το πλήθος των λαμπτήρων της συγκεκριμένης στοάς Κ | ΛΑΜΠ[Κ]
	ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ ΛΑΜΠ[Κ]
		ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
			ΔΙΑΒΑΣΕ ΚΑΤ[Κ,Λ]
		ΜΕΧΡΙΣ_ΟΤΟΥ (ΚΑΤ[Κ,Λ] =0 Ή ΚΑΤ[Κ,Λ] =1)
	ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Υπολογισμός καμένων λαμπτήρων 
Σ_ΚΑΜ <- 0
ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 50
	ΠΛ <- 0
	ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ ΛΑΜΠ[Κ]
		ΑΝ ΚΑΤ[Κ,Λ] = 0 ΤΟΤΕ
			ΠΛ <- ΠΛ + 1
		ΤΕΛΟΣ_ΑΝ
	ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! καμένοι ανά στοά
	ΚΑΜ[Κ]<-ΠΛ
! καμένοι συνολικά
	Σ_ΚΑΜ <- Σ_ΚΑΜ + ΠΛ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Δεν υπάρχει περίπτωση το Σ να είναι μηδέν εφόσον όλες οι στοές έχουν τουλάχιστον από 1 λαμπτήρα. Ελάχιστο μήκος στοάς 20 μέτρα.
ΓΡΑΨΕ 'ΠΟΣΟΣΤΟ ΚΑΜΕΝΩΝ ΛΑΜΠΤΗΡΩΝ ΣΕ ΟΛΟΚΛΗΡΟ ΤΟ ΟΡΥΧΕΙΟ ', (Σ_ΚΑΜ/Σ)*100
!------------------------------
!Υπολογισμός μέγιστου ΠΟΣΟΣΤΟΥ καμένων/συνολικών ανά στοά
ΜΑΧ <- ΚΑΜ[1]/ΛΑΜΠ[1]
ΓΙΑ Κ ΑΠΟ 2 ΜΕΧΡΙ 50
	ΑΝ ΚΑΜ[Κ]/ΛΑΜΠ[Κ] > ΜΑΧ ΤΟΤΕ
		ΜΑΧ <- ΚΑΤ[Κ]/ΛΑΜΠ[Κ]
	ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Εμφάνιση όσων είναι ίσα με το μέγιστο | Πιθανή ύπαρξη περισσότερων του ενός
ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 50
	ΑΝ ΚΑΜ[Κ]/ΛΑΜΠ[Κ] = ΜΑΧ ΤΟΤΕ
		ΓΡΑΨΕ Κ
	ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! Η μεταβλητή ΥΠΑΡΧΟΥΝ δηλώνει εάν υπάρχουν σκοτεινές στοές
ΥΠΑΡΧΟΥΝ <- ΨΕΥΔΗΣ
ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 50
! Η μεταβλητή ΣΚΟΤΕΙΝΗ δηλώνει αν η συγκεκριμένη στοά είναι σκοτεινή
! Έστω ότι είναι σκοτεινή
	ΣΚΟΤΕΙΝΗ <- ΑΛΗΘΗΣ
	ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ ΛΑΜΠ[Κ]
		! Αν βρεις έστω και έναν αναμμένο λαμπτήρα τότε δεν είναι σκοτεινή
		ΑΝ ΚΑΤ[Κ,Λ] = 1 ΤΟΤΕ
			ΣΚΟΤΕΙΝΗ <- ΨΕΥΔΗΣ
		ΤΕΛΟΣ_ΑΝ
	ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
	! Αν η συγκεκριμένη στοά είναι σκοτεινή τότε εμφάνισε τον αριθμό της και
	! Η μεταβλητή ΥΠΑΡΧΟΥΝ γίνεται αληθής αφού υπάρχουν σκοτεινές στοές
	ΑΝ ΣΚΟΤΕΙΝΗ = ΑΛΗΘΗΣ ΤΟΤΕ
		ΓΡΑΨΕ Κ
		ΥΠΑΡΧΟΥΝ <- ΑΛΗΘΗΣ
	ΤΕΛΟΣ_ΑΝ
!Η επανάληψη συνεχίζεται για τον έλεγχο της επόμενης στοάς
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ ΥΠΑΡΧΟΥΝ = ΨΕΥΔΗΣ ΤΟΤΕ
	ΓΡΑΨΕ 'ΔΕΝ ΥΠΑΡΧΟΥΝ ΣΚΟΤΕΙΝΕΣ ΣΤΟΕΣ'
ΤΕΛΟΣ_ΑΝ
! Υποερώτημα Δ5
! Υπολογισμός μέγιστου πλήθους συνεχόμενων καμένων λαμπτήρων
ΜΑΧ <- -1
ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 50
	! Κλήση συνάρτησης 
	ΜΑΧ_ΣΤΟΑΣ <- ΣΥΝΕΧΟΜΕΝΟΙ_ΚΑΜΕΝΟΙ_ΣΤΟΑΣ(ΚΑΤ, ΛΑΜΠ, Κ)
	ΑΝ ΜΑΧ_ΣΤΟΑΣ>ΜΑΧ ΤΟΤΕ
		ΜΑΧ <- ΜΑΧ_ΣΤΟΑΣ
		ΘΕΣΗ <- Κ
	ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ 'ΜΕΓΙΣΤΟ ΠΛΗΘΟΣ ΣΥΝΕΧΟΜΕΝΩΝ ΚΑΜΕΝΩΝ ΛΑΜΠΤΗΡΩΝ ', ΜΑΧ, ' ΣΤΗ ΣΤΟΑ ', ΘΕΣΗ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
!---------------------------------
ΣΥΝΑΡΤΗΣΗ ΣΥΝΕΧΟΜΕΝΟΙ_ΚΑΜΕΝΟΙ_ΣΤΟΑΣ (ΚΑΤ, ΛΑΜΠ, Κ):ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
	ΑΚΕΡΑΙΕΣ: ΚΑΤ[50, 50], ΛΑΜΠ[50], Κ, Λ, ΜΑΧ, Μ
	ΛΟΓΙΚΕΣ: DONE
ΑΡΧΗ
Λ<-1
ΜΑΧ<- -1
! Έλεγξε όλους τους λαμπτήρες της στοάς
ΟΣΟ Λ <= ΛΑΜΠ[Κ] ΕΠΑΝΑΛΑΒΕ
	Μ <- 0
	DONE <- ΑΛΗΘΗΣ		
	! Όσο βρίσκεις καμένους, μέτρα τους χωριστά από την αρχική επανάληψη
	! Χρησιμοποιώ τη μεταβλητή DONE για να αποφύγω να βγω εκτός πίνακα
	ΟΣΟ (Λ <= ΛΑΜΠ[Κ] ΚΑΙ DONE=ΑΛΗΘΗΣ) ΕΠΑΝΑΛΑΒΕ
		ΑΝ ΚΑΜ[Κ,Λ]=0 ΤΟΤΕ
			Μ <- Μ + 1
			Λ <- Λ + 1
		ΑΛΛΙΩΣ
			DONE <- ΨΕΥΔΗΣ		
		ΤΕΛΟΣ_ΑΝ
	ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
	!Αυτοί που μέτρησες είναι οι περισσότεροι μέχρι στιγμής;
	ΑΝ Μ>ΜΑΧ ΤΟΤΕ
		ΜΑΧ <- Μ
	ΤΕΛΟΣ_ΑΝ
	! Προχώρα στον επόμενο 
	! Ήδη το Λ έχει αυξηθεί και παραπάνω, όσο βρίσκω καμένους 
	Λ<-Λ+1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΥΝΕΧΟΜΕΝΟΙ_ΚΑΜΕΝΟΙ_ΣΤΟΑΣ <- ΜΑΧ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ


evry

@noname
Έχεις σκεφτεί του χρόνου να μπεις στην ομάδα διαγωνισμάτων? ;)
γιατί βλέπω ότι έχεις όρεξη
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

noname


sstergou

Παράθεση από: noname στις 04 Μαΐου 2011, 02:15:49 ΜΜ
Μια ενδεικτική λύση για το θέμα 4. Παρακαλώ αν εντοπίσετε λάθη να τα επισημάνετε.
ΣΥΝΑΡΤΗΣΗ ΣΥΝΕΧΟΜΕΝΟΙ_ΚΑΜΕΝΟΙ_ΣΤΟΑΣ (ΚΑΤ, ΛΑΜΠ, Κ):ΑΚΕΡΑΙΑ



Μια λεπτομέρεια : η συνάρτηση (που είναι και ωραία σαν λύση) πρέπει να πάρει σαν παράμετρο όχι τον πίνακα ΛΑΜΠ αλλά το τρέχων στοιχείο του.