Θέμα Γ

Ξεκίνησε από gpapargi, 27 Μαΐου 2015, 10:21:23 ΠΜ

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

gpapargi

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

progmat

#1
Μια γρήγορη λύση στο Γ ...
ΠΡΟΓΡΑΜΜΑ ΘΕΜΑΓ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΧΑ, ΧΒ, ΜΕΓ, ΠΛΑ, ΠΛΒ

ΑΡΧΗ
  ΠΛΑ <- 0
  ΠΛΒ <- 0
  ΔΙΑΒΑΣΕ ΧΑ, ΧΒ
  ΔΙΑΒΑΣΕ ΜΕΓ
  ΟΣΟ ΜΕΓ <> 0 ΕΠΑΝΑΛΑΒΕ
    ΑΝ ΧΑ >= ΧΒ ΚΑΙ ΜΕΓ <= ΧΑ ΤΟΤΕ
      ΓΡΑΨΕ 'ΑΠΟΘΗΚΗ Α'
      ΧΑ <- ΧΑ - ΜΕΓ
      ΠΛΑ <- ΠΛΑ + 1
    ΑΛΛΙΩΣ_ΑΝ ΧΒ > ΧΑ ΚΑΙ ΜΕΓ <= ΧΒ ΤΟΤΕ
      ΓΡΑΨΕ 'ΑΠΟΘΗΚΗ Β'
      ΧΒ <- ΧΒ - ΜΕΓ
      ΠΛΒ <- ΠΛΒ + 1
    ΑΛΛΙΩΣ
      ΓΡΑΨΕ 'ΠΡΟΩΘΗΣΗ'
    ΤΕΛΟΣ_ΑΝ
    ΔΙΑΒΑΣΕ ΜΕΓ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΚΑΛΕΣΕ Δ(ΠΛΑ, ΠΛΒ) 
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ Δ(ΠΛ1, ΠΛ2) 
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: ΠΛ1, ΠΛ2
ΑΡΧΗ
 ΑΝ ΠΛ1 = 0 ΚΑΙ ΠΛ2 = 0 ΤΟΤΕ
  ΓΡΑΨΕ "ΚΑΜΙΑ ΑΠΟΘΗΚΕΥΣΗ"
  ΑΛΛΙΩΣ_ΑΝ ΠΛ1 > ΠΛ2 ΤΟΤΕ
    ΓΡΑΨΕ 'Α'
  ΑΛΛΙΩΣ_ΑΝ ΠΛ1 < ΠΛ2 ΤΟΤΕ
    ΓΡΑΨΕ 'Β'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ "ΙΣΑΡΙΘΜΑ"
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

nightchild

Σου ξέφυγε μια περίπτωση στην διαδικασία
Αν ΠΛ1=0 ΚΑΙ ΠΛ2=0 ΤΟΤΕ
        ΓΡΑΨΕ 'Καμία αποθήκευση στο αεροδρόμιο'

progmat

Ευχαριστώ για την επισήμανση το διόρθωσα...

soc_h

Πιστεύω πως το
"Η διαδικασία παραλαβής τερματίζεται"
να μην υπονοεί πως πρέπει να λυθεί με διαδικασία. Δηλαδή για μένα δεν χρειάζεται υποπρόγραμμα.
Σωκράτης

Loco-3

οι ΧΑ ΧΒ και ΜΕΓ δεν μπορούν να θεωρηθούν και πραγματικές ;

alpapanto

Παράθεση από: Loco-3 στις 27 Μαΐου 2015, 01:04:08 ΜΜ
οι ΧΑ ΧΒ και ΜΕΓ δεν μπορούν να θεωρηθούν και πραγματικές ;
ναι, γιατί να μην μπορούν;

marvic

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

petrosp13

Το θέμα μοιάζει εκ πρώτης όψεως εύκολο, αλλά παρατηρείται ότι αρκετά παιδιά έχουν κάνει λάθη στις συνθήκες, κυρίως στο πώς αποκλείει η μια περίπτωση την άλλη
Ωστόσο, 4 μονάδες για δήλωση μεταβλητών και μια εντολή Διάβασε;;;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

theoL

ΠΡΟΓΡΑΜΜΑ  ΘΕΜΑ_Γ
! Γ1α---------------------------------------------------------
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α,Β,ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ,ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α,ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Β,ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_ΕΚΤΟΣ
!β------------------------------------------------------------
ΑΡΧΗ
  ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α <-- 0
  ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Β <-- 0
  ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_ΕΚΤΟΣ <-- 0
  ΓΡΑΨΕ 'ΜΕΓΕΘΟΣ ΕΛΕΥΘΕΡΟΥ ΧΩΡΟΥ ΑΠΟΘΗΚΗΣ Α'
  ΔΙΑΒΑΣΕ Α
  ΓΡΑΨΕ 'ΜΕΓΕΘΟΣ ΕΛΕΥΘΕΡΟΥ ΧΩΡΟΥ ΑΠΟΘΗΚΗΣ Β'
  ΔΙΑΒΑΣΕ Β
