ΚΕΦΑΛΑΙΟ 5: Αλγόριθμοι

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΚΕΦΑΛΑΙΟ 5: Αλγόριθμοι"

Transcript

1 ΚΕΦΑΛΑΙΟ 5: Αλγόριθμοι 5.1 Η έννοια του αλγορίθμου 5.2 Αναπαράσταση αλγορίθμων 5.3 Επινόηση αλγορίθμων 5.4 Δομές επανάληψης 5.5 Αναδρομικές δομές 5.6 Απόδοση και ορθότητα Οι διαφάνειες βασίζονται σε μεγάλο βαθμό σε αυτές που συνοδεύονται με το προτεινόμενο σύγγραμμα, καθώς και στις διαφάνειες προηγούμενων ετών του κ. Κουρκουμπέτη. 1

2 Αλγόριθμος: Ορισμός Ένας αλγόριθμος είναι ένα διατεταγμένο σύνολο, πεπερασμένων, σαφώς ορισμένων, εκτελέσιμων βημάτων, το οποίο ορίζει μία τερματιζόμενη διαδικασία. Έχουμε ήδη δει αλγορίθμους για: μετατροπής δεκαδικής αναπάραστασης αριθμού σε δυαδική Ανίχνευση και διόρθωση σφαλμάτων Έλεγχο πολλών διεργασιών από το λειτουργικό σύστημα Τον κύκλο μηχανής μιας CPU: 2

3 Αλγόριθμος: Ορισμός (2) Διατεταγμένο (ordered) σύνολο βημάτων: που να ξεχωρίζουν Όχι απαραίτητα να εκτελούνται με τη σειρά (π.χ. παράλληλοι αλγόριθμοι για πολλούς επεξεργαστές ή για πολλαπλά threads) Πεπερασμένα (finite): Σαφώς ορισμένα (unambiguous): να μην είναι αόριστα και να προκύπτουν κατά την διαδικασία Eκτελέσιμα βήματα: π.χ. όχι κάτι σαν το οποίο ορίζει μία τερματιζόμενη διαδικασία Αν και ορίζονται και αλγόριθμοι για ατέρμονες διεργασίες, π.χ. Διαίρεση του 1 με το 3 3

4 Αλγόριθμοι, προγράμματα και γλώσσες είσοδος Αλγόριθμος έξοδος αλγόριθμοι που τερματίζουν ή δεν τερματίζουν πως να περιγράψουμε έναν αλγόριθμο; φυσική γλώσσα (ελληνικά, αγγλικά) είναι ασαφής «μαζεύετε τριαντάφυλλα όσο σας επιτρέπεται» Γλώσσα προγραμματισμού: εύκολη και περιεκτική έκφραση αλγορίθμων άμεσα κατανοητή από υπολογιστές και ανθρώπους περιορισμός λαθών 4

5 Αλγόριθμοι : επίπεδα αφαίρεσης Ένα πρόβλημα αποτελεί το κίνητρο για την επινόηση ενός αλγόριθμου. Ο αλγόριθμος είναι μια διαδικασία επίλυσης του προβλήματος αυτού. Συνήθως μία διαδικασία από πολλές πιθανές Η αναπαράσταση είναι η επαρκής περιγραφή ενός αλγορίθμου για τη μετάδοση του στο επιθυμητό κοινό. Πάντα μία περιγραφή από πολλές πιθανές. 5

6 Αλγόριθμοι : επίπεδα αφαίρεσης (2) Πρόγραμμα (program): είναι μια αναπαράσταση ενός αλγορίθμου Η επίσημη αναπαράσταση, γραμμένη για εκτέλεση από υπόλογιστή Διεργασία (process): η διαδικασία εκτέλεσης ενός προγράμματος (και συνεπώς και του αλγορίθμου) 6

7 Αναπαράσταση αλγορίθμων : Κατασκευή πουλιού από ένα τετράγωνο κομμάτι χαρτί 7

8 Αρχέτυπα Αρχέτυπα (primitives): Καλά ορισμένα σύνολα από δομικά μπλοκ από τα οποία μπορεί να κατασκευαστούν αναπαραστάσεις αλγορίθμων Μια συλλογή αρχετύπων μαζί με μια συλλογή κανόνων με το πως αυτά μπορούν να συνδυαστούν για να αναπαραστήσουν περίπλοκες ιδέες συνιστά μια γλώσσα προγραμματισμού Κάθε αρχέτυπο έχει τη δική του σύνταξη (syntax) και σημασιολογία (semantics) Σύνταξη: συμβολική αναπαράσταση Σημασιολογία: Σημασία του αρχέτυπου Τα αρχέτυπα είναι σε πιο υψηλό επίπεδο από αυτό των εντολών της γλώσσας μηχανής (που είδαμε στον Κεφ. 2) 8

9 Αρχέτυπα Origami Αρχέτυπα (primitives): Καλά ορισμένα σύνολα από δομικά μπλοκ από τα οποία μπορεί να κατασκευαστούν αναπαραστάσεις αλγορίθμων 9

10 Αρχέτυπα ψευδοκώδικα Ψευδοκώδικας (pseydo-code): είναι ένα λιγότερο επίσημο (από την γλώσσα προγραμματισμού) σύστημα από συμβολισμούς το οποίο μπορεί να αναπαραστήσει τις ιδέες που διέπουν έναν αλγόριθμο Ανάθεση: όνομα έκφραση name expression Επιλογή συνθήκης: αν (συνθήκη) τότε (ενέργεια 1) αλλιώς (ενέργεια 2) if (συνθήκη) then (ενέργεια 1) else (ενέργεια 2) 10

