SlideShare a Scribd company logo
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ
ΠΕΡΙΒΑΛΛΟΝ
Συγγραφείς
Α.Βακάλη
Η. Γιαννόπουλος
Ν. Ιωαννίδης
Χ.Κοίλιας
Κ. Μάλαμας
Ι. Μανωλόπουλος
Π. Πολίτης
Γ΄ τάξη Τεχνολογικής Κατεύθυνσης
Ενιαίου Λυκείου
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 2
Θεματικές ενότητες μαθήματος
Ανάλυση προβλήματος
Σχεδίαση αλγορίθμων
Υλοποίηση σε προγραμματιστικό περιβάλλον
Αξιολόγηση-Τεκμηρίωση
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 3
Καθορισμός προβλήματος
Κατανόηση προβλήματος
Δομή προβλήματος
Καθορισμός απαιτήσεων
Κατηγορίες προβλημάτων
Κεφάλαιο 1 : Ανάλυση προβλήματος
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 4
 Μέτρηση χρόνου (στην αρχαιότητα)
 Κοινωνικά προβλήματα (ναρκωτικά, ανεργία)
 Φυσικά φαινόμενα (σεισμοί, πλημμύρες, επιδημίες)
 Ενεργειακό πρόβλημα
 Προστασία φυσικού περιβάλλοντος (τρύπα όζοντος)
 Τεχνολογικά προβλήματα (Millennium Bug)
Μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί
λύση, η δε λύση της δεν είναι προφανής, ούτε γνωστή.
Κεφάλαιο 1 : Ανάλυση προβλήματος
Η έννοια πρόβλημα
Παραδείγματα
Ορισμός
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 5
 Δεδομένο: οποιοδήποτε στοιχείο μπορεί να γίνει αντιληπτό από
έναν τουλάχιστον παρατηρητή με μία από τις πέντε αισθήσεις
του.
 Πληροφορία: οποιοδήποτε γνωσιακό στοιχείο προέρχεται από
επεξεργασία δεδομένων.
 Επεξεργασία Δεδομένων: η διαδικασία στην οποία ένας
«μηχανισμός» δέχεται δεδομένα, τα επεξεργάζεται σύμφωνα με
έναν καθορισμένο τρόπο και αποδίδει πληροφορίες.
Κεφάλαιο 1 : Ανάλυση προβλήματος
Κατανόηση προβλήματος
Ορισμοί
Μηχανισμοί επεξεργασίας:
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 6
Λόγος (γραπτός ή προφορικός) : μέσο διατύπωσης προβλήματος
Κεφάλαιο 1 : Ανάλυση προβλήματος
Κατανόηση προβλήματος
Σωστή
Διατύπωση
Σωστή
Ερμηνεία
Προϋποθέσεις κατανόησης προβλήματος
Άστοχη χρήση
ορολογίας
Λανθασμένη
σύνταξη
Δυσκολίες κατανόησης προβλήματος
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 7
Παράδειγμα 1: Τα δώρα
Ο Γιάννης και η Μαρία είναι
παντρεμένοι. Ο Χρήστος είναι
αθλητικός τύπος. Η Ελένη είναι
προϊσταμένη σε τράπεζα.
Κεφάλαιο 1 : Ανάλυση προβλήματος
Κατανόηση προβλήματος
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 8
Τα συστατικά μέρη του προβλήματος, τα επιμέρους τμήματα
που το αποτελούν, καθώς επίσης και τον τρόπο που αυτά
τα μέρη συνδέονται μεταξύ τους.
Κεφάλαιο 1 : Ανάλυση προβλήματος
Δομή προβλήματος
Ορισμός
όσο περισσότερο
αναλύουμε τα
προβλήματα σε
απλούστερα
ελαττώνεται η
δυσκολία των
προβλημάτων
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 9
Ορισμός αλγορίθμου
Σπουδαιότητα αλγορίθμου
Περιγραφή αναπαράσταση αλγορίθμου
Βασικές συνιστώσες αλγορίθμου
Δομή ακολουθίας
Δομή επιλογής
Δομή επανάληψης
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 10
Παράδειγμα : Αλγόριθμος για τη διαδικασία ενός γεύματος
 να συγκεντρώσουμε τα υλικά,
 να προετοιμάσουμε τα σκεύη μαγειρικής,
 να παρασκευάσουμε το φαγητό,
 να ετοιμάσουμε τη σαλάτα,
 να στρώσουμε το τραπέζι,
 να γευματίσουμε,
 να καθαρίσουμε το τραπέζι, και
 να πλύνουμε τα πιάτα και τα κουζινικά.
Αλγόριθμος είναι ένα πεπερασμένο σύνολο εντολών αυστηρά
καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, οι
οποίες αν ακολουθηθούν επιτυγχάνεται ένα επιθυμητό
αποτέλεσμα.
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Τι είναι αλγόριθμος
Ορισμός
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 11
 Είσοδος (input) : μία ή περισσότερες τιμές δεδομένων ως
είσοδοι στον αλγόριθμο
 Έξοδος (output) : ο αλγόριθμος «παράγει» τουλάχιστον μία
τιμή δεδομένων ως αποτέλεσμα
 Καθοριστικότητα (defineteness) : κάθε εντολή καθορίζεται
πολύ συγκεκριμένα
 Περατότητα (finiteness) : ο αλγόριθμος τελειώνει μετά από
πεπερασμένα βήματα εκτέλεσης
 Αποτελεσματικότητα (effectiveness) : ο αλγόριθμος
αποτελείται από μεμονωμένες απλές εντολές
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Κριτήρια ενός αλγορίθμου
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 12
ΠΛΗΡΟΦΟΡΙΚΗ : H επιστήμη που μελετά τους αλγόριθμους από τις σκοπιές :
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Σπουδαιότητα αλγορίθμων
 Υλικού (hardware). Η ταχύτητα εκτέλεσης ενός αλγορίθμου επηρεάζεται από
τις διάφορες τεχνολογίες υλικού,
 Γλωσσών Προγραμματισμού (programming languages). Το είδος της
γλώσσας προγραμματισμού που χρησιμοποιείται (δηλαδή, χαμηλότερου ή
υψηλότερου επιπέδου) αλλάζει τη δομή και τον αριθμό των εντολών ενός
αλγορίθμου.
 Θεωρητική (theoretical). Η εξέταση του ερωτήματος για το αν πράγματι
υπάρχει ή όχι κάποιος αποδοτικός αλγόριθμος για την επίλυση ενός
προβλήματος.
 Αναλυτική (analytical). Μελετώνται οι υπολογιστικοί πόροι που απαιτούνται
από έναν αλγόριθμο.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 13
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Περιγραφή & αναπαράσταση αλγορίθμων
 ελεύθερο κείμενο (free text) : αποτελεί τον πιο
ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης
αλγορίθμου.
 διαγραμματικές τεχνικές : συνιστούν ένα γραφικό
τρόπο παρουσίασης του αλγορίθμου (η πιο γνωστή είναι το
διάγραμμα ροής-flow chart)
 φυσική γλώσσα (natural language) : περιγραφή κατά
βήματα.
 κωδικοποίηση (coding) : ένα πρόγραμμα που όταν
