Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεΥγίνος Αγγελίδου Τροποποιήθηκε πριν 6 χρόνια
1
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Κεφάλαιο 2: Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος 2.3 Περιγραφή και αναπαράσταση αλγορίθμων 2.4 Βασικές συνιστώσες/ εντολές ενός αλγορίθμου
2
2.1 Τι είναι αλγόριθμος (1/4)
Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Ο αλγόριθμος περιγράφει τη λύση ενός προβλήματος με τη μορφή οδηγιών-βημάτων (εντολών) Η έννοια του αλγορίθμου δεν συνδέεται αποκλειστικά και μόνο με προβλήματα της Πληροφορικής. (π.χ, μια συνταγή, η συναρμολόγηση μιας μηχανής)
3
2.1 Τι είναι αλγόριθμος (2/4)
Κριτήρια Αλγορίθμων: Κάθε αλγόριθμος πρέπει να πληροί τα ακόλουθα κριτήρια: Είσοδος (Input) Έξοδος (Output) Καθοριστικότητα (Definitness) Περατότητα (Finiteness) Αποτελεσματικότητα (Effectiveness)
4
2.1 Τι είναι αλγόριθμος (3/4)
Είσοδος (input): Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο. Έξοδος (output): Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν άλλο αλγόριθμο. Καθοριστικότητα (definiteness): Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της.
5
2.1 Τι είναι αλγόριθμος (4/4)
Περατότητα (finiteness): Ο αλγόριθμος να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του. Αποτελεσματικότητα (effectiveness): Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή (ώστε να μπορεί να εκτελεστεί επακριβώς και σε πεπερασμένο μήκος χρόνου).
6
2.3 Περιγραφή και αναπαράσταση αλγορίθμων (1/5)
Ελεύθερο κείμενο (free text): Ο πιο απλός τρόπος περιγραφής Ανεπεξέργαστος και αδόμητο ς τρόπος περιγραφής αλγορίθμου. Μπορεί να οδηγήσει σε ασάφειες παραβιάζοντας την αποτελεσματικότητα. Διαγραμματικές τεχνικές (diagramming techniques): Γραφική αναπαράσταση του αλγορίθμους (με χρήση σχημάτων, βέλη κτλ) Πιο γνωστή μορφή τα Διαγράμματα Ροής (Flow Charts).
7
2.3 Περιγραφή και αναπαράσταση αλγορίθμων (2/5)
Φυσική Γλώσσα(natural language): Περιγραφή με χρήση κειμένου Επίσης ανεπεξέργαστος και αδόμητο ς τρόπος περιγραφής αλγορίθμου. Μπορεί να οδηγήσει σε ασάφειες παραβιάζοντας την καθοριστικότητα. Κωδικοποίηση (coding): Περιγραφή σε ψευδογλώσσα ή σε κάποια γλώσσα προγραμματισμού.
8
2.3 Περιγραφή και αναπαράσταση αλγορίθμων (3/5)
Διάγραμμα Ροής: αποτελείται από ένα σύνολο γεωμετρικών σχημάτων, όπου το καθένα δηλώνει μία συγκεκριμένη ενέργεια ή λειτουργία. Τα γεωμετρικά σχήματα ενώνονται μεταξύ τους με βέλη, που δηλώνουν τη σειρά εκτέλεσης των ενεργειών αυτών
9
2.3 Περιγραφή και αναπαράσταση αλγορίθμων (4/5)
Έλλειψη: δηλώνει την αρχή και το τέλος του κάθε αλγορίθμου Ρόμβος: δηλώνει μία ερώτηση με δύο ή περισσότερες εξόδους για απάντηση
10
2.3 Περιγραφή και αναπαράσταση αλγορίθμων (5/5)
Ορθογώνιο: δηλώνει την εκτέλεση μίας ή περισσότερων πράξεων Πλάγιο παραλληλόγραμμο: δηλώνει είσοδο ή έξοδο στοιχείων
11
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (1/24)
Δομή Ακολουθίας: Η πιο απλή αλγοριθμική δομή Οι εντολές ακολουθούν (σειριακά) η μία την άλλη Χρησιμοποιείται για την αντιμετώπιση απλών προβλημάτων Η σειρά των εντολών είναι καθορισμένη (π.χ. συνταγή)
12
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (2/24)
Δομή Ακολουθίας (παράδειγμα): Πρόσθεση αριθμών
13
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (3/24)
Δομή Επιλογής: Χρησιμοποιείται όταν πρέπει να παρθεί μια απόφαση από τον αλγόριθμο (ερώτηση που ξεκινά με «Αν») Περιλαμβάνει τον έλεγχο κάποιας συνθήκης που μπορεί να έχει δύο τιμές (Αληθής ή Ψευδής) Ακολουθεί η απόφαση εκτέλεσης κάποιας ενέργειας με βάση την τιμή της λογικής αυτής συνθήκης.
14
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (4/24)
Δομή Επιλογής (παράδειγμα): Απόλυτη τιμή
15
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (5/24)
Δομή Επιλογής (παράδειγμα): Σύγκριση αριθμών
16
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (6/24)
Δομή Πολλαπλής Επιλογής: Χρησιμοποιείται όταν οι πιθανές επιλογές μιας απόφασης είναι περισσότερες από δύο. Περιλαμβάνει τον έλεγχο διαδοχικών συνθηκών που μπορεί κάθε μία μπορεί να έχει δύο τιμές (Αληθής ή Ψευδής) Ακολουθεί η απόφαση εκτέλεσης μόνο μίας ενέργειας από όλες τις δυνατές.
17
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (7/24)
Δομή Πολλαπλής Επιλογής (παράδειγμα): Ανάθεση γραμμάτων σε αριθμούς
18
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (8/24)
Εμφωλευμένη Δομή Επιλογής: Χρησιμοποιείται όταν η απόφαση από μια δομή επιλογής οδηγεί σε μια νέα δομή επιλογής. Περιλαμβάνει τον έλεγχο διαδοχικών συνθηκών που μπορεί κάθε μία μπορεί να έχει δύο τιμές (Αληθής ή Ψευδής)
19
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (9/24)
Εμφωλευμένη Δομή Επιλογής (παράδειγμα): Χαρακτηρισμός ατόμων
20
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (10/24)
Λογικές Συνθήκες στη δομή επιλογής: Η αποτίμηση των λογικών συνθηκών βασίζεται στην Άλγεβρα Boole (άλγεβρα της λογικής) Υπάρχουν μόνο 2 στοιχεία (Αληθής/Ψευδής, Ναι/Όχι, 0/1) Ορίζονται 3 λογικές πράξεις: ΚΑΙ (σύζευξη), Ή (διάζευξη), ΟΧΙ (άρνηση) Προτεραιότητα λογικών πράξεων: ΟΧΙ ΚΑΙ Ή Οι 3 πράξεις συνδυάζονται για να εκφράσουν πιο πολύπλοκες συνθήκες
21
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (11/24)
Λογικές Συνθήκες στη δομή επιλογής: Πίνακας Αληθείας Λογικών Πράξεων
22
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (12/24)
Δομή Επανάληψης: Χρησιμοποιείται όταν μια ακολουθία εντολών πρέπει να εφαρμοσθεί σε ένα σύνολο περιπτώσεων που έχουν κάτι κοινό. Η ακολουθία εντολών εκτελείται επαναληπτικά. Η εκτέλεση των εντολών επαναλαμβάνεται : Όσο μια συνθήκη παραμένει αληθής (Όσο…επανάλαβε) Μέχρι μια συνθήκη να γίνει αληθής (Επανάλαβε…μέχρις ότου) Για ένα συγκεκριμένο αριθμό επαναλήψεων (Για…από…μέχρι)
23
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (13/24)
Δομή Επανάληψης: Όσο <συνθήκη> επανάλαβε εκτέλεση των εντολών επαναλαμβάνεται όσο η λογική συνθήκη <συνθήκη> παραμένει αληθής
24
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (14/24)
Δομή Επανάληψης (παράδειγμα): Εκτύπωση αριθμών από 1 έως 100
25
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (15/24)
Δομή Επανάληψης (παράδειγμα): Επαναληπτική είσοδος στοιχείων
26
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (16/24)
Δομή Επανάληψης: Αρχή_επανάληψης … μέχρις_ότου <συνθήκη> Η εκτέλεση των εντολών επαναλαμβάνεται μέχρις ότου η λογική συνθήκη <συνθήκη> γίνει αληθής Αρχή_επανάληψης εντολές Μέχρις_ότου συνθήκη
27
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (17/24)
Δομή Επανάληψης (παράδειγμα): Εκτύπωση θετικών αριθμών
28
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (18/24)
Δομή Επανάληψης: Για <μετρητής> από <αρχική_τιμή> μέχρι <τελική_τιμή> Ο <μετρητής> ξεκινά από την <αρχική_τιμή> και αυξάνεται κατά ένα σε κάθε κύκλο της επανάληψης. Η εκτέλεση των εντολών επαναλαμβάνεται μέχρις ότου ο <μετρητής> λάβει την <τελική_τιμή> Για μετρητής από αρχική_τιμή μέχρι τελική_τιμή εντολές Τέλος_επανάληψης
29
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (19/24)
Δομή Επανάληψης (παράδειγμα): Υπολογισμός αθροίσματος
30
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (18/24)
Δομή Επανάληψης: Για <μετρητής> από <αρχική_τιμή> μέχρι <τελική_τιμή> με βήμα <βήμα> Η λειτουργία και η λογική είναι όπως και στη Για…από…μέχρι. Η διαφορά είναι ότι σε κάθε κύκλο της επανάληψης ο <μετρητής> μεταβάλλεται κατά <βήμα> Το <βήμα> μπορεί να λάβει και αρνητικές τιμές Για μετρητής από αρχική_τιμή μέχρι τελική_τιμή με βήμα εντολές Τέλος_επανάληψης
31
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (20/24)
Δομή Επανάληψης (παράδειγμα): Υπολογισμός αθροίσματος άρτιων από 1 ως 100
32
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (21/24)
Δομή Επανάληψης (παράδειγμα): Πολλαπλασιασμός αλά ρώσικα Είναι στην πραγματικότητα ο τρόπος με τον οποίο εκτελεί ο Η/Υ πολλαπλασιασμό χρησιμοποιώντας 2 βασικές και απλούστερες ενέργειες: Πρόσθεση Ολίσθηση
33
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (22/24)
Δομή Επανάληψης (παράδειγμα): Πολλαπλασιασμός αλά ρώσικα
34
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (23/24)
Δομή Επανάληψης (παράδειγμα): Πολλαπλασιασμός αλά ρώσικα
35
2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου (24/24)
Δομή Επανάληψης (παράδειγμα): Πολλαπλασιασμός αλά ρώσικα
36
Σημειώσεις Δυαδικός Πολλαπλασιασμός με πρόσθεση και ολίσθηση
Οι δυαδικοί αριθμοί έχουν ως ψηφία μόνο το 0 και 1 = (0*1 + 1*2 + 1*4 + 0*8 + 1*16 + 1*32 + 0*64 +1*128) Στο δυαδικό σύστημα αν ένας αριθμός ολισθήσει: Αριστερά: Πολλαπλασιάζεται επί 2 11012 = = 2610 Δεξιά: Διαιρείται (ακέραια) με το 2 = = 1110 Για να πολλαπλασιαστεί ένα δυαδικός αριθμός με μια δύναμη του 2 (2, 4, 8, 16 κτλ)αρκεί να ολισθήσει τόσες θέσεις προς τα αριστερά όσος είναι ο εκθέτης της δύναμης 11012 * 1002 (= 13*4 = 13*22 συνεπώς ολίσθηση 2 θέσεις αριστερά) = = 5210 (δηλ. όπως όταν στο δεκαδικό πολ/με με το 1010, προσθέτουμε μηδενικά στα δεξιά)
37
Σημειώσεις Δυαδικός Πολλαπλασιασμός με πρόσθεση και ολίσθηση
Κάθε πολλαπλασιασμός στο δυαδικό σύστημα μπορεί να αναλυθεί σε άθροισμα πολλαπλασιασμών με δυνάμεις του 2 * = 45*19 = 45 * ( ) = 45 * ( ) = 45 * * * 24 = * * * = = = = Έτσι ο πολλαπλασιασμός υλοποιείται στη CPU μόνο με κυκλώματα πρόσθεσης και ολίσθησης που είναι σχετικά απλά.
38
Σημειώσεις 101101 (=45) x 10011 (=19) 101101 (=45) 101101 (=90) 000000
Δυαδικός Πολλαπλασιασμός με πρόσθεση και ολίσθηση Στην πραγματικότητα ο δυαδικός πολλαπλασιασμός δε διαφέρει και τόσο από τον δεκαδικό που μαθαίνουμε στο σχολείο. (=45) x (=19) (=45) (=90) 000000 (=720) (=855)
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.