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

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

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

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


Παρουσίαση με θέμα: "ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ"— Μεταγράφημα παρουσίασης:

1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Γ΄ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

2 Γενικός σκοπός μαθήματος
να καλλιεργήσετε αναλυτική σκέψη και συνθετική ικανότητα, να αναπτύξετε τη δημιουργικότητα, τη φαντασία στο σχεδιασμό, να καλλιεργήσετε και να εθιστείτε στην αυστηρότητα και σαφήνεια της έκφρασης και της διατύπωσης, να αναπτύξετε ικανότητες μεθοδολογικού χαρακτήρα, να αποκτήσετε δεξιότητες αλγοριθμικής προσέγγισης, να καταστείτε ικανοί να υλοποιείτε τις λύσεις απλών προβλημάτων με χρήση βασικών προγραμματιστικών γνώσεων. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

3 Θεματικές ενότητες μαθήματος
Ανάλυση προβλήματος Σχεδίαση αλγορίθμων Υλοποίηση σε προγραμματιστικό περιβάλλον Αξιολόγηση-Τεκμηρίωση 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

4 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 1 : Ανάλυση προβλήματος Καθορισμός προβλήματος Κατανόηση προβλήματος Δομή προβλήματος Καθορισμός απαιτήσεων Κατηγορίες προβλημάτων 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

5 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 1 : Ανάλυση προβλήματος Διδακτικοί στόχοι κεφαλαίου να κατανοείτε πλήρως τα προβλήματα που σας τίθενται, να προσδιορίζετε τα συστατικά μέρη ενός προβλήματος, να αναλύετε ένα πρόβλημα σε άλλα απλούστερα, να προσδιορίζετε τα δεδομένα που παρέχονται για την αντιμετώπιση του προβλήματος, να προσδιορίζετε τα ζητούμενα αποτελέσματα και τη μορφή απόδοσής τους, να θέτετε οι ίδιοι προβλήματα διατυπώνοντάς τα με ακρίβεια και πληρότητα. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

6 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 1 : Ανάλυση προβλήματος Η έννοια πρόβλημα Μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι προφανής, ούτε γνωστή. Ορισμός Μέτρηση χρόνου (στην αρχαιότητα) Κοινωνικά προβλήματα (ναρκωτικά, ανεργία) Φυσικά φαινόμενα (σεισμοί, πλημμύρες, επιδημίες) Ενεργειακό πρόβλημα Προστασία φυσικού περιβάλλοντος (τρύπα όζοντος) Τεχνολογικά προβλήματα (Millennium Bug) Παραδείγματα 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

7 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 1 : Ανάλυση προβλήματος Κατανόηση προβλήματος Ορισμοί Δεδομένο: οποιοδήποτε στοιχείο μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή με μία από τις πέντε αισθήσεις του. Πληροφορία: οποιοδήποτε γνωσιακό στοιχείο προέρχεται από επεξεργασία δεδομένων. Επεξεργασία Δεδομένων: η διαδικασία στην οποία ένας «μηχανισμός» δέχεται δεδομένα, τα επεξεργάζεται σύμφωνα με έναν καθορισμένο τρόπο και αποδίδει πληροφορίες. Μηχανισμοί επεξεργασίας: 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

8 Κεφάλαιο 1 : Ανάλυση προβλήματος Κατανόηση προβλήματος
Κεφάλαιο 1 : Ανάλυση προβλήματος Κατανόηση προβλήματος Λόγος (γραπτός ή προφορικός) : μέσο διατύπωσης προβλήματος Σωστή Διατύπωση Σωστή Ερμηνεία Προϋποθέσεις κατανόησης προβλήματος Άστοχη χρήση ορολογίας Λανθασμένη σύνταξη Δυσκολίες κατανόησης προβλήματος 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

9 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 1 : Ανάλυση προβλήματος Κατανόηση προβλήματος Παράδειγμα 1: Τα δώρα Ο Γιάννης και η Μαρία είναι παντρεμένοι. Ο Χρήστος είναι αθλητικός τύπος. Η Ελένη είναι προϊσταμένη σε τράπεζα. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

10 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 1 : Ανάλυση προβλήματος Δομή προβλήματος Ορισμός Τα συστατικά μέρη του προβλήματος, τα επιμέρους τμήματα που το αποτελούν, καθώς επίσης και τον τρόπο που αυτά τα μέρη συνδέονται μεταξύ τους. όσο περισσότερο αναλύουμε τα προβλήματα σε απλούστερα ελαττώνεται η δυσκολία των προβλημάτων 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

11 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Ορισμός αλγορίθμου Σπουδαιότητα αλγορίθμου Περιγραφή αναπαράσταση αλγορίθμου Βασικές συνιστώσες αλγορίθμου Δομή ακολουθίας Δομή επιλογής Δομή επανάληψης 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

12 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Διδακτικοί στόχοι κεφαλαίου να κατανοήσετε την έννοια του αλγόριθμου να κατανοήσετε τη σπουδαιότητα των αλγορίθμων να μπορείτε να τεκμηριώνεται την ανάγκη αλγοριθμικής προσέγγισης κατά τη διαδικασία επίλυσης προβλημάτων να γίνεται ικανοί στο να τυποποιείται τις διαδικασίες επίλυσης με αλγοριθμικές διαδικασίες να μορφοποιείται τους αλγορίθμους με χρήση συγκεκριμένων τεχνικών και συνιστωσών να εξοικειωθείτε με τους τρόπους περιγραφής και αναπαράστασης των αλγορίθμων 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

13 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος Αλγόριθμος είναι ένα πεπερασμένο σύνολο εντολών αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, οι οποίες αν ακολουθηθούν επιτυγχάνεται ένα επιθυμητό αποτέλεσμα. Ορισμός Παράδειγμα : Αλγόριθμος για τη διαδικασία ενός γεύματος να συγκεντρώσουμε τα υλικά, να προετοιμάσουμε τα σκεύη μαγειρικής, να παρασκευάσουμε το φαγητό, να ετοιμάσουμε τη σαλάτα, να στρώσουμε το τραπέζι, να γευματίσουμε, να καθαρίσουμε το τραπέζι, και να πλύνουμε τα πιάτα και τα κουζινικά. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