εκτελεσθεί θα δώσει τα ίδια αποτελέσματα με τον
αλγόριθμο.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 14
ΤΕΛΟΣ
ΑΡΧΗ
Διάβασε a
Εκτύπωσε
a
a > 0
ΝΑΙ
ΟΧΙ
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Περιγραφή & αναπαράσταση αλγορίθμων
Παράδειγμα
αναπαράστασης
αλγορίθμου με
διάγραμμα ροής
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 15
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Περιγραφή & αναπαράσταση αλγορίθμων
Παράδειγμα
αναπαράστασης
αλγορίθμου με
κωδικοποίηση σε
ψευδογλώσσα
Αλγόριθμος Παράδειγμα_2.1
Διάβασε a, b
Αν a < b, τότε c  a+ b
αλλιώς c  a * b
Τέλος_αν
Εκτύπωσε c
Τέλος Παράδειγμα _2.1
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 16
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Βασικές αλγοριθμικές δομές
 Δομή ακολουθίας
 Δομή επιλογής
 Διαδικασίες πολλαπλών επιλογών
 Εμφωλευμένες Διαδικασίες
 Δομή επανάληψης
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 17
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Δομή ακολουθίας
Η ακολουθιακή
δομή εντολών
(σειριακών
βημάτων)
χρησιμοποιείται για
την αντιμετώπιση
απλών
προβλημάτων,
όπου είναι
δεδομένη η σειρά
εκτέλεσης ενός
συνόλου ενεργειών.
Παράδειγμα : Να διαβασθούν δύο αριθμοί,
να υπολογισθεί και να εκτυπωθεί το γινόμενο τους.
Αλγόριθμος Παράδειγμα_2.2
Διάβασε a, b
c  a * b
Εκτύπωσε c
Τέλος Παράδειγμα _2.2
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 18
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Δομή ακολουθίας
Παράδειγμα : Με δεδομένη την ακτίνα, να υπολογισθεί το
εμβαδόν του αντίστοιχου κύκλου και το εμβαδόν του
τετραγώνου που είναι περιγεγραμμένο στον κύκλο αυτόν.
Αλγόριθμος Παράδειγμα_2.3
Διάβασε aktina
kyklos  3.14 * aktina * aktina
plevra  2 * aktina
tetragwno  plevra * plevra
Εκτύπωσε kyklos, tetragwno
Τέλος Παράδειγμα _2.3
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 19
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Δομή επιλογής
Η δομή της επιλογής
χρησιμοποιείται στις
περιπώσεις που
χρειάζεται να
λαμβάνονται κάποιες
αποφάσεις με βάση
κάποια δεδομένα
κριτήρια, που μπορεί
να είναι διαφορετικά
για κάθε διαφορετικό
στιγμιότυπο ενός
προβλήματος.
Παράδειγμα : Να διαβαστεί ένας αριθμός και
να εκτυπωθεί η απόλυτη τιμή του
Αλγόριθμος Παράδειγμα_2.4
Διάβασε a
Αν a < 0 τότε a  a*(-1)
Εκτύπωσε a
Τέλος Παράδειγμα _2.4
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 20
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Δομή επιλογής
Αν συνθήκη τότε
εντολή_1
εντολή_2
...
Τέλος_αν
Αν συνθήκη τότε
εντολή ή εντολές
Αλλιώς
εντολή ή εντολές
Τέλος_αν
Μορφή εντολής επιλογής
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 21
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Δομή επιλογής
Παράδειγμα 2.5 :
Να διαβασθούν δύο αριθμοί
και σε περίπτωση που ο
πρώτος αριθμός είναι
μικρότερος του δεύτερου,
να υπολογισθεί και να
εκτυπωθεί το άθροισμά
τους, διαφορετικά να
υπολογισθεί και να
εκτυπωθεί το γινόμενό τους.
ΤΕΛΟ
Σ
ΑΡΧ
Η
Δ
ιάβασεa,b
ca+b
ca*b
Εκτύπωσεc
a<b
Ν
ΑΙ
Ο
ΧΙ
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 22
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Διαδικασίες πολλαπλών επιλογών
Οι διαδικασίες των
πολλαπλών
επιλογών
χρησιμοποιούνται
στα προβλήματα
όπου μπορεί να
ληφθούν
διαφορετικές
αποφάσεις ανάλογα
με την τιμή που
παίρνει μία
μεταβλητή
Παράδειγμα : Να διαβασθεί ένας ακέραιος και να
εκτυπωθεί το αντίστοιχο γράμμα της αλφαβήτου αν ο
ακέραιος έχει τιμή 1 ή 2 ή 3 διαφορετικά να εκτυπωθεί η
λέξη “άγνωστος”.
Αλγόριθμος Παράδειγμα_2.6
Διάβασε a
Αν a = 1 τότε εκτύπωσε ‘Α’
αλλιώς_Αν a = 2 τότε εκτύπωσε ‘Β’
αλλιώς_Αν a = 3 τότε εκτύπωσε ‘Γ’
αλλιώς εκτύπωσε ‘άγνωστος’
Τέλος_αν
Τέλος Παράδειγμα _2.6
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 23
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Εμφωλευμένες Δομές
Οι εμφωλευμένες δομές χρησιμοποιούνται στα προβλήματα όπου μπορεί να
έχουμε αποφάσεις που να βασίζονται σε συνδυασμούς κριτηρίων και
«λογικών» πράξεων.
3 ΛΟΓΙΚΕΣ ΠΡΑΞΕΙΣ
ή
και
όχι
Πρόταση
Α
Πρόταση Β Α ή Β Α και Β όχι Α
Αληθής Αληθής Αληθής Αληθής Ψευδής
Αληθής Ψευδής Αληθής Ψευδής Ψευδής
Ψευδής Αληθής Αληθής Ψευδής Αληθής
Ψευδής Ψευδής Ψευδής Ψευδής Αληθής
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 24
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Εμφωλευμένες Δομές
Παράδειγμα :
Να διαβάζονται 2
ακέραιοι για το
ύψος & το βάρος
ενός ατόμου. Να
εκτυπώνεται
“ελαφρύς” αν το
βάρος είναι < 80
Kg (αλλιώς
“βαρύς”). Να
εκτυπώνεται
“κοντός” αν το
ύψος είναι < 1.70
(αλλιώς
“ψηλός”). ΤΕΛΟΣ
ΑΡΧΗ
ΝΑΙ
Διάβασε
βάρος, ύψος
ΟΧΙ
Βάρος<80
Υψος<1.7
0
Υψος<1.7
0
Εκτύπωσε
Βαρύς-ψηλός
ΟΧΙ
ΝΑΙ
Εκτύπωσε
Βαρύς-κοντός
Εκτύπωσε
Ελαφρύς-κοντός
ΝΑΙ
ΟΧΙ
Εκτύπωσε
Ελαφρύς-ψηλός
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 25
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Δομή επανάληψης
Η δομή της
επανάληψης
χρησιμοποιείται
στις περιπώσεις
όπου μία
ακολουθία
εντολών πρέπει να
εφαρμοσθεί σε
ένα σύνολο
περιπτώσεων,
που έχουν κάτι
κοινό.
Παράδειγμα : Να γραφεί αλγόριθμος που να
εμφανίζει τους αριθμούς από 1 έως 100.
Αλγόριθμος Παράδειγμα_2.7
i  1
Όσο i <= 100 επανάλαβε
Εμφάνισε i
i  i + 1
Τέλος_επανάληψης
Τέλος Παράδειγμα _2.7
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 26
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Δομή επανάληψης
Όσο συνθήκη επανάλαβε
εντολή ή εντολές
Τέλος_επανάληψης
Για μεταβλητή από τ1 μέχρι τ2 με_βήμα β
εντολή ή εντολές
Τέλος_επανάληψης
Επαναληπτικές Διαδικασίες
Αρχή_επανάληψης
εντολή ή εντολές
Μέχρις_ότου συνθήκη
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 27
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Δομή επανάληψης
Παράδειγμα 2.8 :
Να διαβάζονται και να
εκτυπώνονται όσοι θετικοί
αριθμοί δίνονται από το
πληκτρολόγιο. Ο αλγόριθμος
τελειώνει όταν δοθεί ένας
αρνητικός αριθμός.
Αλγόριθμος Παράδειγμα_2.8
Αρχή_επανάληψης
Διάβασε x
Eμφάνισε x
Μέχρις_ότου x < 0
Τέλος Παράδειγμα _2.8
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 28
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Δομή επανάληψης
Παράδειγμα 2.9 :
Σε ένα μετεωρολογικό κέντρο
χρειάζεται να βρεθεί η μέγιστη
και η ελάχιστη θερμοκρασία
από τις μέσες ημερήσιες
θερμοκρασίες ενός μήνα. Να
γραφεί ένας αλγόριθμος που
θα διαβάζει τη μέση ημερήσια
θερμοκρασία για κάθε ημέρα
ενός μήνα 30 ημερών και θα
υπολογίζει την ελάχιστη και τη
μέγιστη από αυτές τις
θερμοκρασίες
Αλγόριθμος Παράδειγμα_2.9
ΜΙΝ 100
ΜΑΧ -100
Για i από 1 μέχρι 30
Διάβασε THΕΡ
Αν THΕΡ < ΜΙΝ τότε
ΜΙΝΤΗΕΡ
Αν THΕΡ < ΜΑΧ τότε
ΜΑΧΤΗΕΡ
Τέλος_επανάληψης
Τέλος Παράδειγμα _2.9
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 29
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
Ανακεφαλαίωση
Στο Κεφάλαιο αυτό :
 έγινε η πρώτη γνωριμία με την έννοια του αλγορίθμου
 συζητήθηκε και παρουσιάσθηκε ο τρόπος αναπαράστασης
των αλγορίθμων
 αναπτύχθηκαν οι κυριότερες αλγοριθμικές δομές
