Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ"— Μεταγράφημα παρουσίασης:

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)


Κατέβασμα ppt "Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google