14 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κριτήρια ενός αλγορίθμου Είσοδος (input) : μία ή περισσότερες τιμές δεδομένων ως είσοδοι στον αλγόριθμο Έξοδος (output) : ο αλγόριθμος «παράγει» τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα Καθοριστικότητα (defineteness) : κάθε εντολή καθορίζεται πολύ συγκεκριμένα Περατότητα (finiteness) : ο αλγόριθμος τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης Αποτελεσματικότητα (effectiveness) : ο αλγόριθμος αποτελείται από μεμονωμένες απλές εντολές 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

15 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Σπουδαιότητα αλγορίθμων
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Σπουδαιότητα αλγορίθμων ΠΛΗΡΟΦΟΡΙΚΗ : H επιστήμη που μελετά τους αλγόριθμους από τις σκοπιές : Υλικού (hardware). Η ταχύτητα εκτέλεσης ενός αλγορίθμου επηρεάζεται από τις διάφορες τεχνολογίες υλικού, Γλωσσών Προγραμματισμού (programming languages). Το είδος της γλώσσας προγραμματισμού που χρησιμοποιείται (δηλαδή, χαμηλότερου ή υψηλότερου επιπέδου) αλλάζει τη δομή και τον αριθμό των εντολών ενός αλγορίθμου. Θεωρητική (theoretical). Η εξέταση του ερωτήματος για το αν πράγματι υπάρχει ή όχι κάποιος αποδοτικός αλγόριθμος για την επίλυση ενός προβλήματος. Αναλυτική (analytical). Μελετώνται οι υπολογιστικοί πόροι που απαιτούνται από έναν αλγόριθμο. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

16 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων ελεύθερο κείμενο (free text) : αποτελεί τον πιο ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης αλγορίθμου. διαγραμματικές τεχνικές : συνιστούν ένα γραφικό τρόπο παρουσίασης του αλγορίθμου (η πιο γνωστή είναι το διάγραμμα ροής-flow chart) φυσική γλώσσα (natural language) : περιγραφή κατά βήματα. κωδικοποίηση (coding) : ένα πρόγραμμα που όταν εκτελεσθεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

17 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Παράδειγμα αναπαράστασης αλγορίθμου με διάγραμμα ροής ΤΕΛΟΣ ΑΡΧΗ Διάβασε a Εκτύπωσε a a > 0 ΝΑΙ ΟΧΙ 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

18 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Παράδειγμα αναπαράστασης αλγορίθμου με κωδικοποίηση σε ψευδογλώσσα Αλγόριθμος Παράδειγμα_2.1 Διάβασε a, b Αν a < b, τότε c  a+ b αλλιώς c  a * b Τέλος_αν Εκτύπωσε c Τέλος Παράδειγμα _2.1 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

19 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Βασικές αλγοριθμικές δομές Δομή ακολουθίας Δομή επιλογής Διαδικασίες πολλαπλών επιλογών Εμφωλευμένες Διαδικασίες Δομή επανάληψης 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

20 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή ακολουθίας Η ακολουθιακή δομή εντολών (σειριακών βημάτων) χρησιμοποιείται για την αντιμετώπιση απλών προβλημάτων, όπου είναι δεδομένη η σειρά εκτέλεσης ενός συνόλου ενεργειών. Παράδειγμα : Να διαβασθούν δύο αριθμοί, να υπολογισθεί και να εκτυπωθεί το γινόμενο τους. Αλγόριθμος Παράδειγμα_2.2 Διάβασε a, b c  a * b Εκτύπωσε c Τέλος Παράδειγμα _2.2 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

21 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή ακολουθίας Παράδειγμα : Με δεδομένη την ακτίνα, να υπολογισθεί το εμβαδόν του αντίστοιχου κύκλου και το εμβαδόν του τετραγώνου που είναι περιγεγραμμένο στον κύκλο αυτόν. Αλγόριθμος Παράδειγμα_2.3 Διάβασε aktina kyklos  3.14 * aktina * aktina plevra  2 * aktina tetragwno  plevra * plevra Εκτύπωσε kyklos, tetragwno Τέλος Παράδειγμα _2.3 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

22 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επιλογής Η δομή της επιλογής χρησιμοποιείται στις περιπώσεις που χρειάζεται να λαμβάνονται κάποιες αποφάσεις με βάση κάποια δεδομένα κριτήρια, που μπορεί να είναι διαφορετικά για κάθε διαφορετικό στιγμιότυπο ενός προβλήματος. Παράδειγμα : Να διαβαστεί ένας αριθμός και να εκτυπωθεί η απόλυτη τιμή του Αλγόριθμος Παράδειγμα_2.4 Διάβασε a Αν a < 0 τότε a  a*(-1) Εκτύπωσε a Τέλος Παράδειγμα _2.4 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

23 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επιλογής Μορφή εντολής επιλογής Αν συνθήκη τότε εντολή_1 εντολή_2 ... Τέλος_αν Αν συνθήκη τότε εντολή ή εντολές Αλλιώς Τέλος_αν 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

24 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επιλογής Παράδειγμα 2.5 : Να διαβασθούν δύο αριθμοί και σε περίπτωση που ο πρώτος αριθμός είναι μικρότερος του δεύτερου, να υπολογισθεί και να εκτυπωθεί το άθροισμά τους, διαφορετικά να υπολογισθεί και να εκτυπωθεί το γινόμενό τους. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

25 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Διαδικασίες πολλαπλών επιλογών Οι διαδικασίες των πολλαπλών επιλογών χρησιμοποιούνται στα προβλήματα όπου μπορεί να ληφθούν διαφορετικές αποφάσεις ανάλογα με την τιμή που παίρνει μία μεταβλητή Παράδειγμα : Να διαβασθεί ένας ακέραιος και να εκτυπωθεί το αντίστοιχο γράμμα της αλφαβήτου αν ο ακέραιος έχει τιμή 1 ή 2 ή 3 διαφορετικά να εκτυπωθεί η λέξη “άγνωστος”. Αλγόριθμος Παράδειγμα_2.6 Διάβασε a Αν a = 1 τότε εκτύπωσε ‘Α’ αλλιώς Αν a = 2 τότε εκτύπωσε ‘Β’ αλλιώς Αν a = 3 τότε εκτύπωσε ‘Γ’ αλλιώς εκτύπωσε ‘άγνωστος’ Τέλος Παράδειγμα _2.6 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

