Αρχική ΑΕΠΠ - Δομές Δεδομένων Λειτουργικά Συστήματα Δίκτυα Υπολογιστών ΙΙ Βάσεις Δεδομένων Παιδαγωγικά - Διδακτική

Βασικές Έννοιες

Μεταβλητή - Έκφραση Δομή Ακολουθίας Δομή Επιλογής Δομή Επανάληψης

Αναπαράσταση Αλγορίθμων

Διάγραμμα Ροής

Πίνακας Τιμών

Πίνακες

Μονοδιάστατοι Δισδιάστατοι Πολυδιάστατοι Αναζήτηση Ταξινόμηση Στοίβα Ουρά

Υποπρογράμματα

Συναρτήσεις Διαδικασίες Σχετικά με τις παράμετρους

Δυναμικές Δομές

Λίστες Δέντρα Γράφοι

 Ιστορικό Πρόσφατες αλλαγές Εκτύπωση Αναζήτηση

Σύνταξη

  1. ΔΙΑΔΙΚΑΣΙΑ ΟΝΟΜΑ(ΛΙΣΤΑ ΠΑΡΑΜΕΤΡΩΝ)
  2. ! ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ
  3. ΑΡΧΗ
  4.   ...
  5. ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
  • Γραμμή 1
    • Η εντολή ΔΙΑΔΙΚΑΣΙΑ δηλώνει ότι πρόκειται για διαδικασία.
    • Όπου ΟΝΟΜΑ βάζουμε ένα οποιοδήποτε αποδεκτό όνομα της γλώσσας προγραμματισμού. Για το όνομα ισχύει ό,τι και για τις μεταβλητές.
    • Η ΛΙΣΤΑ ΠΑΡΑΜΕΤΡΩΝ είναι η λίστα των μεταβλητών που δέχεται η συνάρτηση κατά την κλήση της. Τις μεταβλητές αυτές χρησιμοποιεί για να κάνει τους κατάλληλους υπολογισμούς και να επιστρέψει το αποτέλεσμα αυτών.
      • Τα ονόματα των μεταβλητών στη λίστα αυτή δεν χρειάζεται να είναι τα ίδια με εκείνα τα οποία θα χρησιμοποιεί το πρόγραμμα.
      • Όταν παράμετρος είναι ένας πίνακας, στη λίστα γράφουμε μόνο το όνομά του.
      • Τα ονόματα των μεταβλητών χωρίζονται με κόμμα.
  • Γραμμή 2
    • Το τμήμα των δηλώσεων είναι όμοιο με εκείνο των προγραμμάτων. Υπάρχει, δηλαδή, το τμήμα ΣΤΑΘΕΡΕΣ και το τμήμα ΜΕΤΑΒΛΗΤΕΣ.
    • Στην διαδικασία πρέπει οπωσδήποτε οι μεταβλητές που εμφανίζονται στη λίστα παραμέτρων να δηλωθούν στο τμήμα δηλώσεων.
    • Ο τύπος που θα δηλωθεί εδώ για τις παραμέτρους πρέπει να είναι ίδιος με τον τύπο των μεταβλητών που έχουν δηλωθεί στο κυρίως πρόγραμμα.
  • Γραμμή 3
    • Κάθε διαδικασία ξεκινάει με την εντολή ΑΡΧΗ η οποία δηλώνει το σημείο εκκίνησης των εντολών που επεξεργάζονται τις παραμέτρους.
  • Γραμμή 5
    • Η εντολή ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ προσδιορίζει το τέλος των εντολών της συγκεκριμένης διαδικασίας.

ΣΗΜΑΝΤΙΚΗ ΠΑΡΑΤΗΡΗΣΗ: Η διαδικασία δεν επιστρέφει τιμή στο πρόγραμμα ή υποπρόγραμμα που την καλεί με τον τρόπο που το κάνουν οι συναρτήσεις. Η επιστροφή τιμών γίνεται μέσω της λίστα παραμέτρων. Σωστά διαβάσατε: τιμών. Μπορεί, δηλαδή, η διαδικασία να επιστρέψει όσες τιμές θέλουμε. Αυτό γίνεται δίνοντας τιμές σε κάποιες ή όλες τις μεταβλητές της λίστας παραμέτρων.