11 Αρχέτυπα ψευδοκώδικα (2) Επαναλαμβανόμενη εκτέλεση: όσο (συνθήκη) κάνε (ενέργεια) while (συνθήκη) do (ενέργεια) Διαδικασία (procedure): Μπλοκ από εντολές που εκτελούν μια αυτόνομη λειτουργία Λέγεται και: υπο-πρόγραμμα (subprogram) υπορουτίνα (subroutine), διαδικασία (procedure), συνάρτηση (function) διαδικασία όνομα (συγκεκριμένο όνομα της μονάδας) procedure name 11

12 Διαδικασία Η διαδικασία (procedure) πρέπει να είναι γενική και να είναι εφαρμόσιμη σε κάθε περίπτωση Π.χ. H περιγραφή μιας διαδικασία για ταξινόμηση μιας λίστας ονομάτων κατά αλφαβητική σειρά πρέπει να είναι τέτοια ώστε να εφαρμόζεται σε οποιαδήποτε λίστα ονομάτων και όχι σε μια συγκεκριμένη μόνο Παράμετροι (parameters): στην προκειμένη περίπτωση η λίστα προς ταξινόμηση Π.χ. Procedure Sort (List) 12

13 Παραδείγματα στοίχισης Η ανάγνωση ψευδο-κώδικα διευκολύνεται αν κάνουμε καλή στοίχιση και περιγραφή των βρόχων και του τέλος των if, while, 13

14 Βήματα επίλυσης προβλήματος Βήματα κατά τον Polya (1945) 1. Κατανόηση του προβλήματος. 2. Σχηματισμός (στο νου μας) μιας ιδέας για το πώς μπορεί να λυθεί το πρόβλημα από μία αλγοριθμική διαδικασία. 3. Συγκρότηση του αλγορίθμου και αναπαράσταση του ως πρόγραμμα. 4. Αξιολόγηση του προγράμματος όσον αφορά την ακρίβεια του και τη δυνατότητα να χρησιμοποιηθεί ως εργαλείο για την επίλυση άλλων προβλημάτων. Όχι απαραίτητο (και πολλές φορές όχι αποδοτικό) να τηρείται αυστηρή αλληλουχία στα βήματα αυτά 14

15 Τεχνικές για το πρώτο βήμα Επίλυση του προβλήματος προς τα πίσω. Επίλυση ενός πιο εύκολου, σχετικού προβλήματος: «Χαλαρώνει» κάποιους από τους ασφυκτικούς περιορισμούς του προβλήματος. Επιλύει πρώτα κάποια επιμέρους τμήματα του προβλήματος - συνθετική μεθοδολογία. Λέγεται και τεχνική από-κάτω-προς-τα-πάνω (bottom-up) Η βηματική εκλέπτυνση (step-wise refinement) είναι μία αναλυτική μεθοδολογία. Δημοφιλής τεχνική επειδή παράγει τμηματικά προγράμματα Απλοποίηση βήματων σε πολλά απλούστερα Λέγεται και τεχνική από πάνω-προς-τα-κάτω (top-down) 15

16 Βηματική εκλέπτυνση Αλγόριθμος: φτιάξε στιγμιαίο καφέ (1) βράσε νερό (1.1) γέμισε χύτρα (1.1.1) βάλε χύτρα κάτω από βρύση (1.1.2) άνοιξε βρύση (1.2) άναψε το μάτι (1.3) περίμενε να βράσει (1.4) σβήσε το μάτι (1.1.3) περίμενε να γεμίσει η χύτρα (1.1.4) κλείσε βρύση (1.3.1) περίμενε να σφυρίξει η χύτρα (2) βάλε καφέ στο φλιτζάνι (3) πρόσθεσε νερό στο φλιτζάνι (2.1) άνοιξε το δοχείο του καφέ (2.2) πάρε ένα κουταλάκι καφέ (2.3) άδειασε το κουταλάκι στο φλιτζάνι (2.4) κλείσε το δοχείο του καφέ (3.1) βάλε νερό από την χύτρα στο φλιτζάνι μέχρι να γεμίσει (2.1.1) πάρε το δοχείο του καφέ από το ντουλάπι (2.1.2) βγάλε το καπάκι (2.4.1) βάλε το καπάκι στο δοχείο (2.4.2) βαλε το δοχείο στο ντουλάπι 16

17 Ακολουθία βημάτων για αλγόριθμο 1. βάλε την χύτρα κάτω από βρύση 2. άνοιξε την βρύση εάν δεν υπάρχει νερό; 3. περίμενε να γεμίσει η χύτρα 4. κλείσε την βρύση 5. άναψε το μάτι 6. περίμενε να σφυρίξει η χύτρα 7. σβήσε το μάτι 8. πάρε το δοχείο του καφέ από το ντουλάπι 9. βγάλε το καπάκι 10. πάρε ένα κουταλάκι καφέ 11. άδειασε το κουταλάκι στο φλιτζάνι 12. βάλε το καπάκι στο δοχείο 13. βαλε το δοχείο στο ντουλάπι 14. βάλε νερό από την χύτρα στο φλιτζάνι μέχρι να γεμίσει εάν δεν υπάρχει καφές, να δοκιμάσει το επόμενο δοχείο καφέ; εάν υπάρχουν 1000 δοχεία, πολλά από αυτά άδεια, τι να κάνει; 17