26 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Εμφωλευμένες Δομές Οι εμφωλευμένες δομές χρησιμοποιούνται στα προβλήματα όπου μπορεί να έχουμε αποφάσεις που να βασίζονται σε συνδυασμούς κριτηρίων και «λογικών» πράξεων. 3 ΛΟΓΙΚΕΣ ΠΡΑΞΕΙΣ ή και όχι 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

27 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Εμφωλευμένες Δομές Παράδειγμα : Να διαβάζονται 2 ακέραιοι για το ύψος & το βάρος ενός ατόμου. Να εκτυπώνεται “ελαφρύς” αν το βάρος είναι < 80 Kg (αλλιώς “βαρύς”). Να εκτυπώνεται “κοντός” αν το ύψος είναι < 1.70 (αλλιώς “ψηλός”). 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

28 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης Η δομή της επανάληψης χρησιμοποιείται στις περιπώσεις όπου μία ακολουθία εντολών πρέπει να εφαρμοσθεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι κοινό. Παράδειγμα : Να γραφεί αλγόριθμος που να εμφανίζει τους αριθμούς από 1 έως 100. Αλγόριθμος Παράδειγμα_2.7 i  1 Όσο i <= 100 επανάλαβε Εμφάνισε i i  i + 1 Τέλος_επανάληψης Τέλος Παράδειγμα _2.7 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

29 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης Επαναληπτικές Διαδικασίες Για μεταβλητή από τ1 μέχρι τ2 με_βήμα β εντολή ή εντολές Τέλος_επανάληψης Όσο συνθήκη επανάλαβε εντολή ή εντολές Τέλος_επανάληψης Αρχή_επανάληψης εντολή ή εντολές Μέχρις_ότου συνθήκη 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

30 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης Παράδειγμα 2.8 : Να διαβάζονται και να εκτυπώνονται όσοι θετικοί αριθμοί δίνονται από το πληκτρολόγιο. Ο αλγόριθμος τελειώνει όταν δοθεί ένας αρνητικός αριθμός. Αλγόριθμος Παράδειγμα_2.8 Αρχή_επανάληψης Διάβασε x Eμφάνισε x Μέχρις_ότου x < 0 Τέλος Παράδειγμα _2.8 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

31 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης Παράδειγμα 2.9 : Σε ένα μετεωρολογικό κέντρο χρειάζεται να βρεθεί η μέγιστη και η ελάχιστη θερμοκρασία από τις μέσες ημερήσιες θερμοκρασίες ενός μήνα. Να γραφεί ένας αλγόριθμος που θα διαβάζει τη μέση ημερήσια θερμοκρασία για κάθε ημέρα ενός μήνα 30 ημερών και θα υπολογίζει την ελάχιστη και τη μέγιστη από αυτές τις θερμοκρασίες Αλγόριθμος Παράδειγμα_2.9 ΜΙΝ 100 ΜΑΧ -100 Για i από 1 μέχρι 30 Διάβασε THΕΡ Αν THΕΡ < ΜΙΝ τότε ΜΙΝΤΗΕΡ Αν THΕΡ < ΜΑΧ τότε ΜΑΧΤΗΕΡ Τέλος_επανάληψης Τέλος Παράδειγμα _2.9 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

32 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Ανακεφαλαίωση Στο Κεφάλαιο αυτό : έγινε η πρώτη γνωριμία με την έννοια του αλγορίθμου συζητήθηκε και παρουσιάσθηκε ο τρόπος αναπαράστασης των αλγορίθμων αναπτύχθηκαν οι κυριότερες αλγοριθμικές δομές ΑΚΟΛΟΥΘΙΑ - ΕΠΙΛΟΓΗ - ΕΠΑΝΑΛΗΨΗ Λέξεις κλειδιά αλγόριθμος, ακολουθία, επιλογή, επανάληψη, Διάγραμμα ροής , ψευδογλώσσα, εμφωλευμένες διαδικασίες, βρόχος 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

33 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Δεδομένα Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα Πίνακες Στοίβα και Ουρά Αναζήτηση και Ταξινόμηση 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

34 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Διδακτικοί στόχοι κεφαλαίου να γίνει κατανοητή η σπουδαιότητα των δεδομένων, να θεωρηθεί ως ενότητα η δομή και ο αλγόριθμος, να γίνει αντιληπτή η δομή του πίνακα, να θεωρηθεί ο δομή της ουράς και του πίνακα με υλοποιήσεις πίνακα, να γίνει μία εισαγωγή στο πρόβλημα της αναζήτησης και της ταξινόμησης. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

35 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Δεδομένα Δεδομένα είναι μία αφαιρετική αναπαράσταση της πραγματικότητας. Ο ορισμός αυτός είναι πρακτικός. Για παράδειγμα: σε ένα αρχείο μαθητών κρατούμε την τάξη, το τμήμα κλπ, αλλά όχι το ύψος, το βάρος κλπ. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

36 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Δεδομένα Τα δεδομένα είναι έννοια-κλειδί για την Πληροφο-ρική που μελετά τα δεδομένα απο τη σκοπιά του Υλικού των Γλωσσών προγραμματισμού των Δομών της Ανάλυσης 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

37 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Αλγόριθμοι + Δομές = Προγράμματα Δομή Δεδομένων είναι ένα σύνολο απο-θηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών. Λειτουργίες: προσπέλαση, εισαγωγή, διαγραφή, αναζήτηση, ταξινόμηση, αντιγραφή, συγχώνευση, διαχωρισμός. Σημείωση: σπάνια για κάποια δομή χρησιμοποι-ούνται και οι οκτώ λειτουργίες. Κάθε δομή πλεο-νεκτεί και μειονεκτεί σε σχέση με άλλες δομές ως προς τις λειτουργίες αυτές. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

