Μάθημα : ΠΛΗΡΟΦΟΡΙΚΗ - Γ4

Κωδικός : 1727010241

1727010241  -  ΜΙΧΑΗΛ ΣΦΥΡΑΚΗΣ

Ενότητες - Μάθημα 10 - Παραμετρικές Διαδικασίες

Μάθημα 10 - Παραμετρικές Διαδικασίες

Παραμετρικές διαδικασίες 

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

Παραμετρική διαδικασία Τετράγωνο

Προσοχή: Βάζουμε πάντα άνω-κάτω τελεία (:) πριν το όνομα της μεταβλητής όταν την ορίζουμε στη γραμμή τίτλου της διαδικασίας ή όταν χρησιμοποιούμε την τιμή της μέσα στις εντολές. Αν θέλουμε να αλλάξουμε την τιμή της μεταβλητής μέσα στη διαδικασία με μια εντολή κάνε για παράδειγμα βάζουμε πριν το όνομα της μεταβλητής εισαγωγικά ("). 

Δείτε τα διαφορετικά σε μέγεθος τετράγωνα που θα σχεδιαστούν αν καλέσουμε την παραμετρική διαδικασία τετράγωνο με τις τιμές 50, 100 και 150:

Κλήση παραμετρικής διαδικασίας τετράγωνο

Οι παραμετρικές διαδικασίες μπορούν να πάρουν πολλές μεταβλητές οι οποίες γράφονται στη γραμμή τίτλου και χωρίζονται η μια από την άλλη με ένα κενό. Έτσι μπορούμε να έχουμε μια διαδικασία με 2, 3, 10, 20 και 100 μεταβλητές - παραμέτρους δίπλα από το όνομα της διαδικασίας στη γραμμή τίτλου.

Ας πάρουμε για παράδειγμα τη διαδικασία πολύγωνο την οποία έχουμε δημιουργήσει για να σχεδιάζουμε όποιο κανονικό πολύγωνο θέλουμε, αλλάζοντας κάθε φορά τον αριθμό των πλευρών και το μήκος της πλευράς μέσα στη διαδικασία. Δείτε παρακάτω για παράδειγμα πως μπορούμε να αλλάζουμε τον αριθμό των επαναλήψεων και τη γωνία στη διαδικασία πολύγωνο ώστε να σχεδιάσουμε ένα τετράγωνο με μήκος πλευράς 100, ένα εξάγωνο με μήκος πλευράς 50 και ένα δωδεκάγωνο με μήκος πλευράς 30:

τετράγωνο εξάγωνο

δωδεκάγωνο

για πολύγωνο
στκ

επανάλαβε 4 [μπ 100 δε 360 / 4]
τέλος
για πολύγωνο
στκ
επανάλαβε 6 [μπ 50 δε 360 / 6]
τέλος
για πολύγωνο
στκ
επανάλαβε 12 [μπ 30 δε 360 / 12]
τέλος

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

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

Δείτε παρακάτω πως μπορούμε να δημιουργήσουμε μια παραμετρική διαδικασία πολύγωνο με 2 μεταβλητές, μήκος και πλευρές, ώστε με μια μόνο διαδικασία να μπορούμε να σχεδιάσουμε όποιο κανονικό πολύγωνο θέλουμε καλώντας την ίδια διαδικασία με διαφορετικές μεταβλητές -παραμέτρους κάθε φορά. Αριστερά στον πίνακα βλέπετε την παραμετρική διαδικασία πολύγωνο και δεξιά με ποιες μεταβλητές - παραμέτρους την καλούμε ώστε να σχεδιάσουμε ξανά ένα τετράγωνο με μήκος πλευράς 100, ένα εξάγωνο με μήκος πλευράς 50 και ένα δωδεκάγωνο με μήκος πλευράς 30:

Παραμετρική διαδικασία Πολύγωνο

Βλέπουμε λοιπόν ότι ένα από τα βασικότερα πλεονεκτήματα των παραμετρικών διαδικασιών, είναι η δυνατότητα δημιουργίας διαδικασιών που μπορούν να λύσουν διαφορετικά προβλήματα κάθε φορά ανάλογα με τις μεταβλητές που δίνουμε κατά την κλήση τους και έτσι μειώνεται το μέγεθος των προγραμμάτων ενώ μπορούν να δημιουργηθούν διαδικασίες γενικού σκοπού που λύνουν ένα σύνολο προβλημάτων. Θυμηθείτε το παράδειγμα της ανάπτυξης ενός παιχνιδιού ποδοσφαίρου όπου για να φτιάξετε τους παίχτες θα μπορείτε να χρησιμοποιήσετε μια μόνο παραμετρική διαδικασία που θα δίνει άλλα χαρακτηριστικά και δυνατότητες στον κάθε παίχτη, παρά να φτιάχνατε διαφορετικές διαδικασίες για κάθε παίχτη κάθε ομάδας. Αν θέλαμε να φτιάξουμε όλους τους παίχτες των ευρωπαϊκών ομάδων σκεφτείτε πόσο κώδικα και ώρες προγραμματισμού γλυτώνουμε!

Για να καταλάβετε καλύτερα πως δημιουργούμε παραμετρικές διαδικασίες δείτε το βίντεο "Παραμετρικές Διαδικασίες".