ΚΕΦ 6 ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. ΣΤΑΔΙΑ ΕΠΙΛΥΣΗΣ ΕΝΟΣ ΠΡΟΒΛΗΜΑΤΟΣ ΚΑΤΑΝΟΗΣΗ – ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ (ΖΗΤΟΥΜΕΝΑ - ΔΕΔΟΜΕΝΑ) ΣΧΕΔΙΑΣΜΟΣ - ΑΝΑΠΤΥΞΗ ΛΥΣΗΣ.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Τι είναι ο προγραμματισμός
Επιμέλεια: Τίκβα Χριστίνα
Κεφάλαιο Τμηματικός προγραμματισμός
Προγραμματισμοσ υπολογιστη
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
7.5.2 Αντικειμενοστραφής προγραμματισμός
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
H διαδικασία ανάπτυξης λογισμικού. Tι θα γνωρίσουμε •Τις φάσεις ανάπτυξης του λογισμικού. •Γιατί χρειάζεται να γίνει ανάλυση του προβλήματος. •Τι θα πρέπει.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Ενότητα 1: Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
ΜΑΘ-3122/106 Προγραμματισμός
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΑΡΤΙΟΣ 2012 Π. Σοφράς.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΕΚΠΑΙΔΕΥΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ ΤΗΣ ΕΥΡΥΤΕΡΗΣ ΕΝΝΟΙΑΣ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΔΙΑΦΟΡΕΤΙΚΟ ΛΟΓΙΣΜΙΚΟ ΓΙΑ ΚΑΘΕ ΠΤΥΧΗ ΤΟΥ Κάππας Κων/νος Επιμορφωτής ΤΠΕ -
1 Πρόγραμμα ονομάζεται η διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Το Υλικό μπορεί μόνο Να αποθηκεύει και να ανακτά ακολουθίες δυαδικών.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Ίδιες αρχές λειτουργίας
Εισαγωγή στον προγραμματισμό
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Κεφ.1 Εισαγωγη στην εννοια του Αλγοριθμου και στον Προγραμματισμο
Για τη διδασκαλία των πολυμέσων 1/15 ΛΟΓΙΣΜΙΚΟ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΠΟΛΥΜΕΣΩΝ Ομάδα Ανάπτυξης Ομάδα Ανάπτυξης: Φίλιππος Δεληγιάννης, Παναγιώτης Κωστάκης,
ΗΥ302 Διδακτική της Πληροφορικής Η γλώσσα προγραμματισμού LOGO Writer Ομάδα Εργασία: Αλεβίζου Βασιλική (Α.Μ.:1029) Κοφφινά Ιωάννα (Α.Μ.:1035) Τριανταφυλλίδου.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Κεφάλαιο 6 -Περιβάλλοντα Ανάπτυξης Εφαρμογών
Σχεδίαση Αλγορίθμων. Διεργασίες (1/2) Μία διεργασία αλληλεπιδρά με το περιβάλλον της δεχόμενη είσοδο και παράγοντας έξοδο.
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Φυσικές και τεχνητές γλώσσες.
Ενότητα Α.4. Δομημένος Προγραμματισμός
Λογισμικό (Software).
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Καθηγητής: Σπύρος Ξουργιάς1 Η Έννοια του Προγράμματος Ακριβής προσδιορισμός προβλήματος Ακριβής προσδιορισμός προβλήματος Ανάπτυξη αντίστοιχου αλγορίθμου.
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
1.5 Γλώσσες Προγραμματισμού
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
ΛΑΔΑΚΑΚΟΣ ΘΑΛΗΣ Α.Μ ΔΙΑΧΕΙΡΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΥΠΟΛΟΓΙΣΤΗΣ Μηχανή που μπορεί να φέρει σε πέρας πνευματικές εργασίες ρουτίνας με μεγάλη ταχύτητα.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Κεφάλαιο 10 – Υποπρογράμματα
Από την ιδέα μέχρι το λογισμικό. Ξεκινώντας από το πρόβλημα...
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Κεφάλαιο 6 Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ.
Εισαγωγή στον προγραμματισμό Μέρος 3 ο Προγραμματιστικά περιβάλλοντα § 6.7.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
ΕΙΔΗ, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 7 © Βελώνης Γεώργιος.
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α΄ ΛΥΚΕΙΟΥ
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
3. Βασικά στοιχεία γλώσσας προγραμματισμού
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ανάπτυξη Εφαρμογών για Φορητές Συσκευές
Στοιχεία Δομημένου Προγραμματισμού
2ο ΓΥΜΝΑΣΙΟ ΣΗΤΕΙΑΣ - ΤΑΞΗ Γ'
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
Ιεραρχική σχεδίαση Καθορίζονται οι βασικές λειτουργίες σε ανώτερο επίπεδο και στη συνέχεια γίνεται διάσπαση σε όλο και μικρότερες λειτουργίες μέχρι το.
Γ' ΤΑΞΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Μεταγράφημα παρουσίασης:

ΚΕΦ 6 ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΣΤΑΔΙΑ ΕΠΙΛΥΣΗΣ ΕΝΟΣ ΠΡΟΒΛΗΜΑΤΟΣ ΚΑΤΑΝΟΗΣΗ – ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ (ΖΗΤΟΥΜΕΝΑ - ΔΕΔΟΜΕΝΑ) ΣΧΕΔΙΑΣΜΟΣ - ΑΝΑΠΤΥΞΗ ΛΥΣΗΣ (ΑΛΓΟΡΙΘΜΟΣ) ΥΛΟΠΟΙΗΣΗ - ΚΩΔΙΚΟΠΟΙΗΣΗ (ΑΝΑΠΤΥΞΗ ΠΡΟΓΡΑΜΜΑΤΟΣ)

ΤΙ ΕΙΝΑΙ ΠΡΟΓΡΑΜΜΑ ; Πρόγραμμα ονομάζεται το σύνολο των εντολών που πρέπει να δοθούν στον υπολογιστή για την επίλυση ενός προβλήματος. Το πρόγραμμα γράφεται σε κάποια Γλώσσα Προγραμματισμού, δηλαδή σε μια γλώσσα κατανοητή από τον υπολογιστή. Περιλαμβάνει τόσο την κωδικοποίηση του Αλγορίθμου, όσο και τον ορισμό των Δομών Δεδομένων που χρησιμοποιούνται.

ΓΛΩΣΣΑ ΜΗΧΑΝΗΣ Ένα πρόγραμμα σε Γλώσσα Μηχανής είναι μια ακολουθία από δυαδικά ψηφία (0 και 1), που αποτελούν εντολές προς τον υπολογιστή. Ο προγραμματισμός σε γλώσσα μηχανής είναι επίπονος και χρονοβόρος, ενώ απαιτεί πολύ βαθιά γνώση του υλικού και της αρχιτεκτονικής του υπολογιστή. Όλα τα προγράμματα σε όποια γλώσσα και να είναι γραμμένα, τελικά μεταφράζονται σε εντολές γλώσσας μηχανής, πριν εκτελεστούν από τον υπολογιστή.

ΣΥΝΒΟΛΙΚΕΣ ΓΛΩΣΣΕΣ (ΧΑΜΗΛΟΥ ΕΠΙΠΕΔΟΥ) Οι εντολές σε συμβολική γλώσσα είναι κατανοητές από τον άνθρωπο (π.χ. ADD X), και μεταφράζονται στις αντίστοιχες εντολές της γλώσσας μηχανής από ένα εδικό πρόγραμμα που ονομάζεται συμβολομεταφραστής (assembler). Δεν διαθέτουν εντολές σύνθετων λειτουργιών, με συνέπεια την δημιουργία μακροσκελών προγραμμάτων, τα οποία είναι δύσκολο να φτιαχτούν και να συντηρηθούν. Είναι στενά συνδεδεμένες με την αρχιτεκτονική του κάθε υπολογιστή, με συνέπεια τα προγράμματα να μην μπορούν να μεταφερθούν εύκολα σε άλλο τύπο υπολογιστή.

ΓΛΩΣΣΕΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ Οι γλώσσες υψηλού επιπέδου χρησιμοποιούν ως εντολές απλές λέξεις της αγγλικής γλώσσας (π.χ. FOR X=1 TO 10), και μεταφράζονται στις αντίστοιχες εντολές της γλώσσας μηχανής από ένα ειδικό πρόγραμμα που ονομάζεται μεταγλωττιστής (compiler). Διαθέτουν εντολές σύνθετων λειτουργιών, με την βοήθεια έτοιμων συναρτήσεων και βοηθητικών βιβλιοθηκών. Είναι ανεξάρτητες από τον τύπο του κάθε υπολογιστή, με συνέπεια να μπορούν να εκτελεστούν σε οποιοδήποτε υπολογιστή (Μεταφερσιμότητα) Ευκολότερη εκμάθηση μιας γλώσσας και ευκολότερη διόρθωση και συντήρηση ενός προγράμματος. Συνολικά μείωση Χρόνου και Κόστους Παραγωγής ενός προγράμματος

ΓΛΩΣΣΑ ΜΗΧΑΝΗΣ ΣΥΜΒΟΛΙΚΗ ΓΛΩΣΣΑ ΓΛΩΣΣΑ ΥΨ. ΕΠΙΠΕΔΟΥ INDEX=$01 sum = SUM=$02 FOR index=1 TO LDA #10 sum=sum+index STA INDEX NEXT index LOOP ADD index END DEC index BNE LOOP STA SUM BRK

ΓΛΩΣΣΕΣ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ FORTRANΜαθηματικές και Επιστημονικές Εφαρμογές COBOLΕμπορικές Εφαρμογές LISPΕφαρμογές Τεχνητής Νοημοσύνης PROLOGΈμπειρα Συστήματα – Παιχνίδια –ΤΝ BASICΓενικής χρήσης – Εκπαιδευτικού τύπου (DOS) CΠρογραμματισμός Συστημάτων (UNIX-Win) PASCALΓενικής χρήσης – Εκπαιδευτικού τύπου VISUAL BASICΟπτικός Προγραμματισμός C++Αντικειμενοστραφής Προγ/σμός JAVAΑντικειμενοστραφής Προγ/σμός Εφαρμογές Διαδικτύου

ΠΟΙΑ ΕΙΝΑΙ Η ΚΑΛΥΤΕΡΗ; Στην ιστορία του προγραμματισμού, έχουν αναπτυχθεί χιλιάδες γλώσσες προγραμματισμού. Δεν υπάρχει «καλύτερη» γλώσσα προγραμματισμού. Μόνο η «καταλληλότερη» για το είδος της εφαρμογής που αναπτύσσουμε. Άλλη είναι κατάλληλη για γραφικά και παιχνίδια 3D, άλλη για πολυμέσα, άλλη για βάσεις δεδομένων κλπ. Έμπειροι προγραμματιστές, γνωρίζουν πολύ καλά τουλάχιστον 2-3 γλώσσες, ώστε να ανταποκρίνονται άνετα στη συγγραφή εφαρμογών διαφόρων ειδών.

ΦΥΣΙΚΕΣ & ΤΕΧΝΗΤΕΣ ΓΛΩΣΣΕΣ Γενικά, μια γλώσσα (όχι απαραίτητα προγραμματισμού) προσδιορίζεται από: Το αλφάβητο της  Επιτρεπτά στοιχεία (γράμματα, σύμβολα, αριθμοί, Α-Ω, 0-9, /, *, …) Το λεξιλόγιο της  Επιτρεπτοί συνδυασμοί στοιχείων του αλφαβήτου (αποδεκτές λέξεις, π.χ. ΓΡΑΨΕ και όχι ΓΡΑΨΕΘ) Τη γραμματική της  Τυπικό (κανόνες για τις μορφές ή παραλλαγές μιας λέξης, π.χ ΓΡΑΦΩ, ΓΡΑΨΕ, ΓΡΑΦΟΥΜΕ,...)  Συντακτικό (κανόνες για τη διάταξη των λέξεων. Μας ενδιαφέρει στις γλώσσες προγραμματισμού) Τη σημασιολογία της (semantics)  Κανόνες για το νόημα των λέξεων, εκφράσεων, προτάσεων

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

ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΗΣ ΠΡΟΓΡΑΜΜΑΤΩΝ Ιεραρχική Σχεδίαση Προγράμματος Τμηματικός Προγραμματισμός Δομημένος Προγραμματισμός Αντικειμενοστραφής Προγραμματισμός Παράλληλος Προγραμματισμός