18 Υπόδειγμα προβλήματος Το άτομο Α πρέπει να βρει τις ηλικίες των τριών παιδιών του ατόμου Β. Ο Β λέει στον Α ότι το γινόμενο των ηλικιών των παιδιών του είναι 36. Ο Α απαντάει ότι χρειάζεται άλλο ένα στοιχείο Ο Β λέει στον Α το άθροισμα των ηλικιών των παιδιών του. Ο Α απαντάει ξανά ότι χρειάζεται άλλο ένα στοιχείο Ο Β λέει στον Α ότι το μεγαλύτερο παιδί του παίζει πιάνο Ο Α λέει στον Β τις ηλικίες των τριών παιδιών του. Ποιες είναι οι ηλικίες των τριών παιδιών; 18

19 Υπόδειγμα προβλήματος (2) Λύση 19

20 Διαγράμματα ροής Διαγράμματα ροής (flow charts): γραφικός τρόπος περιγραφής δομής αλγορίθμων Ορίζουμε τα βασικά συστατικά διαγραμμάτων ροής -- ακολουθία -- δοκιμή (διάφοροι τύποι) -- επανάληψη (διάφοροι τύποι) ακολουθία βάλε την χύτρα κάτω από βρύση άνοιξε την βρύση περίμενε να γεμίσει η χύτρα κλείσε την βρύση άναψε το μάτι περίμενε να σφυρίξει η χύτρα σβήσε το μάτι πάρε το δοχείο του καφέ από το ντουλάπι δοκιμή (test) συνθήκη = false συνθήκη = false συνθήκη = true 20

21 Σύνθεση βασικών διαγραμμάτων Αλγόριθμος: σύνθεση βασικών διαγραμμάτων ακολουθία δοκιμή (test) false true ακολουθία ακολουθία 21

22 Η δομή ελέγχου επιλογής δοκιμή συνθήκης false if condition then P1 true δοκιμή συνθήκης false P1 P2 true P1 if condition then P1 else P2 if x>3 then z:=1 else y:=8 22

23 Παράδειγμα φωλιασμένων επιλογών δοκιμή συνθήκης false δοκιμή συνθήκης false P2 true true δοκιμή συνθήκης false P1 P1 P2 true P3 P4 if condition then P1 else if condition then P3 else P4 P2 23

24 Δομές Επανάληψης Βρόχος προ-ελέγχου (pro-test loop): όσο (συνθήκη) κάνε (σώμα βρόχου) while (condition) do () Βρόχος μετα-ελέγχου (post-test loop): επανάλαβε (σώμα βρόχου) μέχρι(συνθήκη) repeat (loop body) until(condition) 24

25 Δομές επανάληψης (2) Υποθέτει ότι υπάρχει ένα κέρμα στην τσέπη στην αρχή Δεν υποθέτει ότι υπάρχει ένα κέρμα στην τσέπη στην αρχή (και ελέγχει) 25

26 Η δομή ελέγχου επανάληψης Η δομή βρόχου όσο (while) 26

27 Άλλο παράδειγμα δομής επανάληψης Η δομή βρόχου επανέλαβε (repeat) 27

28 Στοιχεία ελέγχου επανάληψης Χρειάζεται προσοχή με τον έλεγχο και την τροποποίηση! 28

29 Επανάληψη: Αρχέτυπα (εντολές) ψευδοκώδικα Ανάθεση όνομα έκφραση Επιλογή συνθήκης αν (συνθήκη) τότε (ενέργεια) Επαναλαμβανόμενη εκτέλεση όσο (συνθήκη) κάνε (ενέργεια) Διαδικασία διαδικασία όνομα (συγκεκριμένο όνομα της μονάδας) 29

30 Παράδειγμα Διαδικασίας διαδικασία Χαιρετισμός Μετρητής 3; όσο (Μετρητής >0) κάνε (τύπωσε το μήνυμα Γεια χαρά και Μετρητής Μετρητής-1) 30

31 Ο αλγόριθμος της σειριακής αναζήτησης (sequential search) σε ψευδοκώδικα Αρχή: μια λίστα με ονόματα αλφαβητικά ταξινομημένη Στόχος είναι να βρεθεί η ΤιμήΣτόχος (π.χ. Ένα συγκεκριμένο όνομα) στην Λίστα 31

32 Sequential Search 32

33 Αλγόριθμος Αλφαβητικής ταξινόμησης λίστας Αριθμός βημάτων στην χειρότερη περίπτωση για μια λίστα μήκους n ( n 1) = 1 2 n( n 1) = 1 2 ( n 2 n) 33

34 Ο αλγόριθμος ταξινόμησης με εισαγωγή (insertion sort) σε ψευδοκώδικα διαδικασία Ταξινόμηση (Λίστα) Ν 2 όσο (η τιμή του Ν δεν υπερβαίνει το μήκος της Λίστας) κάνε (επίλεξε την Ν-οστή καταχώρηση της Λίστας ως οριακή καταχώρηση. Μετακίνησε την οριακή καταχώριση σε μία προσωρινή θέση, αφήνοντας ένα κενό στη Λίστα. όσο (υπάρχει κάποιο όνομα επάνω από το κενό, και το όνομα αυτό είναι μεγαλύτερο από την οριακή καταχώριση) κάνε (μετακίνησε το όνομα που βρίσκεται επάνω από το κενό προς τα κάτω, αφήνοντας ένα κενό από πάνω του) Τοποθέτησε την οριακή καταχώριση στο κενό της Λίστας. Ν Ν + 1 ) 34

35 Insertion Sort 35

36 Αναδρομή (Recursion) Η εκτέλεση μιας διαδικασίας οδηγεί σε μια ακόμα εκτέλεση της διαδικασίας. Πραγματοποιούνται πολλαπλές ενεργοποιήσεις της διαδικασίας, από τις οποίες όλες εκτός από μία περιμένουν να ολοκληρωθούν οι άλλες ενεργοποιήσεις. 36

