ΘΕΜΑ Δ

Ξεκίνησε από Καρκαμάνης Γεώργιος, 12 Ιουν 2017, 10:25:07 ΠΜ

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

Καρκαμάνης Γεώργιος

Εδώ σχολιάζουμε το θέμα Δ

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

Παιδιά πάμε καλά ??? 3 υποπρογράμματα ??????

ΜΑΚΡΙΔΑΚΗ ΣΤΕΛΛΑ

Μπορει να εχει 3 υποπρογραμματα ομως ειναι ξεκαθαρο τι τους ζητειται μονο που δεν τους το λυνει.

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

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

pstasinos

#4
ΔΙΑΔΙΚΑΣΙΑ ΕΙΣ(ΚΩΔ[50],ΑΠ[50,6])
ΜΕΤΑΒΛΗΤΕΣ
.........
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
   ΔΙΑΒΑΣΕ κωδ
   ΚΩΔ [ i ]  <-  κωδ
   ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 6
      ΔΙΑΒΑΣΕ απ
      ΑΠ[i,j] <- απ
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ ΑΝΑΖ(κωδ,ΚΩΔ[50]) : ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
........
ΑΡΧΗ
θέση <- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
   ΑΝ ΚΩΔ [ i ]=κωδ ΤΟΤΕ
      θέση <- i
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝΑΖ <- θέση
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΣΥΝΑΡΤΗΣΗ ΣΥΝΑΠ(i,ΑΠ[50,6],ατ) : ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
.........
ΑΡΧΗ
s <- 0
ΓΙΑ j ΑΠΟ ατ ΜΕΧΡΙ ατ+2
   s <- s + ΑΠ [ i , ατ ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΣΥΝΑΠ <- s
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΠΡΟΓΡΑΜΜΑ ΘΕΜΑΔ
ΜΕΤΑΒΛΗΤΕΣ
..........
ΑΡΧΗ

ΚΑΛΕΣΕ ΕΙΣ(ΚΩΔ[50],ΑΠ[50,6])

ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
   σα1τ <- ΣΥΝΑΠ( i , Α[50,60] , 1)
   ΑΠΤΡ[i,1] <- σα1τ
   σα2τ <- ΣΥΝΑΠ( i , Α[50,60] , 4)
   ΑΠΤΡ[i,1] <- σα2τ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΔΙΑΒΑΣΕ key
ΟΣΟ key<>'ΤΕΛΟΣ' ΕΠΑΝΑΛΑΒΕ
   απ <- ΑΝΑΖ(key,ΚΩΔ[50])
   ΑΝ απ=0 ΤΟΤΕ
      ΓΡΑΨΕ 'ΔΒ'
   ΑΛΛΙΩΣ_ΑΝ ΑΠΤΡ[απ,1]<10 και ΑΠΤΡ[απ,2]<10 ΤΟΤΕ
      ΓΡΑΨΕ 'ΔΣ'
   ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'ΟΔΣ'
   ΤΕΛΟΣ_ΑΝ
   ΔΙΑΒΑΣΕ key
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ



για τυχόν διορθώσεις , θα το κοιτάξω άμεσα

Vagnes

Παράθεση από: pstasinos στις 12 Ιουν 2017, 11:21:07 ΠΜ


ΣΥΝΑΡΤΗΣΗ ΑΝΑΖ(κωδ,ΚΩΔ[50]) : ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
........
ΑΡΧΗ
θέση <- 0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 50
   ΑΝ ΚΩΔ=κωδ ΤΟΤΕ
      θέση <- i
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝΑΖ <- θέση
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ



Θεωρώ οτι θα ήταν πιο σωστό να χρησιμοποιηθέι σειριακή αναζητηση ώστε να τερματίζεται οταν βρεθεί..

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

Στήν  τελευταία συνάρτηση δίχως μέγεθος ο πίνακας

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

Σε όλα βασικα στις παραμέτρους....

pstasinos

Παράθεση από: Vagnes στις 12 Ιουν 2017, 11:23:55 ΠΜ
Θεωρώ οτι θα ήταν πιο σωστό να χρησιμοποιηθέι σειριακή αναζητηση ώστε να τερματίζεται οταν βρεθεί..

Πάντα με καλή πρόθεση η λέξη ΠΙΟ ΣΩΣΤΑ είναι λάθος. Δεν υπάρχει πιο σωστά κατά τη γνώμη μου , υπάρχει όσο πιο απλά .
Το αναφέρω ΜΟΝΟ και ΜΟΝΟ για κανέναν περίεργο διορθωτή που μπορεί να του αρέσει η λύση με την ΟΣΟ.
Δεν μας εξετάζουν ως προς την πολυπλοκότητα του αλγορίθμου. Έχω πει και στα παιδιά μου να γράφουν απλά. Δεν το θεωρώ πιο λάθος και την όσο πιο ΣΩΣΤΟ.

jimmy

Πρωτότυπο σίγουρα, πιο δύσκολο από πέρσι σίγουρα, αλλά έχουμε δει ίσως και δυσκολότερα (2013, 2014). Στα μάτια ενός μαθήτη μάλλον είναι ψαρωτικό βέβαια, αυτό το 3 υποπρογράμματα. Επίσης θεωρώ ότι θα γίνει ένα μικρό μπάχαλο με το αν επιτρέπεται ή όχι να βάλουμε σε συνάρτηση αριθμούς ως παραμέτρους. Γιατί το σχολικό βιβλίο λέει ότι οι παράμετροι είναι μεταβλητές...

Vagnes

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

progmat

ΠΡΟΓΡΑΜΜΑ ΘΕΜΑΔ_2017
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Ι, ΑΠ[50, 6], ΑΠΤΡ[50, 2], ΘΕΣΗ
  ΧΑΡΑΚΤΗΡΕΣ: ΚΩΔ[50], Κ

ΑΡΧΗ
  ΚΑΛΕΣΕ ΕΙΣ(ΚΩΔ, ΑΠ) 
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 50
    ΑΠΤΡ[Ι, 1] <- ΣΥΝΑΠ(Ι, ΑΠ, 1) 
    ΑΠΤΡ[Ι, 2] <- ΣΥΝΑΠ(Ι, ΑΠ, 4) 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΔΙΑΒΑΣΕ Κ
  ΟΣΟ Κ <> 'ΤΕΛΟΣ' ΕΠΑΝΑΛΑΒΕ
    ΘΕΣΗ <- ΑΝΑΖ(Κ, ΚΩΔ) 
    ΑΝ ΘΕΣΗ <> 0 ΤΟΤΕ
      ΑΝ ΑΠΤΡ[ΘΕΣΗ, 1] < 10 ΚΑΙ ΑΠΤΡ[ΘΕΣΗ, 2] < 10 ΤΟΤΕ
        ΓΡΑΨΕ 'ΕΧΕΙ ΔΙΚΑΙΩΜΑ ΣΥΜΜΕΤΟΧΗΣ'
      ΑΛΛΙΩΣ
        ΓΡΑΨΕ 'ΔΕΝ ΕΧΕΙ ΔΙΚΑΙΩΜΑ ΣΥΜΜΕΤΟΧΗΣ'
      ΤΕΛΟΣ_ΑΝ
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'ΔΕΝ ΒΡΕΘΗΚΕ'
    ΤΕΛΟΣ_ΑΝ
    ΔΙΑΒΑΣΕ Κ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


ΔΙΑΔΙΚΑΣΙΑ ΕΙΣ(ΚΩΔ, ΑΠ) 
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: ΚΩΔ[50] 
  ΑΚΕΡΑΙΕΣ: Ι, J, ΑΠ[50, 6] 
ΑΡΧΗ
  ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 50
    ΔΙΑΒΑΣΕ ΚΩΔ[Ι] 
    ΓΙΑ J ΑΠΟ 1 ΜΕΧΡΙ 6
      ΔΙΑΒΑΣΕ ΑΠ[Ι, J] 
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΣΥΝΑΡΤΗΣΗ ΑΝΑΖ(Κ, ΚΩΔ): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΧΑΡΑΚΤΗΡΕΣ: ΚΩΔ[50], Κ
  ΛΟΓΙΚΕΣ: Φ
  ΑΚΕΡΑΙΕΣ: Ι, Θ
ΑΡΧΗ
  Φ <- ΨΕΥΔΗΣ
  Ι <- 1
  ΟΣΟ Ι <= 50 ΚΑΙ Φ = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
    ΑΝ ΚΩΔ[Ι] = Κ ΤΟΤΕ
      Φ <- ΑΛΗΘΗΣ
      Θ <- Ι
    ΑΛΛΙΩΣ
      Ι <- Ι + 1
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ Φ = ΑΛΗΘΗΣ ΤΟΤΕ
    ΑΝΑΖ <- Θ
  ΑΛΛΙΩΣ
    ΑΝΑΖ <- 0
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

ΣΥΝΑΡΤΗΣΗ ΣΥΝΑΠ(Κ, ΑΠ, ΤΡ): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΑΠ[50, 6], ΤΡ, ΑΘ, J, Κ
ΑΡΧΗ
  ΑΘ <- 0
  ΓΙΑ J ΑΠΟ ΤΡ ΜΕΧΡΙ ΤΡ + 2
    ΑΘ <- ΑΘ + ΑΠ[Κ, J] 
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΣΥΝΑΠ <- ΑΘ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

epsilonXi

Η ΣΥΝΑΠ βέβαια βγαίνει και σε μία γραμμή...

ΣΥΝΑΡΤΗΣΗ ΣΥΝΑΠ (χ, ΑΠ, μ):ΑΚΕΡΑΙΑ
...
ΣΥΝΑΠ <-- ΑΠ[χ,μ] + ΑΠ[χ,μ+1) + ΑΠ[χ,μ+2]
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Rathaniel

Η ΣΥΝΑΠ μπορεί να γραφεί και αλλιώς:


ΑΡΧΗ
    Σ <- 0
   Αν αρ_τριμ = 1 τότε
      Σ <- (άθροισμα 3ων πρώτων στηλών της  i γραμμης)
   Αλλιώς
      Σ<- (άθροισμα 4ης,5ης,6ης στήλης της i γραμμης)
   Τέλος_αν
   ΣΥΝΑΠ <-Σ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Χρηστίδης Αλέξανδρος,
Μηχανικός Επ/κών και Πλη/κών Συστημάτων,
Msc Στα Προηγμένα Συστήματα Πληροφορικής

Rathaniel

Θεωρώ ότι η σύνθετη επιλογή με το pos/done στην ΑΝΑΖ είναι λίγο περιττή, χωρίς να είναι λάθος φυσικά.

Με μία ανάθεση του pos στην ΑΝΑΖ είναι όλα καλά
Χρηστίδης Αλέξανδρος,
Μηχανικός Επ/κών και Πλη/κών Συστημάτων,
Msc Στα Προηγμένα Συστήματα Πληροφορικής