Πως γεννήθηκε η ανάγκη για υποπρογράμματα;

Φανταστείτε ένα πρόγραμμα που μας ζητάει αρχικά να διαβάσουμε την ηλικία (σε έτη), το βάρος (σε κιλά) και το ύψος (σε εκατοστά) 100 παιδιών και στην συνέχεια να εμφανίσουμε τον μέσο όρο όλων των ηλικιών, των βαρών και των υψών.Ένα τέτοιο πρόγραμμα θα μπορούσε να είναι το παρακάτω.

				
					ΠΡΟΓΡΑΜΜΑ χωρίς_υποπρογράμματα
ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: ΗΛ[100], ΒΑ[100], ΥΨ[100], Ι, J, temp
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
    ΔΙΑΒΑΣΕ ΗΛ[Ι], ΒΑ[Ι], ΥΨ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΜΟ_ΗΛ ← 0 
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
  ΜΟ_ΗΛ ← ΜΟ_ΗΛ +ΗΛ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΟ_ΗΛ ← ΜΟ_ΗΛ/100
ΓΡΑΨΕ ΜΟ_ΗΛ

ΜΟ_ΒΑ ← 0
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
  ΜΟ_ΒΑ ← ΜΟ_ΒΑ +ΗΛ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΟ_ΒΑ ← ΜΟ_ΒΑ/100
ΓΡΑΨΕ ΜΟ_ΒΑ

ΜΟ_ΥΨ ← 0
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
    ΜΟ_ΥΨ ← ΜΟ_ΥΨ +ΗΛ[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΟ_ΥΨ ← ΜΟ_ΥΨ/100
ΓΡΑΨΕ ΜΟ_ΥΨ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
				
			

Παρατηρούμε ότι χρειάστηκε να γράψουμε τρείς φορές τον υπολογισμό του μέσου όρου των τιμών ενός πίνακα με 100 κελιά.

Δεν θα ήταν ωραίο να μπορούσαμε να φτιάξουμε ένα  μικρό πρόγραμμα που να κάνει τον υπολογισμό του μέσου όρου και οποτεδήποτε το χρειαστούμε απλά να το καλούμε με το όνομα του; Έτσι γεννήθηκαν τα υποπρογράμματα!

Ένα υποπρόγραμμα που θα μπορούσαμε να δημιουργήσουμε για τις ανάγκες του παραπάνω προγράμματος είναι και το ακόλουθο:  

				
					ΣΥΝΑΡΤΗΣΗ ΜΟ(Π): ΠΡΑΓΜΑΤΙΚΟΣ
ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: Π[100], Ι, Σ
ΑΡΧΗ
Σ ← 0 
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
    Σ ← Σ +Π[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΜΟ ← Σ/100
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
				
			

Οπότε το αρχικό μας πρόγραμμα μπορεί να γραφεί ως εξής.

				
					ΠΡΟΓΡΑΜΜΑ με_υποπρογράμματα
ΜΕΤΑΒΛΗΤΕΣ
    ΑΚΕΡΑΙΕΣ: ΗΛ[100], ΒΑ[100], ΥΨ[100], Ι, J, temp
ΑΡΧΗ
ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 100
    ΔΙΑΒΑΣΕ ΗΛ[Ι], ΒΑ[Ι], ΥΨ[Ι] 
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ ΜΟ(ΗΛ)
ΓΡΑΨΕ ΜΟ(ΒΑ)
ΓΡΑΨΕ ΜΟ(ΥΨ)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
				
			

Χαρακτηριστικά των υποπρογραμμάτων.

  • Κάθε υποπρόγραμμα έχει μία είσοδο και μία έξοδο.
  • Κάθε υποπρόγραμμα πρέπει να είναι εντελώς ανεξάρτητο από άλλα υποπρογράμματα. Βέβαια αυτό είναι εξαιρετικά δύσκολο στην πράξη να επιτευχθεί.
  • Τα υποπρογράμματα δεν πρέπει να είναι σχετικά μεγάλα.

Πλεονεκτήματα του τμηματικού προγραμματισμού (λόγω της χρήσης υποπρογραμμάτων)

  • Διευκολύνει την ανάπτυξη του αλγορίθμου και του αντίστοιχου προγράμματος
  • Διευκολύνει την κατανόηση και διόρθωση του προγράμματος
  • Απαιτεί λιγότερο χρόνο και κόπο
  • Επεκτείνει τις δυνατότητες των γλωσσών προγραμματισμού.

Παράμετροι

Κάθε υποπρόγραμμα για να επιτελέσει τον σκοπό για τον οποίο δημιουργήθηκε πρέπει να δέχεται κάποιες τιμές και να επιστρέφει το αποτέλεσμα της επεξεργασίας τους. Η ανταλαγή τέτοιων τιμών γίνεται με τις μεταβλητές που ονομάζονται Παράμετροι.
Ειδικότερα: Μία παράμετρος είναι μία μεταβλητή που επιτρέπει το πέρασμα της τιμής της από ένα τμήμα προγράμματος σε ένα άλλο.

Ερωτήσεις ανάπτυξης απο Πανελλαδικές εξετάσεις

  1. Τι ονομάζεται τμηματικός προγραμματισμός; (2011-Θ Α4α)

  2. Τι ονομάζεται παράμετρος ενός υποπρογράμματος; (2011-Θ Α4γ)

  3. Να αναφέρετε τέσσερα πλεονεκτήματα του τμηματικού προγραμματισμού. (2004-Θ1ΣΤ)

  4. Να αναπτύξετε δύο από τα παραπάνω πλεονεκτήματα του τμηματικού προγραμματισμού.(2004-Θ1ΣΤ)

  5. Να αιτιολογήσετε γιατί ένα από τα πλεονεκτήματα του τμηματικού προγραμματισμού είναι το ότι απαιτεί λιγότερο χρόνο και προσπάθεια στη συγγραφή του προγράμματος. (Ε2015-ΘΑ2α)

  6. Τι λέγεται υποπρόγραμμα; (2011-Θ Α4β)

  7. Να αναπτύξετε τρία χαρακτηριστικά των υποπρογραμμάτων. (Ε2003-Θ1Ε)

  8. Αναφέρατε τις ιδιότητες που πρέπει να διακρίνουν τα υποπρογράμματα. (Ε2005-Θ1ΣΤ)

  9. Να αναφέρετε τις ιδιότητες που πρέπει να διακρίνουν τα υποπρογράμματα. (Ε2009-Θ1Δ1)

  10. Να περιγράψετε μία από αυτές τις ιδιότητες. (Ε2009-Θ1Δ1)

  11. χ

  12. χ