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

Σχετικά έγγραφα
Εισαγωγή στον προγραμματισμό

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

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

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

Επιµέλεια Θοδωρής Πιερράτος

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

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

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

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

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

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

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

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

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

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

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

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

Α. Ερωτήσεις Ανάπτυξης

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

6. Εισαγωγή στον προγραµµατισµό

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

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

Μαλούτα Θεανώ Σελίδα 1

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.

Κεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

κ ε φ ά λ α ι ο 7 0 Α. Θ Ε Ω Ρ Ι Α Η έ ν ν ο ι α τ ο υ π ρ ο γ ρ ά µ µ α τ ο ς Ι σ τ ο ρ ι κ ή Α ν α δ ρ ο µ ή π α ρ α τ ή ρ η σ η

.EVAL push bx Xor bx,bh Add si,ax.loop dec cx. 1. Fortran. 2. Cobol. 3. Algol

Πληροφορική 2. Γλώσσες Προγραμματισμού

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

7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π. ΚΕΦΑΛΑΙΟ 6 ο

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

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

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Εργαστήρι Πληροφορικής Αλγόριθµος 92 Σηµειώσεις Τεχνολογικής Κατεύθυνσης Γλώσσες µηχανής Αρχικά για να µπορέσει ο υπολογιστής να εκτελέσει µία οποιαδή

Βασίλειος Κοντογιάννης ΠΕ19

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος

Γλώσσες Προγραμματισμού Μεταγλωττιστές

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Κεφάλαιο 7 Προγραμματισμός υπολογιστή

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

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

Εισαγωγή στον δομημένο προγραμματισμό

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

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

Προγραμματισμός και Εφαρμογές Υπολογιστών

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

ΑΕΠΠ ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 6.3 Φυσικές και Τεχνιτές Γλώσσες 6.4 Τεχνικές Σχεδίασης Προγραμμάτων

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Μεταγλωττιστές Ενότητα 1: Εισαγωγή

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών

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

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

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

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

ΠΕΡΙΕΧΟΜΕΝΑ Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ.

Προγραμματισμός Υπολογιστών

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Προγραµµατισµός Η/Υ. Μέρος2

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

Κεφάλαιο 1: Εισαγωγή. Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήμιο Πατρών

Κεφάλαιο 2: Μεταφραστές

Αρχές Προγραμματισμού Υπολογιστών

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Θεωρία Προγραμματισμού

ΠΕΡΙΕΧΟΜΕΝΑ Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής

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

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Εισαγωγή στην Επιστήμη των Υπολογιστών

Transcript:

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis

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

6.2 Ιστορική αναδρομή οι πρώτοι ηλεκτρονικοί υπολογιστές δημιουργήθηκαν στις αρχές του 40 (ENIAC, Mark I) την έννοια του ηλεκτρονικού υπολογιστή με αποθηκευμένο πρόγραμμα ανέπτυξε το 1945 ο Τζον φον Νόιμαν ο ίδιος διατύπωσε την αρχιτεκτονική των σύγχρονων Η/Υ (ΚΜΕ, μνήμη, μονάδες Ε/Ε) και θεωρείται ο πατέρας της πληροφορικής πολλές γλώσσες προγρ/μου συνδέονται με την αρχιτεκτονική του Η/Υ και αν και εξελίσσονται συνεχώς η βασικές αρχές τους παραμένουν ίδια

6.2 Είδη γλωσσών προγρ/μου Γλώσσες Μηχανής Συμβολικές γλώσσες Γλώσσες υψηλού επιπέδου Γλώσσες 4 ης γενιάς

6.2.1 Γλώσσες Μηχανής ο Η/Υ αντιλαμβάνεται τα δεδομένα ως ακολουθίες bit (0/1) και όχι ως λέξεις, προτάσεις και αριθμούς που αντιλαμβάνεται ο άνθρωπος οι εντολές του προγραμματιστή μετατρέπονται σε γλώσσα μηχανής (ακολουθίες bit) οι ακολουθίες αυτές εκτελούνται κατευθείαν από τον υπολογιστή (μηχανή)

