Ερωτηση στην κληση υποπρογραμματος με πίνακα

Ξεκίνησε από fan, 26 Μαρ 2007, 09:51:43 ΜΜ

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

fan

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

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


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

fan

εκανα λάθος στην διατυπωση προφανως ειναι του ιδιου τυπου.
ηθελα να πω πως μπορει να γίνει πρακτικα η αντιστοιχιση  του πίνακα Α[j-1]
με την μεταβλητη Χ στο υποπρογραμμα.

thanos_xg

Ο πίνακας Α είναι πίνακας ακεραίων. Κάθε στοιχείο του πίνακα είναι θέση μνήμης η οποία υποδέχεται ακεραίους. Άρα τα Α[j] και Α[j-1] είναι ουσιαστικά μεταβλητές ακέραιου τύπου.
Στη διαδικασία ΑΝΤΙΜΕΤΑΘΕΣΗ_2 οι Χ,Υ δηλώνονται ως μεταβλητές ακέραιου τύπου.
Τα παραπάνω οδηγούν στο συμπέρασμα ότι δεν υπάρχει αναντιστοιχία στον τύπο των πραγματικών παραμέτρων της διαδικασίας ΑΝΤΙΜΕΤΑΘΕΣΗ_2 με τον τύπο των τυπικών παραμέτρων της.

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

lsourtzo

θα συμφωνήσω και εγώ ...
δεν νομίζω ότι υπάρχει πρόβλημα ...
δεν παραβαίνει κάποιον κανόνα ..
αν και θα ήταν λίγο τραβηγμένη η χρήση του με τα σημερινά δεδομένα ..
σε 2-3 χρόνια μπορεί ..