38 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 3: Δομές Δεδομένων και Αλγόριθμοι Αλγόριθμοι + Δομές = Προγράμματα Η Δομή και ο Αλγόριθμος είναι συνυφασμένες έννοιες, όπως δηλώνεται από την ανωτέρω εξίσωση (Wirth, 1976). Πρόβλημα: Να γραφεί αλγόριθμος που να δέχεται στην είσοδο ένα όνομα και να δίνει τον αντίστοιχο αριθμό τηλεφώνου στην έξοδο. Λύσεις διάφορες (ανάλογα με το πλήθος των συνδρομητών). 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

39 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Πίνακες Ο Πίνακας είναι μία στατική δομή δεδομέ-νων (το μέγεθός του καθορίζεται κατά τη μετάφραση και όχι κατά την εκτέλεση). Ο Πίνακας περιέχει δεδομένα ιδίου τύπου και μπορεί να έχει πολλές διαστάσεις. Συμβολίζεται με ένα όνομα και ένα δείκτη για κάθε διάσταση. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

40 Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Στοίβα
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Στοίβα Η στοίβα είναι μία δομή δεδομένων όπου επιτρέπονται δύο μόνο λειτουργίες: - εισαγωγή ή ώθηση (push), και - διαγραφή ή απώθηση (pop). Στηρίζεται στη φιλοσοφία LIFO (last-in-first-out), δηληδή Τελευταίο-μέσα-πρώτο-έξω. Υλοποιείται με ένα πίνακα και με τη βοήθεια μίας μεταβλητής: του δείκτη της στοίβας που δείχνει στο κορυφαίο στοιχείο του πίνακα. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

41 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Ουρά Η ουρά είναι μία δομή δεδομένων όπου επιτρέπονται δύο μόνο λειτουργίες: - εισαγωγή στο τέλος (enqueue), και - διαγραφή από την αρχή (dequeue). Στηρίζεται στη φιλοσοφία FIFO (first-in-first-out), δηληδή Πρώτο-μέσα-πρώτο-έξω, Υλοποιείται με ένα πίνακα και δύο μεταβλητές που δείχνουν στο πρώτο και το τελευταίο στοιχείο. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

42 Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Αναζήτηση
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Αναζήτηση Το πρόβλημα της αναζήτησης είναι καίριο (ανα-ζήτηση ονομάτων σε καταλόγους, αριθμών σε λίστες, εικόνων σε άλμπουμ κλπ.) Συνήθως η αναζήτηση γίνεται σε πίνακες ταξινομημένων αριθμών. Σειριακή Αναζήτηση Δυαδική Αναζήτηση 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

43 Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Αναζήτηση
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Αναζήτηση ΣΕΙΡΙΑΚΗ (ΓΡΑΜΜΙΚΗ) ΑΝΑΖΗΤΗΣΗ ΦΙΛΟΣΟΦΙΑ: Εξετάζει το περιεχόμενο κάθε θέσης του πίνακα, αν ισούται με το αναζητούμενο στοιχείο, αρχίζοντας από την αρχή και σαρώ-νοντας τις θέσεις μία-μία. Υλοποιείται σε πίνακα με ταξινομημένα αλλά και αταξινόμητα στοιχεία. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

44 Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Ταξινόμηση
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Ταξινόμηση Ταξινόμηση είναι η διάταξη των στοιχείων ενός πίνακα με βάση ένα κριτήριο (πχ. αύξουσα/φθίνουσα τάξη) Σπουδαίο πρόβλημα γιατί επιταχύνει την αναζήτηση. Εξαιρετική πληθώρα αλγορίθμων που εφαρμόζονται ανάλογα με τις προϋποθέσεις του προβλήματος (μνήμη/δίσκος, είδος δεδομένων, εφαρμογής κλπ.) 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

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

46 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Ανάλυση Προβλημάτων Μέθοδοι Σχεδίασης Αλγορίθμων Μέθοδος Διαίρει και Βασίλευε 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

47 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Διδακτικοί στόχοι κεφαλαίου να τεκμηριωθεί η αναγκαιότητα ανάλυσης του προβλήματος και της σχεδίασης του κατάλληλου αλγορίθμου, να μπορεί να σχεδιασθεί ένας αλγόριθμος ως μία ακολουθία βημάτων να θεωρηθούν μερικές οικογένειες σχεδιασμού αλγορίθμων 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

48 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Ανάλυση Προβλημάτων Κατά την ανάλυση ενός προβλήματος καταγράφεται η υπάρχουσα πληροφορία, αναγνωρίζονται ιδιαιτερότητες, αποτυπώνονται συνθήκες και προϋποθέσεις, οπότε προτείνεται κάποια μέθοδος (ιδεατή), και επιλύεται το πρόβλημα με τον υπολογιστή. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

49 Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Ανάλυση Προβλημάτων
Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Ανάλυση Προβλημάτων Πρόβλημα: με ποιά σειρά πρέπει ένας ταχυδρομικός διανομέας να επισκεφθεί κάποια χωρία ώστε να ελαχιστοποιήσει τη συνολική απόσταση που θα διανύσει ?? Πιθανές λύσεις κάθε φορά να διαλέγει τον κοντινότερο προορισμό να ακολουθήσει ένα δρομολόγιο που να ελαχιστο-ποιεί τη συνολική απόσταση και όχι τις επιμέρους. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

50 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Μέθοδοι Σχεδίασης Αλγοριθμων Οι αλγόριθμοι έχουν ομαδοποιηθεί ανάλογα με τα βασικά τους χαρακτηριστικά σε διάφορες οικογένειες. Μέθοδος Διαίρει και Βασίλευε Μέθοδος Δυναμικού Προγραμματισμού Άπληστη Μέθοδος 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

51 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Μέθοδος Διαίρει και Βασίλευε ΦΙΛΟΣΟΦΙΑ: Το αρχικό πρόβλημα σπάζει σε δύο ή περισσότερα απλούστερα, που επίσης σπάζουν σε απλούστερα, κλπ. Έτσι, με συνδυασμό των λύσεων των «μικρών» προβλημάτων, επιλύεται τελικώς το «μεγάλο». Κλασικό παράδειγμα: η Δυαδική αναζήτηση 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

