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

ΑΕΠΠ ΚΕΦ 6

  • Upload
    educast

  • View
    1.750

  • Download
    1

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: ΑΕΠΠ ΚΕΦ 6

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

Συγγραφείς Α.ΒακάληΗ. ΓιαννόπουλοςΝ. ΙωαννίδηςΧ.ΚοίλιαςΚ. ΜάλαμαςΙ. ΜανωλόπουλοςΠ. Πολίτης

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

Ενιαίου ΛυκείουΕνιαίου Λυκείου

Διδάσκων: Τσιωτάκης Παναγιώτης

Page 2: ΑΕΠΠ ΚΕΦ 6

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

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

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 3: ΑΕΠΠ ΚΕΦ 6

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

Η έννοια του προγράμματοςΗ έννοια του προγράμματος

Ηεπίλυσηενόςπροβλήματοςμετονυπολογιστήπεριλαμβάνειτρίαστάδια

Τονακριβήπροσδιορισμότουπροβλήματος

Τηνανάπτυξητουαντίστοιχουαλγορίθμου

Τηδιατύπωσητουαλγορίθμουσεκατανοητήμορφήαπότονυπολογιστή

Οπρογραμματισμόςασχολείταιμετοτρίτοαυτόστάδιο

Page 4: ΑΕΠΠ ΚΕΦ 6

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

Η έννοια του προγράμματοςΗ έννοια του προγράμματος

Οπρογραμματισμόςείναιαυτόςπουδίνειτηνεντύπωσηότιοιυπολογιστέςείναιέξυπνεςμηχανέςπουεπιλύουνταπολύπλοκαπροβλήματα

Ουπολογιστήςείναιμίαμηχανήπουκαταλαβαίνειμόνοδύοκαταστάσειςτομηδένκαιτοέναταψηφίατουδυαδικούσυστήματος

Ουπολογιστήςμπορείαπλάνααποθηκεύειστημνήμητιςακολουθίεςτωνδυαδικώνψηφίωννατιςανακτάνακάνειστοιχειώδειςαριθμητικέςπράξειςμεαυτέςκαινατιςσυγκρίνει

Page 5: ΑΕΠΠ ΚΕΦ 6

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

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

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 6: ΑΕΠΠ ΚΕΦ 6

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

Ιστορική αναδρομήΙστορική αναδρομή

Οιπρώτοιυπολογιστέςτεράστιοισεμέγεθοςαλλάμεπάραπολύπεριορισμένεςδυνατότητεςκαιμικρέςταχύτηταςεπεξεργασίας

Εξελίχθηκανσεπολύμικρούςσεμέγεθοςυπολογιστέςμετεράστιεςόμωςδυνατότητεςκαιταχύτητεςεπεξεργασίας

Τηνίδιααργήεξέλιξηουσιαστικάέχουνκαιοιγλώσσεςπρογραμματισμούοιοποίεςανκαιεξελίσσονταικαισυνεχώςεμπλουτίζονταιμενέεςδυνατότητεςταχαρακτηριστικάτουςκαιοιβασικέςτουςιδιότητεςουσιαστικάπαραμένουνταίδια

Page 7: ΑΕΠΠ ΚΕΦ 6

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

…Ιστορική αναδρομή

– Γλώσσες μηχανής– Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου– Γλώσσες υψηλού επιπέδου– Γλώσσες 4ης γενιάς

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 8: ΑΕΠΠ ΚΕΦ 6

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

Η έννοια του προγράμματοςΗ έννοια του προγράμματος

Αρχικάέπρεπεναδοθούνκατευθείανοικατάλληλεςακολουθίεςαπόκαιδηλαδήεντολέςσεμορφήκατανοητήαπότονυπολογιστή

Ελάχιστοιμπορούσαννατοκάνουναφούαπαιτούσεβαθιάγνώσητουυλικούκαιτηςαρχιτεκτονικήςτουυπολογιστή

ήήήήή “Οπρώτοςυπολογιστήςοπερίφημος γιαναπ ρογραμματιστεί” ώστεναεκτελέσεικάποιουςυπολογισμούςέπρεπενααλλάξουνθέσηεκατοντάδεςδιακόπτεςκαιναρυθμιστούναντίστοιχαόλεςοικαλωδιώσεις

Page 9: ΑΕΠΠ ΚΕΦ 6

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

Η έννοια του προγράμματοςΗ έννοια του προγράμματος

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

, μηχανήςόπωςονομάζονταιοιοποίεςεκτελούνταιαπότονυπολογιστή

Page 10: ΑΕΠΠ ΚΕΦ 6

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

…Ιστορική αναδρομή

– Γλώσσες μηχανής– Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου– Γλώσσες υψηλού επιπέδου– Γλώσσες 4ης γενιάς

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 11: ΑΕΠΠ ΚΕΦ 6

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

Συμβολικές γλώσσες ή γλώσσες Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδουχαμηλού επιπέδου

Γίνοντανπροσπάθειεςγιατηδημιουργίαμίαςσυμβολικήςγλώσσαςηοποίαενώθαέχειέννοιαγιατονάνθρωποθαμετατρέπεταιεσωτερικάαπότουςυπολογιστέςστιςαντίστοιχεςακολουθίεςαπόκαι

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

Τοέργοτηςμετάφρασηςτοαναλαμβάνειέναειδικόπρόγραμμαο συμβολομεταφραστής ςςςςςςςςςς

Page 12: ΑΕΠΠ ΚΕΦ 6

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