Παράδειγμα: Να γράψετε διαδικασία η οποία θα δέχεται τρεις πραγματικούς αριθμούς και θα επιστρέφει την τιμή του μεγαλύτερου και την τιμή του μικρότερου.

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

  1. ΔΙΑΔΙΚΑΣΙΑ ΜΙΝ_ΜΑΧ(Χ, Υ, Ζ, ΜΙΝ, ΜΑΧ)
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΠΡΑΓΜΑΤΙΚΕΣ: Χ, Υ, Ζ, ΜΙΝ, ΜΑΧ
  4. ΑΡΧΗ
  5.   ΜΙΝ <- Χ
  6.   ΜΑΧ <- Υ
  7.   ΑΝ Υ < ΜΙΝ ΤΟΤΕ
  8.     ΜΙΝ <- Υ
  9.   ΤΕΛΟΣ_ΑΝ
  10.   ΑΝ Ζ < ΜΙΝ ΤΟΤΕ
  11.     ΜΙΝ <- Ζ
  12.   ΤΕΛΟΣ_ΑΝ
  13.   ΑΝ Υ > ΜΑΧ ΤΟΤΕ
  14.     ΜΑΧ <- Υ
  15.   ΤΕΛΟΣ_ΑΝ
  16.   ΑΝ Ζ > ΜΙΝ ΤΟΤΕ
  17.     ΜΑΧ <- Ζ
  18.   ΤΕΛΟΣ_ΑΝ
  19. ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΠΑΡΑΤΗΡΗΣΕΙΣ

  • ΟΝΟΜΑ διαδικασίας: ΜΙΝ_ΜΑΧ
  • ΛΙΣΤΑ ΠΑΡΑΜΕΤΡΩΝ: Χ, Υ, Ζ, ΜΙΝ, ΜΑΧ
  • ΤΜΗΜΑ ΔΗΛΩΣΕΩΝ: Δηλώνονται οι μεταβλητές της λίστας παραμέτρων ως πραγματικές σύμφωνα με την εκφώνηση.
  • Οι μεταβλητές δεν παίρνουν αρχική τιμή μέσα στο σώμα της διαδικασίας. Αυτό γίνεται γιατί οι μεταβλητές αρχικοποιούνται με τις τιμές που έχουν οι αντίστοιχες μεταβλητές στο σημείο του προγράμματος όπου καλείται η διαδικασία. Αυτό γίνεται πιο σαφές στην κλήση της διαδικασίας παρακάτω.
  • Στις γραμμές 5, 6, 8, 14 και 17 βλέπουμε ότι οι μεταβλητές ΜΙΝ, ΜΑΧ παίρνουν κάποια τιμή. Αυτός είναι ο τρόπος με τον οποίο η διαδικασία επιστρέφει τιμές στο πρόγραμμα / υποπρόγραμμα που την κάλεσε. Οι μεταβλητές Χ, Υ και Ζ δεν άλλαξαν τιμή.
  • Δεν υπάρχει κάποιος κανόνας που να προσδιορίζει τι είναι μεταβλητή εισόδου και τι εξόδου. Συνήθως, αν μία μεταβλητή της λίστας παραμέτρων αλλάξει τιμή μέσα στη διαδικασία, την ονομάζουμε μεταβλητή εξόδου γιατί αυτή η τιμή θα αντιγραφεί στην αντίστοιχη μεταβλητή στην εντολή κλήσης της διαδικασίας. Με το ίδιο σκεπτικό, οι μεταβλητές της λίστας παραμέτρων που δεν αλλάζουν τιμή, είναι οι μεταβλητές εισόδου.

Κλήση Διαδικασίας

Οι διαδικασίες δεν μπορούν να εκτελεστούν από μόνες τους. Δεν αποτελούν εκτελέσιμα προγράμματα. Αποτελούν, όμως, αυτόνομα τμήματα προγράμματος (υποπρογράμματα) τα οποία μπορούν να κληθούν από προγράμματα ή άλλα υποπρογράμματα.

Για να κληθεί μία διαδικασία χρησιμοποιείται η ακόλουθη εντολή στο κυρίως πρόγραμμα.

ΚΑΛΕΣΕ ΟΝΟΜΑ(ΛΙΣΤΑ ΠΑΡΑΜΕΤΡΩΝ)
  • ΚΑΛΕΣΕ είναι η εντολή που προηγείται για να περάσει η εκτέλεση του προγράμματος στη διαδικασία ΟΝΟΜΑ.
  • ΛΙΣΤΑ ΠΑΡΑΜΕΤΡΩΝ είναι μία λίστα μεταβλητών ή και σταθερών οι οποίες δίνονται στη διαδικασία για επεξεργασία.