52 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Μέθοδος Διαίρει και Βασίλευε ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ Βελτιώνει τη σειριακή μέθοδο σημαντικότατα. Προϋπόθεση: ταξινομημένος πίνακας. ΦΙΛΟΣΟΦΙΑ: εξετάζουμε πρώτα το μεσαίο στοιχείο του πίνακα. Αν αυτό είναι το στοιχείο που ψάχνουμε, τελειώσαμε, αλλιώς εστιάζουμε στο αντίστοιχο τμή-μα με τα μικρά ή τα μεγάλα στοιχεία και εξετάζουμε και πάλι το μεσαίο στοιχείο, κοκ. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

53 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Επίδοση αλγορίθμων Ορθότητα αλγορίθμων 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

54 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Διδακτικοί στόχοι κεφαλαίου να μελετήσετε τις μεθόδους εύρεσης και τυποποίησης της επίδοσης των αλγορίθμων, να σχολιάσετε και να τυποποιήσετε τους κανόνες επιλογής αλγορίθμων με βάση την αποδοτικότητα τους, να γίνει έλεγχος της ορθότητας των αλγορίθμων με χρήση παραδειγμάτων και αποδείξεων, να εξοικειωθείτε με την έννοια της ορθότητας των αλγορίθμων, να εξειδικεύσετε στην ανάλυση αλγορίθμων για λειτουργίες σε συχνά χρησιμοποιούμενα είδη προβλημάτων, 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

55 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Επίδοση αλγορίθμων Για την κατανόηση της επίδοσης ενός αλγορίθμου χρειάζεται να απαντηθεί ένα σύνολο ερωτημάτων. Τα πρωταρχικά ερωτήματα είναι: πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι αλγόριθμοι ; πώς μπορεί να γνωρίζει κανείς αν ένας αλγόριθμος είναι “βέλτιστος”; 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

56 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Επίδοση αλγορίθμων Για να εκφρασθεί η χειρότερη περίπτωση χρειάζεται κάποιο μέγεθος σύγκρισης που να χαρακτηρίζει τον αλγόριθμο. Η πλέον συνηθισμένη πρακτική είναι η μέτρηση του αριθμού των βασικών πράξεων που θα πρέπει να εκτελέσει ο αλγόριθμος στη χειρότερη περίπτωση. Μία βασική πράξη μπορεί να είναι : ανάθεση τιμής, σύγκριση μεταξύ δύο μεταβλητών, ή οποιαδήποτε αριθμητική πράξη μεταξύ δύο μεταβλητών. Η χειρότερη περίπτωση ενός αλγορίθμου αφορά στο μέγιστο κόστος εκτέλεσης του αλγορίθμου, κόστος που μετράται σε υπολογιστικούς πόρους. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

57 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Μέγεθος εισόδου αλγορίθμων Μέγεθος (size) αλγορίθμου προκύπτει από τις μεταβλητές που απεικονίζουν τους διαφορετικούς συνδυασμούς τιμών που κρίνουν τη συμπεριφορά ενός αλγορίθμου και δίνονται ως δεδομένα στον αλγόριθμο. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

58 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Χρόνος επίδοσης αλγορίθμων Αλγόριθμος Παράδειγμα_5.1 x  123 y  234 Για i από 0 μέχρι 4 Εκτύπωσε i z  x * y Τέλος_επανάληψης Εκτύπωσε x, y, z Τέλος Παράδειγμα_5.1 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

59 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Ορθότητα αλγορίθμων Η επίλυση ενός προβλήματος με τη χρήση κάποιου αλγορίθμου, έχει μεγαλύτερη ισχύ όταν υπάρχει κάποια τυποποιημένη ένδειξη ή απόδειξη για την ορθότητα του προτεινόμενου αλγορίθμου. Είναι ιδιαίτερα σημαντικό να επικυρωθεί η ορθότητα και εγκυρότητα ενός αλγορίθμου με χρήση κάποιων απλών μαθηματικών τύπων ή μεθόδων. Οι τεχνικές απόδειξης της ορθότητας ενός αλγορίθμου συνδέονται άμεσα με τον τρόπο της αρχικής σχεδίασης και ανάλυσης του συγκεκριμένου αλγορίθμου. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

60 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Ορθότητα αλγορίθμων Αλγόριθμος Παράδειγμα_5.2 low  a[1] i  2 Επανάλαβε όσο i < 10 Αν a[i] < low, τότε low  a[i] i  i+1 Τέλος_επανάληψης Τέλος Παράδειγμα _5.2 Παράδειγμα 5.2 : Να βρεθεί ο μικρότερος αριθμός από το σύνολο των θετικών αριθμών που βρίσκονται αποθηκευμένοι σε ένα πίνακα 10 θέσεων. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

61 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Ορθότητα αλγορίθμων Ο υπολογισμός της πιθανότητας να υπάρξει λάθος κατά την εκτέλεση του αλγορίθμου του Παραδείγματος 5.2, ξεκινά από την περίπτωση το μικρότερο στοιχείο βρίσκεται στην τελευταία θέση του πίνακα. Άρα η πιθανότητα είναι 1/10, αφού υπάρχουν 10 θέσεις στον πίνακα… κ.ο.κ. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

62 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Ορθότητα αλγορίθμων Η απόδειξη της ορθότητας ενός αλγορίθμου θα πρέπει να περιλαμβάνει τις εξής δύο συνθήκες : απόδειξη ότι σε κάθε περίπτωση ο τερματισμός της εκτέλεσης του αλγορίθμου οδηγεί σε αποδεκτά αποτελέσματα απόδειξη ότι θα υπάρξει τερματισμός της εκτέλεσης του αλγορίθμου 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