Συμβολικές γλώσσες ή γλώσσες Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδουχαμηλού επιπέδου

Ωστόσοπαρέμενανστενάσυνδεδεμένεςμετηναρχιτεκτονικήτουκάθευπολογιστή

Επίσηςδενδιέθετανεντολέςπιοσύνθετωνλειτουργιώνοδηγώνταςέτσισεμακροσκελήπρογράμματαπουήτανδύσκολοναγραφούνκαικύριανασυντηρηθούν

Οιγλώσσεςαυτέςονομάζονταισυμβολικέςήγλώσσεςχαμηλούεπιπέδουαφούεξαρτώνταιαπότηναρχιτεκτονικήτουυπολογιστή

Page 13: ΑΕΠΠ ΚΕΦ 6

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

…Ιστορική αναδρομή

– Γλώσσες μηχανής– Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου– Γλώσσες υψηλού επιπέδου– Γλώσσες 4ης γενιάς

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 14: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

Οιπαραπάνωανεπάρκειεςτωνσυμβολικώνγλωσσώνοδήγησανστατέλητης δεκαετίαςτου στην εμφάνιση των πρώτων γλωσσώνπρογραμματισμούυψηλούεπιπέδου

υυυυυυυυυυυυυυυυυυυυυυυυυυ υυυυυυ υυυυυυ υυυυυυυυΤο η ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδουτη . F O R T R A N

NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNΤοόνομα προέρχεται από τις λέξεις πουσημαίνουνμετάφρασητύπων

νννννννννννννννννννΗ αναπτύχθηκε ωςγλώσσακατάλληληγιατηνεπίλυσημαθηματικώνκαιεπιστημονικώνπροβλημάτων

Page 15: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

Τοίδιοπρόγραμμα λώσ � ε ςμπορείναεκτελεστείσεοποιοδήποτεάλλουπολογιστήαρκείναυπάρχειοαντίστοιχοςμεταγλωττιστήςγιατονυπολογιστήαυτό

Ηγλώσσα μετάαπόπολλέςαλλαγέςπροσθήκεςκαιβελτιώσειςχρησιμοποιείταιακόμηκαισήμεραγιαεπιστημονικέςεφαρμογές

Page 16: ΑΕΠΠ ΚΕΦ 6

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

FORTRANFORTRAN

Page 17: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

ΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΤο αναπτύχθηκε μία άλλη γλώσσα σταθμός σττττττονπρογραμματισμόηγλώσσα

Η λώσ� είναικατάλληληγιαανάπτυξηεμπορικώνεφαρμογώνκαιγενικότεραδιαχειριστικώνεφαρμογώντομέαςόπου

η υστερούσε

Page 18: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

ΜιααπότιςσημαντικότερεςγλώσσαπρογραμματισμούμεελάχιστηπρακτικήεφαρμογήαλλάπουεπηρέασειδιαίτερατονπρογραμματισμόκαιτιςεπόμενεςγλώσσεςείναιηA L G O L

LLLLLΑναπτύχθηκεαπόΕυρωπαίουςεπιστήμονεςαρχικάτο μεσκοπότηδημιουργίαγενικήςφύσηςπρογραμμάτωνπουναμησυνδέονταιμεσυγκεκριμένεςεφαρμογές

Page 19: ΑΕΠΠ ΚΕΦ 6

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

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

Page 20: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

ΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΣταμέσατηςδεκαετίαςτου αναπτύχθηκε η γλώσσα/1P L

πουπροσπάθησεχωρίςεπιτυχίανακαλύψειόλουςτουςτομείςτουπρογραμματισμούεπιστημονικούςκαιεμπορικούςαντικαθιστώνταςτόσοτη όσοκαιτην

ΣτοχώροτηςΤεχνητήςΝοημοσύνηςαναπτύχθηκανδύογλώσσεςαρκετά διαφορετικέςαπόόλεςτιςάλλεςΣταμέσατου αναπτύχθηκεστοΜΙΤηL IS P γλώσσαηοποίαπροσανατολίζεταισεχειρισμόλιστώναπόσύμβολακαιηP R O L O G

στιςαρχέςτου

Page 21: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

Δύοσημαντικότατεςγλώσσεςγενικούσκοπούοιοποίεςαναπτύχθηκαν τηδεκαετίατου αλλά χρησιμοποιούνται πάραπολύστιςημέρεςμαςείναι η και η

Page 22: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

Ηγλώσσαπρογραμματισμού B A S ICαρχικάαναπτύχθηκεωςγλώσσαγιατηνεκπαίδευσηαρχαρίωνστονπρογραμματισμό

Σχεδιάστηκεγιαναγράφονταισύντομαπρογράμματαταοποίαεκτελούνταιμετηβοήθεια διερμηνευτή

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

Page 23: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

Ηγλώσσα P A S C A Lέφερεμεγάλεςαλλαγέςστονπρογραμματισμό

όόόόόόόόόόόόόόόόόόόόόόό όόόόόόόόόόΠαρουσιάστηκετο και στηρίχτηκε πάνω στην

Είναιμίαγλώσσαγενικήςχρήσηςηοποίαείναικατάλληλητόσογιατηνεκπαίδευσηόσοκαιτηδημιουργίαισχυρώνπρογραμμάτωνκάθετύπου

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

Page 24: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

ΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΓΗ γνώρισε και συνεχίζειναγνωρίζειτεράστιαεξάπλωσηειδικάστοχώροτωνμικροϋπολογιστώνκαιαποτέλεσετηβάσηγιατηνανάπτυξηάλλωνισχυρότερωνγλωσσώνόπως

η καιη

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

Page 25: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

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

Οδομημένοςπρογραμματισμόςκαιταχαρακτηριστικάτουθαπαρουσιαστούνεκτενώςσεεπόμενηπαράγραφο

Page 26: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

ΜίαακόμηγλώσσαπουγνώρισεμεγάληδιάδοσηείναιηγλώσσαC

CΗ αναπτύχθηκεσταεργαστήριατηςεταιρείας καιχρησιμοποιήθηκεγιατηνανάπτυξητουλειτουργικούσυ

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

υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υ υΗ εξελίχτηκε στη γλώσσα που είναι αντικειμενοστραφής

Page 27: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

ΤατελευταίαχρόνιαχρησιμοποιείταιιδιαίτεραειδικάγιαπρογραμματισμόστοΔιαδίκτυοηJ A V A

AAAAAA είναιμίααντικειμενοστραφήςγλώσσαπουαναπτύχχχχχχχχχχχχχχχχχχχχχχχχχχθηκεαπότηνεταιρεία με σκοπό την ανάπτυξη

εφαρμογώνπουθαεκτελούνταισεδιαφορετικούςυπολογιστέςοιοποίοιείναισυνδεδεμένοιστοΔιαδίκτυο

Ταπρογράμματααυτάμπορούνναεκτελούνταιαπόδιαφορετικούςυπολογιστέςπροσωπικούςήμεγάλασυστήματαμεδιαφορετικάλειτουργικάσυστήματαχωρίςαλλαγές

Page 28: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

Ηεμφάνισητωνγραφικώνπεριβαλλόντωνεργασίαςδημιούργησετηνανάγκηγιαανάπτυξηαντιστοίχωνπρογραμμάτων

Έτσιεμφανίστηκανγλώσσεςήνέεςεκδόσειςτωνγλωσσώνπουυλοποιούσαντιςέννοιεςτου οδηγούμενου από το

γεγονός προγραμματισμούύύύύύύύύύύύύύύύύύύύύύύύύύύύύύύύύύύύ και του οπτικο ύ π ρογραμματισμού ύύύύύύύύύύύύύύύύύύύ

Page 29: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες υψηλού επιπέδουΓλώσσες υψηλού επιπέδου

Μετονόροοπτικόπρογραμματισμό εννοούμετηδυνατότηταναδημιουργούμεγραφικάπεριβάλλοντα

Μετονόροοδηγούμενοαπότογεγονόςπρογραμματισμό εννοούμετηδυνατότηταναενεργοποιούνταιλειτουργίεςτουπρογράμματοςμετηνεκτέλεσηενόςγεγονότοςγιαπαράδειγματηνεπιλογήμίαςεντολήςαπόέναμενούήτοκλικτουποντικιού

Οιπιοδιαδεδομένεςγλώσσεςπρογραμματισμούσεγραφικόπεριβάλλον γιαπροσωπικούςυπολογιστέςείναιη η και η � Τ

Page 30: ΑΕΠΠ ΚΕΦ 6

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

Πλεονεκτήματα των γλωσσώνΠλεονεκτήματα των γλωσσώνυψηλού επιπέδουυψηλού επιπέδου

“ ”Οφυσικότεροςκαιπιο ανθρώπινος τρόποςέκφρασηςτωνπροβλημάτων

ΗανεξαρτησίααπότοντύποτουυπολογιστήΗδυνατότητατηςμεταφερσιμότητας τωνπρογραμμάτωνείναισημαντικόπροσόν

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

Ηδιόρθωσηλαθώνκαιησυντήρησηπρογραμμάτωνσεγλώσσαυψηλούεπιπέδουείναιπολύευκολότεροέργο

Ελάττωσαντοχρόνοκαιτοκόστοςπαραγωγήςνέωνπρογραμμάτων

Page 31: ΑΕΠΠ ΚΕΦ 6

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

…Ιστορική αναδρομή

– Γλώσσες μηχανής– Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου– Γλώσσες υψηλού επιπέδου– Γλώσσες 4ης γενιάς

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 32: ΑΕΠΠ ΚΕΦ 6

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

Γλώσσες 4ης γενιάςΓλώσσες 4ης γενιάς

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

Page 33: ΑΕΠΠ ΚΕΦ 6

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

Ταξινόμηση γλωσσώνΤαξινόμηση γλωσσώνπρογραμματισμούπρογραμματισμού

‘Ολεςοιγλώσσεςπρογραμματισμούπουέχουναναπτυχθείμέχρισήμερααντιπροσωπεύουνδιάφορεςιδέεςπάνωστονπρογραμματισμόκαιηκάθεμίαείναισυνήθωςκαλύτεραπροσαρμοσμένησεορισμένεςκατηγορίεςπροβλημάτων

Ημεγάληπλειοψηφίατωνγλωσσώνανήκειστηνκατηγορίατων διαδικασιακών ύ ύ ύ ύ ύ ύ ύ ύ ύ ύ ύ ύ ύ ύ ύ ύ ύ ύ ύ γλωσσών

Είναιγνωστέςεπίσηςκαιως αλγοριθμικέςγλώσσεςγιατίείναισχεδιασμένεςγιαναεπιτρέπουντηνυλοποίησηαλγορίθμων

Page 34: ΑΕΠΠ ΚΕΦ 6

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

