Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού
Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο η µηχανή πρέπει να προσαρµόζεται στα χαρακτηριστικά του ανθρώπου Γενιές
Η εξέλιξη των υποδειγµάτων προγραµµατισµού (programming paradigms)
Μία συνάρτηση (function) που υπολογίζει το µέσο όρο µιας σειράς αριθµών και η οποία έχει κατασκευαστεί από τις απλούστερες συναρτήσεις Sum, Count, και Divide
Η σύνθεση ενός τυπικού προστακτικού προγράµµατος (imperative program) ή µονάδας προγράµµατος (program unit) Πρόγραµµα Το πρώτο µέρος αποτελείται από γραµµές δηλώσεων που περιγράφουν τα δεδοµένα που χειρίζεται το πρόγραµµα. Το δεύτερο µέρος αποτελείται από γραµµές εντολών που περιγράφουν την ενέργεια που πρέπει να εκτελεστεί.
Οι ίδιες δηλώσεις µεταβλητών σε διαφορετικές γλώσσες α. ηλώσεις µεταβλητών σε Pascal β. ηλώσεις µεταβλητών σε C, C++, C#, και Java γ. ηλώσεις µεταβλητών σε FORTRAN
Ενας πίνακας δύο διαστάσεων µε δύο γραµµές και εννέα στήλες Scores (2,4) σε FORTRAN όπου οι δείκτες αρχίζουν από το ένα. Scores [1][3] σε C και στις παράγωγες αυτής όπου οι δείκτες αρχίζουν από το µηδέν.
ήλωση ετερογενών πινάκων σε Pascal και C (συνεχίζεται) α. Η δήλωση πίνακα σε Pascal β. Η δήλωση πίνακα σε C
ήλωση ετερογενών πινάκων σε Pascal και C γ. Η εννοιολογική οργάνωση του πίνακα
οµές ελέγχου και η αναπαράστασή τους σε C, C++, C#, και Java (συνεχίζεται)
οµές ελέγχου και η αναπαράστασή τους σε C, C++, C#, και Java
Η δοµή for loop και η αναπαράστασή της σε Pascal, C++, C#, και Java (συνεχίζεται)
Η δοµή for loop και η αναπαράστασή της σε Pascal, C++, C#, και Java
Η ροή ελέγχου που εµπλέκεται σε µία διαδικασία (procedure) Το calling program unit απαιτεί µία procedure. Το calling program unit συνεχίζει. Ο έλεγχος µεταφέρεται στην procedure. Η procedure εκτελείται. Ο έλεγχος επιστρέφει στο περιβάλλον που έκανε την κλήση όταν η procedure ολοκληρωθεί.
Η procedure Project Population γραµµένη σε γλώσσα προγραµµατισµού C Αρχίζοντας µε τον όρο void είναι ο τρόπος µε τον οποίο ένας προγραµµατιστής C προσδιορίζει ότι το πρόγραµµα είναι µία procedure παρά µία function. Η λίστα των τυπικών παραµέτρων. Η C όπως και πολλές άλλες γλώσσες προγραµµατισµού, απαιτεί τον τύπο των δεδοµένων κάθε παραµέτρου να προσδιοριστεί. ήλωση µίας τοπικής µεταβλητής µε το όνοµα Year. Οι γραµµές αυτές περιγράφουν τον τρόπο µε τον οποίο πρέπει να υπολογιστούν οι πληθυσµοί και να αποθηκευτούν σε έναν καθολικό πίνακα (global array) µε το όνοµα Population.
Εκτελώντας την procedure Demo και περνώντας παραµέτρους τιµής (parameters by value) (συνεχίζεται) α. Οταν καλείται η procedure, ένα αντίγραφο των δεδοµένων δίδεται στην procedure Το περιβάλλον που καλεί Το περιβάλλον της procedure
Εκτελώντας την procedure Demo και περνώντας παραµέτρους τιµής (parameters by value) (συνεχίζεται) β. και η procedure χειρίζεται το αντίγραφό της. Το περιβάλλον που καλεί Το περιβάλλον της procedure
Εκτελώντας την procedure Demo και περνώντας παραµέτρους τιµής (parameters by value) γ. Με τον τρόπο αυτό, όταν η procedure έχει τερµατίσει, το περιβάλλον που καλεί δεν έχει αλλάξει. Το περιβάλλον που καλεί
Εκτελώντας την procedure Demo και περνώντας παραµέτρους αναφοράς (parameters by reference) (συνεχίζεται) α. Οταν η procedure καλείται, η formal παράµετρος γίνεται µία αναφορά στην actual παράµετρο. Το περιβάλλον που καλεί Το περιβάλλον της procedure
Εκτελώντας την procedure Demo και περνώντας παραµέτρους αναφοράς (parameters by reference) (συνεχίζεται) β. Με τον τρόπο αυτό, αλλαγές που κατευθύνονται από την procedure γίνονται στην actual παράµετρο Το περιβάλλον που καλεί Το περιβάλλον της procedure
Εκτελώντας την procedure Demo και περνώντας παραµέτρους αναφοράς (parameters by reference) γ. και για το λόγο αυτό διατηρούνται µετά τον τερµατισµό της procedure. Το περιβάλλον που καλεί
Η function CylinderVolume γραµµένη σε γλώσσα προγραµµατισµού C Η κεφαλίδα της function αρχίζει µε τον τύπο δεδοµένων που θα επιστραφεί. ήλωση µιας τοπικής µεταβλητής (local variable) µε το όνοµα Volume. Υπολόγισε τον όγκο του κυλίνδρου. Τερµάτισε τη function και επίστρεψε την τιµή της µεταβλητής Volume.
Ενα παράδειγµα µορφοποιηµένης εξόδου (formatted output) Εισήγαγε κατάλληλη τιµή, 16 Εισήγαγε κατάλληλη τιµή, 25 Εντολή Πρώτη γραµµή Αρχισε νέα γραµµή Τελική έξοδος στην οθόνη εύτερη γραµµή
Η διαδικασία της µετάφρασης
Ενα διάγραµµα σύνταξης του γνωστού if-then-else ως εντολή ψευδοκώδικα
ιαγράµµατα σύνταξης που περιγράφουν τη δοµή µιας απλής αλγεβραϊκής έκφρασης
Το parse tree για το string x + y z βασισµένο στα προηγούµενα διαγράµµατα σύνταξης
ύο διακριτά parse trees για το statement if B1 then if B2 then S1 else S2 (συνεχίζεται)
ύο διακριτά parse trees για το statement if B1 then if B2 then S1 else S2
Μία αντικειµενοστραφής προσέγγιση (objectoriented approach) για τη διαδικασία της µετάφρασης
Η ολοκληρωµένη διαδικασία προετοιµασίας του προγράµµατος
Η δοµή µιας κλάσης (class) που περιγράφει ένα όπλο µε laser σε ένα παιχνίδι υπολογιστή Περιγραφή των δεδοµένων που θα ανήκουν µέσα σε κάθε ένα αντικείµενο αυτού του τύπου. Μέθοδοι που περιγράφουν τον τρόπο µε τον οποίο ένα αντικείµενο αυτού του «τύπου» θα πρέπει να ανταποκρίνεται σε διάφορα µηνύµατα.
Μία κλάση (class) µε έναν κατασκευαστή (constructor) Ο constructor εκχωρεί µία τιµή στη RemainingPower όταν ένα αντικείµενο δηµιουργείται.
Ο ορισµός για το LaserClass χρησιµοποιώντας encapsulation όπως θα εµφανιζόταν σε ένα πρόγραµµα Java ή C# Τα µέρη (components) σε µία κλάση ορίζονται ως δηµόσια (public) ή ιδιωτικά (private) ανάλογα µε το αν θα πρέπει να είναι προσβάσιµα από άλλες µονάδες προγράµµατος.
Επιλύοντας τα statements (P OR Q) και (R OR Q) για την παραγωγή του (P OR R)
Επιλύοντας τα statements (P OR Q),(R OR Q), R, και P