6.2.2 Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου επειδή δεν ήταν πρακτικό να προγραμματίζουμε κατευθείαν σε γλώσσα μηχανής επινοήθηκαν οι γλώσσες χαμηλού επιπέδου (assembly) το λεξιλόγιο τους αποτελείται από απλές λέξεις π.χ. ADD πρόσθεσε, LDA φόρτωσε στη μνήμη κτλ που είναι μνημονικές ο συμβολομεταφραστής (assembler) ειδικό πρόγραμμα μετατρέπει τις εντολές σε γλώσσα μηχανής για να εκτελεστεί από τον Η/Υ η assembly εξαρτάται από την αρχιτεκτονική του Η/Υ (-) συνεπώς τα προγράμματα δεν μπορούν να μεταφερθούν (-) ο προγρ/της πρέπει να γνωρίζει το μέγεθος της RAM, της μνήμης flash, των καταχωρητών (-) δεν διαθέτουν εντολές σύνθετων λειτουργιών και συνεπώς τα προγράμματα είναι μακροσκελή (-)

6.2.3 Γλώσσες υψηλού επιπέδου (1/3) τα μειονεκτήματα των συμβολικών γλωσσών οδήγησαν στην ανάπτυξη των γλωσσών προγραμματισμού υψηλού επιπέδου Ονομασία έτος ερμηνεία κατεύθυνση Fortran 1957 For Cobol 1960 Co Algol 1958 Formula Translation - Μετάφραση τύπων Common Business Oriented Language επιχειρήσεις 1958 Algorithmic Language αλγοριθμική γλώσσα PL/I 1964 Programming Language I Lisp 1958 Lis Prolog 1972 List Processor επεξεργαστής λίστας 1972 Programming Logic λογικός προγρ/μος επίλυση μαθ/κων προβλημάτων (επιστημονική) εμπορική γενικής χρήσης γενικής χρήσης τεχνητής νοημοσύνης τεχνητής νοημοσύνης

6.2.3 Γλώσσες υψηλού επιπέδου (2/3) Ονομασία έτος ερμηνεία κατεύθυνση Basic 1964 Pascal 1970 C / C++ 1969 Για 1964 Beginner s s all Purpose Symbolic Instruction Code για αρχαρίους 1970 Μαθηματικές και εμπορικές εφαρμογές με δόμηση Για επικοινωνία με μηχανή αλλά και υψηλού επιπέδου εφαρμογές Java 1995 αντικειμενοστραφής Visual Basic Visual C++ 1993 1991 Εφαρμογές σε γραφικά περιβάλλοντα - αντικειμενοστραφής 1993 Εφαρμογές σε γραφικά περιβάλλοντα - αντικειμενοστραφής γενικής χρήσης γενικής χρήσης γενικής χρήσης εφαρμογές στο διαδίκτυο γενικής χρήσης γενικής χρήσης

Γλώσσες υψηλού επιπέδου (3/3) 6.2.3 Γλώσσες ης γενιάς 3 ης Οι γλώσσες αυτές μεταφράζονται σε γλώσσα μηχανής με τη χρήση μεταγλωττιστών (compilers) Με την ανάπτυξη των γραφικών περιβαλλόντων διακρίνουμε τα εξής είδη προγραμματισμού: αντικειμενοστραφής (C++, Java) οπτικός (VB) οδηγούμενος από γεγονός Πλεονεκτήματα γλωσσών υψηλού επιπέδου α) πιο φυσικός τρόπος έκφρασης για τον χρήστη β) ανεξαρτησία από το υλικό φορητότητα γ) ευκολία εκμάθησης δ) ευκολότερη διόρθωση λαθών και συντήρηση

6.2.4 Γλώσσες 4 ης γενιάς οι γλώσσες 3 ης γενιάς απευθύνονται σε προγραμματιστές με εξειδικευμένες γνώσεις Οι γλώσσες 4 ης γενιάς είναι εφοδιασμένες με εργαλεία προγραμματισμού αποκρύπτουν λεπτομέρειες της αρχιτεκτονικής του υλικού από τον χρήστη Συνήθως ο χρήστης υποβάλει ερωτήσεις με τη μορφή κώδικα και παίρνει απαντήσεις από το σύστημα Τέτοιο είδος γλώσσας είναι η SQL για το χειρισμό μικρών Βάσεων εδομένων (Β )

Ταξινόμηση γλωσσών προγραμματισμού ανάλογα με τον τύπο αλγοριθμικές (διαδικασιακές) (Pascal, C, C Cobol) αντικειμενοστραφείς (C++, VB) συναρτησιακές (LISP) μη διαδικασιακές (Prolog) ερωτοαπαντήσεων (SQL) ανάλογα με την περιοχή χρήσης γλώσσες γενικής χρήσης επιστημονικής κατεύθυνσης (Fortran) εμπορικής κατεύθυνσης (Cobol) προγραμματισμού συστημάτων ( C ) τεχνητής νοημοσύνης (Lisp, Prolog) ειδικής χρήσης (SQL)