37 Αναδρομή (Recursion) (2) Αναδρομικός (recursive) αλγόριθμος: καλεί τον εαυτό του Μεθοδολογία: εκφράζουμε την διαδικασία με βάση ιδίου τύπου διαδικασίες που λειτουργούν σε απλούστερα προβλήματα, γνωρίζουμε την απάντηση για το πλέον απλό πρόβλημα factorial(n) = 1*2*3*... (N-1)*N = N*factorial(N-1) module factorial(n) if N=1 then answer = 1 else answer = N * factorial(n-1) * 2 * 1 37

38 Αναδρομική στρατηγική (Δυαδική Αναζήτηση) για αναζήτηση της καταχώρισης Κώστας σε μια ταξινομημένη λίστα Είσοδος: Μια λίστα που είναι ταξινομημένη αλφαβητικά 38

39 Εφαρμογή της δυαδικής αναζήτησης για την καταχώριση Κώστας σε μία ταξινομημένη λίστα Αριθμός βημάτων χειρότερης περίπτωσης Log 2 n = πόσες φορές διαιρείται το n με το 2 2 logn = n 39

40 Ένα πρώτο προσχέδιο του αλγορίθμου δυαδικής αναζήτησης (Binary Search) Είσοδος: Μια λίστα που είναι ταξινομημένη αλφαβητικά 40

41 Ο αλγόριθμος της δυαδικής αναζήτησης σε ψευδοκώδικα Διαδικασία Αναζήτηση (Λίστα, ΤιμήΣτόχος) αν ( Η Λίστα είναι άδεια) τότε (Ανάφερε ότι η αναζήτηση απέτυχε) αλλιώς [Επίλεξε τη μεσαία καταχώριση της Λίστας ως την ΚαταχώρισηΠροςΈλεγχο. Εκτέλεσε το παρακάτω μπλοκ εντολών που αντιστοιχεί στην κατάλληλη περίπτωση. περίπτωση 1: ΤιμήΣτόχος=ΚαταχώρισηΠροςΈλεγχο (Ανέφερε ότι η αναζήτηση είναι επιτυχής.) περίπτωση 2: ΤιμήΣτόχος<ΚαταχώρισηΠροςΈλεγχο (Εφάρμοσε τη διαδικασία Αναζήτηση για να δεις αν η ΤιμήΣτόχος βρίσκεται στο τμήμα της λίστα που προηγείται της ΚαταχώρισηΠροςΈλεγχο, και ανέφερε το αποτέλεσμα αυτής της αναζήτησης.) περίπτωση3: ΤιμήΣτόχος> ΚαταχώρισηΠροςΈλεγχο (Εφάρμοσε τη διαδικασία Αναζήτηση για να δεις αν η ΤιμήΣτόχος βρίσκεται στο τμήμα της λίστα μετά την ΚαταχώρισηΠροςΈλεγχο, και ανέφερε το αποτέλεσμα αυτής της αναζήτησης.) ] τέλος αν 41