ΑΚΟΛΟΥΘΙΑ - ΕΠΙΛΟΓΗ - ΕΠΑΝΑΛΗΨΗ
αλγόριθμος, ακολουθία, επιλογή,
επανάληψη, Διάγραμμα ροής , ψευδογλώσσα,
εμφωλευμένες διαδικασίες, βρόχος
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 30
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 31
Δεδομένα
Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα
Πίνακες
Στοίβα και Ουρά
Αναζήτηση και Ταξινόμηση
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 32
Ο ορισμός αυτός είναι πρακτικός. Για παράδειγμα:
σε ένα αρχείο μαθητών κρατούμε την τάξη, το
τμήμα κλπ, αλλά όχι το ύψος, το βάρος κλπ.
Δεδομένα είναι μία αφαιρετική
αναπαράσταση της πραγματικότητας.
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Δεδομένα
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 33
Τα δεδομένα είναι έννοια-κλειδί για την Πληροφο-
ρική που μελετά τα δεδομένα απο τη σκοπιά
του Υλικού
των Γλωσσών προγραμματισμού
των Δομών
της Ανάλυσης
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Δεδομένα
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 34
Δομή Δεδομένων είναι ένα σύνολο απο-
θηκευμένων δεδομένων που υφίστανται
επεξεργασία από ένα σύνολο λειτουργιών.
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Αλγόριθμοι + Δομές = Προγράμματα
Λειτουργίες: προσπέλαση, εισαγωγή, διαγραφή,
αναζήτηση, ταξινόμηση, αντιγραφή, συγχώνευση,
διαχωρισμός.
Σημείωση: σπάνια για κάποια δομή χρησιμοποι-
ούνται και οι οκτώ λειτουργίες. Κάθε δομή πλεο-
νεκτεί και μειονεκτεί σε σχέση με άλλες δομές ως
προς τις λειτουργίες αυτές.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 35
Η Δομή και ο Αλγόριθμος είναι συνυφασμένες
έννοιες, όπως δηλώνεται από την ανωτέρω εξίσωση
(Wirth, 1976).
Κεφάλαιο 3: Δομές Δεδομένων και Αλγόριθμοι
Αλγόριθμοι + Δομές = Προγράμματα
Πρόβλημα: Να γραφεί αλγόριθμος που να
δέχεται στην είσοδο ένα όνομα και να δίνει
τον αντίστοιχο αριθμό τηλεφώνου στην
έξοδο.
Λύσεις διάφορες (ανάλογα με το πλήθος
των συνδρομητών).
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 36
Ο Πίνακας είναι μία στατική δομή δεδομέ-
νων (το μέγεθός του καθορίζεται κατά τη
μετάφραση και όχι κατά την εκτέλεση).
Ο Πίνακας περιέχει δεδομένα ιδίου τύπου και
μπορεί να έχει πολλές διαστάσεις.
Συμβολίζεται με ένα όνομα και ένα δείκτη για κάθε
διάσταση.
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Πίνακες
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 37
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Στοίβα
Η στοίβα είναι μία δομή δεδομένων όπου
επιτρέπονται δύο μόνο λειτουργίες:
- εισαγωγή ή ώθηση (push), και
- διαγραφή ή απώθηση (pop).
Στηρίζεται στη φιλοσοφία LIFO (last-in-first-out),
δηληδή Τελευταίο-μέσα-πρώτο-έξω.
Υλοποιείται με ένα πίνακα και με τη βοήθεια μίας
μεταβλητής: του δείκτη της στοίβας που δείχνει στο
κορυφαίο στοιχείο του πίνακα.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 38
Η ουρά είναι μία δομή δεδομένων όπου
επιτρέπονται δύο μόνο λειτουργίες:
- εισαγωγή στο τέλος (enqueue), και
- διαγραφή από την αρχή (dequeue).
Στηρίζεται στη φιλοσοφία FIFO (first-in-first-out),
δηληδή Πρώτο-μέσα-πρώτο-έξω,
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Ουρά
Υλοποιείται με ένα πίνακα και δύο μεταβλητές που
δείχνουν στο πρώτο και το τελευταίο στοιχείο.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 39
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Αναζήτηση
Σειριακή
Αναζήτηση
Το πρόβλημα της αναζήτησης είναι καίριο (ανα-
ζήτηση ονομάτων σε καταλόγους, αριθμών σε
λίστες, εικόνων σε άλμπουμ κλπ.)
Συνήθως η αναζήτηση γίνεται σε πίνακες
ταξινομημένων αριθμών.
Δυαδική
Αναζήτηση
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 40
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Αναζήτηση
ΣΕΙΡΙΑΚΗ (ΓΡΑΜΜΙΚΗ) ΑΝΑΖΗΤΗΣΗ
ΦΙΛΟΣΟΦΙΑ: Εξετάζει το περιεχόμενο κάθε
θέσης του πίνακα, αν ισούται με το
αναζητούμενο στοιχείο, αρχίζοντας από την αρχή
και σαρώ-νοντας τις θέσεις μία-μία.
Υλοποιείται σε πίνακα με ταξινομημένα αλλά και
αταξινόμητα στοιχεία.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 41
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Ταξινόμηση
Σπουδαίο πρόβλημα γιατί επιταχύνει την αναζήτηση.
Εξαιρετική πληθώρα αλγορίθμων που εφαρμόζονται
ανάλογα με τις προϋποθέσεις του προβλήματος
(μνήμη/δίσκος, είδος δεδομένων, εφαρμογής κλπ.)
Ταξινόμηση είναι η διάταξη των στοιχείων
ενός πίνακα με βάση ένα κριτήριο (πχ.
αύξουσα/φθίνουσα τάξη)
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 42
Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
Ταξινόμηση
ΤΑΞΙΝΟΜΗΣΗ ΕΥΘΕΙΑΣ ΑΝΤΑΛΛΑΓΗΣ
(ΤΑΞΙΝΟΜΗΣΗ ΦΥΣΣΑΛΙΔΑΣ)
ΦΙΛΟΣΟΦΙΑ: Εξετάζει διαδοχικά ζεύγη στοιχείων
μέχρι να διαταχθούν όλα τα στοιχεία.
Αν ο πίνακας θεωρηθεί σε κατακόρυφη θέση, τότε
τα μικρότερα στοιχεία ανεβαίνουν προς τα επάνω.
Σε κάθε πέρασμα, ένα στοιχείο λαμβάνει την
τελική του θέση
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 43
Ανάλυση Προβλημάτων
Μέθοδοι Σχεδίασης Αλγορίθμων
Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 44
Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων
Ανάλυση Προβλημάτων
Κατά την ανάλυση ενός προβλήματος
καταγράφεται η υπάρχουσα πληροφορία,
αναγνωρίζονται ιδιαιτερότητες,
αποτυπώνονται συνθήκες και προϋποθέσεις,
οπότε
προτείνεται κάποια μέθοδος (ιδεατή), και
επιλύεται το πρόβλημα με τον υπολογιστή.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 45
Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων
Ανάλυση Προβλημάτων
Πρόβλημα: με ποιά σειρά πρέπει ένας
ταχυδρομικός διανομέας να επισκεφθεί
κάποια χωρία ώστε να ελαχιστοποιήσει τη
συνολική απόσταση που θα διανύσει ??
Πιθανές λύσεις
κάθε φορά να διαλέγει τον κοντινότερο προορισμό
να ακολουθήσει ένα δρομολόγιο που να ελαχιστο-
ποιεί τη συνολική απόσταση και όχι τις επιμέρους.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 46
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 47
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό
Διδακτικοί στόχοι
 Να ορίζετε τι είναι πρόγραμμα.
 Να κατατάσσετε τις γλώσσες προγραμματισμού.
 Να συγκρίνετε τις διάφορες γλώσσες προγραμματισμού.
 Να αναγνωρίζετε τα κυριότερα είδη προγραμματισμού.
 Να περιγράφετε τα βασικά χαρακτηριστικά των τεχνικών που
χρησιμοποιούνται στον προγραμματισμό.
 Να διατυπώνετε τα πλεονεκτήματα του δομημένου
προγραμματισμού.
 Να περιγράφετε τη διαδικασία εκτέλεσης ενός προγράμματος.
 Να αναφέρετε τα βασικά προγράμματα που περιέχει ένα
προγραμματιστικό περιβάλλον
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 48
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό
 Η έννοια του προγράμματος
 Φυσικές και τεχνητές γλώσσες.
 Τεχνικές σχεδίασης προγραμμάτων
 Δομημένος προγραμματισμός
 Αντικειμενοστραφής προγραμματισμός
 Παράλληλος προγραμματισμός
 Προγραμματιστικά περιβάλλοντα
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 49
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό
Τεχνικές σχεδίασης προγραμμάτων
 Ιεραρχική σχεδίαση προγράμματος
 Τμηματικός προγραμματισμός
 Δομημένος προγραμματισμός
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 50
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό
Πλεονεκτήματα του δομημένου προγραμματισμού
 Δημιουργία απλούστερων προγραμμάτων.
 Άμεση μεταφορά των αλγορίθμων σε προγράμματα.
 Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα.
 Περιορισμός των λαθών κατά την ανάπτυξη του
προγράμματος.
 Διευκόλυνση στην ανάγνωση και κατανόηση του
προγράμματος από τρίτους.
 Ευκολότερη διόρθωση και συντήρηση.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 51
 να διακρίνετε τις σταθερές από τις μεταβλητές.
 να αναγνωρίζετε τους διάφορους τύπους μεταβλητών.
 να μετατρέπετε τις αριθμητικές πράξεις σε εντολές
προγράμματος.
 να διατυπώνετε τη δομή ενός προγράμματος.
 να συντάσσετε απλά προγράμματα τα οποία εισάγουν
δεδομένα, τα επεξεργάζονται και εμφανίζουν τα
αποτελέσματα στην οθόνη.
Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Διδακτικοί στόχοι
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 52
Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
 Το αλφάβητο της ΓΛΩΣΣΑΣ
 Τύποι δεδομένων
 Σταθερές
 Μεταβλητές
 Αριθμητικοί τελεστές
 Αριθμητικές εκφράσεις
 Εντολή εκχώρησης
 Εντολές εισόδου -εξόδου
 Δομή προγράμματος
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 53
Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Το αλφάβητο της ΓΛΩΣΣΑΣ
 Γράμματα Α-Ω, α-ω, Α-Ζ, a-z
 Ψηφία 0-9
 Ειδικοί χαρακτήρες
+ - * / = ^ ( ) . , ' ! & κενός χαρακτήρας
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 54
Τύποι δεδομένων
 Ακέραιος τύπος
 Πραγματικός τύπος
 Χαρακτήρας
Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 55
Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Σταθερές
Αντιστοίχηση σταθερών τιμών με ονόματα
Μεταβλητές
Παράσταση ποσοτήτων που οι τιμές μπορούν να
αλλάζουν κατά την εκτέλεση του προγράμματος.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 56
Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Αριθμητικοί τελεστές
 Αριθμητικός τελεστής Πράξη
+ Πρόσθεση
- Αφαίρεση
* Πολλαπλασιασμός
/ Διαίρεση
^ Ύψωση σε δύναμη
DIV Ακέραια διαίρεση
MOD Υπόλοιπο ακέραιας διαίρεσης.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 57
Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Εντολή εκχώρησης
ΜΟΡΦΗ
Όνομα-Μεταβλητής <- παράσταση
ΠΑΡΑΔΕΙΓΜΑΤΑ
Α<-132
ΜΗΝΑΣ<- 'Ιανουάριος’
ΕΜΒΑΔΟΝ<-Α*Β
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 58
Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
Εντολές εισόδου- εξόδου
ΜΟΡΦΗ
ΔΙΑΒΑΣΕ λίστα-μεταβλητών
ΠΑΡΑΔΕΙΓΜΑΤΑ
ΔΙΑΒΑΣΕ Ποσότητα, Τιμή
ΜΟΡΦΗ
ΓΡΑΨΕ λίστα-στοιχείων
ΠΑΡΑΔΕΙΓΜΑΤΑ
ΓΡΑΨΕ 'Η τετραγωνική ρίζα του', Α,' είναι:
',ΡΙΖΑ
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 59
Κεφάλαιο 8: Επιλογή και επανάληψη
Διδακτικοί στόχοι
 να σχηματίζετε λογικές εκφράσεις
 να διατυπώνετε τις εντολές ελέγχου ΑΝ
 να επιλέγετε την καταλληλότερη εντολή ΑΝ
 να διατυπώνετε τις εντολές επανάληψης
 να επιλέγετε την καλύτερη δομή επανάληψης
 να συντάσσετε προγράμματα που χρησιμοποιούν και τις τρεις
βασικές δομές: της ακολουθίας, της επιλογής και της
επανάληψης.
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 60
Κεφάλαιο 8: Επιλογή και επανάληψη
 Λογικές εκφράσεις
