Αποστολέας Θέμα: ΕΡΩΤΗΜΑ ΚΕΦΑΛΑΙΟ 10 ΣΧΟΛΙΚΟΥ ΒΙΒΛΙΟΥ  (Αναγνώστηκε 1018 φορές)

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
ΕΡΩΤΗΜΑ ΚΕΦΑΛΑΙΟ 10 ΣΧΟΛΙΚΟΥ ΒΙΒΛΙΟΥ
« στις: 12 Φεβ 2013, 09:52:31 πμ »
Γεια σε όλους τους φίλους του ΣτΠ .
Στο σχολικό βιβλίο στο τέλος του κεφαλαίου 10 κάνει δύο ερωτήματα :

[1] Ποια η διαφορά τυπικών και πραγματικών παραμέτρων;

[2] Πώς γίνεται η ανταλλαγή των τιμών ανάμεσα στις τυπικές και πραγματικές παραμέτρους;
     Δώσε ένα παράδειγμα ανταλλαγής παραμέτρων.



Σας ευχαριστώ όλους

beronc

  • Νέος
  • *
  • Μηνύματα: 3
Απ: ΕΡΩΤΗΜΑ ΚΕΦΑΛΑΙΟ 10 ΣΧΟΛΙΚΟΥ ΒΙΒΛΙΟΥ
« Απάντηση #1 στις: 28 Φεβ 2013, 11:24:51 μμ »
[1] Ποια η διαφορά τυπικών και πραγματικών παραμέτρων;

Η λίστα των τυπικών παραμέτρων καθορίζει τις παραμέτρους στη δήλωση του υποπρογράμματος. Οι πραγματικές παράμετροι, έχουν καθολική ισχύ καθ'όλη τη διάρκεια εκτέλεσης του προγράμματος.
Η λίστα των πραγματικών παραμέτρων καθορίζει τις παραμέτρους στην κλήση του προγράμματος. Οι τυπικές παράμετροι έχουν ισχύ για το χρόνο που εκτελείται το υποπρόγραμμα στο οποίο ανήκουν. Μόλις εκτελεστεί το υποπρόγραμμμα και ο έλεγχος περάσει ξανά στο κυρίως πρόγραμμα, διαγράφονται εντελώς από τη μνήμη του υπολογιστή.

[2] Πώς γίνεται η ανταλλαγή των τιμών ανάμεσα στις τυπικές και πραγματικές παραμέτρους;
     Δώσε ένα παράδειγμα ανταλλαγής παραμέτρων.

Υπάρχει μια σχέση 1 - 1 ανάμεσα στις πραγματικές και τις τυπικές παραμέτρους. Κατά την κλήση του υποπρογράμματος, οι τιμές των μεταβλητών που ανήκουν στη λίστα πραγματικών παραμέτρων, αποδίδουν τις τιμές τους στις αντίστοιχες (με τη σειρά που αναγράφονται) μεταβλητές των τυπικών παραμέτρων. Από εκεί και πέρα:
ΣΥΝΑΡΤΗΣΗ: στη συνάρτηση, οι τυπικές παράμετροι ΔΕΝ επιστρέφουν την τιμή τους στις πραγματικές παραμέτρους. Αντίθετα, η επιστροφή της υπολογιζόμενης τιμής, γίνεται μέσα από το όνομα της συνάρτησης.
ΔΙΑΔΙΚΑΣΙΑ: μετά το πέρας της διαδικασίας, οι τυπικές παράμετροι, επιστρέφουν τις τιμές που έχουν αποκτήσει μέσα στο υποπρόγραμμα στις πραγματικές παραμέτρους, πάλι με τη σειρά που αναγράφονται.

Τώρα, όσο για παράδειγμα... πάρε οποιαδήποτε συνάρτησηξ και οποιαδήποτε διαδικασία και εξηγησέ το.

Π.Χ.1 (Συνάρτηση)

Προγραμμα ...
....
ΔΙΑΒΑΣΕ α,β
sum <-- αθροισμα(α,β)
...
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ αθροισμα(χ,ψ):ΑΚΕΡΑΙΑ
...
αθροισμα <-- χ+ψ
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

τα α,β δίνουν την τιμή που έχουν αποκτήσει στο κυρίως πρόγραμμα στις τυπικές παραμέτρους χ,ψ.
Υπολογίζεται η τιμή αθροισμα (που είναι ίδια με το όνομα της συνάρτησης)
το όνομα της συνάρτησης άθροισμα αποδίδει την τιμή που έχει υπολογιστεί στην μεταβλητή sum του κυρίως προγράμματος.

Π.Χ.2 (ΔΙΑΔΙΚΑΣΙΑ)

ΠΡΟΓΡΑΜΜΑ ...
...
ΔΙΑΒΑΣΕ α,β
ΚΑΛΕΣΕ αντιμεταθεση(α,β)
...
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ αντιμεταθεση(χ,ψ)
...
temp <--χ
χ<--ψ
ψ<--temp
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

τα α και β δίνουν την τιμή που έχουν αποκτήσει στο κυρίως πρόγραμμα στα χ και ψ
εκτελείται η διαδικασία και τα χ,ψ εναλλάσουν τις τιμές που έχουν
τα χ,ψ επιστρέφουν τις νέες ανταλαγμένες τιμές στα α,β

Ελπίζω να βοήθησα  :)