42 Ψευδοκώδικας Δυαδικής Αναζήτησης low = 0; high = N-1; BinarySearch(A[0..N-1], value, low, high) { if (high < low) return -1 // not found mid = (low + high) / 2 if (A[mid] > value) return BinarySearch(A, value, low, mid-1) else if (A[mid] < value) return BinarySearch(A, value, mid+1, high) else return mid // found } 42

43 Ο αλγόριθμος της δυαδικής αναζήτησης Αναζήτηση του Β στην λίστα Α Β Γ Δ Ε Ζ Η 43

44 Ο αλγόριθμος της δυαδικής αναζήτησης (2) Αναζήτηση του Δ στην λίστα Α Γ Ε Ζ Η 44

45 Ο αλγόριθμος της δυαδικής Αναζήτηση του Δ στην λίστα Α Γ Ε Ζ Η αναζήτησης 45

46 Αναδρομικές διαδικασίες Η διαδικασία καλεί τον εαυτό της Κάθε αντίτυπο της διαδικασίας καλεί τον εαυτό της (με διαφορετικές παραμέτρους) Π.χ. Η διαδικασία για το n! (n παραγοντικό) Κάθε κλήση της διαδικασίας λέγεται ενεργοποίηση (activation) Σε μια χρονική στιγμή μόνο ένα αντίτυπο της διαδικασίας εκτελείται, τα υπόλοιπα (που έχουν κληθεί πριν) περιμένουν το αποτέλεσμα αυτού του αντιτύπου Κάθε αναδρομική διεργασία περιέχει συνθήκη τερματισμού (λέγεται περίπτωση βάσης (base case) ή εκφυλισμένη περίπτωση (degenarative case) Αν η συνθήκη δεν ικανοποιείται, καλείται και πάλι η διαδικασία με άλλες παραμέτρους, που πλησιάζουν στην συνθήκη τερματισμού module factorial(n) if N=1 then answer = 1 else answer = N * factorial(n-1) 46

47 Δυαδική Αναζήτηση Αρχικοποίηση με μια ταξινομημένη λίστα Αν βρεθεί η Τιμή-Στόχος ή αν προκύψει άδεια λίστα, ο αλγόριθμος τερματίζει Διαφορετικά, καλείται ένα αντίτυπο της διαδικασίας με το μισό της λίστας (άνω ή κάτω μισό) Σίγουρος τερματισμός: εφόσον η λίστα είναι πεπερασμένη και κάθε φορά η διαδικασία καλείται για το μισό της λίστας της προηγούμενης κλήσης, κάποια στιγμή ο αλγόριθμος θα τελειώσει Θα βρεθεί η Τιμή-Στόχος ή θα προκύψει άδεια λίστα 47

48 Αποδοτικότητα Αλγορίθμων (Παράδειγμα) Λίστα 30,000 ονομάτων φοιτητών Ακολουθιακή (sequential) αναζήτηση: κατά μέσο όρο χρειάζεται να περάσει 15,000 ονόματα 10msec για να ελέγξει ένα όνομα Μέσος χρόνος για έλεγχο: 150 sec Δυαδική (binary) αναζήτηση: χρειάζεται να ελέγξει το πολύ 15 ονόματα Όσες φορές (το πολύ) χρειάζεται να κοπεί μια λίστα 30,000 ονομάτων στην μέση 10msec για να ελέγξει ένα όνομα Μέσος χρόνος για έλεγχο: 0,15 sec 48

49 Αποδοτικότητα Λογισμικού Μετριέται ως πλήθος των εκτελούμενων εντολών του αλγορίθμου Συνήθως θεωρούμε τις πιο σοβαρές (από άποψη υπολογιστικού φόρτου ή αποθηκευτικού χώρου) εντολές Έχει επίδραση στο χρόνο ή στο πόσο αποθηκευτικός χώρος απαιτείται για την εκτέλεση ενός αλγορίθμου Ενδιαφερόμαστε για μια γενική μορφή που να δείχνει την απόδοση για μια λίστα οποιουδήποτε μήκους n Καλύτερη (best-case), χειρότερη (worst-case) και μέση (average-case) περίπτωση. π.χ. Είδαμε την μέση περίπτωση για την ακολουθιακή αναζήτηση: n/2 έλεγχοι για λίστα μήκους n και χειρότερη περίπτωση ln (n) για την δυαδική αναζήτηση για λίστα μήκους n Ο συμβολισμός με Θ προσδιορίζει την αποδοτικότητα των αλγορίθμων Παράδειγμα η ταξινόμηση με εισαγωγή αναπαριστάται με Θ(n 2 ) Θ: σύμβολο Landau 49

50 Ανάλυση αλγορίθμου ταξινόμησης με εισαγωγή Επικεντρωνόμαστε στο πόσες συγκρίσεις χρειάζονται στον αλγόριθμο Επιλογή μιας καταχώρησης σαν οριακή καταχώρηση (pivot): 2,3,...n Σύγκριση του pivot με όλα τα προηγούμενα στοιχεία Καλύτερη περίπτωση: Η λίστα είναι ταξινομημένη ήδη αλφαβητικά Οπότε χρειάζεται σύγκριση του pivot με ένα στοιχείο n-1 συγκρίσεις Χειρότερη περίπτωση: Η λίστα είναι σε ανάποδη αλφαβητική σειρά Χρειάζεται σύγκριση του pivot (που είναι σε μια θέση k) με όλα τα προηγούμενα στοιχεία 1,2,...k-1 Συνολικά (n-1) συγκρίσεις = (1/2)*(n 2 -n) συγκρίσεις Μέση περίπτωση: (1/4)*(n 2 -n) συγκρίσεις 50

51 Σενάριο χειρότερης περίπτωσης για την ταξινόμηση με εισαγωγή Χειρότερη περίπτωση: Η λίστα είναι σε ανάποδη αλφαβητική σειρά Χρειάζεται σύγκριση του pivot (που είναι σε μια θέση k) με όλα τα προηγούμενα στοιχεία 1,2,...k-1 Συνολικά (n-1) συγκρίσεις = (1/2)*(n 2 -n) συγκρίσεις 51

52 f Ορισμός ταχύτητας αύξησης μιας συνάρτησης: Σύμβολα Landau ( n) O( g( n)) : f έχει την g ασυμπτωτικό άνω φράγμα όταν n, f ( n) g( n) k η f αυξάνεται το πολύ σαν την g n 2,5 O(n 3 ), 2n 2 +10n 5 O(n 2 ),2 n + 2n 2 O(2 n ) f ( n) Θ( g( n)) : f έχει την g ασυμπτωτικό άνω και κάτω φράγμα η f αυξάνεται σαν την g, άρα είναι στην οικογένεια Θ(g) όταν n, g( n) k 1 f ( n) g( n) k 2 2n n 5 Θ( n 2 ),2n logn + 10n 5 Θ( nlogn) 52

53 Γράφημα της ανάλυσης χειρότερης περίπτωσης του αλγορίθμου ταξινόμησης με εισαγωγή f(n) = (1/2)*(n 2 -n) n Ο αλγόριθμος ταξινόμησης με εισαγωγή ανήκει στην κλάση αλγορίθμων Θ(n 2 ) 53

54 Γράφημα της ανάλυσης χειρότερης περίπτωσης του αλγορίθμου δυαδικής αναζήτησης f(n) = ln(n) n Ο αλγόριθμος δυαδικής αναζήτησης ανήκει στην κλάση αλγορίθμων O (logn) = O(ln n) 54

55 Επαλήθευση λογισμικού Απόδειξη ορθότητας αλγορίθμου Ισχυρισμοί (assertions) Προσυνθήκες (preconditions): ισχύουν πριν ξεκινήσει ο αλγόριθμος Αμετάβλητοι βρόχοι (loop invariant): ισχυρισμοί που είναι σωστοί κάθε φορά που φτάνουμε σε ένα σημείο του βρόχου Έλεγχοι και συνδυαστικοί έλεγχοι 55

56 Παράδειγμα προβλήματος: Διαχωρισμός αλυσίδας Ένας ταξιδιώτης έχει μία χρυσή αλυσίδα εφτά κρίκων. Πρέπει να μείνει σε ένα απομονωμένο ξενοδοχείο για επτά νύχτες. Το ενοίκιο για κάθε νύχτα είναι ένας κρίκος από την αλυσίδα του. Ποιος είναι ο μικρότερος αριθμός κρίκων που πρέπει να κοπούν ώστε ο ταξιδιώτης να πληρώνει στο ξενοδοχείο έναν κρίκο από την αλυσίδα κάθε πρωί χωρίς να καταβάλει προκαταβολικά τη διαμονή του; 56

57 Λύση 1: Διαχωρισμός της αλυσίδας με τρία μόνο κοψίματα 57

58 Διαχωρισμός της αλυσίδας με μόνο ένα κόψιμο : Καλύτερη λύση 58

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι 5.1 Η έννοια του αλγορίθµου 5.2 Αναπαράσταση αλγορίθµων 5.3 Επινόηση αλγορίθµων 5.4 Δοµές επανάληψης 5.5 Αναδροµικές δοµές 1 Αλγόριθµος: Ορισµός Ένας αλγόριθµος είναι ένα διατεταγµένο

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5: Αλγόριθμοι

ΚΕΦΑΛΑΙΟ 5: Αλγόριθμοι ΚΕΦΑΛΑΙΟ 5: Αλγόριθμοι Αρχικές έννοιες Αναπαράσταση αλγορίθμων Διαγράμματα ροής και δομές επανάληψης Αλγόριθμος σειριακής αναζήτησης Αλγόριθμος αλφαβητικής ταξινόμησης Αναδρομικοί αλγόριθμοι Αλγόριθμος

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι. 5.1 Αλγόριθµος: Ορισµός. Αλγόριθµοι : επίπεδα αφαίρεσης

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι. 5.1 Αλγόριθµος: Ορισµός. Αλγόριθµοι : επίπεδα αφαίρεσης ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι 5.1 Αλγόριθµος: Ορισµός 5.1 Η έννοια του αλγορίθµου 5.2 Αναπαράσταση αλγορίθµων 5.3 Επινόηση αλγορίθµων 5.4 οµές επανάληψης Ένας αλγόριθµος είναι ένα διατεταγµένο σύνολο, σαφώς ορισµένων,

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Εισαγωγή στην πληροφορική Ενότητα 5: ΑΛΓΟΡΙΘΜΟΙ Πασχαλίδης Δημοσθένης Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι 1 Έννοια Ανεπίσημα, ένας αλγόριθμος είναι μια βήμα προς βήμα μέθοδος για την επίλυση ενός προβλήματος ή την διεκπεραίωση

Διαβάστε περισσότερα

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

Διαβάστε περισσότερα

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική και τη συµµετρική ιδιότητα του Θ. Λύση Μεταβατική Ιδιότητα (ορισµός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)). Για

Διαβάστε περισσότερα

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

Διαβάστε περισσότερα

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα

Διαβάστε περισσότερα

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 2 : Αλγόριθμοι Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

Διαβάστε περισσότερα

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή ονάδα Δικτύων και Επικοινωνιών ΗΥ Τομέας Πληροφορικής, αθηματικών και Στατιστικής ΓΕΩΠΟΙΚΟ ΠΑΕΠΙΣΤΗΙΟ ΑΘΗΩ Εισαγωγή στην Επιστήμη των ΗΥ άθημα-4 url: http://openeclass.aua.gr (AOA0) Λογισμικό Υπολογιστή

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Αναδρομή Ανάλυση Αλγορίθμων

Αναδρομή Ανάλυση Αλγορίθμων Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).

