Αποστολέας Θέμα: Ερωτηση στην κληση υποπρογραμματος με πίνακα  (Αναγνώστηκε 2415 φορές)

fan

  • Βετεράνος
  • ****
  • Μηνύματα: 60
Εχω προβληματιστει στο εξης:
''Η τυπικη παραμετρος και η αντιστοιχη της πραγματική πρεπει να είναι του ιδιου τύπου''
τοτε πως μπορει να δικαιολογηθεί στη παρακατω δομή π.χ.(δανειζομαι ενα προγραμμα απο ένα μήνυμα του panag_z) η κλήση της Διαδικασίας;
Ευχαριστω

ΠΡΟΓΡΑΜΜΑ ΠΧ_1
ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: Α[100], ι, j
..........
ΓΙΑ ι ΑΠΟ 2 ΜΕΧΡΙ 100
     ΓΙΑ j ΑΠΟ 100 ΜΕΧΡΙ ι ΜΕ ΒΗΜΑ -1
          ΑΝ Α[j-1] > Α[j] ΤΟΤΕ
                ΚΑΛΕΣΕ ΑΝΤΙΜΕΤΑΘΕΣΗ_2 (Α[j-1],Α[j])
          ΤΕΛΟΣ_ΑΝ
     ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
............
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


ΔΙΑΔΙΚΑΣΙΑ ΑΝΤΙΜΕΤΑΘΕΣΗ_2 (Χ,Υ)
ΜΕΤΑΒΛΗΤΕΣ
     ΑΚΕΡΑΙΕΣ: Χ, Υ, Τ
ΑΡΧΗ
Τ <- Χ
Χ <- Υ
Υ <- Τ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

fan

  • Βετεράνος
  • ****
  • Μηνύματα: 60
Απ: Ερωτηση στην κληση υποπρογραμματος με πίνακα
« Απάντηση #1 στις: 26 Μάρ 2007, 10:58:40 μμ »
εκανα λάθος στην διατυπωση προφανως ειναι του ιδιου τυπου.
ηθελα να πω πως μπορει να γίνει πρακτικα η αντιστοιχιση  του πίνακα Α[j-1]
με την μεταβλητη Χ στο υποπρογραμμα.

thanos_xg

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 22
Απ: Ερωτηση στην κληση υποπρογραμματος με πίνακα
« Απάντηση #2 στις: 26 Μάρ 2007, 11:07:25 μμ »
Ο πίνακας Α είναι πίνακας ακεραίων. Κάθε στοιχείο του πίνακα είναι θέση μνήμης η οποία υποδέχεται ακεραίους. Άρα τα Α[j] και Α[j-1] είναι ουσιαστικά μεταβλητές ακέραιου τύπου.
Στη διαδικασία ΑΝΤΙΜΕΤΑΘΕΣΗ_2 οι Χ,Υ δηλώνονται ως μεταβλητές ακέραιου τύπου.
Τα παραπάνω οδηγούν στο συμπέρασμα ότι δεν υπάρχει αναντιστοιχία στον τύπο των πραγματικών παραμέτρων της διαδικασίας ΑΝΤΙΜΕΤΑΘΕΣΗ_2 με τον τύπο των τυπικών παραμέτρων της.

Η κλήση της διαδικασίας λοιπόν είναι θεμιτή αν και λίγο "παράξενη" για τα δεδομένα της ΑΕΠΠ  ;)
Θανάσης Χ.

lsourtzo

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 131
Απ: Ερωτηση στην κληση υποπρογραμματος με πίνακα
« Απάντηση #3 στις: 17 Απρ 2007, 01:16:55 μμ »
θα συμφωνήσω και εγώ ...
δεν νομίζω ότι υπάρχει πρόβλημα ...
δεν παραβαίνει κάποιον κανόνα ..
αν και θα ήταν λίγο τραβηγμένη η χρήση του με τα σημερινά δεδομένα ..
σε 2-3 χρόνια μπορεί ..