ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τι είναι ο προγραμματισμός
Advertisements

Προγραμματισμός PASCAL
Επιμέλεια: Τίκβα Χριστίνα
Κεφάλαιο Τμηματικός προγραμματισμός
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Η ΙΣΤΟΡΙΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Γνωριμία - Επικοινωνία
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Διαφάνειες παρουσίασης #5
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Εισαγωγή στην επιστήμη των υπολογιστών
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΗ
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΛΟΓΙΣΜΙΚΟ Πρόγραμμα Είναι μία ακολουθία από εντολές, σε λογική σειρά, με σκοπό να κατευθύνουν τον Η.Υ. στην εκτέλεση των επιθυμητών εργασιών. ΛΟΓΙΣΜΙΚΟ.
Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Κεφάλαιο 3 ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Κεφ.1 Εισαγωγη στην εννοια του Αλγοριθμου και στον Προγραμματισμο
Διαφάνειες παρουσίασης #3
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Κεφάλαιο 6 -Περιβάλλοντα Ανάπτυξης Εφαρμογών
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Ενότητα Α.4. Δομημένος Προγραμματισμός
31 Μαρτίου 2015 ΔΙΑΦΑΝΕΙΑ 1 ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. – ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι Για τον προτασιακό.
Καθηγητής: Σπύρος Ξουργιάς1 Η Έννοια του Προγράμματος Ακριβής προσδιορισμός προβλήματος Ακριβής προσδιορισμός προβλήματος Ανάπτυξη αντίστοιχου αλγορίθμου.
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
1.5 Γλώσσες Προγραμματισμού
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
ΛΑΔΑΚΑΚΟΣ ΘΑΛΗΣ Α.Μ ΔΙΑΧΕΙΡΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Κεφάλαιο 10 – Υποπρογράμματα
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Διαφάνειες παρουσίασης #2
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Διαφάνειες παρουσίασης Ορθότητα (συνέχεια) Τακτικοί τύποι και τύποι υποπεριοχής Πίνακες.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Διαφάνειες παρουσίασης #1
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Πρόγραμμα Προπτυχιακών Σπουδών Ροή Λ: Λογισμικό Κώστας Κοντογιάννης Αναπλ. Καθηγητής Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Ε.Μ.Π.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
1 Ιστορία των Υπολογιστών. 2 ΙΣΤΟΡΙΑ: Πολύ-πολύ Παλιά... Άβακας (5000π.Χ.) Κίνα, Μεσοποταμία Η ελληνική συμβολή: ο μηχανισμός των Αντικυθήρων (87π.Χ.)
ΕΝΟΤΗΤΑ 1. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΕΦΑΛΑΙΟ 1.1 ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 1.
Πρόγραμμα Προπτυχιακών Σπουδών Ροή Λ: Λογισμικό
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
Η Γλώσσα Pascal Υποπρογράμματα
Βασικές Έννοιες και Ορισμοί
Μεταγράφημα παρουσίασης:

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΕισαγωγή στον Προγραμματισμό Διαφάνειες παρουσίασης #1 Εισαγωγή Δομή του προγράμματος Τί σημαίνει ορθό πρόγραμμα Συντακτικά διαγράμματα

2Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(i) u Σκοπός του μαθήματος l Εισαγωγή στην πληροφορική (computer science) l Εισαγωγή στον προγραμματισμό ηλεκτρονικών υπολογιστών (Η/Υ) l Μεθοδολογία αλγοριθμικής επίλυσης προβλημάτων

3Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(ii) u Αλγόριθμος l Πεπερασμένη ακολουθία ενεργειών που περιγράφει τον τρόπο επίλυσης ενός προβλήματος l Εφαρμόζεται σε δεδομένα (data) u Πρόγραμμα l Ακριβής περιγραφή ενός αλγορίθμου σε μια τυπική γλώσσα που ονομάζεται γλώσσα προγραμματισμού

4Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(iii) u Φυσική γλώσσα l Χωρίς τόσο αυστηρούς συντακτικούς περιορισμούς l Μεγάλη πυκνότητα και σημασιολογική ικανότητα u Τεχνητή γλώσσα l Αυστηρότατη σύνταξη και σημασιολογία u Γλώσσα προγραμματισμού l Τεχνητή γλώσσα στην οποία μπορούν να περιγραφούν υπολογισμοί l Εκτελέσιμη από έναν ηλεκτρονικό υπολογιστή

5Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(iv) u Πληροφορική Ηλεκτρονικοί υπολογιστές (engineering) Μαθηματικά Σχεδίαση και κατασκευή Θεωρία και αναλυτική μέθοδος u Κεντρική έννοια: υπολογισμός (computation)

6Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(v) u Κατασκευή υπολογιστικών μηχανών l Αρχαιότητα: υπολογιστικές μηχανές, μηχανισμός των Αντικυθήρων, κ.λπ. l 17ος αιώνας, Pascal και Leibniz, μηχανικές υπολογιστικές αριθμομηχανές  στοιχειώδεις αριθμητικές πράξεις l 1830–1840, Babbage, “αναλυτική μηχανή”  λογάριθμοι, τριγωνομετρικές συναρτήσεις l 1880–1890, Hollerith, μηχανή με διάτρητες κάρτες για την αυτοματοποίηση των εκλογών

7Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(vi) u Κατασκευή υπολογιστών l 1920–1930, Bush, ηλεκτρική (αναλογική) υπολογιστική μηχανή  διαφορικές εξισώσεις l ~1940, Zuse, ηλεκτρονική (ψηφιακή) υπολογιστική μηχανή  πρόγραμμα και δεδομένα, χωριστά l 1945–1950, μοντέλο von Neumann  πρόγραμμα και δεδομένα, από κοινού l 1950–σήμερα, ραγδαία ανάπτυξη της τεχνολογίας των ηλεκτρονικών υπολογιστών

8Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(vii) u Θεμέλια της πληροφορικής l Μαθηματική λογική l Αριστοτέλης: συλλογισμοί A A  B B (modus ponens) l Ευκλείδης: αξιωματική θεωρία l Αρχές 20ου αιώνα, Hilbert  αξίωμα, θεώρημα, τυπική απόδειξη

9Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(viii) u Πρόγραμμα του Leibniz: θεμελίωση των μαθηματικών l γλώσσαγια όλα τα μαθηματικά l θεωρία l συνεπής (consistent) και πλήρης (complete) A   Aαντίφαση u Γλώσσα l προτασιακός λογισμόςx, c, , , , ,  l κατηγορηματικός λογισμός , 

10Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(ix) u Θεωρία l Συνολοθεωρία, Cantor, Frege  l Παράδοξο του Russel A = { x | x  x } A  A  A  A A  A  A  A l Άλλες θεωρίες συνόλων (ZF, κ.λπ.) l Άλλες θεωρίες για τη θεμελίωση των μαθηματικών (θεωρία συναρτήσεων, κατηγοριών, κ.λπ.) l 1920–1930, προσπάθειες για απόδειξη συνέπειας

11Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(x) u Συνέπεια και πληρότητα l 1931, Gödel, θεώρημα μη πληρότητας  δεν είναι δυνατόν να κατασκευαστεί συνεπής και πλήρης θεωρία της αριθμητικής l 1936, Turing,  μη αποκρίσιμες (undecidable) προτάσεις  μηχανή Turing, υπολογισιμότητα

12Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(xi) u Κλάδοι της πληροφορικής l Αλγόριθμοι και δομές δεδομένων l Γλώσσες προγραμματισμού l Αρχιτεκτονική υπολογιστών και δικτύων l Αριθμητικοί και συμβολικοί υπολογισμοί l Λειτουργικά συστήματα l Μεθοδολογία – τεχνολογία λογισμικού l Βάσεις δεδομένων και διαχείριση πληροφοριών l Τεχνητή νοημοσύνη και ρομποτική l Επικοινωνία ανθρώπου – υπολογιστή

13Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Εισαγωγή(xii) u Υπολογιστής l επεξεργαστής l μνήμη l συσκευές εισόδου/εξόδου u Ιδιότητες l αυτόματο χωρίς εξυπνάδα l μεγάλη ταχύτητα l ακρίβεια στις πράξεις

14Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Γλώσσες προγραμματισμού(i) u Γλώσσα μηχανής διεύθυνσηεντολή u Συμβολική γλώσσα (assembly) label:addax, bx διεύθυνσηπράξηδεδομένα u Γλώσσες χαμηλού και υψηλού επιπέδου u Υλοποίηση γλωσσών προγραμματισμού l μεταγλωττιστής (compiler) l διερμηνέας (interpreter)

15Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Γλώσσες προγραμματισμού(ii) u Κυριότερες γλώσσες, ιστορικά l FORTRAN, Algol, LISP, COBOL, BASIC, PL/I l Pascal l Prolog, C, Smalltalk, Modula-2, Ada, C++, Java

16Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Γλώσσες προγραμματισμού(iii) u Pascal l Niklaus Wirth (1971) l Γλώσσα γενικού σκοπού (general purpose) l Ευνοεί το συστηματικό και δομημένο προγραμματισμό u Παραλλαγές l Standard, ISO Pascal l UCSD Pascal l ANSI Pascal l Turbo Pascal

17Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό κυρίως σώμα δηλώσεις επικεφαλίδα Δομή του προγράμματος(i) program example(input, output); var i, j : integer; begin i:=15; j:=23; write('sum of i and j is: '); i:=i+j; write(i) end.

18Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Δομή του προγράμματος(ii) u Επικεφαλίδα identifier program(input, output) header Συντακτικό διάγραμμα l περιγράφει τη σύνταξη ενός τμήματος του προγράμματος το όνομα του τμήματος προγράμματος που ορίζεται τετράγωνα κουτιά: απαιτούν εξήγηση οβάλ κουτιά: γράφονται ακριβώς έτσι βέλη: περιγράφουν τη σειρά με την οποία γράφονται τα κουτιά αρχή τέλος

19Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Δομή του προγράμματος(iii) u Δηλώσεις μεταβλητών l μεταβλητή: ένα «κουτί» της μνήμης του υπολογιστή όπου μπορεί να αποθηκευτεί μια πληροφορία (ένα δεδομένο) l στο τμήμα δηλώσεων ορίζουμε όλες τις μεταβλητές που χρησιμοποιεί το πρόγραμμα l για κάθε μεταβλητή ορίζουμε το όνομά της και τον τύπο της, δηλαδή το πεδίο των δυνατών τιμών που μπορεί η μεταβλητή να πάρει var i : integer;

20Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Δομή του προγράμματος(iv) u Απλοί τύποι μεταβλητών integer ακέραιοι αριθμοί 0, 1, –3 real πραγματικοί αριθμοί 3.14 char χαρακτήρες 'a' boolean λογικές τιμές true, false u Δήλωση περισσότερων μεταβλητών var i,j,k : integer; x,y : real; ch : char; changed : boolean;

21Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Δομή του προγράμματος(v) u Κυρίως σώμα statement beginend body ; u Σχόλια var x,y : real; (* οι συντεταγμένες του κέντρου *) r : real; (* η ακτίνα *)

22Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό κυρίως σώμα δηλώσεις επικεφαλίδα Δομή του προγράμματος(vi)  Υποπρογράμματα program example(input, output); var i, j : integer; begin i:=15; j:=23; write('sum of i and j is: '); i:=i+j; write(i) end. procedure add; (* ορισμός της *) begin (* διαδικασίας *) i:=i+j end; add; (* κλήση της διαδικασίας *)

23Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Τί σημαίνει ορθό πρόγραμμα(i) u Συντακτική ορθότητα l το πρόγραμμα πρέπει να υπακούει στους συντακτικούς κανόνες της γλώσσας προγραμματισμού u Συντακτικά σφάλματα στην Pascal l εμφανίζονται όταν δεν ικανοποιούνται τα συντακτικά διαγράμματα l παράδειγμα: ( program ) input example, output;

24Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Τί σημαίνει ορθό πρόγραμμα(ii) u Νοηματική ορθότητα l το πρόγραμμα πρέπει να υπακούει τους νοηματικούς κανόνες της γλώσσας προγραμματισμού u Νοηματικά σφάλματα στην Pascal l εσφαλμένη χρήση τελεστών n := 'a' + 1 l χρήση μεταβλητών χωρίς δήλωση var n,i : integer; begin n := i + j

25Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Τί σημαίνει ορθό πρόγραμμα(iii) sqrt διαίρεση με το μηδέν u Σημασιολογική ορθότητα l όταν το πρόγραμμα εκτελείται, πρέπει να κάνει ακριβώς αυτό που θέλουμε να κάνει u Σημασιολογικά σφάλματα στην Pascal l προέρχονται από την κακή σχεδίαση ή την κακή υλοποίηση του προγράμματος l αυτά τα σφάλματα ονομάζονται συνήθως bugs και η διαδικασία εξάλειψής τους debugging x1 := (-b + sqr(b*b-4*a*c))/(2*a)

26Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Τί σημαίνει ορθό πρόγραμμα(iv) u Ο μεταγλωττιστής μπορεί να εντοπίσει σε ένα πρόγραμμα την ύπαρξη l συντακτικών σφαλμάτων l νοηματικών σφαλμάτων u Τυπώνει κατάλληλα μηνύματα σφάλματος u Ο προγραμματιστής είναι υπεύθυνος για l τη διόρθωση των παραπάνω l τον εντοπισμό και τη διόρθωση σημασιολογικών σφαλμάτων

27Νίκος Παπασπύρου Εισαγωγή στον Προγραμματισμό Συντακτικά διαγράμματα identifier _ letter digit letter a b z... digit