Διαβάστε περισσότερα

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης Εντολές Ελέγχου 2 Γενικά Εντολές λήψης αποφάσεων Επιτρέπουν στο πρόγραμμα να εκτελεί διαφορετικές

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

Διαβάστε περισσότερα

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν

Διαβάστε περισσότερα

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. Καβακλή. Χειμερινό Εξάμηνο 2001

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. Καβακλή. Χειμερινό Εξάμηνο 2001 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Ανάλυση προβλήματος Η σωστή αντιμετώπιση

Διαβάστε περισσότερα

Προγραµµατισµός Η/Υ. Μέρος2

Προγραµµατισµός Η/Υ. Μέρος2 Προγραµµατισµός Η/Υ Μέρος2 Περιεχόμενα Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής Αλγόριθμος Ψευδοκώδικας Παραδείγματα Αλγορίθμων Γλώσσες προγραμματισμού 2 Επανάληψη Βασικών Σύμβολων Διαγραμμάτων Ροής

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

Διαβάστε περισσότερα

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

Διαβάστε περισσότερα

Πληροφορική ΙΙ Ενότητα 1

Πληροφορική ΙΙ Ενότητα 1 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός

Διαβάστε περισσότερα

ΠαράδειγµαΠρογραµµατισµού

ΠαράδειγµαΠρογραµµατισµού Προγραµµατισµός Η/Υ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Μεθοδολογία Προγραµµατισµού Αφαιρετικότητα Ροή Ελέγχου/ εδοµένων Βιβλίο µαθήµατος: Chapter 1,, Sec. 4-54 ΕΠΛ 131 Αρχές Προγραµµατισµού

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου

Διαβάστε περισσότερα

Προγραμματιστικές Τεχνικές

Προγραμματιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ Επικ. Καθηγητής ΕΜΠ v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

Διαδικαστικός Προγραμματισμός

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 3: Εντολές ελέγχου επανάληψη Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος

Διαβάστε περισσότερα

Εισαγωγή στην Ανάλυση Αλγορίθμων

Εισαγωγή στην Ανάλυση Αλγορίθμων Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)

Διαβάστε περισσότερα

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων Κανόνες

Διαβάστε περισσότερα

5.1. Προσδοκώμενα αποτελέσματα