Είναι ένας τρόπος οργάνωσης του κώδικα του προγράμματος. Παρουσιάστηκε από το 1960 και πλέον υποστηρίζεται σχεδόν από όλες τις γλώσσες προγραμματισμού. Θεμελιώθηκε το 1968, στη μελέτη του Edger Dijkstra με τίτλο : «GOTO Statement Considered Harmful». Μέχρι τότε, δεν υπήρχε κάποια μεθοδολογία σχεδίασης, τα προγράμματα ήταν μπερδεμένα και η εντολή GOTO, που άλλαζε τη ροή εκτέλεσης, χρησιμοποιούνταν αλόγιστα (spaghetti code). Χρειάστηκαν αρκετά χρόνια για την πλήρη αποδοχή του. ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Παράδειγμα της «κακής» εντολή GO TO, που οδήγησε στο δομημένο προγραμματισμό 90 PRINT «Νέα συναλλαγή; (Κ/ατάθεση, Χ/ρέωση, Τ/έλος)" 100 T$=INPUT$(1) 110 IF T$ <> «Κ» AND T$<> «κ» GOTO INPUT «Ποσό κατάθεσης:";DEPOSIT 130 BALANCE = BALANCE + DEPOSIT 140 PRINT USING «Νέο υπόλοιπο: $#####.##";BALANCE 150 GOTO IF T$ <> «Χ» AND T$<> «χ» GOTO INPUT «Ποσό χρέωσης";CHECK 230 BALANCE = BALANCE - CHECK 240 PRINT USING «Νέο υπόλοιπο: $#####.##";BALANCE 250 GOTO IF T$ <> «Τ» AND T$<> «τ» GOTO PRINT USING “Υπόλοιπο λογ/σμού: $#####.##";BALANCE 430 END Αυτή η απόλυτη ελευθερία να μεταφέρεται η ροή του προγράμματος σε διάφορα σημεία, παρήγαγε κώδικα με την επωνυμία «spaghetti code»

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Object Oriented Programming – OOP) Είναι τρόπος οργάνωσης του κώδικα και έχει πλέον επικρατήσει ως μέθοδος προγραμματισμού στις σύγχρονες γλώσσες (C++, Java). Βασίζεται στην έννοια των αντικειμένων, δηλ. αυτόνομων οντοτήτων προγράμματος οι οποίες περιλαμβάνουν τα δεδομένα και τις αντίστοιχες ενέργειες σ’ αυτά. Π.χ. Αυτοκίνητο:  Δεδομένα: Χρώμα, κυβισμός, χιλιόμετρα, ταχύτητα, τιμή  Ενέργειες: Άνοιξε φώτα, Άναψε μηχανή, Τρέξε, Σταμάτα Παράγει ευέλικτα και επαναχρησιμοποιήσιμα προγράμματα. Χρησιμοποιεί την ιεραρχική σχεδίαση και το δομημένο προγραμματισμό.

ΠΑΡΑΛΛΗΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Parallel programming) Είναι μέθοδος προγραμματισμού για συστήματα με περισσότερους από έναν επεξεργαστές (η με πολλούς πυρήνες, π.χ. Intel Quad-Core). Οι επεξεργαστές μοιράζονται από κοινού την ίδια μνήμη. Κάθε ένας, αναλαμβάνει την εκτέλεση διαφορετικού τμήματος της εφαρμογής, αρκεί το πρόγραμμα να είναι κατάλληλα γραμμένο για το σκοπό αυτό. Προϋποθέτει κατάλληλο λειτουργικό σύστημα. Χρειάζεται προσοχή, όταν πρέπει να γίνει χρήση ενός κοινού πόρου, ο οποίος δεν μπορεί να μοιραστεί ταυτόχρονα. Ταχύτατη εκτέλεση σύνθετων εφαρμογών (συνήθως επιστημονικές, μετεωρολογικές, βιοϊατρικές (DNA), αστρονομικές κ.ά).

Για τη δημιουργία προγραμμάτων χρειάζονται τουλάχιστον τρία ειδικά προγράμματα: Ο συντάκτης Ο συντάκτης (Editor) Ο μεταγλωττιστής ή ο διερμηνευτής Ο μεταγλωττιστής ή ο διερμηνευτής (Compiler ή Interpreter) Ο συνδέτης Ο συνδέτης (Linker) Παρουσιάζονται αναλυτικότερα παρακάτω :

Ο Συντάκτης (Editor) Είναι ένας ανεξάρτητος επεξεργαστής απλού κειμένου. Δεν είναι κάποια ειδική εφαρμογή. Ο προγραμματιστής μπορεί να επιλέξει οποιοδήποτε τρόπο συγγραφής, π.χ. το απλό “σημειωματάριο” του Η/Υ. Με τον καιρό, ενσωματώθηκε στα ολοκληρωμένα περιβάλλοντα προγραμματισμού. Απέκτησε λειτουργίες διευκόλυνσης συγγραφής κώδικα, π.χ. χρωματισμό εντολών, εύκολη διόρθωση λαθών, αυτόματη εισαγωγή ολόκληρων εντολών μετά από πληκτρολόγηση των αρχικών γραμμάτων τους, αντιγραφή, επικόλληση κλπ.

ΜΕΤΑΦΡΑΣΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ Μεταγλωττιστής (Compiler): Δέχεται ως είσοδο τον κώδικα (source code) του αρχικού προγράμματος και παράγει το αντικείμενο πρόγραμμα (object code). Στην συνέχεια αφού συνδεθούν (linker-loader) οι απαιτούμενες βιβλιοθήκες (libraries), παράγεται το τελικό εκτελέσιμο (executable) πρόγραμμα. Διερμηνευτής (Interpreter) : Δέχεται ως είσοδο τον κώδικά του αρχικού προγράμματος και μεταφράζει μία – μία τις εντολές στις αντίστοιχες εντολές γλώσσας μηχανής, τις οποίες και εκτελεί.  Τα εκτελέσιμα προγράμματα που προκύπτουν από την μεταγλώττιση, τρέχουν πολύ πιο γρήγορα από τα αντίστοιχα προγράμματα που χρησιμοποιούν διερμηνευτή.

3. Συνδέτης  Διαβάζει το: main.obj  Παράγει το: main.exe (εκτελέσιμο στον Η/Υ) 2. Μεταγλωττιστής  Διαβάζει το : main.c  Παράγει το : main.obj (Αντικείμενο πρόγραμμα. Δεν εκτελείται ακόμη) 1. Συντάκτης  Γλώσσα : C  Αποθηκεύει το : main.c (απλό κείμενο με τη σύνταξη της γλώσσας) Εντολή MS-DOS για λίστα αρχείων στο δίσκο (ορίστε ;)

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

ΟΛΟΚΛΗΡΩΜΕΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Integrated Development Environments (IDE) Περιλαμβάνεται αναβαθμισμένος συντάκτης κειμένου Εύκολος εντοπισμός συντακτικών λαθών Ηλεκτρονικό εγχειρίδιο βοήθειας για τη γλώσσα προγραμματισμού Γραφική σύνθεση των παραθύρων της εφαρμογής Το ίδιο το περιβάλλον εργασίας αναλαμβάνει τη μεταγλώττιση και την σύνδεση