63 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Ανακεφαλαίωση Στο Κεφάλαιο αυτό : ορίσθηκε και αναλύθηκε η έννοια της επίδοσης των αλγορίθμων με αναφορά στην χειρότερη περίπτωση κάθε αλγορίθμου περιγράφηκαν οι βασικές πράξεις και τα μεγέθη που σχετίζονται με την επίδοση των αλγορίθμων έγινε καταγραφή των μεγεθών που επηρεάζουν την αποδοτικότητα και την ορθότητα των αλγορίθμων Λέξεις κλειδιά Επίδοση και αποδοτικότητα αλγορίθμου, Χειρότερη περίπτωση αλγορίθμου, Μέγεθος εισόδου, Ορθότητα αλγορίθμου 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

64 Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Διδακτικοί στόχοι
Να ορίζετε τι είναι πρόγραμμα. Να κατατάσσετε τις γλώσσες προγραμματισμού. Να συγκρίνετε τις διάφορες γλώσσες προγραμματισμού. Να αναγνωρίζετε τα κυριότερα είδη προγραμματισμού. Να περιγράφετε τα βασικά χαρακτηριστικά των τεχνικών που χρησιμοποιούνται στον προγραμματισμό. Να διατυπώνετε τα πλεονεκτήματα του δομημένου προγραμματισμού. Να περιγράφετε τη διαδικασία εκτέλεσης ενός προγράμματος. Να αναφέρετε τα βασικά προγράμματα που περιέχει ένα προγραμματιστικό περιβάλλον 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

65

66 Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό
Η έννοια του προγράμματος Φυσικές και τεχνητές γλώσσες. Τεχνικές σχεδίασης προγραμμάτων Δομημένος προγραμματισμός Αντικειμενοστραφής προγραμματισμός Παράλληλος προγραμματισμός Προγραμματιστικά περιβάλλοντα 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

67 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική σχεδίαση προγράμματος Τμηματικός προγραμματισμός Δομημένος προγραμματισμός 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

68 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Πλεονεκτήματα του δομημένου προγραμματισμού Δημιουργία απλούστερων προγραμμάτων. Άμεση μεταφορά των αλγορίθμων σε προγράμματα. Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα. Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος. Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους. Ευκολότερη διόρθωση και συντήρηση. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

69 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Διδακτικοί στόχοι
Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Διδακτικοί στόχοι να διακρίνετε τις σταθερές από τις μεταβλητές. να αναγνωρίζετε τους διάφορους τύπους μεταβλητών. να μετατρέπετε τις αριθμητικές πράξεις σε εντολές προγράμματος. να διατυπώνετε τη δομή ενός προγράμματος. να συντάσσετε απλά προγράμματα τα οποία εισάγουν δεδομένα, τα επεξεργάζονται και εμφανίζουν τα αποτελέσματα στην οθόνη. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

70 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Το αλφάβητο της ΓΛΩΣΣΑΣ Τύποι δεδομένων Σταθερές Μεταβλητές Αριθμητικοί τελεστές Αριθμητικές εκφράσεις Εντολή εκχώρησης Εντολές εισόδου -εξόδου Δομή προγράμματος 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

71 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Το αλφάβητο της ΓΛΩΣΣΑΣ Γράμματα Α-Ω, α-ω, Α-Ζ, a-z Ψηφία 0-9 Ειδικοί χαρακτήρες * / = ^ ( ) . , ' ! & κενός χαρακτήρας 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

72 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Τύποι δεδομένων Ακέραιος τύπος Πραγματικός τύπος Χαρακτήρας 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

73 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Σταθερές Αντιστοίχηση σταθερών τιμών με ονόματα Μεταβλητές Παράσταση ποσοτήτων που οι τιμές μπορούν να αλλάζουν κατά την εκτέλεση του προγράμματος. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

74 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Αριθμητικοί τελεστές
5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

75 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Εντολή εκχώρησης
ΜΟΡΦΗ Όνομα-Μεταβλητής <- παράσταση ΠΑΡΑΔΕΙΓΜΑΤΑ Α< ΜΗΝΑΣ<- 'Ιανουάριος’ ΕΜΒΑΔΟΝ<-Α*Β 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

76 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Εντολές εισόδου- εξόδου
ΜΟΡΦΗ ΔΙΑΒΑΣΕ λίστα-μεταβλητών ΠΑΡΑΔΕΙΓΜΑΤΑ ΔΙΑΒΑΣΕ Ποσότητα, Τιμή ΜΟΡΦΗ ΓΡΑΨΕ λίστα-στοιχείων ΠΑΡΑΔΕΙΓΜΑΤΑ ΓΡΑΨΕ 'Η τετραγωνική ρίζα του', Α,' είναι: ',ΡΙΖΑ 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

77 Κεφάλαιο 8: Επιλογή και επανάληψη Διδακτικοί στόχοι
να σχηματίζετε λογικές εκφράσεις να διατυπώνετε τις εντολές ελέγχου ΑΝ να επιλέγετε την καταλληλότερη εντολή ΑΝ να διατυπώνετε τις εντολές επανάληψης να επιλέγετε την καλύτερη δομή επανάληψης να συντάσσετε προγράμματα που χρησιμοποιούν και τις τρεις βασικές δομές: της ακολουθίας, της επιλογής και της επανάληψης. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

78 Κεφάλαιο 8: Επιλογή και επανάληψη
Λογικές εκφράσεις Τελεστής Ελεγχόμενη σχέση Παράδειγμα = Ισότητα Αριθμός=0 <> Ανισότητα Ονομα1 <> 'Κώστας' > Μεγαλύτερο από Τιμή>10000 >= Μεγαλύτερο ή ίσο Χ+Υ >= (Α+Β)/Γ < Μικρότερο από Β^2-4*Α*Γ < 0 <= Μικρότερο ή ίσο Βάρος <= 500 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

79 Κεφάλαιο 8: Επιλογή και επανάληψη Εντολή ΑΝ
Κεφάλαιο 8: Επιλογή και επανάληψη Εντολή ΑΝ Σύνταξη ΑΝ συνθήκη ΤΟΤΕ εντολή-1 εντολή-2 … εντολή-ν ΤΕΛΟΣ_ΑΝ Παράδειγμα ΑΝ αριθμός > 0 ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι θετικός' Πλήθος_θετικών <- πλήθος_θετικών+1 ΤΕΛΟΣ_ΑΝ 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

