Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου

Σχετικά έγγραφα

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

ENOTHTA 3 ΟΜΕΣ Ε ΟΜΕΝΩΝ

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

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

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

Πρόβλημα 37 / σελίδα 207

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

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

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Ενδεικτικές Ερωτήσεις Θεωρίας

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

Πρόβλημα 29 / σελίδα 28

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

- Επιστημονικός Υπεύθυνος Ενεργείας: Θεόδωρος Γ. Εξαρχάκος Καθηγητής του Πανεπιστημίου Αθηνών Πρόεδρος του Παιδαγωγικού Ινστιτούτου «Αναμόρφωση / εκ

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

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

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

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

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

Εισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

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

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ. Πίνακες και βασικές επεξεργασίες αυτών

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

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

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

Κεφάλαιο 1 : Ανάλυση προβλήματος

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

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

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

ΕΡΩΤΗΣΕΙΣ ΔΙΑΦΟΡΩΝ ΤΥΠΩΝ ΣΤΟ ΚΕΦΑΛΑΙΟ 2.2

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Α1. Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες.

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

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

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

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

Τάξη: Γ Λυκείου Κατεύθυνση: Τεχνολογική Μάθημα: Ανάπτυξη Εφαρμογών σε Προγ/κό Περιβάλλον Είδος Εξέτασης: Διαγώνισμα Ημερομηνία Εξέτασης:

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Επαναληπτικό Διαγώνισμα

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

Παλλατίδειο ΓΕΛ Σιδηροκάστρου

Θέμα 1 ο. Επαναληπτικό ΛΥΣΕΙΣ

Εισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου

ΑΕΠΠ 4o Επαναληπτικό Διαγώνισμα

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

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 18/02/2013 ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

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

Α5. Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί σωστά. 1. χαρακτήρες α.

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 05/03/2012

Επικοινωνία:

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

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

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

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

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ Α.Ε.Π.Π. Γ ΤΕΧΝΟΛΟΓΙΚΗΣ. Όνομα:.. Βαθμός: /100

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

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ ΘΕΩΡΙΑ

Η Δομή Επανάληψης. Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες

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

ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ. ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i

ττιαογή και επανάληψη

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

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών 2014

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας)

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

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

ΚΕΦΑΛΑΙΟ 2 ΣΧΕ ΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ

Transcript:

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

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

Θεματικές ενότητες μαθήματος Ανάλυση προβλήματος Σχεδίαση αλγορίθμων Υλοποίηση σε προγραμματιστικό περιβάλλον Αξιολόγηση-Τεκμηρίωση Προγραμματιστικό Περιβάλλον 3

Κεφάλαιο 1 : Ανάλυση προβλήματος Καθορισμός προβλήματος Κατανόηση προβλήματος Δομή προβλήματος Καθορισμός απαιτήσεων Κατηγορίες προβλημάτων Προγραμματιστικό Περιβάλλον 4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επιλογής Παράδειγμα 2.5 : Να διαβασθούν δύο αριθμοί και σε περίπτωση που ο πρώτος αριθμός είναι μικρότερος του δεύτερου, να υπολογισθεί και να εκτυπωθεί το άθροισμά τους, διαφορετικά να υπολογισθεί και να εκτυπωθεί το γινόμενό τους. c a + b ΝΑΙ ΟΧΙ ΑΡΧΗ Διάβασε a,b a < b Εκτύπωσε c ΟΧΙ ΝΑΙ c a * b ΤΕΛΟΣ Προγραμματιστικό Περιβάλλον 24

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Ανάλυση Προβλημάτων Μέθοδοι Σχεδίασης Αλγορίθμων Μέθοδος Διαίρει και Βασίλευε Προγραμματιστικό Περιβάλλον 46

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Μέγεθος εισόδου αλγορίθμων Μέγεθος (size) αλγορίθμου προκύπτει από τις μεταβλητές που απεικονίζουν τους διαφορετικούς συνδυασμούς τιμών που κρίνουν τη συμπεριφορά ενός αλγορίθμου και δίνονται ως δεδομένα στον αλγόριθμο. ΤΑΞΙΝΟΜΗΣΗ Μέγεθος εισόδου αλγορίθμου (n) το πλήθος των αντικειμένων που θα ταξινομηθούν ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ Μέγεθος εισόδου αλγορίθμου (n) το πλήθος των ψηφίων των αριθμών που θα πολλαπλασιασθούν ΓΡΑΦΟΙ Μέγεθος εισόδου αλγορίθμου (n) το πλήθος των κόμβων ή των ακμών του γράφου Βασική Πράξη σύγκριση Βασική Πράξη αριθμητικές πράξεις Βασική Πράξη σύγκριση Προγραμματιστικό Περιβάλλον 57

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

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

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

