You are on page 1of 19

Βασικοί τύποι αλγορίθμων

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

Α. Σκούρα
Βασικοί τύποι αλγορίθμων

Αλγόριθμοι

Σειριακοί Παράλληλοι
(ένας επεξεργαστής εκτέλεση (πολλοί επεξεργαστές εκτέλεση
εντολών η μια μετά την άλλη) εντολών ταυτόχρονα)
Βασικοί τύποι αλγορίθμων
• Σειριακοί Αλγόριθμοι που χρησιμοποιούν μία κεντρική
μονάδα επεξεργασίας και οι εντολές τους
εκτελούνται σε σειρά η μια μετά την άλλη

Μειονέκτημα ;

• Παράλληλοι οι αλγόριθμοι που χρησιμοποιούν πολλαπλές


κεντρικές μονάδες επεξεργασίας όπου
ορισμένες ή μία σειρά από εντολές
εκτελούνται παράλληλα δηλαδή
ταυτόχρονα

Πότε;
Παράδειγμα
Σειριακά Παράλληλα
Παράδειγμα 2.5 Σειριακά

1 2 3 4
6 9 8 3

Σειριακά

1η 6 9 8 3

2η 3 9 8 6

3η 3 6 8 9

Τελικός 3 6 8 9

12/19/2021 Ρήγα Αικατερίνη- 17ο ΓΕΛ ΑΘΗΝΩΝ


Παράδειγμα 2.5

1 2 3 4
6 9 8 3

Παράλληλα

1η 6 9 8 3

2η 6 9 3 8

3η 3 8 6 9

Τελικός 3 6 8 9

12/19/2021 Ρήγα Αικατερίνη- 17ο ΓΕΛ ΑΘΗΝΩΝ


Παράδειγμα
Το κόσκινο του Ερατοσθένη
Μπορείτε να μοιράσετε
τον αλγόριθμο του
Ερατοσθένη σε
παραπάνω από έναν
επεξεργαστές;

http://www.murderousmaths.co.uk/books/
MMoE/erat.htm 7
Βασικοί τύποι αλγορίθμων
Μπορούν όλα τα προβλήματα να λυθούν
κάνοντας χρήση παράλληλου προγραμματισμού;

Η εκτέλεση ενός βήματος δεν πρέπει να


εξαρτάται από την ολοκλήρωση της εκτέλεσης
του προηγούμενου.
Επαναληπτικοί / Αναδρομικοί

Αλγόριθμοι

Επαναληπτικοί Αναδρομικοί

9
Βασικοί τύποι αλγορίθμων

Επαναληπτικοί αλγόριθμοι
Εκτέλεση συγκεκριμένων βημάτων πολλές
φορές
Αναδρομή

Η ίδια η διαδικασία καλείται


εντός της διαδικασίας

13
Αναπαράσταση αλγορίθμου
Φυσική Γλώσσα
Πρόβλημα οι ασάφειες
Αναπαράσταση αλγορίθμου
Φυσική Γλώσσα

Ψευδοκώδικα η ψευδογλώσσα
Αλγόριθμος Μάντεψε
Διάβασε α, β
temp ← α
α←β
β ← temp
Εμφάνισε α, β
Τέλος Μάντεψε
Αναπαράσταση αλγορίθμου
Φυσική Γλώσσα

Πρόγραμμα Αντιμετάθεση
Μεταβλητές
Ψευδοκώδικα η ψευδογλώσσα ακέραιες : α, β,, temp
Αρχή
Διάβασε α, β
temp  α
αβ
Γλώσσα προγραμματισμού
βtemp
γράψε α, β
Τέλος_προγράμματος
Αναπαράσταση αλγορίθμου
Φυσική Γλώσσα
Πρόβλημα οι ασάφειες

Ψευδοκώδικα η ψευδογλώσσα

Γλώσσα προγραμματισμού

Διαγραμματική αναπαράσταση

Γραφικός τρόπος

Η πιο διαδεδομένη το Διάγραμμα Ροής


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

Γλώσσα Προγραμματισμού

Πρόγραμμα Αντιμετάθεση
Μεταβλητές
ακέραιες : α, β,, temp
Αρχή
Διάβασε α, β
temp  α
αβ
βtemp
γράψε α, β
Τέλος_προγράμματος
Γλώσσες Προγραμματισμού

Οπτικές γλώσσες
προγραμματισμού
Κειμενικές γλώσσες
προγραμματισμού
19
Κειμενικές Γλώσσες
var myName = "Codecademy";
var red = [0, 100, 63];
var orange = [40, 100, 60];
var green = [75, 100, 40];
var blue = [196, 77, 55]; Πρόγραμμα Αντιμετάθεση
var purple = [280, 50, 60]; Μεταβλητές
var letterColors = [red, orange, green, blue, ακέραιες : α, β,, temp
purple]; Αρχή
Διάβασε α, β
drawName(myName, letterColors); temp  α
if(10 < 3) αβ
{ βtemp
bubbleShape = 'square'; γράψε α, β
} Τέλος_προγράμματος
else
{
bubbleShape = 'circle';
}
bounceBubbles();
Αναπαράσταση αλγορίθμων

Φυσική γλώσσα
Ψευδοκώδικας
Οπτικές γλώσσες προγραμματισμού

Κειμενικές γλώσσες προγραμματισμού


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

You might also like