Παράδειγμα: Να γράψετε ένα πρόγραμμα το οποίο θα διαβάζει τρεις τιμές και θα εμφανίζει την μικρότερη και την μεγαλύτερη. Να γίνει κλήση της διαδικασίας ΜΙΝ_ΜΑΧ.

  1. ΠΡΟΓΡΑΜΜΑ ΜΙΚΡΟΤΕΡΟ_ΜΕΓΑΛΥΤΕΡΟ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΠΡΑΓΜΑΤΙΚΕΣ: Α, Β, Γ, ΜΙΚΡΗ, ΜΕΓΑΛΗ
  4. ΑΡΧΗ
  5.   ΔΙΑΒΑΣΕ Α, Β, Γ
  6.   ΚΑΛΕΣΕ ΜΙΝ_ΜΑΧ(Α, Β, Γ, ΜΙΚΡΗ, ΜΕΓΑΛΗ)
  7.   ΓΡΑΨΕ "Η ΜΙΚΡΟΤΕΡΗ ΤΙΜΗ ΕΙΝΑΙ: ", ΜΙΚΡΗ, ", ΚΑΙ Η ΜΕΓΑΛΥΤΕΡΗ: ", ΜΕΓΑΛΗ
  8. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Στη γραμμή 6 βλέπουμε την κλήση της διαδικασίας. Οι μεταβλητές Α, Β, Γ παίρνουν τιμές στη γραμμή 5 ενώ οι μεταβλητές ΜΙΚΡΗ και ΜΕΓΑΛΗ δεν παίρνουν τιμή. Οι τιμές των Α, Β, Γ αντιγράφονται στις μεταβλητές Χ, Υ, Ζ της διαδασίας. Η διαδικασία αποδίδει τιμές στις τοπικές μεταβλητές της ΜΙΝ και ΜΑΧ. Οι τιμές αυτές, μετά το τέλος της διαδικασίας αντιγράφονται στις μεταβλητές ΜΙΚΡΗ και ΜΕΓΑΛΗ.

Κλήση με Παράμετρο Πίνακα

Ισχύει ότι και στην περίπτωση των συναρτήσεων. Δηλαδή:

Όταν θέλουμε να περάσουμε ένα πίνακα ως παράμετρο τότε προσέχουμε τα εξής:

  • σαν παράμετρο βάζουμε το όνομα του πίνακα
  • στη δήλωση μεταβλητών της συνάρτησης δηλώνουμε τον πίνακα όπως και στο πρόγραμμα, δηλαδή, δίνουμε και το πλήθος των στοιχείων του

Στο παρακάτω παράδειγμα δίνονται:

  • το τμήμα δηλώσεων του προγράμματος
  • η κλήση της διαδικασίας από το πρόγραμμα
  • η δήλωση της διαδικασίας
  • το τμήμα δηλώσεων της διαδικασίας.

Η διαδικασία βρίσκει και επιστρέφει τη μικρότερη και τη μεγαλύτερη τιμή από τα στοιχεία ενός πίνακα.

  1. ΠΡΟΓΡΑΜΜΑ ΠΕΡΑΣΜΑ_ΠΙΝΑΚΑ_ΣΕ_ΔΙΑΔΙΚΑΣΙΑ
  2. ΜΕΤΑΒΛΗΤΕΣ
  3.   ΑΚΕΡΑΙΕΣ: Α[100], ΜΙΝ, ΜΑΧ, Ι
  4. ΑΡΧΗ
  5.   ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
  6.     ΔΙΑΒΑΣΕ Α[Ι]
  7.   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  8.   ΚΑΛΕΣΕ ΜΙΝ_ΜΑΧ(Α, ΜΙΝ, ΜΑΧ)
  9.   ΓΡΑΨΕ ΜΙΝ, ΜΑΧ
  10. ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
  11.  
  12. ΔΙΑΔΙΚΑΣΙΑ ΜΙΝ_ΜΑΧ(Τ, Ε, Μ)
  13. ΜΕΤΑΒΛΗΤΕΣ
  14.   ΑΚΕΡΑΙΕΣ: Τ[100], Ι, Ε, Μ
  15. ΑΡΧΗ
  16.   Ε <- Τ[1]
  17.   Μ <- Τ[1]
  18.   ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 100
  19.     ΑΝ Ε > Τ[Ι] ΤΟΤΕ
  20.       Ε <- Τ[Ι]
  21.     ΤΕΛΟΣ_ΑΝ
  22.     ΑΝ Μ < Τ[Ι] ΤΟΤΕ
  23.       Μ <- Τ[Ι]
  24.     ΤΕΛΟΣ_ΑΝ
  25.   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  26. ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Ασκήσεις

Τελευταία ενημέρωση: 21-04-2008 (19:15)

Copyright 2008 - Άρης Φεργάδης