Κεφάλαιο 5 : Ανάλυση Αλγορίθμων Ορθότητα αλγορίθμων Ο υπολογισμός της πιθανότητας να υπάρξει λάθος κατά την εκτέλεση του αλγορίθμου του Παραδείγματος 5.2, ξεκινά από την περίπτωση το μικρότερο στοιχείο βρίσκεται στην τελευταία θέση του πίνακα. Άρα η πιθανότητα είναι 1/10, αφού υπάρχουν 10 θέσεις στον πίνακα κ.ο.κ. Αριθμός Εκτελέσεων Αλγορίθμου Πιθανότητα Ανεύρεσης Σφάλματος Πιθανότητα Μη-Ανεύρεσης Σφάλματος 1 0,1 0,9 2 0,19 0,81 3 0,271 0,729 4 0,344 0,656 5 0,410 0,590 6 0,469 0,531 7 0,522 0,478 Προγραμματιστικό Περιβάλλον 61

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

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

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

Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Η έννοια του προγράμματος Φυσικές και τεχνητές γλώσσες. Τεχνικές σχεδίασης προγραμμάτων Δομημένος προγραμματισμός Αντικειμενοστραφής προγραμματισμός Παράλληλος προγραμματισμός Προγραμματιστικά περιβάλλοντα Προγραμματιστικό Περιβάλλον 65

Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική σχεδίαση προγράμματος Τμηματικός προγραμματισμός Δομημένος προγραμματισμός Προγραμματιστικό Περιβάλλον 66

Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Πλεονεκτήματα του δομημένου προγραμματισμού Δημιουργία απλούστερων προγραμμάτων. Άμεση μεταφορά των αλγορίθμων σε προγράμματα. Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα. Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος. Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους. Ευκολότερη διόρθωση και συντήρηση. Προγραμματιστικό Περιβάλλον 67

Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Διδακτικοί στόχοι να διακρίνετε τις σταθερές από τις μεταβλητές. να αναγνωρίζετε τους διάφορους τύπους μεταβλητών. να μετατρέπετε τις αριθμητικές πράξεις σε εντολές προγράμματος. να διατυπώνετε τη δομή ενός προγράμματος. να συντάσσετε απλά προγράμματα τα οποία εισάγουν δεδομένα, τα επεξεργάζονται και εμφανίζουν τα αποτελέσματα στην οθόνη. Προγραμματιστικό Περιβάλλον 68

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

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

Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Τύποι δεδομένων Ακέραιος τύπος Πραγματικός τύπος Χαρακτήρας Προγραμματιστικό Περιβάλλον 71

Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Σταθερές Αντιστοίχηση σταθερών τιμών με ονόματα Μεταβλητές Παράσταση ποσοτήτων που οι τιμές μπορούν να αλλάζουν κατά την εκτέλεση του προγράμματος. Προγραμματιστικό Περιβάλλον 72

Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Αριθμητικοί τελεστές Αριθμητικός τελεστής Πράξη + Πρόσθεση - Αφαίρεση * Πολλαπλασιασμός / Διαίρεση ^ Ύψωση σε δύναμη DIV Ακέραια διαίρεση MOD Υπόλοιπο ακέραιας διαίρεσης. Προγραμματιστικό Περιβάλλον 73

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

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

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

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

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

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

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

Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά Διδακτικοί στόχοι κεφαλαίου περιβάλλοντα να ορίζετε τις έννοιες αντικείμενο, ιδιότητα, γεγονός και μέθοδος να διατυπώνετε τη μεθοδολογία σχεδιασμού μιας εφαρμογής σε σύγχρονο προγραμματιστικό περιβάλλον, να αναλύετε μια εφαρμογή μέσα από αντικείμενα και γεγονότα, να κατασκευάζετε προγράμματα σε σύγχρονα προγραμματιστικά περιβάλλοντα, συνδυάζοντας τον τμηματικό και το δομημένο προγραμματισμό Προγραμματιστικό Περιβάλλον 81

Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά Αντικειμενοστραφής προγραμματισμός Αντικείμενα από το φυσικό περιβάλλον περιβάλλοντα Αντικείμενα εφαρμογών Εικόνα Προγραμματιστικό Περιβάλλον 82

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

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

Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά Υλοποίηση εφαρμογών Σχεδιασμός του τρόπου επικοινωνίας χρήστηεφαρμογής, επιλέγοντας τα κατάλληλα αντικείμενα περιβάλλοντα καθορισμός της αρχικής συμπεριφοράς των αντικειμένων μέσω των ιδιοτήτων που υποστηρίζουν Δημιουργία και εκσφαλμάτωση κώδικα Διαδικασίες γεγονότων Γενικές διαδικασίες ή συναρτήσεις Προγραμματιστικό Περιβάλλον 85

