Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Αλγοριθμική και Προγραμματισμός => Διερμηνευτής της ΓΛΩΣΣΑΣ => Μήνυμα ξεκίνησε από: stavroslagos στις 26 Φεβ 2010, 04:39:27 πμ

Τίτλος: Πέρασμα διδιάστατου πίνακα σε διαδικασία
Αποστολή από: stavroslagos στις 26 Φεβ 2010, 04:39:27 πμ
Χαιρετισμούς στο φόρουμ και πολλά διαφωτιστικά ποστ να 'χουμε,
Δούλευα με έναν μαθητή σε ένα πρόβλημα και χρειάστηκε να περάσει σε μια διαδικασία έναν πίνακα διδιάστατο.
Ο compiler αναφέρει λάθος στην διαδικασία "Περιμένω δεξιά παρένθεση ή κόμμα" στην πρώτη αγκύλη του πίνακα π.χ Διαδικασία διαδ1(πινακας1[25,7],μετ1).
Καμία πρόταση; Μπορεί να γίνει;

Παράθεση
ΠΡΟΓΡΑΜΜΑ Θέμα_4
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, j, Σύνολο, Κ_Ζ
  ΧΑΡΑΚΤΗΡΕΣ: ΚΡΑΤ[25, 7]
ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 25
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7
             ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                  ΔΙΑΒΑΣΕ ΚΡΑΤ[i, j]
             ΜΕΧΡΙΣ_ΟΤΟΥ ΚΡΑΤ[i, j] = "Δ" Η ΚΡΑΤ[i, j] = "Κ"
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  Σύνολο <- 0
  ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7
    ΚΑΛΕΣΕ Κέρδος (Κ_Ζ)
    Σύνολο <- Σύνολο + Κ_Ζ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ Σύνολο > 0 ΤΟΤΕ
    ΓΡΑΨΕ 'κέρδος', Σύνολο
  ΑΛΛΙΩΣ_ΑΝ Σύνολο < 0 ΤΟΤΕ
    ΓΡΑΨΕ 'ζημιές', Σύνολο
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Μηδενική μεταβολή εσόδων'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
ΔΙΑΔΙΚΑΣΙΑ Κέρδος(ΥΠ_ΚΡΑΤ[25,7],ΥΠ_Κ_Ζ)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Ημέρα, i, j, Πλήθος_δωματίων, Πλήθος_υπαλλήλων, ΥΠ_Κ_Ζ
  ΧΑΡΑΚΤΗΡΕΣ: ΥΠ_ΚΡΑΤ[25, 7]
ΑΡΧΗ
  Πλήθος_δωματίων <- 0
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 25
    ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 7
      ΑΝ ΚΡΑΤ[i, j] = "Κ" ΤΟΤΕ
        Πλήθος_δωματίων <- Πλήθος_δωματίων + 1
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ Πλήθος_δωματίων <= 4 ΤΟΤΕ
    Πλήθος_υπαλλήλων <- 3
  ΑΛΛΙΩΣ
    ΑΝ Πλήθος_δωματίων <= 8 ΤΟΤΕ
      Πλήθος_υπαλλήλων <- 4
    ΑΛΛΙΩΣ
      ΑΝ Πλήθος_δωματίων <= 12 ΤΟΤΕ
        Πλήθος_υπαλλήλων <- 5
      ΑΛΛΙΩΣ
        Πλήθος_υπαλλήλων <- 6
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΑΝ
  ΥΠ_Κ_Ζ <- Πλήθος_δωματίων*75 - Πλήθος_υπαλλήλων*45
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Τίτλος: Απ: Πέρασμα διδιάστατου πίνακα σε διαδικασία
Αποστολή από: alkisg στις 26 Φεβ 2010, 08:15:53 πμ
Στην επικεφαλίδα των υποπρογραμμάτων δεν αναφέρουμε τον αριθμό των στοιχείων, δηλαδή το
Κώδικας: [Επιλογή]
ΔΙΑΔΙΚΑΣΙΑ Κέρδος(ΥΠ_ΚΡΑΤ[25,7],ΥΠ_Κ_Ζ)
θα πρέπει να γραφεί ως
Κώδικας: [Επιλογή]
ΔΙΑΔΙΚΑΣΙΑ Κέρδος(ΥΠ_ΚΡΑΤ, ΥΠ_Κ_Ζ)

Επίσης πρόσεξε λίγο εκεί που την καλείς με μία παράμετρο, ΚΑΛΕΣΕ Κέρδος (Κ_Ζ), ενώ έχεις δηλώσει ότι παίρνει δύο παραμέτρους.
Τίτλος: Απ: Πέρασμα διδιάστατου πίνακα σε διαδικασία
Αποστολή από: tom στις 26 Φεβ 2010, 10:41:25 πμ
Επίσης πρόσεξε λίγο εκεί που την καλείς με μία παράμετρο, ΚΑΛΕΣΕ Κέρδος (Κ_Ζ), ενώ έχεις δηλώσει ότι παίρνει δύο παραμέτρους.
Να μια καλή ιδέα για την επόμενη έκδοση του Διερμηνευτή: "Υπερφόρτωση συναρτήσεων και τελεστών"!  :)
Τίτλος: Απ: Πέρασμα διδιάστατου πίνακα σε διαδικασία
Αποστολή από: stavroslagos στις 27 Φεβ 2010, 09:04:03 μμ
Ευχαριστώ πολύ. Έχεις κάνει πολλή και καλή δουλειά με την "ΓΛΩΣΣΑ".