Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12...

26
11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 1 Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό

Transcript of Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12...

Page 1: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 1

Κεφάλαιο 6

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

Page 2: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 2

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

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

σημαντικά στάδια:

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

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

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

υπολογιστή.

Το τρίτο ισοδυναμεί με τον προγραμματισμό και το πρόγραμμα: σύνολο

των εντολών που πρέπει να δοθούν στον υπολογιστή, ώστε να

υλοποιηθεί ο αλγόριθμος για την επίλυση του προβλήματος, γραμμένες

σε κάποια γλώσσα προγραμματισμού με βασικά στοιχεία, τα δεδομένα

και τις δομές δεδομένων επί των οποίων ενεργεί.

Page 3: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 3

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

Πρόγραμμα σε γλώσσα μηχανής: μια ακολουθία δυαδικών ψηφίων, που

αποτελούν εντολές προς τον επεξεργαστή για στοιχειώδεις λειτουργίες.

6.2.1 Γλώσσες μηχανής

Ήταν επίπονες και ελάχιστοι μπορούσαν να τις υλοποιήσουν, αφού

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

υπολογιστή.

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

μηχανής

Page 4: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 4

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

(Assembly)

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

συμβολομεταφραστής (assembler).

+ : ήταν μια εξέλιξη από τις ακατανόητες ακολουθίες δυαδικών στοιχείων.

- : παρέμεναν στενά συνδεδεμένες με την αρχιτεκνονική του κάθε

υπολογιστή και τα προγράμματα ήταν μακροσκελή.

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

π.χ. (ADD) που αντιστοιχούν σε εντολές της γλώσσας μηχανής.

Page 5: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 5

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

1. FORTRAN (FORmula TRANslation – μετάφραση τύπων): κατάλληλη

για την επίλυση μαθηματικών και επιστημονικών προβλημάτων. (1957 –

ΙΒΜ)

2. COBOL (COMmon Oriented Language – Κοινή γλώσσα

προσανατολισμένη στις επιχειρήσεις): κατάλληλη για την ανάπτυξη

εμπορικών εφαρμογών. (1960)

3. ALGOL (ALGOrithmic Language – Αλγοριθμική γλώσσα): κατάλληλη

για τη δημιουργία γενικής φύσης προγραμμάτων. (1960)

4. PL/1 (Programming Language/1 – Γλώσσα Προγραμματισμού 1): χωρίς

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

προγραμματισμού. (μέσα δεκ. 60)

Page 6: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 6

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

5. LISP (LISt Processor – Επεξεργαστής Λίστας) και PROLOG

(PROgramming LOGic – Λογικός Προγραμματισμός): γλώσσες της

Τεχνητής Νοημοσύνης που χρησιμοποιούνται στα έμπειρα συστήματα, τα

παιχνίδια, την επεξεργασία φυσικών γλωσσών κλπ. (μέσα δεκ. 60)

6. BASIC (Beginner’s All Purpose Symbolic Instruction Code –

Συμβολικός Κώδικας Εντολών Γενικής Χρήσης για Αρχάριους ): για την

εκπαίδευση αρχάριων στον προγραμματισμό (δεκ. 60). Αργότερα έγινε η

δημοφιλέστερη γλώσσα στους προσωπικούς ΗΥ (Visual Basic).

7. LOGO (Λόγος): για την εισαγωγή στον προγραμματισμό μαθητών

μικρής ηλικίας (1967).

8. PASCAL (Niklaus Wirth): για την εκπαίδευση και τη δημιουργία

ισχυρών προγραμμάτων. Ήταν η βάση για ισχυρότερες γλώσσες (ADA,

Modula-2) (1970).

Page 7: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 7

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

9. C : ανάπτυξη του λειτουργικού συστήματος UNIX και δομημένων

εφαρμογών. Έχει δυνατότητες γλώσσας χαμηλού επιπέδου. (1972-Bell)

10. C++ : αντικειμενοστραφής γλώσσα, εξέλιξη της C.

11. JAVA : ανάπτυξη αντικειμενοστραφών εφαρμογών εκτελέσιμων σε

κατανεμημένα περιβάλλοντα, σε διαφορετικούς (με διαφορετικά

λειτουργικά συστήματα) ΗΥ δηλ. συνδεδεμένους στο Διαδίκτυο.

12. dBASE : διαχείριση αρχείων βάσεων δεδομένων. (δεκ. ‘70)

13. Clipper : εξέλιξη της dBase.

14. Access : διαχείριση αρχείων βάσεων δεδομένων.

Page 8: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 8

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

Γλώσσες που υλοποιούν τις έννοιες του:

1. Οδηγούμενου από το γεγονός προγραμματισμού (object driven

programming): οι λειτουργίες του προγράμματος ενεργοποιούνται με