Ταξινόμηση γλωσσώνΤαξινόμηση γλωσσώνπρογραμματισμού – Γενικάπρογραμματισμού – Γενικά

Αντικειμενοστραφείς γλώσσεςς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς ς

Συναρτησιακές γλώσσεςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςς π χ

Μη διαδικασιακές γλώσσεςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςς π χ Ε Ε Ε Ε Ε Ε Χαρακτηρίζονταιεπίσηςκαιωςγλώσσεςπολύυψηλούεπιπέδου

Γλώσσες ερωταπαντήσεωνννννννννννννννννννννννννν π χ

Page 35: ΑΕΠΠ ΚΕΦ 6

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

Ταξινόμηση με βάση περιοχή χρήσηςΤαξινόμηση με βάση περιοχή χρήσης

. Γλώσσες γενικής χρήσηςΘεωρητικάκάθεγλώσσαγενικήςχρήσηςμπορείναχρησιμοποιηθείγιατηνεπίλυσηοποιουδήποτεπροβλήματος

Στηνπράξηωστόσοκάθεγλώσσαέχεισχεδιαστείγιαναανταποκρίνεταικαλύτερασεορισμένηκατηγορίαπροβλημάτ

των– Γλώσσες επιστημονικής κατεύθυνσης

ςςςςςςςςςςςςςςςςςςςςςςςςςςς πχ

– Γλώσσες εμπορικής κατεύθυνσηςςςςςςςςςςςςςςςςςςςςςςςςςςςςς πχ

Page 36: ΑΕΠΠ ΚΕΦ 6

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

Ταξινόμηση με βάση περιοχή χρήσηςΤαξινόμηση με βάση περιοχή χρήσης

Γλώσσες προγραμματισμού συστημάτωννννννννννννννννννν πχ

Γλώσσες τεχνητής νοημοσύνηςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςς π χ

. Γλώσσες ειδικής χρήσηςΠρόκειταιγιαγλώσσεςπουχρησιμοποιούνταισεειδικέςπεριοχέςεφαρμογώνστηρομποτική

Page 37: ΑΕΠΠ ΚΕΦ 6

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

Ποια είναι η καλύτερη γλώσσα Ποια είναι η καλύτερη γλώσσα προγραμματισμούπρογραμματισμού

Υπάρχουνγλώσσεςκατάλληλεςγιαανάπτυξηειδικώνεφαρμογώνκαιάλλεςκατάλληλεςγιαγενικήχρήση

Υπάρχουνγλώσσεςκατάλληλεςγιαεκπαίδευσηκαιάλλεςγιαανάπτυξηεμπορικώνεφαρμογών

Γλώσσεςπουεπιτρέπουντηνεύκοληανάπτυξηεφαρμογώνσεγραφικόπεριβάλλονκαιάλλεςπουεκμεταλλεύονταιταπαράλληλασυστήματα

Υπάρχουνγλώσσεςισχυρέςκαιγλώσσεςχωρίςμεγάλεςδυνατότητεςαλλάαπλέςκαιεύκολεςστηνεκμάθηση

Page 38: ΑΕΠΠ ΚΕΦ 6

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

Ποια είναι η καλύτερη γλώσσα Ποια είναι η καλύτερη γλώσσα προγραμματισμούπρογραμματισμού

Οπρογραμματιστής “ ”καλείταιναεπιλέξειτην καλύτερη γλώσσαγιαναυλοποιήσειτοπρόγραμμα

μ μ μ μ Μπορού ε να ισχυριστού ε ε βεβαιότητα ότι ία μ μ μγλώσσα προγρα ατισ ού που να είναιμ ,αντικει ενικά καλύτερη από τις άλλες δεν υπάρχει

ούτε πρόκειται να υπάρξει

Ηεπιλογήτηςγλώσσαςεξαρτάταιαπότοείδοςτηςεφαρμογήςτουπολογιστικόπεριβάλλονστοοποίοθαεκτελεστείταπρογραμματιστικάπεριβάλλονταπουδιαθέτουμεκαικυρίωςτιςγνώσειςτουπρογραμματιστή

Page 39: ΑΕΠΠ ΚΕΦ 6

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

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

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 40: ΑΕΠΠ ΚΕΦ 6

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

Το αλφάβητοΤο αλφάβητο

Αλφάβητομίαςγλώσσαςκαλείταιτοσύνολοτωνστοιχείωνπουχρησιμοποιείταιαπότηγλώσσα

ααααααααΠχηελληνικήγλώσσαπεριέχειταεξήςστοιχεία Τα γράάάάάάάάάάάάάάμματατουαλφαβήτουπεζάκαικεφαλαία δηλαδή χαρ

ρρρρρρρρρρρρρρρρρρρρρρρακτήρεςΑΩκαιαωταψηφία και όλα τα σημεία στίξης

Αντίστοιχαηαγγλικήγλώσσαπεριλαμβάνειταγράμματα τουαγγλικούαλφαβήτου και καθώς και τα

ψηφίακαιόλατασημείαστίξηςπουχρησιμοποιούνται

Page 41: ΑΕΠΠ ΚΕΦ 6

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

Το λεξιλόγιοΤο λεξιλόγιο

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

ΓιαπαράδειγμαστηνελληνικήγλώσσαηακολουθίατωνγραμμάτωνΑΒΓΑείναιδεκτήαφούαποτελείλέξηαλλάηακολουθίαΑΒΓΔΑδεναποτελείλέξητηςελληνικήςγλώσσαςάραδενείναιδεκτή

