Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Σχεδίαση αλγορίθμων (2ο μέρος)
2
Στοιχειοποίηση (Modularity)
Στοιχείο: Αυτοτελής αλγόριθμος που μπορεί να σχεδιαστεί ανεξάρτητα από το περιβάλλον στο οποίο θα χρησιμοποιηθεί Στις γλώσσες προγραμματισμού το συναντάμε σαν διαδικασία, ρουτίνα, υπορουτίνα ή συνάρτηση.
3
Στοιχειοποίηση (Modularity)
Κλήση στοιχείου: Αν ένας αλγόριθμος χρησιμοποιεί το στοιχείο λέμε ότι το καλεί (call). Τυπικές παράμετροι: Χρησιμοποιούνται στο σώμα του στοιχείου και αποτελούνται από μεταβλητές στις οποίες δίνονται πραγματικές τιμές κατά την κλήση του στοιχείου.
4
Στοιχειοποίηση (Modularity)
Πραγματικές παράμετροι: Οι πραγματικές παράμετροι που δίνονται κατά την κλήση του στοιχείου Ένα στοιχείο το γράφουμε ως εξής: module όνομα_στοιχείου (τυπικές παράμετροι) σώμα_στοιχείου
5
Στοιχειοποίηση (Modularity)
Ένα στοιχείο το καλούμε ως εξής: όνομα_στοιχείου (πραγματικές παράμετροι) Στοιχειακός αλγόριθμος: Αλγόριθμος που φτιάχνεται από σύνολο στοιχείων.
6
Αναδρομή (Recursion) Αναδρομικός αλγόριθμος: Ο αλγόριθμος που καλεί τον εαυτό του Αναδρομή: Ο τρόπος εκτέλεσης ενός αναδρομικού αλγορίθμου
7
Αναδρομή (Recursion) Παράδειγμα: Υπολογισμός παραγοντικού: παραγοντικό(Ν)=Ν•παραγοντικό(Ν-1)
8
Παράδειγμα αναδρομικού αλγορίθμου
module παραγοντικό(Ν) if N=1 then 1 else πολλαπλασιασμός Ν•παραγοντικό(Ν-1)
9
Λειτουργία αναδρομής Έστω ότι θέλουμε να υπολογίσουμε το παραγοντικό(3). Η λειτουργία του αλγορίθμου περιγράφεται στο επόμενο σχήμα.
10
Λειτουργία αναδρομής
11
Λειτουργία αναδρομής Αυτό που πρέπει να εξασφαλίσουμε σε έναν αναδρομικό αλγόριθμο είναι η ύπαρξη μίας οριακής συνθήκης για την οποία να μην απαιτείται η κλήση της αναδρομικής συνάρτησης (π.χ if N=1 then 1) H οριακή συνθήκη εξασφαλίζει ότι η εκτέλεση του αλγορίθμου θα σταματήσει
12
Σχέση αναδρομής και επανάληψης
Για κάθε αναδρομικό αλγόριθμο υπάρχει και ένας ισοδύναμος που χρησιμοποιεί επανάληψη Η αναδρομή είναι μία επανάληψη με διαφορετική μορφή
13
Διαδικασία δημιουργίας αναδρομικού αλγορίθμου
Βήμα 1: Έκφραση διαδικασίας με αναδρομικό τρόπο, δηλαδή έκφραση με παρόμοιο τρόπο με το αρχικό πρόβλημα με πιο «απλά» δεδομένα παραγοντικό(Ν)→ αρχικό πρόβλημα Ν•παραγοντικό(Ν-1) → έκφραση με πιο μικρό αριθμό (Ν-1)
14
Διαδικασία δημιουργίας αναδρομικού αλγορίθμου
Βήμα 2: Προσδιορισμός οριακής συνθήκης (δρόμος διαφυγής) if N=1 then 1
15
Παραλληλία (Parallelism)
Σειριακός αλγόριθμος: Χρησιμοποιείται ένας επεξεργαστής Παράλληλος αλγόριθμος: Πολλοί επεξεργαστές χρησιμοποιούνται ταυτόχρονα
16
Παραλληλία (Parallelism)
Παραλληλία / Ταυτοχρονισμός: Διαίρεση της διεργασίας σε έναν αριθμό υπο-διεργασιών, καθεμία από τις οποίες εκτελείται από έναν επεξεργαστή
17
Παραλληλία (Parallelism)
18
Παραλληλία (Parallelism)
Ένας παράλληλος αλγόριθμος αυξάνει την ταχύτητα εκτέλεσης με κόστος την αύξηση των επεξεργαστών. Για Ν-φορές αύξηση της ταχύτητας απαιτείται Ν-φορές αύξηση του αριθμού των επεξεργαστών Πολλές φορές απαιτείται συγχρονισμός των επεξεργαστών (π.χ κάποιοι επεξεργαστές να περιμένουν τους άλλους πριν ξεκινήσουν ή λειτουργούν με την ίδια ταχύτητα)
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.