80 Κεφάλαιο 8: Επιλογή και επανάληψη Εντολή ΑΝ ΤΟΤΕ ΑΛΛΙΩΣ
Σύνταξη ΑΝ συνθήκη ΤΟΤΕ εντολή εντολή-2 … εντολή-ν ΑΛΛΙΩΣ εντολή-1 Εντολή-2 … εντολή-ν ΤΕΛΟΣ_ΑΝ Παράδειγμα ΑΝ αριθμός > 0 ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι θετικός’ Πλήθος_θετικών <- Πλήθος_θετικών+1 ΑΛΛΙΩΣ ΓΡΑΨΕ 'Ο αριθμός είναι αρνητικός ή 0’ Πλήθος_μη_θετικών <- Πλήθος_μη_θετικών +1 ΤΕΛΟΣ_ΑΝ 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

81 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά περιβάλλοντα Αντικειμενοστραφής προγραμματισμός Οδηγούμενος από γεγονότα προγραμματισμός Υλοποίηση εφαρμογών Στοιχεία γραφικού προγραμματιστικού περιβάλλοντος Επικοινωνία με άλλες εφαρμογές 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

82 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά περιβάλλοντα Διδακτικοί στόχοι κεφαλαίου να ορίζετε τις έννοιες αντικείμενο, ιδιότητα, γεγονός και μέθοδος να διατυπώνετε τη μεθοδολογία σχεδιασμού μιας εφαρμογής σε σύγχρονο προγραμματιστικό περιβάλλον, να αναλύετε μια εφαρμογή μέσα από αντικείμενα και γεγονότα, να κατασκευάζετε προγράμματα σε σύγχρονα προγραμματιστικά περιβάλλοντα, συνδυάζοντας τον τμηματικό και το δομημένο προγραμματισμό 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

83 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά περιβάλλοντα Αντικειμενοστραφής προγραμματισμός Αντικείμενα από το φυσικό περιβάλλον Αντικείμενα εφαρμογών Εικόνα 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

84 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά περιβάλλοντα Αντικειμενοστραφής προγραμματισμός Ιδιότητες Το σύνολο των χαρακτηριστικών ενός αντικειμένου π.χ. όνομα, χρώμα, σχήμα, βάρος Μέθοδοι Οι ενέργειες ενός αντικειμένου. Καθορίζουν τη συμπεριφορά του αντικειμένου. Κλάση Ο γενικός τύπος ενός αντικειμένου. Καθορίζει τις αρχικές ιδιότητες και τη συμπεριφορά κάθε αντικειμένου που προέρχεται από αυτή 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

85 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά περιβάλλοντα Οδηγούμενος από γεγονότα προγραμματισμός Γεγονός Είναι μια ενέργεια που αναγνωρίζεται από τα αντικείμενα της εφαρμογής και την αναγκάζει να ανταποκριθεί. Ένα γεγονός μπορεί να προκληθεί από το χρήστη, όπως το πάτημα ενός πλήκτρου εντολής ή πληκτρολόγηση χαρακτήρων σε ένα πλαίσιο κειμένου, η επιλογή ενός στοιχείου μιας λίστας με το ποντίκι, από το σύστημα, όπως ένα μήνυμα από το ρολόι του υπολογιστή ή από άλλες εφαρμογές. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

86 Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά περιβάλλοντα
Υλοποίηση εφαρμογών Σχεδιασμός του τρόπου επικοινωνίας χρήστη-εφαρμογής, επιλέγοντας τα κατάλληλα αντικείμενα καθορισμός της αρχικής συμπεριφοράς των αντικειμένων μέσω των ιδιοτήτων που υποστηρίζουν Δημιουργία και εκσφαλμάτωση κώδικα Διαδικασίες γεγονότων Γενικές διαδικασίες ή συναρτήσεις 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

87 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά περιβάλλοντα Στοιχεία γραφικού προγραμματιστικού περιβάλλοντος Μενού επιλογών κλασικά μενού επιλογών πτυσσόμενα μενού επιλογών (popup menu) γραμμές εργαλείων(toolbars) πλαίσια διαλόγου 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

88 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά περιβάλλοντα Επικοινωνία με άλλες εφαρμογές Ένα σύγχρονο περιβάλλον εργασίας παρέχει τους μηχανισμούς για : υψηλού επιπέδου επικοινωνία μεταξύ διαφορετικών εφαρμογών, επικοινωνία του λειτουργικού συστήματος και μιας εφαρμογής, την εκμετάλλευση έτοιμων βιβλιοθηκών προγραμμάτων. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

89 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 13: Εκσφαλμάτωση προγράμματος Κατηγορίες λαθών Εκσφαλμάτωση Εργαλεία εκσφαλμάτωσης 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

90 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 13: Εκσφαλμάτωση προγράμματος Διδακτικοί στόχοι κεφαλαίου να αναγνωρίζετε ένα λάθος σε κάποιο πρόγραμμα, να ορίζετε τις κατηγορίες λάθους, να αναφέρετε εργαλεία εκσφαλμάτωσης και τον τρόπο χειρισμού τους. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

91 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 13: Εκσφαλμάτωση προγράμματος Κατηγορίες λαθών Λάθη κατά την υλοποίηση π.χ. λάθος σύνταξη εντολής Αντιμετώπιση : Εργαλεία αυτόματου ελέγχου σύνταξης εντολών Λάθη κατά την εκτέλεση π.χ. κλήση μιας διαδικασίας με εσφαλμένα δεδομένα, διαίρεση με μηδέν. Αντιμετώπιση : Κώδικας χειρισμού λαθών Λογικά λάθη το πρόγραμμα δεν παράγει τα επιθυμητά αποτελέσματα Αντιμετώπιση : Διαδικασία ελέγχου (testing) 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

92 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 13: Εκσφαλμάτωση προγράμματος Η διαδικασία ελέγχου και διόρθωσης των σφαλμάτων ενός προγράμματος καλείται εκσφαλμάτωση (debugging) Ορισμός Εργαλεία εκσφαλμάτωσης Εκφράσεις ελέγχου Σημεία διακοπής Βήμα προς βήμα εκτέλεση Ιστορικό Ιχνηλάτηση Λειτουργία άμεσης εκτέλεσης 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