Page 42: ΑΕΠΠ ΚΕΦ 6

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

Η γραμματικήΗ γραμματική

ΗΓραμματικήαποτελείταιαπότο τυπικό ή τυπολογικόόόόόόόόόόόόόόόόόόό και το συντακτικό όόόόόόό

Τυπικόείναιτοσύνολοτωνκανόνωνπουορίζειτιςμορφέςμετιςοποίεςμίαλέξηείναιαποδεκτή

Γιαπαράδειγμαστηνελληνικήγλώσσαοιλέξειςγλώσσαγλώσσαςγλώσσεςείναιδεκτέςενώηλέξηγλώσσατδενείναιαποδεκτή

Page 43: ΑΕΠΠ ΚΕΦ 6

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

Η γραμματικήΗ γραμματική

Συντακτικόείναιτοσύνολοτωνκανόνωνπουκαθορίζειτηνομιμότητατηςδιάταξηςκαιτηςσύνδεσηςτωνλέξεωντηςγλώσσαςγιατηδημιουργίαπροτάσεων

Ηγνώσητουσυντακτικούεπιτρέπειτηδημιουργίασωστώνπροτάσεωνστιςφυσικέςγλώσσεςενώστιςγλώσσεςπρογραμματισμούτηδημιουργίασωστώνεντολών

Page 44: ΑΕΠΠ ΚΕΦ 6

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

Η σημασιολογίαΗ σημασιολογία

ΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗσημασιολογία είναι το σύνολο των κανόνωνπουκαθορίζειτονόηματωνλέξεωνκαικατάεπέκτασητωνεκφράσεωνκαιπροτάσεωνπουχρησιμοποιούνταισεμίαγλώσσα

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

Page 45: ΑΕΠΠ ΚΕΦ 6

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

Διαφορές φυσικών και Διαφορές φυσικών και τεχνητών γλωσσώντεχνητών γλωσσών

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

Οιφυσικέςγλώσσεςεξελίσσονταισυνεχώςνέεςλέξειςδημιουργούνταικανόνεςγραμματικήςκαισύνταξηςαλλάζουν

Αντίθεταοιτεχνητέςγλώσσεςχαρακτηρίζονταιαπόστασιμότητααφούκατασκευάζονταισυνειδητάγιαένασυγκεκριμένοσκοπό

Page 46: ΑΕΠΠ ΚΕΦ 6

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

Διαφορές φυσικών και Διαφορές φυσικών και τεχνητών γλωσσώντεχνητών γλωσσών

Ωστόσοσυχνάοιγλώσσεςπρογραμματισμούβελτιώνονταικαιμεταβάλλονταιαπότουςδημιουργούςτουςμεσκοπόό

ναδιορθωθούναδυναμίες

νακαλύψουνμεγαλύτεροεύροςεφαρμογών

ναακολουθήσουντιςνέεςεξελίξεις

Page 47: ΑΕΠΠ ΚΕΦ 6

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

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

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 48: ΑΕΠΠ ΚΕΦ 6

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

Γίνονταισυνεχείςπροσπάθειεςγιαανάπτυξημεθοδολογιώνκαιτεχνικώνπρογραμματισμούπουθαεξασφαλίζουντηδημιουργίααπλώνκαικομψώνπρογραμμάτων…Τεχνικές σχεδίασης προγραμμάτων

– Ιεραρχική σχεδίαση προγράμματος– Τμηματικός προγραμματισμός– Δομημένος προγραμματισμός

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 49: ΑΕΠΠ ΚΕΦ 6

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

Ιεραρχική σχεδίαση προγράμματοςΙεραρχική σχεδίαση προγράμματος

Ητεχνικήτηςιεραρχικήςσχεδίασηςκαιεπίλυσηςήηδιαδικασίασχεδ“ ” ”””””””””ίασης απόεπάνωπροςτακάτω όπωςσυχνάονομάζεται

Σκοπόςτηςιεραρχικήςσχεδίασηςείναιηδιάσπασητουπροβλήματοςσεαπλούστεραυποπροβλήματαταοποίαναείναιεύκολοναεπιλυθούν

Page 50: ΑΕΠΠ ΚΕΦ 6

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

…Τεχνικές σχεδίασης προγραμμάτων

– Ιεραρχική σχεδίαση προγράμματος– Τμηματικός προγραμματισμός– Δομημένος προγραμματισμός

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 51: ΑΕΠΠ ΚΕΦ 6

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

Τμηματικός προγραμματισμόςΤμηματικός προγραμματισμός

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

Μετάτηνανάλυσητουπροβλήματοςσεαντίστοιχαυποπροβλήματακάθευποπρόβλημααποτελείανεξάρτητη ενότηταααααααααααααααααααααααααααααααααααααααααααααααααα που γράφεται ξεχωριστά από τα υπόλοιπα τμήματαπρογράμματος

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

Page 52: ΑΕΠΠ ΚΕΦ 6

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

…Τεχνικές σχεδίασης προγραμμάτων

– Ιεραρχική σχεδίαση προγράμματος– Τμηματικός προγραμματισμός– Δομημένος προγραμματισμός

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 53: ΑΕΠΠ ΚΕΦ 6

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

Δομημένος προγραμματισμόςΔομημένος προγραμματισμός

Ημεθοδολογίαπουσήμεραέχειεπικρατήσειαπόλυτακαισχεδόνόλεςοισύγχρονεςγλώσσεςπρογραμματισμούυποστηρίζουνείναιοδο

