Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ Κεφ. 2.2 Αλγόριθμοι Ενοτ. 2.2.4 Βασικοί Τύποι Αλγορίθμων Ενοτ. 2.2.5 Αναπαράσταση Αλγορίθμου
2.2.4 Βασικοί Τύποι Αλγορίθμων (1/3) Σειριακοί Αλγόριθμοι: Οι εντολές εκτελούνται με τη σειρά η μία μετά την άλλη. Απαιτείται μία ΚΜΕ (Κεντρική Μονάδα Επεξεργασίας) Όμως: Οι σειριακοί αλγόριθμοι συχνά είναι αργοί. Υπάρχει ανάγκη επιτάχυνσης της εκτέλεσης της λύσης Παράλληλοι Αλγόριθμοι: Ορισμένες ή μια σειρά από τις εντολές εκτελούνται παράλληλα (ταυτόχρονα) Απαιτούνται δύο ή περισσότερες ΚΜΕ
2.2.4 Βασικοί Τύποι Αλγορίθμων (2/3) Παράδειγμα:Ταξινόμηση Πίνακα Σειριακά: Παράλληλα:
2.2.4 Βασικοί Τύποι Αλγορίθμων (3/3) Επαναληπτικοί Αλγόριθμοι: Συγκεκριμένες εντολές εκτελούνται πολλές φορές Παράδειγμα: Υπολογισμός Παραγοντικού (Ν!) Ν! = 1*2*3*…*(Ν-1)*Ν π.χ. Αν Ν=5, 5! = 1*2*3*4*5 (σε κάθε βήμα πολλαπλασιάζουμε επαναληπτικά με τον επόμενο αριθμό) Εναλλακτικά με αναδρομή (αναδρομικός αλγόριθμος): Ν! = (Ν-1)! * Ν, αν Ν≥1 0! = 1 (το Ν! ορίζεται χρησιμοποιώντας το (Ν-1)!)
2.2.5 Αναπαράσταση Αλγορίθμου (1/4) Φυσική Γλώσσα: Η περιγραφή γίνεται με την ομιλούμενη γλώσσα. Μπορεί να παρατηρηθούν ασάφειες. Ψευδοκώδικας ή Ψευδογλώσσα: Υποθετική γλώσσα για την αναπαράσταση αλγορίθμων με στοιχεία από κάποιες γλώσσες προγραμματισμού.
2.2.5 Αναπαράσταση Αλγορίθμου (2/4) Γλώσσα Προγραμματισμού: Τεχνητή γλώσσα, που έχει αναπτυχθεί για να δημιουργεί ή να εκφράζει προγράμματα για τον υπολογιστή. Οπτικές Γλώσσες Προγραμματισμού (η περιγραφή γίνεται με γραφικά στοιχεία, π.χ. πλακίδια (λ.χ. Scratch)) Κειμενικές Γλώσσες Προγραμματισμού (η περιγραφή γίνεται με χρήση σειρών κειμένου (λ.χ. Java)) Διαγραμματικές Αναπαραστάσεις: Γραφικός τρόπος παρουσίασης του αλγόριθμου (με σχήματα, βέλη κτλ). Πιο διαδεδομένη είναι το Διάγραμμα Ροής (η περιγραφή και η αναπαράσταση των αλγορίθμων γίνεται με τη χρήση γεωμετρικών σχημάτων – συμβόλων)
2.2.5 Αναπαράσταση Αλγορίθμου (3/4) Παράδειγμα: Να αναπτυχθεί αλγόριθμος, ο οποίος θα διαβάζει τις τιμές δύο μεταβλητών και θα αντιμεταθέτει το περιεχόμενό τους. Στη συνέχεια θα εμφανίζει ως αποτέλεσμα το περιεχόμενο των μεταβλητών μετά την αντιμετάθεση. Φυσική Γλώσσα: Αφού εισαχθούν οι τιμές δύο μεταβλητών α και β, να δώσετε το περιεχόμενο της μεταβλητής α και σε μία νέα μεταβλητή temp (προσωρινή). Στη συνέχεια, να δώσετε το περιεχόμενο της μεταβλητής β στη μεταβλητή α και τέλος να δώσετε το περιεχόμενο της μεταβλητής temp και στη μεταβλητή β.
2.2.5 Αναπαράσταση Αλγορίθμου (4/4) Διάγραμμα Ροής: Ψευδογλώσσα: 1. Αλγόριθμος Αντιμετάθεση 2. Διάβασε α, β 3. temp ← α 4. α ← β 5. β ← temp 6. Εμφάνισε α, β 7. Τέλος Αντιμετάθεση