ΤΕΣΤ (ΑΣΚΗΣΕΙΣ) ONLINE
98 Tests / Διαγωνίσματα

Κεφάλαιο 10.5 – Διαδικασίες και συναρτήσεις – Σελίδα 175-182 – ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ΄ ΛΥΚΕΙΟΥ – Απαντήσεις – Λύσεις

Ερωτήσεις - Θέματα για συζήτηση

Ερώτηση 1 (σελ. 189)

Ποια η βασική διαφορά διαδικασιών και συναρτήσεων;

Σκέψη / Μεθοδολογία: Ε ρ ώ τ η σ η σ ύ γ κ ρ ι σ η ς α ν ά μ ε σ α σ ε § 1 0 . 5 . 1 κ α ι § 1 0 . 5 . 2 .

Λύση: Εντοπίζουμε το βασικό διακριτικό γνώρισμα: τι επιστρέφει η καθεμία.

Απάντηση: Η συνάρτηση παράγει και επιστρέφει μία και μόνο τιμή, μέσω εκχώρησης στο ίδιο το όνομά της, και εκτελείται με απλή αναφορά του ονόματός της σε μία έκφραση. Η διαδικασία μπορεί να εκτελεί οποιεσδήποτε ενέργειες, καλείται ρητά με την εντολή ΚΑΛΕΣΕ, και μπορεί να επιστρέφει καμία, μία ή περισσότερες τιμές μέσω των παραμέτρων της.

Πρόσεξε:

  • Μία συνάρτηση επιστρέφει ΠΑΝΤΑ ακριβώς μία τιμή· η διαδικασία μπορεί να επιστρέφει και περισσότερες, μέσω πολλών παραμέτρων.

Ερώτηση 2 (σελ. 189)

Πώς εκτελείται μία συνάρτηση;

Σκέψη / Μεθοδολογία: Κ λ ε ι σ τ ή ε ρ ώ τ η σ η — η ε κ τ έ λ ε σ η π ε ρ ι γ ρ ά φ ε τ α ι ρ η τ ά σ τ ο § 1 0 . 5 . 1 .

Λύση: Περιγράφουμε τον τρόπο κλήσης μιας συνάρτησης, όπως και των ενσωματωμένων συναρτήσεων της γλώσσας.

Απάντηση: Μία συνάρτηση εκτελείται ακριβώς όπως οι ενσωματωμένες συναρτήσεις της γλώσσας: αναφέρεται απλώς το όνομά της μέσα σε μία έκφραση ή εντολή (π.χ. Εμ <- Εμβαδό_κύκλου(R)), και επιστρέφεται η τιμή της στο σημείο της κλήσης.

Πρόσεξε:

  • Δεν χρειάζεται η εντολή ΚΑΛΕΣΕ για συνάρτηση — αυτή χρησιμοποιείται μόνο για διαδικασίες.

Ερώτηση 3 (σελ. 189)

Πώς καλείται μία διαδικασία;

Σκέψη / Μεθοδολογία: Κ λ ε ι σ τ ή ε ρ ώ τ η σ η — η κ λ ή σ η π ε ρ ι γ ρ ά φ ε τ α ι ρ η τ ά σ τ ο § 1 0 . 5 . 2 .

Λύση: Δίνουμε τη γενική μορφή της εντολής κλήσης διαδικασίας.

Απάντηση: Μία διαδικασία καλείται με την εντολή ΚΑΛΕΣΕ, ακολουθούμενη από το όνομα της διαδικασίας και, μέσα σε παρενθέσεις, τη λίστα παραμέτρων: ΚΑΛΕΣΕ Όνομα-διαδικασίας (λίστα-παραμέτρων). Η λίστα παραμέτρων δεν είναι υποχρεωτική.

Πρόσεξε:

  • Μετά το τέλος της διαδικασίας, η εκτέλεση συνεχίζει από την εντολή που ακολουθεί την ΚΑΛΕΣΕ.

Ερώτηση 4 (σελ. 189)

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

Σκέψη / Μεθοδολογία: Κ λ ε ι σ τ ή ε ρ ώ τ η σ η ο ρ ι σ μ ο ύ — δ ί ν ε τ α ι ρ η τ ά σ τ ο § 1 0 . 5 . 3 .

Λύση: Δίνουμε τους δύο ορισμούς παραθέτοντας πού εμφανίζεται η κάθε κατηγορία παραμέτρων.

Απάντηση: Η λίστα των τυπικών παραμέτρων (formal parameter list) καθορίζει τις παραμέτρους στη δήλωση (ορισμό) του υποπρογράμματος. Η λίστα των πραγματικών παραμέτρων (actual parameter list) καθορίζει τις παραμέτρους στην κλήση του υποπρογράμματος.

Πρόσεξε:

  • Οι τυπικές και οι πραγματικές παράμετροι είναι πάντα διαφορετικές μεταβλητές, ακόμα κι αν τυχαίνει να έχουν το ίδιο όνομα.

Ερώτηση 5 (σελ. 189)

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

Σκέψη / Μεθοδολογία: Ζ η τ ο ύ ν τ α ι δ ύ ο π ρ ά γ μ α τ α : ( α ) π ε ρ ι γ ρ α φ ή τ ο υ μ η χ α ν ι σ μ ο ύ α ν τ α λ λ α γ ή ς , ( β ) σ υ γ κ ε κ ρ ι μ έ ν ο π α ρ ά δ ε ι γ μ α .

Λύση:

  1. Περιγράφουμε τη μεταβίβαση τιμών κατά την κλήση (πραγματικές → τυπικές).
  2. Περιγράφουμε την επιστροφή τιμών μετά το τέλος του υποπρογράμματος (τυπικές → πραγματικές).
  3. Δίνουμε το παράδειγμα της διαδικασίας Πράξεις από το §10.5.3.

Ενδεικτική απάντηση: Κατά την κλήση, οι τιμές των πραγματικών παραμέτρων δίνονται στις αντίστοιχες τυπικές παραμέτρους κατά αντιστοίχιση θέσης (η 1η πραγματική στην 1η τυπική, κ.ο.κ.). Μετά την εκτέλεση, όταν φτάσει το ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ, οι τιμές των τυπικών παραμέτρων επιστρέφουν στις αντίστοιχες πραγματικές. Παράδειγμα: με ΚΑΛΕΣΕ Πράξεις(Α, Β, Διαφ1, Αθρ1) και Α=5, Β=7, η διαδικασία Πράξεις(X, Y, Διαφορά, Άθροισμα) παίρνει X=5, Y=7· υπολογίζει Διαφορά=-2, Άθροισμα=12· και κατά την επιστροφή, οι τιμές αυτές δίνονται πίσω στις Διαφ1=-2 και Αθρ1=12.

Πρόσεξε:

  • Η αντιστοίχιση γίνεται ΠΑΝΤΑ κατά θέση στη λίστα, όχι κατά όνομα — η 1η πραγματική αντιστοιχεί πάντα στην 1η τυπική.