οοοοοοοοοοοοοοοοοοοοοοομημένοςπρογραμματισμός

¸ ¸ ¸ ¸¸ ¸¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸¸ ¸ ¸ ¸ ¸ ¸ ¸¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸¸ ¸ ¸ ¸¸ ¸ ¸ ¸ ¸ ¸ ¸ ¸¸ ¸ ¸¸ ¸Το οκαθηγητής δημοσίευσεένακείμενομετί“““““““““““““““““““““““““““““““““““““ “““““““ “““““““““ “““““τλο ηεντολή θεωρείτα

”ιεπιβλαβής καιθεμελίωνετοδομημένοπρογραμματισμό

Βασικόςλόγοςγιαταπροβλήματααυτάήτανηαλόγιστηχρήσημίαςεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεντολήςτηςεντολής πού χρησιμοποιούμενη άλλαζε διαρκ

ώςτηροήτουπρογράμματος

Page 54: ΑΕΠΠ ΚΕΦ 6

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

Δομημένος προγραμματισμόςΔομημένος προγραμματισμός

Οδομημένοςπρογραμματισμόςείναιμίαμεθοδολογίασύνταξηςπρογραμμάτωνπουέχεισκοπό

ναβοηθήσειτονπρογραμματιστήστηνανάπτυξησύνθετωνπρογραμμάτων

ναμειώσειταλάθη

ναεξασφαλίσειτηνεύκοληκατανόησητωνπρογραμμάτων

ναδιευκολύνειτιςδιορθώσειςκαιτιςαλλαγέςσεαυτά

Page 55: ΑΕΠΠ ΚΕΦ 6

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

Δομημένος προγραμματισμόςΔομημένος προγραμματισμός

Οδομημένοςπρογραμματισμόςστηρίζεταιστηχρήσητριώνκαιμόνοστοιχειωδώνλογικώνδομών

τηδομήτηςακολουθίας

τηδομήτηςεπιλογής

καιτηδομήτηςεπανάληψης

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

Page 56: ΑΕΠΠ ΚΕΦ 6

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

Δομημένος προγραμματισμόςΔομημένος προγραμματισμός

Οδομημένοςπρογραμματισμόςπροήλθεαπότηνανάγκητττττουπεριορισμούτηςανεξέλεγκτηςχρήσηςτου

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

>0 GOTO ΑΝ Αρι θμός ΤΟΤΕ1 =0 GOTO ΑΝ Αρι θμός ΤΟΤΕ2

ΓΡΑΨΕ “Αρν ητ ι κός”GOTO 41: ΓΡΑΨΕ “Θε τ ι κός” GOTO 42: ΓΡΑΨΕ “Μηδέ ν”GOTO 44: _τ ε λος αλγ ορί θμου

>0 ΑΝ Αρι θμός ΤΟΤΕ ΓΡΑΨΕ “Θε τ ι κός”

_ =0 ΑΛΛΙ ΩΣ ΑΝ Αρι θμόςΤΟΤΕ ΓΡΑΨΕ “Μηδέ ν”

ΑΛΛΙ ΩΣ ΓΡΑΨΕ“Αρν ητ ι κός”_ΤΕΛΟΣ ΑΝ

Page 57: ΑΕΠΠ ΚΕΦ 6

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

Δομημένος προγραμματισμόςΔομημένος προγραμματισμός

ΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΔΗχρήσητου κάνει ακόμα και αυτό το μικρό τμήμαπρογράμματοςδύσκολοστηνκατανόησητουκαιστηνπαρακολούθησήτου

Όλεςοισύγχρονεςγλώσσεςπρογραμματισμούυποστηρίζουντοδομημένοπρογραμματισμόκαιδιαθέτουνεντολέςπ

ππππππππππππουκαθιστούντηχρήσητου περιττή

Page 58: ΑΕΠΠ ΚΕΦ 6

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

Πλεονεκτήματα Πλεονεκτήματα Δομημένου προγραμματισμούΔομημένου προγραμματισμού

Δημιουργίααπλούστερωνπρογραμμάτων

Άμεσημεταφοράτωναλγορίθμωνσεπρογράμματα

Διευκόλυνσηανάλυσηςτουπρογράμματοςσετμήματα

Περιορισμόςτωνλαθώνκατάτηνανάπτυξητουπρογράμματος

Διευκόλυνσηστηνανάγνωσηκαικατανόησητουπρογράμματοςαπότρίτους

Ευκολότερηδιόρθωσηκαισυντήρηση

Page 59: ΑΕΠΠ ΚΕΦ 6

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

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

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 60: ΑΕΠΠ ΚΕΦ 6

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

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

Πρόκειταιγιαμιανέατάσηαντιμετώπισηςπρογραμματιστικώναντιλήψεωνκαιδομώνπουονομάζεταιαντικειμενοστραφής } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } προγραμματισμός

Έναπρόγραμμα “ ”περιγράφει ενέργειες επεξεργασίαπουεφαρμόζονταιπάνωσεδεδομένα

Page 61: ΑΕΠΠ ΚΕΦ 6

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

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

Ηαντικειμενοστραφήςσχεδίασηεκλαμβάνειωςπρωτεύονταδομικάστοιχείαενόςπρογράμματοςταδεδομένααπόταοποίαδημιουργούνταιμεκατάλληλημορφοποίησητααν

τικείμενα αααααααα