Κεφάλαιο 11 : Σύγχρονα προγραμματιστικά περιβάλλοντα Στοιχεία γραφικού προγραμματιστικού περιβάλλοντος Μενού επιλογών κλασικά μενού επιλογών πτυσσόμενα μενού επιλογών (popup menu) γραμμές εργαλείων(toolbars) πλαίσια διαλόγου Προγραμματιστικό Περιβάλλον 86

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

Κεφάλαιο 13: Εκσφαλμάτωση προγράμματος Κατηγορίες λαθών Εκσφαλμάτωση Εργαλεία εκσφαλμάτωσης Προγραμματιστικό Περιβάλλον 88

Κεφάλαιο 13: Εκσφαλμάτωση προγράμματος Διδακτικοί στόχοι κεφαλαίου να αναγνωρίζετε ένα λάθος σε κάποιο πρόγραμμα, να ορίζετε τις κατηγορίες λάθους, να αναφέρετε εργαλεία εκσφαλμάτωσης και τον τρόπο χειρισμού τους. Προγραμματιστικό Περιβάλλον 89

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

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

Κεφάλαιο 14 : Αξιολόγηση - Τεκμηρίωση Κριτήρια αξιολόγησης Τεκμηρίωση προγράμματος Κύκλος ζωής λογισμικού Προγραμματιστικό Περιβάλλον 92

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

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

Κεφάλαιο 14 : Αξιολόγηση Απλότητα - Τυπικότητα Τεκμηρίωση Δομή: χρησιμοποιείστε την απλούστερη προγραμματιστική δομή που δίνει λύση στο πρόβλημα. Ενότητα: είναι φανερό ποια λειτουργία εκτελεί αυτή; Πρόγραμμα: είναι εύκολο να συνεχιστεί και να συντηρηθεί το πρόγραμμα από κάποιον άλλον; Προγραμματιστικό Περιβάλλον 95

Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Ευελιξία Επενδύστε χρόνο στον αρχικό σχεδιασμό. Χρησιμοποιείστε ενότητες για να δομήσετε το πρόγραμμα. Το πρόγραμμα στοιχίζει. Μην κατασκευάζετε προγράμματα μιας χρήσης! Προγραμματιστικό Περιβάλλον 96

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

Ταχύτητα Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Αξιοποιήστε πληροφορίες επί των δεδομένων, για να βελτιώσετε το πρόγραμμα. Χρησιμοποιείστε φίλτρα δεδομένων, για να αποφύγετε άσκοπη εκτέλεση ενοτήτων. Προγραμματιστικό Περιβάλλον 98

Τεκμηρίωση Κεφάλαιο 14 : Αξιολόγηση Τεκμηρίωση Η ύπαρξη τεκμηρίωσης βοηθά στην: αξιοποίηση βιβλιοθηκών προγραμμάτων εύκολη συντήρηση Η ανυπαρξία τεκμηρίωσης : δυσχεραίνει τον έλεγχο λαθών Προγραμματιστικό Περιβάλλον 99

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

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