93 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 14 : Αξιολόγηση - Τεκμηρίωση Κριτήρια αξιολόγησης Τεκμηρίωση προγράμματος Κύκλος ζωής λογισμικού 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

94 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Διδακτικοί στόχοι κεφαλαίου να διατυπώνετε εναλλακτικές λύσεις, να τις συγκρίνετε και να τις αξιολογείτε με προκαθορισμένα κριτήρια, να προσδιορίζετε τα όρια χρήσης ενός προγράμματος, να αναζητάτε και να διερευνάτε τις δυνατότητες επέκτασης των προγραμμάτων σας, να αξιολογείτε τα προγράμματα σας, να ξεχωρίζετε τις αναγκαίες σημειώσεις για την τεκμηρίωση του προγράμματός σας, να συντάσσετε φάκελο τεκμηρίωσης, να διακρίνετε τα στάδια του κύκλου ζωής. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

95 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Κριτήρια αξιολόγησης Απλότητα - Τυπικότητα απλές δομές, ίδια αντιμετώπιση ίδιων προβλημάτων Ευελιξία δυνατότητα επεκτάσεων και τροποποιήσεων Αξιοπιστία εκτέλεση χωρίς λάθη Ταχύτητα Διατυπώστε λύσεις κρατώντας ισορροπία μεταξύ των κριτηρίων 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

96 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Απλότητα - Τυπικότητα Δομή: χρησιμοποιείστε την απλούστερη προγραμματιστική δομή που δίνει λύση στο πρόβλημα. Ενότητα: είναι φανερό ποια λειτουργία εκτελεί αυτή; Πρόγραμμα: είναι εύκολο να συνεχιστεί και να συντηρηθεί το πρόγραμμα από κάποιον άλλον; 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

97 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Ευελιξία Επενδύστε χρόνο στον αρχικό σχεδιασμό. Χρησιμοποιείστε ενότητες για να δομήσετε το πρόγραμμα. Το πρόγραμμα στοιχίζει. Μην κατασκευάζετε προγράμματα μιας χρήσης! 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

98 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Αξιοπιστία Χρησιμοποιείστε πιθανά και απίθανα δεδομένα για τον έλεγχο του προγράμματος. Μετά από κάθε αλλαγή, ξανακάνετε όλους τους ελέγχους. Διερευνήστε εξονυχιστικά το πεδίο του προβλήματος, ώστε να συντάξετε τους σωστούς ελέγχους. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

99 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Ταχύτητα Αξιοποιήστε πληροφορίες επί των δεδομένων, για να βελτιώσετε το πρόγραμμα. Χρησιμοποιείστε φίλτρα δεδομένων, για να αποφύγετε άσκοπη εκτέλεση ενοτήτων. 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

100 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Τεκμηρίωση Η ύπαρξη τεκμηρίωσης βοηθά στην: αξιοποίηση βιβλιοθηκών προγραμμάτων εύκολη συντήρηση Η ανυπαρξία τεκμηρίωσης : δυσχεραίνει τον έλεγχο λαθών 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

101 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Τεκμηρίωση Γίνεται: Κατά την ανάπτυξη (προδιαγραφές, σύνδεση με άλλα προγράμματα). Κατά τον έλεγχο (αρχείο ελέγχου, όρια προγράμματος). Για τον χρήστη (οδηγίες χρήσης). Για τον προγραμματιστή (υποθέσεις, περιορισμοί, τεχνικές, υπόμνημα μεταβλητών). 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

102 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Κύκλος ζωής Ανάλυση (καταγραφή δεδομένων και ζητουμένων, διευκρινήσεις) Σχεδιασμός (καθορισμός - σχεδιασμός ενοτήτων, λογικοί έλεγχοι) Υλοποίηση (επιλογή γλώσσας - κωδικοποίηση) Έλεγχος (ορθογραφικός - λογικός) Λειτουργία (πρόγραμμα σε παραγωγή) Συντήρηση (βελτιώσεις, προσαρμογές) 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

103 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
ΓΛΩΣΣΕΣ 3ΗΣ ΓΕΝΙΑΣ Είναι προσανατολισμένες στον προγραμματιστή Δύσκολη και Χρονοβόρα η διόρθωση και συντήρηση των προγραμμάτων Προγράμματα με εκατοντάδες γραμμές κώδικα Μονόλογος προγραμματιστή και μεταγλωττιστή Διαδικαστικές 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

104 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
ΓΛΩΣΣΕΣ 4ΗΣ ΓΕΝΙΑΣ Προσανατολισμένες στο χρήστη Προγράμματα με λίγες γραμμές κώδικα Σύντομη και με μικρό κόστος η ανίχνευση και διόρθωση λαθών Συνεχής διάλογος χρήστη και υπολογιστή Μη διαδικαστικές 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

105 Διαδικαστικές είναι οι γλώσσες όπου ο προγραμματιστής πρέπει να ορίσει πώς ακριβώς πρέπει να γίνει κάθε βήμα ξεχωριστά για να λύσει ένα πρόγραμμα Μη διαδικαστικές είναι οι γλώσσες όπου ο χρήστης ορίζει τι πρέπει να γίνει για να λυθεί ένα πρόβλημα. Δεν ενδιαφέρεται για το πώς .Δεν ενδιαφέρουν οι λειτουργικές λεπτομέρειες.

106 Γλώσσες υψηλού επιπέδου
Γλώσσες χαμηλού επιπέδου Γλώσσες υψηλού επιπέδου Καλύτερη επικοινωνία ανθρώπου μηχανής Ανεξάρτητες από τον τύπο του Η/Υ (μεταφερσιμότητα) Εύκολη η διόρθωση και συντήρηση Μείωση χρόνου και κόστους παραγωγής Εύκολη εκμάθηση Χαμηλή επικοινωνία ανθρώπου μηχανής Εξαρτημένες από τον τύπο του Η/Υ Δύσκολη η διόρθωση και συντήρηση Μεγάλος χρόνος και κόστος παραγωγής Δυσκολία εκμάθησης 5ο ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον


Κατέβασμα ppt "ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ"

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


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