την εκτέλεση ενός γεγονότος (π.χ. ένα μενού ή ένα κλικ)

2. Οπτικού προγραμματισμού (visual programming): δυνατότητα

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

Visual Basic, Visual C++, Visual Java++

Page 9: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 9

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

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

1. «Ανθρώπινος» τρόπος έκφρασης των προβλημάτων.

2. Μεταφερσιμότητα (portability): ανεξαρτησία από τον τύπο του ΗΥ.

3. Ευκολία στην εκμάθηση και εκπάιδευση.

4. Ευκολία στη συντήρηση και τη διόρθωση των λαθών.

5. Μείωση στο χρόνο και το κόστος παραγωγής προγραμμάτων.

Page 10: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 10

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

Παρέχουν τη δυνατότητα υποβολής ερωτήσεων στο σύστημα, ανάπτυξης

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

καθορισμού του τρόπου εμφάνισης αυτών.

π.χ. γλώσσες ερωταπαντήσεων (query languages) όπως η SQL.

Page 11: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 11

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

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

• Διαδικασιακές (ή αλγοριθμικές): είναι οι περισσότερες γλώσσες και επιτρέπουν την

υλοποίηση αλγορίθμων

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

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

• Μη διαδικασιακές γλώσσες (ή γλώσσες πολύ υψηλού επιπέδου) π.χ.PROLOG

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

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

• γενικής χρήσης

επιστημονικής κατεύθυνσης π.χ. FORTRAN

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

• προγραμματισμού συστημάτων π.χ. C

• τεχνητής νοημοσύνης π.χ.LISP, PROLOG

• ειδικής χρήσης (π.χ. γραφικά με υπολογιστή, ρομποτική)

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

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

εφαρμογής.

Page 12: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 12

6.3 Φυσικές και τεχνητές γλώσσες

Μια γλώσσα γενικά προσδιορίζεται από:

1. Το αλφάβητο: το σύνολο των στοιχείων που χρησιμοποιεί (γράμματα

πεζά και κεφαλαία, ψηφία, σημεία στίξης)

2. Το λεξιλόγιο: τις λέξεις που είναι δεκτές από τη γλώσσα.

3. Τη γραμματική: η οποία αποτελείται από:

α) Το τυπικό ή τυπολογικό (accidence): το σύνολο των κανόνων που

ορίζουν τις μορφές με τις οποίες είναι αποδεκτή μία λέξη (π.χ. κλίσεις,

βαθμοί)

β) Το συντακτικό (syntax): το σύνολο των κανόνων για τη δημιουργία

προτάσεων.

4. Τη σημασιολογία (Semantics): το σύνολο των κανόνων που καθορίζει

το νόημα των λέξεων, των εκφράσεων και των προτάσεων.

Page 13: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 13

6.3 Φυσικές και τεχνητές γλώσσες

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

Σχετικά με τη δυνατότητα εξέλιξής τους:

- Οι φυσικές γλώσσες εξελίσσονται συνεχώς γιατί χρησιμοποιούνται

καθημερινά για την ανθρώπινη επικοινωνία.

- Οι τεχνητές γλώσσες χαρακτηρίζονται από στασιμότητα, αφού

κατασκευάζονται για ένα συγκεκριμένο σκοπό. Ωστόσο βελτιώνονται για

να διορθωθούν οι αδυναμίες τους ή για να ακολουθήσουν τις εξελίξεις.

Page 14: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 14

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

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

programming)

Ιεραρχική σχεδίαση : Είναι ή η διαδικασία σχεδίασης “από επάνω προς

τα κάτω” ή (top-down program design) που περιλαμβάνει:

α) τον καθορισμό των βασικών λειτουργιών ενός προγράμματος, σε

ανώτερο επίπεδο και

β) τη διάσπαση του προβλήματος σε μια σειρά από απλούστερα

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

επίλυση του αρχικού προβλήματος.

Page 15: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 15

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

programming)

Η ιεραρχική σχεδίαση χρησιμοποιεί τις διαγραμματικές τεχνικές.

Παράδειγμα : Ιεραρχική σχεδίαση υπολογισμού του φόρου εισοδήματος

Page 16: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 16

Υλοποίηση : μετά την ανάλυση του προβλήματος σε υποπροβλήματα,

κάθε υποπρόβλημα αποτελεί ανεξάρτητη ενότητα (module), που

γράφεται ξεχωριστά.

Πλεονεκτήματα: διευκολύνει τη δημιουργία του προγράμματος,

μειώνει τα λάθη και επιτρέπει την ευκολότερη παρακολούθηση,

κατανόηση και συντήρηση του προγράμματος από τρίτους.

6.4.2 Τμηματικός προγραμματισμός (modular programming)

Page 17: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17

6.4.3 Δομημένος προγραμματισμός (structural programming)