6.3 Φυσικές και τεχνητές γλώσσες Στοιχεία μιας γλώσσας: αλφάβητο = το σύνολο των στοιχείων που χρησιμοποιεί: α....ω, Α....Ω, a..z, Α....Ζ,, 0..9,,, +, () κτλ λεξιλόγιο = όλες οι αποδεκτές λέξεις από τη γλώσσα, δεσμευμένες και μη γραμματική = αποτελείται από : Τυπικό = καθορίζει ποιες λέξεις είναι αποδεκτές π.χ. διάβασε και όχι διαβασε, χ3 και όχι 3χ Συντακτικό = καθορίζει τον τρόπο σύνδεσης λέξεων για τη δημιουργία προτάσεων πχ αρχή_επανάληψης σημασιολογία = καθορίζει το νόημα των λέξεων ιαφορές φυσικών και τεχνητών γλωσσών Οι φυσικές γλώσσες εξελίσσονται με νέες λέξεις Οι τεχνητές είναι στάσιμες

6.4 Τεχνικές σχεδίασης προγραμμάτων (1/3) Ιεραρχική σχεδίαση προγράμματος αρχικά καθορίζονται οι λειτουργίες του προγράμματος σε ανώτερο επίπεδο στη συνέχεια διασπώνται σε μικρότερες λειτουργίες σε κατώτερο επίπεδο γίνεται χρήση διαγραμματικών τεχνικών η δομή είναι δεντρική Τμηματικός προγραμματισμός Υλοποιεί την ιεραρχική σχεδίαση προγράμματος Το κάθε υπό-πρόβλημα πρόβλημα αποτελεί ανεξάρτητη ενότητα Πλεονεκτήματα του είναι η εύκολη δημιουργία, παρακολούθηση, κατανόηση και συντήτηση του προγράμματος και η ελάττωση των λαθών.

6.4 Τεχνικές σχεδίασης προγραμμάτων (2/3) ομημένος προγραμματισμός αποτελεί την κυρίαρχη μεθοδολογία σύνταξης και γραφής προγραμμάτων σε υπολογιστή θεωρεί ότι όλοι οι αλγόριθμοι υλοποιούνται από συνδυασμούς 3 θεμελιωδών δομών: ακολουθίας επιλογής επανάληψης κάθε πρόγραμμα ή υποπρόγραμμα έχει είσοδο και έξοδο αποφεύγει τη χρήση της εντολής GOTO επινοήθηκε από τον ιδρυτή της Pascal

6.4 Τεχνικές σχεδίασης προγραμμάτων (3/3) Πλεονεκτήματα του δομημένου προγρ/μου μου: δημιουργία πιο απλών προγραμμάτων άμεση μεταφορά αλγορίθμων σε προγράμματα διευκόλυνση ανάλυση προγράμματος σε τμήματα περιορισμός λαθών κατά την ανάπτυξή τους πιο εύκολη ανάγνωση και κατανόηση τους πιο εύκολη διάρθρωση και συντήρηση

6.7 Προγραμματιστικά περιβάλλοντα τα προγράμματα σε οποιαδήποτε γλώσσα πρέπει να μετατραπούν σε εντολές γλώσσας μηχανής (exe) οι Η/Υ μόνο εκτελέσιμα αρχεία «καταλαβαίνουν» Υπάρχουν 2 κατηγορίες μεταφραστικών προγρ/των που κάνουν την μετατροπή: οι μεταγλωττιστές (compilers) που δέχεται σαν είσοδο τον κώδικα του χρήστη και παράγει ισοδύναμο σε γλώσσα μηχανής οι διερμηνευτές (interpreters) το αρχικό πρόγραμμα του χρήστη ονομάζεται πηγαίο το πρόγραμμα που παράγεται από τον compiler ονομάζεται αντικείμενο το αντικείμενο δεν είναι απαραίτητα εκτελέσιμο αλλά γίνεται με τη σύνδεσή του με τις βιβλιοθήκες της γλώσσας Τη λειτουργία αυτή κάνει ο συνδέτης (linker)

6.7 Προγραμματιστικά περιβάλλοντα πηγαίο πρόγραμμα (source code) Μεταγλωττιστής (compiler) αντικείμενο πρόγραμμα (object code) Συνδέτης (linker) εκτελέσιμο πρόγραμμα (executable code)

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