Τελεστής Ελεγχόμενη σχέση Παράδειγμα
 = Ισότητα Αριθμός=0
 <> Ανισότητα Ονομα1 <> 'Κώστας'
 > Μεγαλύτερο από Τιμή>10000
 >= Μεγαλύτερο ή ίσο Χ+Υ >= (Α+Β)/Γ
 < Μικρότερο από Β^2-4*Α*Γ < 0
 <= Μικρότερο ή ίσο Βάρος <= 500
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 61
Κεφάλαιο 8: Επιλογή και επανάληψη
Εντολή ΑΝ
 Σύνταξη
ΑΝ συνθήκη ΤΟΤΕ
εντολή-1
εντολή-2
…
εντολή-ν
ΤΕΛΟΣ_ΑΝ
Παράδειγμα
ΑΝ αριθμός > 0 ΤΟΤΕ
ΓΡΑΨΕ 'Ο αριθμός είναι θετικός'
Πλήθος_θετικών <- πλήθος_θετικών+1
ΤΕΛΟΣ_ΑΝ
Ανάπτυξη Εφαρμογών σε
Προγραμματιστικό Περιβάλλον 62
Κεφάλαιο 8: Επιλογή και επανάληψη
Εντολή ΑΝ ΤΟΤΕ ΑΛΛΙΩΣ
Σύνταξη
ΑΝ συνθήκη ΤΟΤΕ
εντολή-1
εντολή-2
…
εντολή-ν
ΑΛΛΙΩΣ
εντολή-1
Εντολή-2
…
εντολή-ν
ΤΕΛΟΣ_ΑΝ
 Παράδειγμα
ΑΝ αριθμός > 0 ΤΟΤΕ
ΓΡΑΨΕ 'Ο αριθμός είναι θετικός’
Πλήθος_θετικών <- Πλήθος_θετικών+1
ΑΛΛΙΩΣ
ΓΡΑΨΕ 'Ο αριθμός είναι αρνητικός ή 0’
Πλήθος_μη_θετικών <- Πλήθος_μη_θετικών +1
ΤΕΛΟΣ_ΑΝ

More Related Content

Similar to diafanies.ppt

ΑΕΠΠ ΚΕΦ 2
ΑΕΠΠ ΚΕΦ 2ΑΕΠΠ ΚΕΦ 2
ΑΕΠΠ ΚΕΦ 2
educast
 
ενότητα 2
ενότητα 2 ενότητα 2
ενότητα 2
tryfonid
 
Προτεινόμενα Projects στην LOGO.docx
Προτεινόμενα Projects στην LOGO.docxΠροτεινόμενα Projects στην LOGO.docx
Προτεινόμενα Projects στην LOGO.docx
chris09xgames
 
Kef1o Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Kef1o Ανάπτυξη Εφαρμογών σε Προγραμματιστικό ΠεριβάλλονKef1o Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Kef1o Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Eleni Kokkinou
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis Presentation
ISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
ISSEL
 
Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...
ISSEL
 
παρουσιαση αλγοριθμος γλωσσες προγραμματισμου
παρουσιαση  αλγοριθμος γλωσσες προγραμματισμουπαρουσιαση  αλγοριθμος γλωσσες προγραμματισμου
παρουσιαση αλγοριθμος γλωσσες προγραμματισμου
thanslide
 
ΑΕΠΠ: 13ο Φυλλάδιο Ασκήσεων
ΑΕΠΠ: 13ο Φυλλάδιο ΑσκήσεωνΑΕΠΠ: 13ο Φυλλάδιο Ασκήσεων
ΑΕΠΠ: 13ο Φυλλάδιο ΑσκήσεωνNikos Michailidis
 
Theofilos Georgiadis: Library recommendation system for the reuse of software...
Theofilos Georgiadis: Library recommendation system for the reuse of software...Theofilos Georgiadis: Library recommendation system for the reuse of software...
Theofilos Georgiadis: Library recommendation system for the reuse of software...
Manos Tsardoulias
 
Aepp kef101
Aepp kef101Aepp kef101
Aepp kef101
mnikol
 
ΑΕΠΠ ΚΕΦ 10
ΑΕΠΠ ΚΕΦ 10ΑΕΠΠ ΚΕΦ 10
ΑΕΠΠ ΚΕΦ 10
educast
 
Pressentation Enotitas 2.2
Pressentation Enotitas 2.2Pressentation Enotitas 2.2
Pressentation Enotitas 2.2
hack0s
 
Γεροκώστα
ΓεροκώσταΓεροκώστα
Γεροκώστα
ISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
ISSEL
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
ISSEL
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
ISSEL
 
Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...
ISSEL
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 1 3
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 1 3Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 1 3
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 1 3
Ιωάννου Γιαννάκης
 

Similar to diafanies.ppt (20)

ΑΕΠΠ ΚΕΦ 2
ΑΕΠΠ ΚΕΦ 2ΑΕΠΠ ΚΕΦ 2
ΑΕΠΠ ΚΕΦ 2
 
Κεφ. 10 Υποπρογράμματα
Κεφ. 10 ΥποπρογράμματαΚεφ. 10 Υποπρογράμματα
Κεφ. 10 Υποπρογράμματα
 
ενότητα 2
ενότητα 2 ενότητα 2
ενότητα 2
 
Προτεινόμενα Projects στην LOGO.docx
Προτεινόμενα Projects στην LOGO.docxΠροτεινόμενα Projects στην LOGO.docx
Προτεινόμενα Projects στην LOGO.docx
 
Kef1o Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Kef1o Ανάπτυξη Εφαρμογών σε Προγραμματιστικό ΠεριβάλλονKef1o Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Kef1o Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis Presentation
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
 
Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...
 
παρουσιαση αλγοριθμος γλωσσες προγραμματισμου
παρουσιαση  αλγοριθμος γλωσσες προγραμματισμουπαρουσιαση  αλγοριθμος γλωσσες προγραμματισμου
παρουσιαση αλγοριθμος γλωσσες προγραμματισμου
 
ΑΕΠΠ: 13ο Φυλλάδιο Ασκήσεων
ΑΕΠΠ: 13ο Φυλλάδιο ΑσκήσεωνΑΕΠΠ: 13ο Φυλλάδιο Ασκήσεων
ΑΕΠΠ: 13ο Φυλλάδιο Ασκήσεων
 
Theofilos Georgiadis: Library recommendation system for the reuse of software...
Theofilos Georgiadis: Library recommendation system for the reuse of software...Theofilos Georgiadis: Library recommendation system for the reuse of software...
Theofilos Georgiadis: Library recommendation system for the reuse of software...
 
Aepp kef101
Aepp kef101Aepp kef101
Aepp kef101
 
ΑΕΠΠ ΚΕΦ 10
ΑΕΠΠ ΚΕΦ 10ΑΕΠΠ ΚΕΦ 10
ΑΕΠΠ ΚΕΦ 10
 
Pressentation Enotitas 2.2
Pressentation Enotitas 2.2Pressentation Enotitas 2.2
Pressentation Enotitas 2.2
 
Γεροκώστα
ΓεροκώσταΓεροκώστα
Γεροκώστα
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
 
Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 1 3
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 1 3Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 1 3
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 1 3
 

Recently uploaded

Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛΤα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
Newsroom8
 
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησειςΑναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
ΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
3zoh0uxr
 
Τα θέματα σε Δίκτυα Υπολογιστών για τα ΕΠΑΛ
Τα θέματα σε Δίκτυα Υπολογιστών για τα ΕΠΑΛΤα θέματα σε Δίκτυα Υπολογιστών για τα ΕΠΑΛ
Τα θέματα σε Δίκτυα Υπολογιστών για τα ΕΠΑΛ
Newsroom8
 
ΑΠΑΝΤΗΣΕΙΣ-ΝΕΟΕΛΛΗΝΙΚΗΣ-ΓΛΩΣΣΑΣ-2024.pdf
ΑΠΑΝΤΗΣΕΙΣ-ΝΕΟΕΛΛΗΝΙΚΗΣ-ΓΛΩΣΣΑΣ-2024.pdfΑΠΑΝΤΗΣΕΙΣ-ΝΕΟΕΛΛΗΝΙΚΗΣ-ΓΛΩΣΣΑΣ-2024.pdf
ΑΠΑΝΤΗΣΕΙΣ-ΝΕΟΕΛΛΗΝΙΚΗΣ-ΓΛΩΣΣΑΣ-2024.pdf
Newsroom8
 
Η τέχνη του Sampling/ The art of Sampling
Η τέχνη του Sampling/ The art of SamplingΗ τέχνη του Sampling/ The art of Sampling
Η τέχνη του Sampling/ The art of Sampling
ssuser6717fd
 
Απαντήσεις Χημείας - ΠΑΝΕΛΛΗΝΙΕΣ 2024.pdf
Απαντήσεις Χημείας - ΠΑΝΕΛΛΗΝΙΕΣ 2024.pdfΑπαντήσεις Χημείας - ΠΑΝΕΛΛΗΝΙΕΣ 2024.pdf
Απαντήσεις Χημείας - ΠΑΝΕΛΛΗΝΙΕΣ 2024.pdf
athinadimi
 
一比一原版(CSU毕业证书)查理斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查理斯特大学毕业证成绩单如何办理一比一原版(CSU毕业证书)查理斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查理斯特大学毕业证成绩单如何办理
3zoh0uxr
 
Η υδροστατική πίεση
Η υδροστατική                       πίεσηΗ υδροστατική                       πίεση
Η υδροστατική πίεση
Dimitra Mylonaki
 
ΑΠΑΝΤΗΣΕΙΣ_ΛΑΤΙΝΙΚΑ__ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ.pdf
ΑΠΑΝΤΗΣΕΙΣ_ΛΑΤΙΝΙΚΑ__ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ.pdfΑΠΑΝΤΗΣΕΙΣ_ΛΑΤΙΝΙΚΑ__ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ.pdf
ΑΠΑΝΤΗΣΕΙΣ_ΛΑΤΙΝΙΚΑ__ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ.pdf
athinadimi
 
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
3zoh0uxr
 
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdfΑπαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
athinadimi
 