ησιμοποιείτηνιεραρχικήσχεδίασητοντμηματικόπρογραμματισμόκαιακολουθείτιςαρχέςτουδομημένουπρογραμματισμού

Page 62: ΑΕΠΠ ΚΕΦ 6

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

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

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 63: ΑΕΠΠ ΚΕΦ 6

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

Παράλληλος προγραμματισμόςΠαράλληλος προγραμματισμός

Σχετικάπρόσφαταεμφανίστηκανυπολογιστέςπουξεφεύγουναπότηνκλασικήαρχιτεκτονικήκαιδιαθέτουνπερισσότερουςαπόένανεπεξεργαστές

Οιεπεξεργαστέςαυτοίμοιράζονταιτηνίδιαμνήμηκαιλειτουργούνπαράλληλαεκτελώνταςδιαφορετικέςεντολέςτουιδίουπρογράμματος

Οιυπολογιστέςαυτοίεμφανίζονταιθεωρητικάναπετυχαίνουνταχύτητεςπουείναιασύλληπτεςγιατουςτυπικούςυπολογιστέςμεένανεπεξεργαστή

Page 64: ΑΕΠΠ ΚΕΦ 6

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

Παράλληλος προγραμματισμόςΠαράλληλος προγραμματισμός

Γιαναεκμεταλλευτούμεόμωςτηνταχύτηταπουπροσφέρειηαρχιτεκτονικήαυτήπρέπειτοπρόβλημαναδιαιρεθείσετμήματαπουεκτελούνταιπαράλληλα

Στησυνέχειαναπρογραμματιστείσεέναπρογραμματιστικόπεριβάλλονπουναεπιτρέπειτονπαράλληλοπρογραμματισμό

Page 65: ΑΕΠΠ ΚΕΦ 6

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

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

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 66: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

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

Ημετατροπήαυτήεπιτυγχάνεταιμετηχρήσηειδικώνμεταφραστικώνπρογραμμάτων

Υπάρχουνδύομεγάλεςκατηγορίεςτέτοιωνπρογραμμάτωωνοι μεταγλωττιστές ςςςςςςςςςς οι διερμηνευτές ςςςςςςςςςςςςς

Page 67: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

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

Τοτελευταίομπορείναεκτελείταιοποτεδήποτεαπότονυπολογιστήκαιείναιτελείωςανεξάρτητοαπότοαρχικόπρόγραμμα

Τοαρχικόπρόγραμμαλέγεται πηγαίοοοοοοοοοοοοο οοοοοοοοοοοοοοοοοοοοοοοπρόγραμμα ενώ το πρόγραμμα που παράγ

εταιαπότομεταγλωττιστήλέγεται αντικείμενοοοοοοοοπρόγραμμα

Page 68: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

Αντίθεταοδιερμηνευτής διαβάζειμίαπροςμίατιςεντολέςτουαρχικούπρογράμματοςκαιγιακάθεμιαεκτελείαμέσωςμιαισοδύναμηακολουθίαεντολώνμηχανής

Τοαντικείμενοπρόγραμμαείναιμενσεμορφήκατανοητήαπότονυπολογιστήαλλάσυνήθωςδενείναισεθέσηναεκτελεστεί

Χρειάζεταινασυμπληρωθείκαινασυνδεθείμεάλλατμήματαπρογράμματοςαπαραίτηταγιατηνεκτέλεσήτουτμήματαπουείτεταγράφειοπρογραμματιστήςείτεβρίσκονταιστιςβιβλιοθή

κες ςςςςςςςςςςςςςςςςςς ςςςς της γλώσσας

Page 69: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

Τοπρόγραμμαπουεπιτρέπειαυτήτησύνδεσηονομάζεται – συνδέτης φορτωτής ςςςςςςςςςςςςς

Τοαποτέλεσματουσυνδέτηείναιηπαραγωγήτουεκτελέσ ιμου προγράμματος

ςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςςς το οποίο είναι το τελικό πρόγραμμαπουεκτελείταιαπότονυπολογιστή

Γιατολόγοαυτόησυνολικήδιαδικασίααποκαλείταιμεταγλώττισηκαισύνδεση

Page 70: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

Μεταγλώττισηκαισύνδεσηπρογράμματος

Page 71: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

Διαδικασίαμετάφρασηςκαιεκτέλεσηςενόςπρογράμματος

Page 72: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

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

Τιςπερισσότερεςφορέςκάθεπρόγραμμααρχικάθαέχειλάθη

Ταλάθητουπρογράμματοςείναιγενικάδύοειδώνλογικάκαισυντακτικά

Ταλογικάλάθηεμφανίζονταιμόνοστηνεκτέλεσηενώτασυντακτικάλάθηστοστάδιοτηςμεταγλώττισης

Page 73: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

Ταλογικάλάθηπουείναιταπλέονσοβαράκαιδύσκολαστηδιόρθωσητουςοφείλονταισεσφάλματακατάτηνυλοποίησητουαλγορίθμου

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

Page 74: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

Ομεταγλωττιστήςήοδιερμηνευτήςανιχνεύειλοιπόνταλάθηκαιεμφανίζεικατάλληλαδιαγνωστικάμηνύματα

Τοστάδιοπουακολουθείείναιηδιόρθωσητωνλαθών

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

Page 75: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

Ηχρήσημεταγλωττιστήέχειτομειονέκτημαότιπροτούχρησιμοποιηθείέναπρόγραμμαπρέπειναπεράσειαπότηδιαδικασίατηςμεταγλώττισηςκαισύνδεσης