!γ------------------------------------------------------------
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'ΜΕΓΕΘΟΣ ΔΕΜΑΤΟΣ'
    ΔΙΑΒΑΣΕ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ
    ΑΝ Α=Β ΤΟΤΕ
      ΓΡΑΨΕ 'ΘΑ ΤΟΠΟΘΕΤΗΘΕΙ ΣΤΗΝ Α'
      ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α <-- ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α+1
    ΑΛΛΙΩΣ
      ΑΝ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ<Α ΤΟΤΕ
        ΓΡΑΨΕ 'ΘΑ ΤΟΠΟΘΕΤΗΘΕΙ ΣΤΗΝ Α'
        ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α <-- ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α+1
      ΑΛΛΙΩΣ_ΑΝ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ<Β ΤΟΤΕ
        ΓΡΑΨΕ 'ΘΑ ΤΟΠΟΘΕΤΗΘΕΙ ΣΤΗΝ Β'
        ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Β <-- ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Β+1
      ΑΛΛΙΩΣ_ΑΝ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ>Α ΚΑΙ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ>Β ΤΟΤΕ
        ΓΡΑΨΕ 'Προοώθηση'
        ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_ΕΚΤΟΣ <-- ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_ΕΚΤΟΣ+1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ = 0
!δ--------------------------------------------------------------
  ΚΑΛΕΣΕ ΑΠΟΘΗΚΕΣ (ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α,ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Β,ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_ΕΚΤΟΣ)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΘΕΜΑ_Γ

!Γ2---------------------------------------------------------------
ΔΙΑΔΙΚΑΣΙΑ  ΑΠΟΘΗΚΕΣ (ΑΔΑ,ΑΔΒ,ΑΔΕ)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:ΑΔΑ,ΑΔΒ,ΑΔΕ
ΑΡΧΗ
  ΑΝ ΑΔΑ=ΑΔΒ ΚΑΙ ΑΔΑ <> 0 ΚΑΙ ΑΔΒ <> 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Ισάριθμα'
  ΑΛΛΙΩΣ_ΑΝ ΑΔΑ>ΑΔΒ ΤΟΤΕ
    ΓΡΑΨΕ 'ΑΠΟΘΗΚΗ Α'
  ΑΛΛΙΩΣ_ΑΝ ΑΔΒ>ΑΔΑ ΤΟΤΕ
    ΓΡΑΨΕ 'ΑΠΟΘΗΚΗ Β'
  ΑΛΛΙΩΣ_ΑΝ ΑΔΑ=0 ΚΑΙ ΑΔΒ=0 ΤΟΤΕ
    ΓΡΑΨΕ 'Καμία αποθήκευση στο αεροδρόμιο'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

vistrian

Παράθεση από: theoL στις 27 Μαΐου 2015, 05:12:13 ΜΜ
ΠΡΟΓΡΑΜΜΑ  ΘΕΜΑ_Γ
! Γ1α---------------------------------------------------------
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α,Β,ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ,ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α,ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Β,ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_ΕΚΤΟΣ
!β------------------------------------------------------------
ΑΡΧΗ
  ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α <-- 0
  ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Β <-- 0
  ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_ΕΚΤΟΣ <-- 0
  ΓΡΑΨΕ 'ΜΕΓΕΘΟΣ ΕΛΕΥΘΕΡΟΥ ΧΩΡΟΥ ΑΠΟΘΗΚΗΣ Α'
  ΔΙΑΒΑΣΕ Α
  ΓΡΑΨΕ 'ΜΕΓΕΘΟΣ ΕΛΕΥΘΕΡΟΥ ΧΩΡΟΥ ΑΠΟΘΗΚΗΣ Β'
  ΔΙΑΒΑΣΕ Β
!γ------------------------------------------------------------
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ 'ΜΕΓΕΘΟΣ ΔΕΜΑΤΟΣ'
    ΔΙΑΒΑΣΕ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ
ΑΝ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ <> 0 ΤΟΤΕ 
ΑΝ Α=Β ΤΟΤΕ
      ΓΡΑΨΕ 'ΘΑ ΤΟΠΟΘΕΤΗΘΕΙ ΣΤΗΝ Α'
      ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α <-- ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α+1
    ΑΛΛΙΩΣ
      ΑΝ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ<Α ΤΟΤΕ
        ΓΡΑΨΕ 'ΘΑ ΤΟΠΟΘΕΤΗΘΕΙ ΣΤΗΝ Α'
        ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α <-- ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α+1
      ΑΛΛΙΩΣ_ΑΝ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ<Β ΤΟΤΕ
        ΓΡΑΨΕ 'ΘΑ ΤΟΠΟΘΕΤΗΘΕΙ ΣΤΗΝ Β'
        ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Β <-- ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Β+1
      ΑΛΛΙΩΣ_ΑΝ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ>Α ΚΑΙ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ>Β ΤΟΤΕ
        ΓΡΑΨΕ 'Προοώθηση'
        ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_ΕΚΤΟΣ <-- ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_ΕΚΤΟΣ+1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ ΜΕΓΕΘΟΣ_ΔΕΜΑΤΟΣ = 0