5.1. Προσδοκώμενα αποτελέσματα 5.1. Προσδοκώμενα αποτελέσματα Όταν θα έχεις ολοκληρώσει τη μελέτη αυτού του κεφαλαίου θα έχεις κατανοήσει τις τεχνικές ανάλυσης των αλγορίθμων, θα μπορείς να μετράς την επίδοση των αλγορίθμων με βάση

Διαβάστε περισσότερα

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική

Διαβάστε περισσότερα

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας Μαθησιακές δυσκολίες ΙΙ Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας Μάρτιος 2010 Προηγούμενη διάλεξη Μαθησιακές δυσκολίες Σε όλες

Διαβάστε περισσότερα

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

Διαβάστε περισσότερα

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, σελ. 55-62 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 5) Δυαδική αναζήτηση

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

Διαβάστε περισσότερα

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή

3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή 3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ 3.1 ΑΝΑ ΡΟΜΗ 3.1.1 Εισαγωγή ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Αναδροµή είναι η µέθοδος κατά την οποία, σε µία γλώσσα προγραµµατισµού, µία διαδικασία ή συνάρτηση έχει την δυνατότητα

Διαβάστε περισσότερα

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

Διαβάστε περισσότερα

ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 2 Γενικά Στο Εργαστήριο αυτό θα αναλύσουμε τη χρήση της βασικής εντολής ελέγχου ροής

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Ανάλυση Αλγορίθμων Θέματα Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα Προσεγγίσεις: Θεωρητική ανάλυση Εμπειρική ανάλυση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Θεωρητική

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

Διαβάστε περισσότερα

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Βρόχοι Επανάληψη (Loop) Η επανάληψη ενός συνόλου εντολών για όσες φορές επιθυμούμε ή

Διαβάστε περισσότερα

ιαδικαστικός Προγραμματισμός

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 3 ο : Εντολές ελέγχου > επανάληψη Στόχοι μαθήματος Να μάθετε τις λεπτομέρειες των εντολών while και for και τις περιπτώσεις

Διαβάστε περισσότερα

Προγραμματισμός Αναδρομή

Προγραμματισμός Αναδρομή Προγραμματισμός Αναδρομή Προγραμματισμός Προγραμματισμός Κλήσεις Συναρτήσεων Όταν καλείται μια συνάρτηση, πρέπει Να θυμάται σε ποιο σημείο του προγράμματος θα επιστρέψει Να δεσμεύσει χώρο για την τιμή

Διαβάστε περισσότερα

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ Θέματα μελέτης Ορθότητα και απόδοση αλγορίθμων Παρουσίαση και ανάλυση αλγορίθμου για πρόσθεση Al Khwarizmi Αλγόριθμοι Το δεκαδικό σύστημα εφευρέθηκε στην Ινδία περίπου το

Διαβάστε περισσότερα

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6α: Αναζήτηση Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos. Για εκπαιδευτικό

Διαβάστε περισσότερα

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας Μαθησιακές δυσκολίες ΙΙ Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας Μάρτιος 2010 Προηγούμενη διάλεξη Μαθησιακές δυσκολίες Σε όλες

Διαβάστε περισσότερα

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 15: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η έννοια της αναδρομής Μη αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων Παραδείγματα Ανάδρομης Αφαίρεση της Αναδρομής

Διαβάστε περισσότερα

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 1: Εισαγωγή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Προτάσεις,

Διαβάστε περισσότερα

Αναζήτηση και ταξινόμηση

Αναζήτηση και ταξινόμηση Αναζήτηση και ταξινόμηση Περιεχόμενα Αναζήτηση (searching): εύρεση ενός στοιχείου σε έναν πίνακα Ταξινόμηση (sorting): αναδιάταξη των στοιχείων ενός πίνακα ώστε να είναι τοποθετημένα με μια καθορισμένη

Διαβάστε περισσότερα

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΘΕΜΑ Α Α.1 Να χαρακτηρίσετε σωστή (Σ) ή λανθασμένη (Λ) καθεμία από τις παρακάτω προτάσεις (Μονάδες 10) 1. Ένας αλγόριθμος μπορεί να έχει άπειρα βήματα

Διαβάστε περισσότερα

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

Διαβάστε περισσότερα

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής Διάλεξη 1 Πράξεις Τελεστές Έλεγχος Ροής Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Αριθμητικοί Τελεστές- Αριθμητικές Πράξεις 2 Internal use only Αριθμητικοί

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων

Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή Καπτάν Υποψήφια

Διαβάστε περισσότερα

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1 Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

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

Η γλώσσα προγραμματισμού Strange Προγραμματιστική άσκηση: Η γλώσσα προγραμματισμού Strange Η Strange είναι μια μικρή γλώσσα προγραμματισμού. Παρόλο που οι προγραμματιστικές της ικανότητες είναι μικρές, η εκπαιδευτική αυτή γλώσσα περιέχει

Διαβάστε περισσότερα

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές! Εντολές Επανάληψης Πολλές φορές χρειάζεται να επαναλάβουμε τις ίδιες εντολές Πχ. Έστω ότι θέλουμε να υπολογίσουμε το άθροισμα όρων μιας ακολουθίας διαδοχικών ακεραίων. Δηλαδή αν ο χρήστης δώσει τον αριθμό

Διαβάστε περισσότερα

Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά

Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά Η συνεχής βελτίωση του υλικού (hardware) τις τελευταίες δεκαετίες έχει σαν αποτέλεσμα την ύπαρξη πολύ ισχυρών επεξεργαστών. Αν και σε λίγα

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 6: Αλγόριθμοι / Προγραμματισμός Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Προγραμματισμός ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του υπολογιστικού προβλήματος και του αλγορίθμου. Να περιγράψουμε την πορεία από ένα υπολογιστικό πρόβλημα