Εξεταστέα ύλη Οικονομία (ΑΟΘ) ΕΠΑΛ 2023 - 2024
Εξεταστέα ύλη Οικονομία (ΑΟΘ) ΕΠΑΛ 2023 - 2024Εξεταστέα ύλη Οικονομία (ΑΟΘ) ΕΠΑΛ 2023 - 2024
Εξεταστέα ύλη Οικονομία (ΑΟΘ) ΕΠΑΛ 2023 - 2024
Panagiotis Prentzas
 
Οι απαντήσεις στην Πληροφορική για τα ΓΕΛ
Οι απαντήσεις στην Πληροφορική για τα ΓΕΛΟι απαντήσεις στην Πληροφορική για τα ΓΕΛ
Οι απαντήσεις στην Πληροφορική για τα ΓΕΛ
Newsroom8
 
ΑΠΑΝΤΗΣΕΙΣ - ΠΑΝΕΛΛΗΝΙΕΣ 2024 - 3 - πληροφορική.pdf
ΑΠΑΝΤΗΣΕΙΣ - ΠΑΝΕΛΛΗΝΙΕΣ 2024 - 3 - πληροφορική.pdfΑΠΑΝΤΗΣΕΙΣ - ΠΑΝΕΛΛΗΝΙΕΣ 2024 - 3 - πληροφορική.pdf
ΑΠΑΝΤΗΣΕΙΣ - ΠΑΝΕΛΛΗΝΙΕΣ 2024 - 3 - πληροφορική.pdf
athinadimi
 
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docxΑπολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
Tassos Karampinis
 
them_latin_gel_240606. latinika panellinies 2024pdf
them_latin_gel_240606. latinika panellinies 2024pdfthem_latin_gel_240606. latinika panellinies 2024pdf
them_latin_gel_240606. latinika panellinies 2024pdf
konstantinantountoum1
 
ΚΑΡΤΕΣ ΑΡΙΘΜΩΝ ΙΧΝΗΛΑΤΗΣΗΣ /ΠΡΟΓΡΑΦΙΚΕΣ ΑΣΚΗΣΕΙΣ
ΚΑΡΤΕΣ ΑΡΙΘΜΩΝ ΙΧΝΗΛΑΤΗΣΗΣ /ΠΡΟΓΡΑΦΙΚΕΣ ΑΣΚΗΣΕΙΣΚΑΡΤΕΣ ΑΡΙΘΜΩΝ ΙΧΝΗΛΑΤΗΣΗΣ /ΠΡΟΓΡΑΦΙΚΕΣ ΑΣΚΗΣΕΙΣ
ΚΑΡΤΕΣ ΑΡΙΘΜΩΝ ΙΧΝΗΛΑΤΗΣΗΣ /ΠΡΟΓΡΑΦΙΚΕΣ ΑΣΚΗΣΕΙΣ
ΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
PANELLINIES 2024 LATINIKA APANTISEIS.pdf
PANELLINIES 2024 LATINIKA APANTISEIS.pdfPANELLINIES 2024 LATINIKA APANTISEIS.pdf
PANELLINIES 2024 LATINIKA APANTISEIS.pdf
konstantinantountoum1
 
Θέματα χημείας -Πανελλαδικές εξετάσεις 2024
Θέματα χημείας  -Πανελλαδικές εξετάσεις 2024Θέματα χημείας  -Πανελλαδικές εξετάσεις 2024
Θέματα χημείας -Πανελλαδικές εξετάσεις 2024
Θεόδωρος Μαραγκούλας
 

Recently uploaded (20)

Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛΤα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
Τα θέματα σε Ανατομία-Φυσιολογία ΙΙ στα ΕΠΑΛ
 
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησειςΑναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
Αναμνήσεις σχολικής χρονιάς.pdfΛεύκωμα / σχολικες αναμνησεις
 
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
一比一原版(USYD毕业证书)悉尼大学毕业证成绩单如何办理
 
Τα θέματα σε Δίκτυα Υπολογιστών για τα ΕΠΑΛ
Τα θέματα σε Δίκτυα Υπολογιστών για τα ΕΠΑΛΤα θέματα σε Δίκτυα Υπολογιστών για τα ΕΠΑΛ
Τα θέματα σε Δίκτυα Υπολογιστών για τα ΕΠΑΛ
 
ΑΠΑΝΤΗΣΕΙΣ-ΝΕΟΕΛΛΗΝΙΚΗΣ-ΓΛΩΣΣΑΣ-2024.pdf
ΑΠΑΝΤΗΣΕΙΣ-ΝΕΟΕΛΛΗΝΙΚΗΣ-ΓΛΩΣΣΑΣ-2024.pdfΑΠΑΝΤΗΣΕΙΣ-ΝΕΟΕΛΛΗΝΙΚΗΣ-ΓΛΩΣΣΑΣ-2024.pdf
ΑΠΑΝΤΗΣΕΙΣ-ΝΕΟΕΛΛΗΝΙΚΗΣ-ΓΛΩΣΣΑΣ-2024.pdf
 
Η τέχνη του Sampling/ The art of Sampling
Η τέχνη του Sampling/ The art of SamplingΗ τέχνη του Sampling/ The art of Sampling
Η τέχνη του Sampling/ The art of Sampling
 
Απαντήσεις Χημείας - ΠΑΝΕΛΛΗΝΙΕΣ 2024.pdf
Απαντήσεις Χημείας - ΠΑΝΕΛΛΗΝΙΕΣ 2024.pdfΑπαντήσεις Χημείας - ΠΑΝΕΛΛΗΝΙΕΣ 2024.pdf
Απαντήσεις Χημείας - ΠΑΝΕΛΛΗΝΙΕΣ 2024.pdf
 
一比一原版(CSU毕业证书)查理斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查理斯特大学毕业证成绩单如何办理一比一原版(CSU毕业证书)查理斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查理斯特大学毕业证成绩单如何办理
 
Η υδροστατική πίεση
Η υδροστατική                       πίεσηΗ υδροστατική                       πίεση
Η υδροστατική πίεση
 
ΑΠΑΝΤΗΣΕΙΣ_ΛΑΤΙΝΙΚΑ__ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ.pdf
ΑΠΑΝΤΗΣΕΙΣ_ΛΑΤΙΝΙΚΑ__ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ.pdfΑΠΑΝΤΗΣΕΙΣ_ΛΑΤΙΝΙΚΑ__ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ.pdf
ΑΠΑΝΤΗΣΕΙΣ_ΛΑΤΙΝΙΚΑ__ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ.pdf
 
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
一比一原版(CSU毕业证书)查尔斯特大学毕业证成绩单如何办理
 
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdfΑπαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
Απαντήσεις Μαθηματικών-Πανελλήνιες-2024-3.pdf
 
Εξεταστέα ύλη Οικονομία (ΑΟΘ) ΕΠΑΛ 2023 - 2024
Εξεταστέα ύλη Οικονομία (ΑΟΘ) ΕΠΑΛ 2023 - 2024Εξεταστέα ύλη Οικονομία (ΑΟΘ) ΕΠΑΛ 2023 - 2024
Εξεταστέα ύλη Οικονομία (ΑΟΘ) ΕΠΑΛ 2023 - 2024
 
Οι απαντήσεις στην Πληροφορική για τα ΓΕΛ
Οι απαντήσεις στην Πληροφορική για τα ΓΕΛΟι απαντήσεις στην Πληροφορική για τα ΓΕΛ
Οι απαντήσεις στην Πληροφορική για τα ΓΕΛ
 
ΑΠΑΝΤΗΣΕΙΣ - ΠΑΝΕΛΛΗΝΙΕΣ 2024 - 3 - πληροφορική.pdf
ΑΠΑΝΤΗΣΕΙΣ - ΠΑΝΕΛΛΗΝΙΕΣ 2024 - 3 - πληροφορική.pdfΑΠΑΝΤΗΣΕΙΣ - ΠΑΝΕΛΛΗΝΙΕΣ 2024 - 3 - πληροφορική.pdf
ΑΠΑΝΤΗΣΕΙΣ - ΠΑΝΕΛΛΗΝΙΕΣ 2024 - 3 - πληροφορική.pdf
 
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docxΑπολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
Απολογισμός Ομίλου Ρομποτικής - SxedioDrasis2023-24ApologismosRobotiki-F.docx
 
them_latin_gel_240606. latinika panellinies 2024pdf
them_latin_gel_240606. latinika panellinies 2024pdfthem_latin_gel_240606. latinika panellinies 2024pdf
them_latin_gel_240606. latinika panellinies 2024pdf
 
ΚΑΡΤΕΣ ΑΡΙΘΜΩΝ ΙΧΝΗΛΑΤΗΣΗΣ /ΠΡΟΓΡΑΦΙΚΕΣ ΑΣΚΗΣΕΙΣ
ΚΑΡΤΕΣ ΑΡΙΘΜΩΝ ΙΧΝΗΛΑΤΗΣΗΣ /ΠΡΟΓΡΑΦΙΚΕΣ ΑΣΚΗΣΕΙΣΚΑΡΤΕΣ ΑΡΙΘΜΩΝ ΙΧΝΗΛΑΤΗΣΗΣ /ΠΡΟΓΡΑΦΙΚΕΣ ΑΣΚΗΣΕΙΣ
ΚΑΡΤΕΣ ΑΡΙΘΜΩΝ ΙΧΝΗΛΑΤΗΣΗΣ /ΠΡΟΓΡΑΦΙΚΕΣ ΑΣΚΗΣΕΙΣ
 
PANELLINIES 2024 LATINIKA APANTISEIS.pdf
PANELLINIES 2024 LATINIKA APANTISEIS.pdfPANELLINIES 2024 LATINIKA APANTISEIS.pdf
PANELLINIES 2024 LATINIKA APANTISEIS.pdf
 
Θέματα χημείας -Πανελλαδικές εξετάσεις 2024
Θέματα χημείας  -Πανελλαδικές εξετάσεις 2024Θέματα χημείας  -Πανελλαδικές εξετάσεις 2024
Θέματα χημείας -Πανελλαδικές εξετάσεις 2024
 

