Λογισµικό (Software SW) Γλώσσες

Σχετικά έγγραφα
Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Κεφάλαιο 7: Υπορουτίνες

Αντικειμενοστρεφής Προγραμματισμός

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

Pascal. 15 Νοεμβρίου 2011

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

εύτερη γενιά: γλώσσα assembly

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Δομημένος Προγραμματισμός

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

Η γλώσσα προγραμματισμού Strange

Κεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές»

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

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

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

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

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

Αντικειμενοστρεφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

ιαφάνειες παρουσίασης #4

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ιαφάνειες παρουσίασης #4

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

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

Εισαγωγή στην πληροφορική

Αντικειμενοστραφής Προγραμματισμός

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

3 Αλληλεπίδραση Αντικειμένων

Αντικειµενοστρεφής Προγραµµατισµός

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

Υποπρογράµµατα Συναρτήσεις. Στόχοι Μαθήµατος. Οι µαθητές να µπορούν:

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ιαφάνειες παρουσίασης #3

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Κλάσεις και Αντικείµενα

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

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

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

Εισαγωγή στην πληροφορική

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Computing. Νοέμβριος Έκδοση 1.0

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

Αντικειµενοστραφής Προγραµµατισµός

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Εισαγωγή στην πληροφορική

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

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

Οντοκεντρικός Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

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

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

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

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

Κεφάλαιο 12 : ΕΡΓΑΣΤΗΡΙΑΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ 03 Συναρτήσεις

ΕΠΑ.Λ ΧΡΥΣΟΥΠΟΛΗΣ Γ Πληροφορική Προγραµµατισµός Υπολογιστών Κεφάλαιο 10 Εργαστηριακή ραστηριότητα 02 ΑΠΑΝΤΗΣΕΙΣ

Συναρτήσεις. Κατασκευαστικά Τεµάχια για τη ηµιουργία Αρθρωτών Προγραµµάτων

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

Συναρτήσεις. Υποπρόγραμμα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

Γλώσσες προγραµµατισµού. Ανάπτυξη Συστηµάτων Λογισµικού

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

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large)

Κεφάλαιο 10 ο Υποπρογράµµατα

Μεθόδων Επίλυσης Προβλημάτων

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Η γλώσσα προγραμματισμού EEL

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

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

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

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Δομημένος Προγραμματισμός

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Transcript:

Λογισµικό (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