Διαβάστε περισσότερα

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

Διαβάστε περισσότερα

Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής και Τηλεπικοινωνιών. Παραλληλία. Κ. Χαλάτσης, Εισαγωγή στην Επιστήµη της Πληροφορικής και των Τηλεπικοινωνιών

Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής και Τηλεπικοινωνιών. Παραλληλία. Κ. Χαλάτσης, Εισαγωγή στην Επιστήµη της Πληροφορικής και των Τηλεπικοινωνιών Αλγόριθµοι-Προγραµµατισµός /2 Παραλληλία οµές εδοµένων Παραλληλία (Parallelism) Παραλληλία, ταυτοχρονισµός Παράλληλος αλγόριθµος - σειριακός αλγόριθµος Παράδειγµα : υπολογισµός κέρδους module σειριακό_κέρδος(λ_α,

Διαβάστε περισσότερα

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Τμήμα Μηχανικών Πληροφορικής Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2014 Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2014 1 / 42 Αριθμητικές Μέθοδοι

Διαβάστε περισσότερα

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ Η ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΟ ΛΥΚΕΙΟ Εισαγωγή Η μεγάλη ανάπτυξη και ο ρόλος που

Διαβάστε περισσότερα

Αλγόριθμοι. Χαρίκλεια Τσαλαπάτα 29/2/2012

Αλγόριθμοι. Χαρίκλεια Τσαλαπάτα 29/2/2012 Αλγόριθμοι Χαρίκλεια Τσαλαπάτα 29/2/2012 Αλγόριθμος Θεμελιώδης έννοια της πληροφορικής Είναι πεπερασμένη σειρά βημάτων για την επίλυση δεδομένου προβλήματος Αλγοριθμική σκέψη: η διαδικασία ανάπτυξης αλγορίθμων

Διαβάστε περισσότερα

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

Διαβάστε περισσότερα

Εργαστηριακή Άσκηση 1

Εργαστηριακή Άσκηση 1 Εργαστηριακή Άσκηση 1 Επανάληψη προγραμματισμού Βασικοί Αλγόριθμοι Είσοδος τιμών από το πληκτρολόγιο Σε όλα τα προγράμματα που θα γράψουμε στην συνέχεια του εξαμήνου θα χρειαστεί να εισάγουμε τιμές σε

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ Μαθηματικά Πληροφορικής 2ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης.

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Αλγόριθμοι ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Ανάπτυξη Λογισμικού Η διαδικασία ανάπτυξης λογισμικού μπορεί να παρομοιαστεί

Διαβάστε περισσότερα

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Μάθημα 7 - Υποπρογράμματα Εργαστήριο 11 Ο TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Βασικές Έννοιες: Υποπρόγραμμα, Ανάλυση προβλήματος, top down σχεδίαση, Συνάρτηση, Διαδικασία, Παράμετρος, Κλήση συνάρτησης, Μετάβαση

Διαβάστε περισσότερα

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης Στόχοι και αντικείμενο ενότητας Έλεγχος ροής προγράμματος (βλ. ενότητα #4) Δομή επανάληψης #5.. Εντολές Επανάληψης Προτάσεις επανάληψης Εντολές while, do while Εντολή for Περί βρόχων (loops) Τελεστές,

Διαβάστε περισσότερα

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

Διαβάστε περισσότερα

Διάλεξη 5η: Εντολές Επανάληψης

Διάλεξη 5η: Εντολές Επανάληψης Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΤΕΤΑΡΤΗ 08/04/2015 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΟΚΤΩ (8) ΘΕΜΑ Α ΑΠΑΝΤΗΣΕΙΣ Α1. Α2. α-

Διαβάστε περισσότερα

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος Κεφάλαιο 10 Υποπρογράμματα 1 10.1 Τμηματικός προγραμματισμός Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων.

Διαβάστε περισσότερα

τις αναδρομικές ακολουθίες (recursive sequences) στις οποίες ορίζαμε

τις αναδρομικές ακολουθίες (recursive sequences) στις οποίες ορίζαμε Κεφάλαιο 9: Αναδρομή Ο τρόπος με τον οποίο σκεφτήκαμε και σχεδιάσαμε τις συναρτήσεις στο προηγούμενο κεφάλαιο ακολουθούσε τη φιλοσοφία του προγραμματισμού που είχαμε αναπτύξει σε όλο το προηγούμενο βιβλίο.

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας

Αλγόριθμοι και Πολυπλοκότητα Φώτης Ε. Ψωμόπουλος, Περικλής Α. Μήτκας ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Ηλεκτρονικής και Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Καθηγητής: Περικλής

Διαβάστε περισσότερα

2. Εισαγωγή στον Προγραμματισμό

2. Εισαγωγή στον Προγραμματισμό Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 2. Εισαγωγή στον Προγραμματισμό Ιωάννης Κατάκης Σήμερα o Εισαγωγικές έννοιες - ορισμοί o Ο κύκλος ανάπτυξης προγράμματος o Παραδείγματα Πότε χρησιμοποιούμε

Διαβάστε περισσότερα

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Αναζήτηση και Ταξινόµηση Χειµερινό Εξάµηνο 2014

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Αναζήτηση και Ταξινόµηση Χειµερινό Εξάµηνο 2014 ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Αναζήτηση και Ταξινόµηση Χειµερινό Εξάµηνο 2014 Αναζήτηση και Ταξινόµηση Βασικές λειτουργίες σε προγράµµατα Αναζήτηση (searching): Βρες ένα ζητούµενο στοιχείο σε µια

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Η Μέθοδος «Διαίρει & Βασίλευε» Η Μέθοδος

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

Διαβάστε περισσότερα