diafanies.ppt

  • 1. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Συγγραφείς Α.Βακάλη Η. Γιαννόπουλος Ν. Ιωαννίδης Χ.Κοίλιας Κ. Μάλαμας Ι. Μανωλόπουλος Π. Πολίτης Γ΄ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου
  • 2. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 2 Θεματικές ενότητες μαθήματος Ανάλυση προβλήματος Σχεδίαση αλγορίθμων Υλοποίηση σε προγραμματιστικό περιβάλλον Αξιολόγηση-Τεκμηρίωση
  • 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 3 Καθορισμός προβλήματος Κατανόηση προβλήματος Δομή προβλήματος Καθορισμός απαιτήσεων Κατηγορίες προβλημάτων Κεφάλαιο 1 : Ανάλυση προβλήματος
  • 4. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 4  Μέτρηση χρόνου (στην αρχαιότητα)  Κοινωνικά προβλήματα (ναρκωτικά, ανεργία)  Φυσικά φαινόμενα (σεισμοί, πλημμύρες, επιδημίες)  Ενεργειακό πρόβλημα  Προστασία φυσικού περιβάλλοντος (τρύπα όζοντος)  Τεχνολογικά προβλήματα (Millennium Bug) Μία κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι προφανής, ούτε γνωστή. Κεφάλαιο 1 : Ανάλυση προβλήματος Η έννοια πρόβλημα Παραδείγματα Ορισμός
  • 5. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 5  Δεδομένο: οποιοδήποτε στοιχείο μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή με μία από τις πέντε αισθήσεις του.  Πληροφορία: οποιοδήποτε γνωσιακό στοιχείο προέρχεται από επεξεργασία δεδομένων.  Επεξεργασία Δεδομένων: η διαδικασία στην οποία ένας «μηχανισμός» δέχεται δεδομένα, τα επεξεργάζεται σύμφωνα με έναν καθορισμένο τρόπο και αποδίδει πληροφορίες. Κεφάλαιο 1 : Ανάλυση προβλήματος Κατανόηση προβλήματος Ορισμοί Μηχανισμοί επεξεργασίας:
  • 6. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 6 Λόγος (γραπτός ή προφορικός) : μέσο διατύπωσης προβλήματος Κεφάλαιο 1 : Ανάλυση προβλήματος Κατανόηση προβλήματος Σωστή Διατύπωση Σωστή Ερμηνεία Προϋποθέσεις κατανόησης προβλήματος Άστοχη χρήση ορολογίας Λανθασμένη σύνταξη Δυσκολίες κατανόησης προβλήματος
  • 7. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 7 Παράδειγμα 1: Τα δώρα Ο Γιάννης και η Μαρία είναι παντρεμένοι. Ο Χρήστος είναι αθλητικός τύπος. Η Ελένη είναι προϊσταμένη σε τράπεζα. Κεφάλαιο 1 : Ανάλυση προβλήματος Κατανόηση προβλήματος
  • 8. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 8 Τα συστατικά μέρη του προβλήματος, τα επιμέρους τμήματα που το αποτελούν, καθώς επίσης και τον τρόπο που αυτά τα μέρη συνδέονται μεταξύ τους. Κεφάλαιο 1 : Ανάλυση προβλήματος Δομή προβλήματος Ορισμός όσο περισσότερο αναλύουμε τα προβλήματα σε απλούστερα ελαττώνεται η δυσκολία των προβλημάτων
  • 9. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 9 Ορισμός αλγορίθμου Σπουδαιότητα αλγορίθμου Περιγραφή αναπαράσταση αλγορίθμου Βασικές συνιστώσες αλγορίθμου Δομή ακολουθίας Δομή επιλογής Δομή επανάληψης Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων
  • 10. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 10 Παράδειγμα : Αλγόριθμος για τη διαδικασία ενός γεύματος  να συγκεντρώσουμε τα υλικά,  να προετοιμάσουμε τα σκεύη μαγειρικής,  να παρασκευάσουμε το φαγητό,  να ετοιμάσουμε τη σαλάτα,  να στρώσουμε το τραπέζι,  να γευματίσουμε,  να καθαρίσουμε το τραπέζι, και  να πλύνουμε τα πιάτα και τα κουζινικά. Αλγόριθμος είναι ένα πεπερασμένο σύνολο εντολών αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, οι οποίες αν ακολουθηθούν επιτυγχάνεται ένα επιθυμητό αποτέλεσμα. Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Τι είναι αλγόριθμος Ορισμός
  • 11. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 11  Είσοδος (input) : μία ή περισσότερες τιμές δεδομένων ως είσοδοι στον αλγόριθμο  Έξοδος (output) : ο αλγόριθμος «παράγει» τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα  Καθοριστικότητα (defineteness) : κάθε εντολή καθορίζεται πολύ συγκεκριμένα  Περατότητα (finiteness) : ο αλγόριθμος τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης  Αποτελεσματικότητα (effectiveness) : ο αλγόριθμος αποτελείται από μεμονωμένες απλές εντολές Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Κριτήρια ενός αλγορίθμου
  • 12. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 12 ΠΛΗΡΟΦΟΡΙΚΗ : H επιστήμη που μελετά τους αλγόριθμους από τις σκοπιές : Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Σπουδαιότητα αλγορίθμων  Υλικού (hardware). Η ταχύτητα εκτέλεσης ενός αλγορίθμου επηρεάζεται από τις διάφορες τεχνολογίες υλικού,  Γλωσσών Προγραμματισμού (programming languages). Το είδος της γλώσσας προγραμματισμού που χρησιμοποιείται (δηλαδή, χαμηλότερου ή υψηλότερου επιπέδου) αλλάζει τη δομή και τον αριθμό των εντολών ενός αλγορίθμου.  Θεωρητική (theoretical). Η εξέταση του ερωτήματος για το αν πράγματι υπάρχει ή όχι κάποιος αποδοτικός αλγόριθμος για την επίλυση ενός προβλήματος.  Αναλυτική (analytical). Μελετώνται οι υπολογιστικοί πόροι που απαιτούνται από έναν αλγόριθμο.
  • 13. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 13 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων  ελεύθερο κείμενο (free text) : αποτελεί τον πιο ανεπεξέργαστο και αδόμητο τρόπο παρουσίασης αλγορίθμου.  διαγραμματικές τεχνικές : συνιστούν ένα γραφικό τρόπο παρουσίασης του αλγορίθμου (η πιο γνωστή είναι το διάγραμμα ροής-flow chart)  φυσική γλώσσα (natural language) : περιγραφή κατά βήματα.  κωδικοποίηση (coding) : ένα πρόγραμμα που όταν εκτελεσθεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο.
  • 14. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 14 ΤΕΛΟΣ ΑΡΧΗ Διάβασε a Εκτύπωσε a a > 0 ΝΑΙ ΟΧΙ Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Παράδειγμα αναπαράστασης αλγορίθμου με διάγραμμα ροής
  • 15. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 15 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Περιγραφή & αναπαράσταση αλγορίθμων Παράδειγμα αναπαράστασης αλγορίθμου με κωδικοποίηση σε ψευδογλώσσα Αλγόριθμος Παράδειγμα_2.1 Διάβασε a, b Αν a < b, τότε c  a+ b αλλιώς c  a * b Τέλος_αν Εκτύπωσε c Τέλος Παράδειγμα _2.1
  • 16. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 16 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Βασικές αλγοριθμικές δομές  Δομή ακολουθίας  Δομή επιλογής  Διαδικασίες πολλαπλών επιλογών  Εμφωλευμένες Διαδικασίες  Δομή επανάληψης
  • 17. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 17 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή ακολουθίας Η ακολουθιακή δομή εντολών (σειριακών βημάτων) χρησιμοποιείται για την αντιμετώπιση απλών προβλημάτων, όπου είναι δεδομένη η σειρά εκτέλεσης ενός συνόλου ενεργειών. Παράδειγμα : Να διαβασθούν δύο αριθμοί, να υπολογισθεί και να εκτυπωθεί το γινόμενο τους. Αλγόριθμος Παράδειγμα_2.2 Διάβασε a, b c  a * b Εκτύπωσε c Τέλος Παράδειγμα _2.2
  • 18. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 18 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή ακολουθίας Παράδειγμα : Με δεδομένη την ακτίνα, να υπολογισθεί το εμβαδόν του αντίστοιχου κύκλου και το εμβαδόν του τετραγώνου που είναι περιγεγραμμένο στον κύκλο αυτόν. Αλγόριθμος Παράδειγμα_2.3 Διάβασε aktina kyklos  3.14 * aktina * aktina plevra  2 * aktina tetragwno  plevra * plevra Εκτύπωσε kyklos, tetragwno Τέλος Παράδειγμα _2.3
  • 19. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 19 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επιλογής Η δομή της επιλογής χρησιμοποιείται στις περιπώσεις που χρειάζεται να λαμβάνονται κάποιες αποφάσεις με βάση κάποια δεδομένα κριτήρια, που μπορεί να είναι διαφορετικά για κάθε διαφορετικό στιγμιότυπο ενός προβλήματος. Παράδειγμα : Να διαβαστεί ένας αριθμός και να εκτυπωθεί η απόλυτη τιμή του Αλγόριθμος Παράδειγμα_2.4 Διάβασε a Αν a < 0 τότε a  a*(-1) Εκτύπωσε a Τέλος Παράδειγμα _2.4
  • 20. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 20 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επιλογής Αν συνθήκη τότε εντολή_1 εντολή_2 ... Τέλος_αν Αν συνθήκη τότε εντολή ή εντολές Αλλιώς εντολή ή εντολές Τέλος_αν Μορφή εντολής επιλογής
  • 21. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 21 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επιλογής Παράδειγμα 2.5 : Να διαβασθούν δύο αριθμοί και σε περίπτωση που ο πρώτος αριθμός είναι μικρότερος του δεύτερου, να υπολογισθεί και να εκτυπωθεί το άθροισμά τους, διαφορετικά να υπολογισθεί και να εκτυπωθεί το γινόμενό τους. ΤΕΛΟ Σ ΑΡΧ Η Δ ιάβασεa,b ca+b ca*b Εκτύπωσεc a<b Ν ΑΙ Ο ΧΙ
  • 22. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 22 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Διαδικασίες πολλαπλών επιλογών Οι διαδικασίες των πολλαπλών επιλογών χρησιμοποιούνται στα προβλήματα όπου μπορεί να ληφθούν διαφορετικές αποφάσεις ανάλογα με την τιμή που παίρνει μία μεταβλητή Παράδειγμα : Να διαβασθεί ένας ακέραιος και να εκτυπωθεί το αντίστοιχο γράμμα της αλφαβήτου αν ο ακέραιος έχει τιμή 1 ή 2 ή 3 διαφορετικά να εκτυπωθεί η λέξη “άγνωστος”. Αλγόριθμος Παράδειγμα_2.6 Διάβασε a Αν a = 1 τότε εκτύπωσε ‘Α’ αλλιώς_Αν a = 2 τότε εκτύπωσε ‘Β’ αλλιώς_Αν a = 3 τότε εκτύπωσε ‘Γ’ αλλιώς εκτύπωσε ‘άγνωστος’ Τέλος_αν Τέλος Παράδειγμα _2.6
  • 23. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 23 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Εμφωλευμένες Δομές Οι εμφωλευμένες δομές χρησιμοποιούνται στα προβλήματα όπου μπορεί να έχουμε αποφάσεις που να βασίζονται σε συνδυασμούς κριτηρίων και «λογικών» πράξεων. 3 ΛΟΓΙΚΕΣ ΠΡΑΞΕΙΣ ή και όχι Πρόταση Α Πρόταση Β Α ή Β Α και Β όχι Α Αληθής Αληθής Αληθής Αληθής Ψευδής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Ψευδής Αληθής Αληθής Ψευδής Αληθής Ψευδής Ψευδής Ψευδής Ψευδής Αληθής
  • 24. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 24 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Εμφωλευμένες Δομές Παράδειγμα : Να διαβάζονται 2 ακέραιοι για το ύψος & το βάρος ενός ατόμου. Να εκτυπώνεται “ελαφρύς” αν το βάρος είναι < 80 Kg (αλλιώς “βαρύς”). Να εκτυπώνεται “κοντός” αν το ύψος είναι < 1.70 (αλλιώς “ψηλός”). ΤΕΛΟΣ ΑΡΧΗ ΝΑΙ Διάβασε βάρος, ύψος ΟΧΙ Βάρος<80 Υψος<1.7 0 Υψος<1.7 0 Εκτύπωσε Βαρύς-ψηλός ΟΧΙ ΝΑΙ Εκτύπωσε Βαρύς-κοντός Εκτύπωσε Ελαφρύς-κοντός ΝΑΙ ΟΧΙ Εκτύπωσε Ελαφρύς-ψηλός
  • 25. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 25 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης Η δομή της επανάληψης χρησιμοποιείται στις περιπώσεις όπου μία ακολουθία εντολών πρέπει να εφαρμοσθεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι κοινό. Παράδειγμα : Να γραφεί αλγόριθμος που να εμφανίζει τους αριθμούς από 1 έως 100. Αλγόριθμος Παράδειγμα_2.7 i  1 Όσο i <= 100 επανάλαβε Εμφάνισε i i  i + 1 Τέλος_επανάληψης Τέλος Παράδειγμα _2.7
  • 26. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 26 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης Όσο συνθήκη επανάλαβε εντολή ή εντολές Τέλος_επανάληψης Για μεταβλητή από τ1 μέχρι τ2 με_βήμα β εντολή ή εντολές Τέλος_επανάληψης Επαναληπτικές Διαδικασίες Αρχή_επανάληψης εντολή ή εντολές Μέχρις_ότου συνθήκη
  • 27. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 27 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης Παράδειγμα 2.8 : Να διαβάζονται και να εκτυπώνονται όσοι θετικοί αριθμοί δίνονται από το πληκτρολόγιο. Ο αλγόριθμος τελειώνει όταν δοθεί ένας αρνητικός αριθμός. Αλγόριθμος Παράδειγμα_2.8 Αρχή_επανάληψης Διάβασε x Eμφάνισε x Μέχρις_ότου x < 0 Τέλος Παράδειγμα _2.8
  • 28. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 28 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Δομή επανάληψης Παράδειγμα 2.9 : Σε ένα μετεωρολογικό κέντρο χρειάζεται να βρεθεί η μέγιστη και η ελάχιστη θερμοκρασία από τις μέσες ημερήσιες θερμοκρασίες ενός μήνα. Να γραφεί ένας αλγόριθμος που θα διαβάζει τη μέση ημερήσια θερμοκρασία για κάθε ημέρα ενός μήνα 30 ημερών και θα υπολογίζει την ελάχιστη και τη μέγιστη από αυτές τις θερμοκρασίες Αλγόριθμος Παράδειγμα_2.9 ΜΙΝ 100 ΜΑΧ -100 Για i από 1 μέχρι 30 Διάβασε THΕΡ Αν THΕΡ < ΜΙΝ τότε ΜΙΝΤΗΕΡ Αν THΕΡ < ΜΑΧ τότε ΜΑΧΤΗΕΡ Τέλος_επανάληψης Τέλος Παράδειγμα _2.9
  • 29. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 29 Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων Ανακεφαλαίωση Στο Κεφάλαιο αυτό :  έγινε η πρώτη γνωριμία με την έννοια του αλγορίθμου  συζητήθηκε και παρουσιάσθηκε ο τρόπος αναπαράστασης των αλγορίθμων  αναπτύχθηκαν οι κυριότερες αλγοριθμικές δομές ΑΚΟΛΟΥΘΙΑ - ΕΠΙΛΟΓΗ - ΕΠΑΝΑΛΗΨΗ αλγόριθμος, ακολουθία, επιλογή, επανάληψη, Διάγραμμα ροής , ψευδογλώσσα, εμφωλευμένες διαδικασίες, βρόχος
  • 31. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 31 Δεδομένα Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα Πίνακες Στοίβα και Ουρά Αναζήτηση και Ταξινόμηση Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι
  • 32. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 32 Ο ορισμός αυτός είναι πρακτικός. Για παράδειγμα: σε ένα αρχείο μαθητών κρατούμε την τάξη, το τμήμα κλπ, αλλά όχι το ύψος, το βάρος κλπ. Δεδομένα είναι μία αφαιρετική αναπαράσταση της πραγματικότητας. Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Δεδομένα
  • 33. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 33 Τα δεδομένα είναι έννοια-κλειδί για την Πληροφο- ρική που μελετά τα δεδομένα απο τη σκοπιά του Υλικού των Γλωσσών προγραμματισμού των Δομών της Ανάλυσης Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Δεδομένα
  • 34. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 34 Δομή Δεδομένων είναι ένα σύνολο απο- θηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών. Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Αλγόριθμοι + Δομές = Προγράμματα Λειτουργίες: προσπέλαση, εισαγωγή, διαγραφή, αναζήτηση, ταξινόμηση, αντιγραφή, συγχώνευση, διαχωρισμός. Σημείωση: σπάνια για κάποια δομή χρησιμοποι- ούνται και οι οκτώ λειτουργίες. Κάθε δομή πλεο- νεκτεί και μειονεκτεί σε σχέση με άλλες δομές ως προς τις λειτουργίες αυτές.
  • 35. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 35 Η Δομή και ο Αλγόριθμος είναι συνυφασμένες έννοιες, όπως δηλώνεται από την ανωτέρω εξίσωση (Wirth, 1976). Κεφάλαιο 3: Δομές Δεδομένων και Αλγόριθμοι Αλγόριθμοι + Δομές = Προγράμματα Πρόβλημα: Να γραφεί αλγόριθμος που να δέχεται στην είσοδο ένα όνομα και να δίνει τον αντίστοιχο αριθμό τηλεφώνου στην έξοδο. Λύσεις διάφορες (ανάλογα με το πλήθος των συνδρομητών).
  • 36. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 36 Ο Πίνακας είναι μία στατική δομή δεδομέ- νων (το μέγεθός του καθορίζεται κατά τη μετάφραση και όχι κατά την εκτέλεση). Ο Πίνακας περιέχει δεδομένα ιδίου τύπου και μπορεί να έχει πολλές διαστάσεις. Συμβολίζεται με ένα όνομα και ένα δείκτη για κάθε διάσταση. Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Πίνακες
  • 37. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 37 Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Στοίβα Η στοίβα είναι μία δομή δεδομένων όπου επιτρέπονται δύο μόνο λειτουργίες: - εισαγωγή ή ώθηση (push), και - διαγραφή ή απώθηση (pop). Στηρίζεται στη φιλοσοφία LIFO (last-in-first-out), δηληδή Τελευταίο-μέσα-πρώτο-έξω. Υλοποιείται με ένα πίνακα και με τη βοήθεια μίας μεταβλητής: του δείκτη της στοίβας που δείχνει στο κορυφαίο στοιχείο του πίνακα.
  • 38. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 38 Η ουρά είναι μία δομή δεδομένων όπου επιτρέπονται δύο μόνο λειτουργίες: - εισαγωγή στο τέλος (enqueue), και - διαγραφή από την αρχή (dequeue). Στηρίζεται στη φιλοσοφία FIFO (first-in-first-out), δηληδή Πρώτο-μέσα-πρώτο-έξω, Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Ουρά Υλοποιείται με ένα πίνακα και δύο μεταβλητές που δείχνουν στο πρώτο και το τελευταίο στοιχείο.
  • 39. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 39 Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Αναζήτηση Σειριακή Αναζήτηση Το πρόβλημα της αναζήτησης είναι καίριο (ανα- ζήτηση ονομάτων σε καταλόγους, αριθμών σε λίστες, εικόνων σε άλμπουμ κλπ.) Συνήθως η αναζήτηση γίνεται σε πίνακες ταξινομημένων αριθμών. Δυαδική Αναζήτηση
  • 40. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 40 Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Αναζήτηση ΣΕΙΡΙΑΚΗ (ΓΡΑΜΜΙΚΗ) ΑΝΑΖΗΤΗΣΗ ΦΙΛΟΣΟΦΙΑ: Εξετάζει το περιεχόμενο κάθε θέσης του πίνακα, αν ισούται με το αναζητούμενο στοιχείο, αρχίζοντας από την αρχή και σαρώ-νοντας τις θέσεις μία-μία. Υλοποιείται σε πίνακα με ταξινομημένα αλλά και αταξινόμητα στοιχεία.
  • 41. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 41 Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Ταξινόμηση Σπουδαίο πρόβλημα γιατί επιταχύνει την αναζήτηση. Εξαιρετική πληθώρα αλγορίθμων που εφαρμόζονται ανάλογα με τις προϋποθέσεις του προβλήματος (μνήμη/δίσκος, είδος δεδομένων, εφαρμογής κλπ.) Ταξινόμηση είναι η διάταξη των στοιχείων ενός πίνακα με βάση ένα κριτήριο (πχ. αύξουσα/φθίνουσα τάξη)
  • 42. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 42 Κεφάλαιο 3 : Δομές Δεδομένων και Αλγόριθμοι Ταξινόμηση ΤΑΞΙΝΟΜΗΣΗ ΕΥΘΕΙΑΣ ΑΝΤΑΛΛΑΓΗΣ (ΤΑΞΙΝΟΜΗΣΗ ΦΥΣΣΑΛΙΔΑΣ) ΦΙΛΟΣΟΦΙΑ: Εξετάζει διαδοχικά ζεύγη στοιχείων μέχρι να διαταχθούν όλα τα στοιχεία. Αν ο πίνακας θεωρηθεί σε κατακόρυφη θέση, τότε τα μικρότερα στοιχεία ανεβαίνουν προς τα επάνω. Σε κάθε πέρασμα, ένα στοιχείο λαμβάνει την τελική του θέση
  • 43. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 43 Ανάλυση Προβλημάτων Μέθοδοι Σχεδίασης Αλγορίθμων Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων
  • 44. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 44 Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Ανάλυση Προβλημάτων Κατά την ανάλυση ενός προβλήματος καταγράφεται η υπάρχουσα πληροφορία, αναγνωρίζονται ιδιαιτερότητες, αποτυπώνονται συνθήκες και προϋποθέσεις, οπότε προτείνεται κάποια μέθοδος (ιδεατή), και επιλύεται το πρόβλημα με τον υπολογιστή.
  • 45. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 45 Κεφάλαιο 4 : Τεχνικές Σχεδίασης Αλγορίθμων Ανάλυση Προβλημάτων Πρόβλημα: με ποιά σειρά πρέπει ένας ταχυδρομικός διανομέας να επισκεφθεί κάποια χωρία ώστε να ελαχιστοποιήσει τη συνολική απόσταση που θα διανύσει ?? Πιθανές λύσεις κάθε φορά να διαλέγει τον κοντινότερο προορισμό να ακολουθήσει ένα δρομολόγιο που να ελαχιστο- ποιεί τη συνολική απόσταση και όχι τις επιμέρους.
  • 47. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 47 Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Διδακτικοί στόχοι  Να ορίζετε τι είναι πρόγραμμα.  Να κατατάσσετε τις γλώσσες προγραμματισμού.  Να συγκρίνετε τις διάφορες γλώσσες προγραμματισμού.  Να αναγνωρίζετε τα κυριότερα είδη προγραμματισμού.  Να περιγράφετε τα βασικά χαρακτηριστικά των τεχνικών που χρησιμοποιούνται στον προγραμματισμό.  Να διατυπώνετε τα πλεονεκτήματα του δομημένου προγραμματισμού.  Να περιγράφετε τη διαδικασία εκτέλεσης ενός προγράμματος.  Να αναφέρετε τα βασικά προγράμματα που περιέχει ένα προγραμματιστικό περιβάλλον
  • 48. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 48 Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό  Η έννοια του προγράμματος  Φυσικές και τεχνητές γλώσσες.  Τεχνικές σχεδίασης προγραμμάτων  Δομημένος προγραμματισμός  Αντικειμενοστραφής προγραμματισμός  Παράλληλος προγραμματισμός  Προγραμματιστικά περιβάλλοντα
  • 49. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 49 Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Τεχνικές σχεδίασης προγραμμάτων  Ιεραρχική σχεδίαση προγράμματος  Τμηματικός προγραμματισμός  Δομημένος προγραμματισμός
  • 50. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 50 Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Πλεονεκτήματα του δομημένου προγραμματισμού  Δημιουργία απλούστερων προγραμμάτων.  Άμεση μεταφορά των αλγορίθμων σε προγράμματα.  Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα.  Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος.  Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους.  Ευκολότερη διόρθωση και συντήρηση.
  • 51. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 51  να διακρίνετε τις σταθερές από τις μεταβλητές.  να αναγνωρίζετε τους διάφορους τύπους μεταβλητών.  να μετατρέπετε τις αριθμητικές πράξεις σε εντολές προγράμματος.  να διατυπώνετε τη δομή ενός προγράμματος.  να συντάσσετε απλά προγράμματα τα οποία εισάγουν δεδομένα, τα επεξεργάζονται και εμφανίζουν τα αποτελέσματα στην οθόνη. Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Διδακτικοί στόχοι
  • 52. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 52 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού  Το αλφάβητο της ΓΛΩΣΣΑΣ  Τύποι δεδομένων  Σταθερές  Μεταβλητές  Αριθμητικοί τελεστές  Αριθμητικές εκφράσεις  Εντολή εκχώρησης  Εντολές εισόδου -εξόδου  Δομή προγράμματος
  • 53. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 53 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Το αλφάβητο της ΓΛΩΣΣΑΣ  Γράμματα Α-Ω, α-ω, Α-Ζ, a-z  Ψηφία 0-9  Ειδικοί χαρακτήρες + - * / = ^ ( ) . , ' ! & κενός χαρακτήρας
  • 54. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 54 Τύποι δεδομένων  Ακέραιος τύπος  Πραγματικός τύπος  Χαρακτήρας Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού
  • 55. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 55 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Σταθερές Αντιστοίχηση σταθερών τιμών με ονόματα Μεταβλητές Παράσταση ποσοτήτων που οι τιμές μπορούν να αλλάζουν κατά την εκτέλεση του προγράμματος.
  • 56. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 56 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Αριθμητικοί τελεστές  Αριθμητικός τελεστής Πράξη + Πρόσθεση - Αφαίρεση * Πολλαπλασιασμός / Διαίρεση ^ Ύψωση σε δύναμη DIV Ακέραια διαίρεση MOD Υπόλοιπο ακέραιας διαίρεσης.
  • 57. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 57 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Εντολή εκχώρησης ΜΟΡΦΗ Όνομα-Μεταβλητής <- παράσταση ΠΑΡΑΔΕΙΓΜΑΤΑ Α<-132 ΜΗΝΑΣ<- 'Ιανουάριος’ ΕΜΒΑΔΟΝ<-Α*Β
  • 58. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 58 Κεφάλαιο 7: Βασικά στοιχεία προγραμματισμού Εντολές εισόδου- εξόδου ΜΟΡΦΗ ΔΙΑΒΑΣΕ λίστα-μεταβλητών ΠΑΡΑΔΕΙΓΜΑΤΑ ΔΙΑΒΑΣΕ Ποσότητα, Τιμή ΜΟΡΦΗ ΓΡΑΨΕ λίστα-στοιχείων ΠΑΡΑΔΕΙΓΜΑΤΑ ΓΡΑΨΕ 'Η τετραγωνική ρίζα του', Α,' είναι: ',ΡΙΖΑ
  • 59. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 59 Κεφάλαιο 8: Επιλογή και επανάληψη Διδακτικοί στόχοι  να σχηματίζετε λογικές εκφράσεις  να διατυπώνετε τις εντολές ελέγχου ΑΝ  να επιλέγετε την καταλληλότερη εντολή ΑΝ  να διατυπώνετε τις εντολές επανάληψης  να επιλέγετε την καλύτερη δομή επανάληψης  να συντάσσετε προγράμματα που χρησιμοποιούν και τις τρεις βασικές δομές: της ακολουθίας, της επιλογής και της επανάληψης.
  • 60. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 60 Κεφάλαιο 8: Επιλογή και επανάληψη  Λογικές εκφράσεις Τελεστής Ελεγχόμενη σχέση Παράδειγμα  = Ισότητα Αριθμός=0  <> Ανισότητα Ονομα1 <> 'Κώστας'  > Μεγαλύτερο από Τιμή>10000  >= Μεγαλύτερο ή ίσο Χ+Υ >= (Α+Β)/Γ  < Μικρότερο από Β^2-4*Α*Γ < 0  <= Μικρότερο ή ίσο Βάρος <= 500
  • 61. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 61 Κεφάλαιο 8: Επιλογή και επανάληψη Εντολή ΑΝ  Σύνταξη ΑΝ συνθήκη ΤΟΤΕ εντολή-1 εντολή-2 … εντολή-ν ΤΕΛΟΣ_ΑΝ Παράδειγμα ΑΝ αριθμός > 0 ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι θετικός' Πλήθος_θετικών <- πλήθος_θετικών+1 ΤΕΛΟΣ_ΑΝ
  • 62. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 62 Κεφάλαιο 8: Επιλογή και επανάληψη Εντολή ΑΝ ΤΟΤΕ ΑΛΛΙΩΣ Σύνταξη ΑΝ συνθήκη ΤΟΤΕ εντολή-1 εντολή-2 … εντολή-ν ΑΛΛΙΩΣ εντολή-1 Εντολή-2 … εντολή-ν ΤΕΛΟΣ_ΑΝ  Παράδειγμα ΑΝ αριθμός > 0 ΤΟΤΕ ΓΡΑΨΕ 'Ο αριθμός είναι θετικός’ Πλήθος_θετικών <- Πλήθος_θετικών+1 ΑΛΛΙΩΣ ΓΡΑΨΕ 'Ο αριθμός είναι αρνητικός ή 0’ Πλήθος_μη_θετικών <- Πλήθος_μη_θετικών +1 ΤΕΛΟΣ_ΑΝ