Ηχρήσηδιερμηνευτήέχειτοπλεονέκτηματηςάμεσηςεκτέλεσηςκαισυνεπώςκαιτηςάμεσηςδιόρθωσης

Όμωςηεκτέλεσητουπρογράμματοςκαθίσταταιπιοαργήσημαντικάμερικέςφορέςαπόεκείνητουισοδύναμουεκτελέσιμουπρογράμματοςπουπαράγειομεταγλωττιστής

Page 76: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

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

Page 77: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

Γιατηναρχικήσύνταξητωνπρογραμμάτωνκαιτηδιόρθωσήτουςστησυνέχειαχρησιμοποιείταιέναειδικόπρόγραμμαπουονομάζεται συντάκτης ςςςςςςς

Οσυντάκτηςείναιουσιαστικάέναςμικρόςεπεξεργαστήςκειμένουμεδυνατότητεςόμωςπουδιευκολύνουντηγρήγορηγραφήτωνεντολώντωνπρογραμμάτων

Page 78: ΑΕΠΠ ΚΕΦ 6

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

Προγραμματιστικά περιβάλλονταΠρογραμματιστικά περιβάλλοντα

Γιατηδημιουργίατημετάφρασηκαιτηνεκτέλεσηενόςπρογράμματοςαπαιτούνταιτουλάχιστοντρίαπρογράμμ

ματα

οσυντάκτης

ομεταγλωττιστής

οσυνδέτης

Τασύγχροναπρογραμματιστικάπεριβάλλονταπαρέχουναυτάταπρογράμματαμεενιαίοτρόπο

Page 79: ΑΕΠΠ ΚΕΦ 6

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

Βιβλίο ΜαθητήΒιβλίο Μαθητή

Κεφάλαιο 6 : Κεφάλαιο 6 : Δομές Δεδομένων και ΑλγόριθμοιΔομές Δεδομένων και Αλγόριθμοι

Page 80: ΑΕΠΠ ΚΕΦ 6

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

ΕρωτήσειςΕρωτήσεις

Ταπρογράμματασεγλώσσεςυψηλούεπιπέδουείναιανεξάρτητατουυπολογιστή πουαναπτύχθηκαν

νΟμεταγλωττιστήςμαςεπιτρέπεινασυντάσσουμεέναπρόγραμμα

αΤαλογικάλάθηενόςπρογράμματοςεμφανίζονταικατάτημεταγλώττιση

ηΟδομημένοςπρογραμματισμόςεπιτρέπειτηνάμεσημεταφοράτωναλγορίθμων σεπρόγραμμα

ΣΣρ ωτ

ΛΛρ ωτ

ΛΛρ ωτ

ΣΣρ ωτ

Page 81: ΑΕΠΠ ΚΕΦ 6

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

ΕρωτήσειςΕρωτήσεις

ΕΧαρακτηριστικότουοπτικούπρογραμματισμούείναι

ΑΕπιτρέπειτηγραφικήδημιουργίατουπεριβάλλοντος

ΒΕπιτρέπειτηνανάπτυξητουπρογράμματοςσετμήματα

ΓΕίναιταχύτεροςστηνεκτέλεσητωνπρογραμμάτων

ΔΕπιτρέπειτηνδιαγραμματικήπαράστασητηςσχεδίασηςτουπρογράμματος

Page 82: ΑΕΠΠ ΚΕΦ 6

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

ΕρωτήσειςΕρωτήσεις

Ε Η είναι

ΑΚατάλληληγιαεφαρμογέςτεχνητήςνοημοσύνης

ΒΥποστηρίζειτηνανάπτυξηπαράλληλουπρογραμματισμού

ΓΜίαγλώσσαγενικήςχρήσης

ΔΚατάλληλημόνογιαεκπαίδευση

Page 83: ΑΕΠΠ ΚΕΦ 6

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

ΕρωτήσειςΕρωτήσεις

ΕΟδομημένοςπρογραμματισμόςστηρίζεταιστηχρήσητριώνστοιχειωδών δομών της ………………… της…………………καιτης…………………

…Ημεταγλώττισηενόςπρογράμματοςγίνεταιαπότους…………………ήτους …………………

ακολουθίας

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

μεταγλωττιστές διερμηνευτές

Page 84: ΑΕΠΠ ΚΕΦ 6

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

Τεστ αυτοαξιολόγησηςΤεστ αυτοαξιολόγησης

πηγαίο

ιεραρχική

οπτικόοδηγούμενο

από γεγονότα

Page 85: ΑΕΠΠ ΚΕΦ 6

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

Τεστ αυτοαξιολόγησηςΤεστ αυτοαξιολόγησης

ΣΣεστ

Λάθος

Λάθος

Λάθος

Page 86: ΑΕΠΠ ΚΕΦ 6

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

Τεστ αυτοαξιολόγησηςΤεστ αυτοαξιολόγησης

Page 87: ΑΕΠΠ ΚΕΦ 6

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

Τεστ αυτοαξιολόγησηςΤεστ αυτοαξιολόγησης

Page 88: ΑΕΠΠ ΚΕΦ 6

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

Τεστ αυτοαξιολόγησηςΤεστ αυτοαξιολόγησης

Page 89: ΑΕΠΠ ΚΕΦ 6

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

Τεστ αυτοαξιολόγησηςΤεστ αυτοαξιολόγησης