Παρουσιάστηκε στα μέσα του 1960 με σκοπό τη μείωση των εντολών

GOTO. Η εντολή GOTO έχει ως αποτέλεσμα την αλλαγή της ροής του

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

εκτός από την επόμενη. Π.χ:

... ! μη δομημένα

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

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

ΓΡΑΨΕ ‘Αρνητικός’

GOTO 4

1:ΓΡΑΨΕ ‘Θετικός’

GOTO 4

2: ΓΡΑΨΕ ‘Μηδέν’

GOTO 4

...

... ! δομημένα

ΑΝ Αριθμός>0 ΤΟΤΕ

ΓΡΑΨΕ ‘Θετικός’

ΑΛΛΙΩΣ_ΑΝ Αριθμός=0 ΤΟΤΕ

ΓΡΑΨΕ ‘Μηδέν’

ΑΛΛΙΩΣ

ΓΡΑΨΕ ‘Αρνητικός’

ΤΕΛΟΣ_ΑΝ

...

! (πιο εύκολο στην κατανόηση)

ή

Page 18: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 18

6.4.3 Δομημένος προγραμματισμός (structural programming)

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

δομή της ακολουθίας, τη δομή της επιλογής και τη δομή της

επανάληψης μόνες και σε συνδυασμό τους. Συνδυάζει την ιεραρχική

σχεδίαση και τον τμηματικό προγραμματισμό. Κάθε πρόγραμμα όπως

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

έξοδο.

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

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

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

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

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

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

από τρίτους.

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

Page 19: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 19

6.5 Αντικειμενοστραφής προγραμματισμός (object-oriented)

Βασική ιδέα: ένα πρόγραμμα περιγράφει «ενέργειες» (επεξεργασία)

που εφαρμόζονται πάνω σε δεδομένα. Η αντικειμενοστραφής

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

προγράμματος τα δεδομένα, από τα οποία δημιουργούνται με

κατάλληλη μορφοποίηση τα αντικείμενα (objects) που εμπεριέχουν

και τις εφαρμόσιμες επάνω στα δεδομένα ενέργειες.

Πλεονέκτημα: προγράμματα περισσότερο ευέλικτα και

επαναχρησιμοποιήσιμα.

Χρησιμοποιεί την ιεραρχική σχεδίαση, τον τμηματικό

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

προγραμματισμού.

ΕΚΤΟΣ ΥΛΗΣ

Page 20: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 20

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

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

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

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

περιβάλλον που επιτρέπει τον παράλληλο προγραμματισμό. Το

αποτέλεσμα είναι η επίτευξη ασύλληπτων ταχυτήτων. Ο

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

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

Παράδειγμα: γλώσσα προγραμματισμού OCCAM

ΕΚΤΟΣ ΥΛΗΣ

Page 21: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 21

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

Στόχος: κάθε πρόγραμμα να μετατραπεί σε μορφή αναγνώσιμη και

εκτελέσιμη από τον υπολογιστή, δηλαδή σε εντολές γλώσσας

μηχανής.

Μεταφραστικά προγράμματα:

1. Μεταγλωττιστές (compilers): δέχονται στην είσοδο ένα

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

ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής. (-): υποχρεωτική

μεταγλώττιση και σύνδεση πριν την εκτέλεση (+): ταχύτερη

εκτέλεση

2. Διερμηνευτές (interpreters): διαβάζουν μία προς μία τις εντολές

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

ισοδύναμη ακολουθία εντολών μηχανής. (+): άμεση εκτέλεση και

διόρθωση (-) : πιο αργή εκτέλεση

Page 22: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 22

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

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

Βιβλιοθήκη Λάθη

ΝΑΙ ΟΧΙ

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

Object πρόγραμμα

(Linker) (executable) (Πηγαίο - source)

.exe .obj Συντάκτης

(Editor)

Page 23: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 23

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

Κάθε προγραμματιστικό περιβάλλον παρέχει με ενιαίο τρόπο: έναν

συντάκτη, έναν μεταγλωττιστή και έναν συνδέτη.

Επιπλέον, ένα περιβάλλον οπτικού (visual) προγραμματισμού διευκολύνει

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

διαλόγου, μενού, κουμπιά κλπ.)

Page 24: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 24

Μετατροπή μη δομημένου κώδικα (με goto) σε δομημένο (χωρίς goto) μέσω ΔΡ

Page 25: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 25

Μετατροπή μη δομημένου κώδικα (με goto) σε δομημένο (χωρίς goto) μέσω ΔΡ

Page 26: Κφάλαιο 6 - blogs.sch.grblogs.sch.gr/karam/files/2012/06/aepp_kef06.pdf · 11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 17 6.4.3 Δομημένος προγραμμαιμός

11-Jun-12 ΑΕΠΠ - Καραμαούνας Π. 26

Τέλος Κεφαλαίου 6