!δ--------------------------------------------------------------
  ΚΑΛΕΣΕ ΑΠΟΘΗΚΕΣ (ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α,ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Β,ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_ΕΚΤΟΣ)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΘΕΜΑ_Γ

!Γ2---------------------------------------------------------------
ΔΙΑΔΙΚΑΣΙΑ  ΑΠΟΘΗΚΕΣ (ΑΔΑ,ΑΔΒ,ΑΔΕ)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:ΑΔΑ,ΑΔΒ,ΑΔΕ
ΑΡΧΗ
  ΑΝ ΑΔΑ=ΑΔΒ ΚΑΙ ΑΔΑ <> 0 ΚΑΙ ΑΔΒ <> 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Ισάριθμα'
  ΑΛΛΙΩΣ_ΑΝ ΑΔΑ>ΑΔΒ ΤΟΤΕ
    ΓΡΑΨΕ 'ΑΠΟΘΗΚΗ Α'
  ΑΛΛΙΩΣ_ΑΝ ΑΔΒ>ΑΔΑ ΤΟΤΕ
    ΓΡΑΨΕ 'ΑΠΟΘΗΚΗ Β'
  ΑΛΛΙΩΣ_ΑΝ ΑΔΑ=0 ΚΑΙ ΑΔΒ=0 ΤΟΤΕ
    ΓΡΑΨΕ 'Καμία αποθήκευση στο αεροδρόμιο'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
VR in Computing

theoL

 :-[
Γιατί αυτο...; μπορείς να μου εξηγήσεις ; σ' ευχαριστώ
καταλαβαααα οκ. :D

vistrian

Παράθεση από: theoL στις 27 Μαΐου 2015, 05:22:33 ΜΜ
:-[
Γιατί αυτο...; μπορείς να μου εξηγήσεις ; σ' ευχαριστώ

Διότι δεν γνωρίζουμε εάν θα γίνει τουλάχιστον μία επανάληψη. Αν δώσουμε στην τιμή 0 στο δέμα τότε θα εκτελεστεί ο αλγόριθμος, κάτι το οποίο δεν είναι σωστό,

Εάν Η Α έχει μέγεθος 20 και η Β έχει μέγεθος 20 και το δέμα έχει την τιμή 0 τότε θα μπει στην πρώτη Αν
Εάν Η Α έχει μέγεθος 30 και η Β έχει μέγεθος 20 και το δέμα έχει την τιμή 0 τότε θα μπει στο Αλλιως

και στις δύο περιπτώσεις θα αυξηθεί η μεταβλητή ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α <-- ΑΡΙΘΜΟΣ_ΔΕΜΑΤΩΝ_Α+1
κάτι που δεν έπρεπε να γίνει
VR in Computing

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

Παράθεση από: theoL στις 27 Μαΐου 2015, 05:12:13 ΜΜ
ΔΙΑΔΙΚΑΣΙΑ  ΑΠΟΘΗΚΕΣ (ΑΔΑ,ΑΔΒ,ΑΔΕ)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ:ΑΔΑ,ΑΔΒ,ΑΔΕ
ΑΡΧΗ
  ΑΝ ΑΔΑ=ΑΔΒ ΚΑΙ ΑΔΑ <> 0 ΚΑΙ ΑΔΒ <> 0 ΤΟΤΕ
    ΓΡΑΨΕ 'Ισάριθμα'
  ΑΛΛΙΩΣ_ΑΝ ΑΔΑ>ΑΔΒ ΤΟΤΕ
    ΓΡΑΨΕ 'ΑΠΟΘΗΚΗ Α'
  ΑΛΛΙΩΣ_ΑΝ ΑΔΒ>ΑΔΑ ΤΟΤΕ
    ΓΡΑΨΕ 'ΑΠΟΘΗΚΗ Β'
  ΑΛΛΙΩΣ_ΑΝ ΑΔΑ=0 ΚΑΙ ΑΔΒ=0 ΤΟΤΕ
    ΓΡΑΨΕ 'Καμία αποθήκευση στο αεροδρόμιο'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

To ΑΔΕ πού σου χρειάζεται;

Επίσης, η τελευταία περίπτωση θα μπορούσε να είναι σκέτο ΑΛΛΙΩΣ.

theoL

Το ΑΔΕ ΔΕΝ χρειάζεται πουθενα  :) κεκτημένη ταχυτητα...
το τελευταίο δεν μπαίνει σκετο γιατί είναι ΚΑΙ