ηµιουργία νέου τύπου δεδοµένων από το χρήστη

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ηµιουργία νέου τύπου δεδοµένων από το χρήστη"

Transcript

1 ηµιουργία νέου τύπου δεδοµένων από το χρήστη program create_a_type type chemical_element character (len=2) integer end type type (chemical_element) type (chemical_element) :: argon,carbon,neon :: Periodic_Table(109) :: mass carbon%atomic_mass = carbon%atomic_number=6 carbon%symbol="ca" argon=chemical_element("ar",18,26.98) write(*,*)"dwse onoma stoixeiou me 2 & grammata, atomiko arithmo, maza" read(*,*) neon :: symbol :: atomic_number Periodic_Table(5)=argon :: atomic_mass Periodic_Table(17)=carbon Periodic_Table(55)=neon mass=periodic_table(5)%atomic_mass write(*,*) mass write(*,*) neon write(*,*) Periodic_Table(17) end program create_a_type Αν ο χρήστης δώσει: Ne Το πρόγραµµα θα τυπώσει: 26.98!Η ατοµική µάζα του argon Ne !Τα στοιχεία του neon Ca FORTRAN και Αντικειµενοστραφής!Τα στοιχείαπρογραµµατισµός του carbon

2 ηµιουργία σύνθετου τύπου δεδοµένων program create_composite_type type chemical_element character (len=2) :: symbol integer :: atomic_number write(*,*)"dwse onoma me 2 grammata, & atomiko arithmo, maza" read(*,*) neon :: atomic_mass Periodic_Table(5)=argon end type type history character (len=31) Periodic_Table(17)=carbon Periodic_Table(55)=neon :: scientist_namemass=periodic_table(5)%atomic_mass integer :: year_found type (chemical_element) :: chemelement write(*,*) mass end type history type (chemical_element) :: argon,carbon,neon write(*,*) neon write(*,*) Periodic_Table(17) type (chemical_element) :: Periodic_Table(109) :: mass oxygen=chemical_element("o", 76, 190.2) type (chemical_element) :: oxygen oxygen_hist=history ("Joseph Pristley", & type (history) Αν ο χρήστης :: oxygen_history δώσει: Ne , Το πρόγραµµα oxygen) θα τυπώσει: carbon%atomic_mass 26.98= write(*,*) oxygen_hist carbon%atomic_number=6 Ne carbon%symbol="ca" end program create_composite_type argon=chemical_element("ar",18,26.98) Joseph Pristley 1774 O

3 module klasi_rectangle type Rectangle end type Rectangle contains :: base, height Program geometry use klasi_circle use klasi_rectangle function rectangle_area(r) result(area) type (Rectangle), intent(in)::r :: area area=r%base * r%height end function rectangle_area end module klasi_rectangle module klasi_circle :: pi= type Circle :: radius end type Circle contains function circle_area(c) result(area) type (Circle), intent (in) ::c area=pi*((c%radius)*(c%radius)) end function circle_area end module klasi_circle interface compute_area module procedure rectangle_area, circle_area end interface type (Rectangle) type (Circle) Fortran 90/95 :: tetragwno :: kyklos :: emvado tetragwno=rectangle(2.1,4.3) emvado = compute_area(tetragwno) write(6,100) tetragwno, emvado 100 format("area of ", f3.1," by ", f3.1," rectangle is ", f5.2) kyklos=circle(5.4) emvado=compute_area(kyklos) write(6,200) kyklos, emvado ::area 200 format("area of circle with ",f3.1," radius is ",f9.5) end program geometry Το πρόγραµµα τυπώνει Area of 2.1 by 4.3 rectangle is 9.03 Area of circle with 5.4 radius is

4 Ψευδο-OOP στην Fortran 90/95: παράδειγµα module class_circle private public :: Circle, circle_area, circle_print :: pi = d0! Class-wide private constant type Circle :: radius end type Circle contains function circle_area(this) result(area) type(circle), intent(in) :: this :: area area = pi * this%radius**2 end function circle_area

5 subroutine circle_print(this) type(circle), intent(in) :: this :: area area = circle_area(this)! Call the circle_area function print *, 'Circle: r = ', this%radius, ' area = ', area end subroutine circle_print end module class_circle program circle_test use class_circle type(circle) :: c! Declare a variable of type Circle. c = Circle(1.5)! Use the implicit constructor, radius = 1.5. call circle_print(c)! Call a class subroutine end program circle_test

6 module class_circle private :: pi = d0! Class-wide private constant type, public :: Circle :: radius contains procedure :: area => circle_area procedure :: print => circle_print end type Circle OOP στην Fortran 2003 (i) contains function circle_area(this) result(area) class(circle), intent(in) :: this :: area area = pi * this%radius**2 end function circle_area subroutine circle_print(this) class(circle), intent(in) :: this :: area area = this%area()! Call the typebound function print *, 'Circle: r = ', this%radius, ' area = ', area end subroutine circle_print end module class_circle

7 OOP στην Fortran 2003 (ii) program circle_test use class_circle type(circle) :: c! Declare a variable of type Circle. c = Circle(1.5)! Use the implicit constructor, radius = 1.5. call c%print! Call the type-bound subroutine end program circle_test

8 Αντικειµενοστραφής προγραµµατισµός(i) Αντικειµενοστραφές (object-oriented) µοντέλο ανάπτυξης λογισµικού Το πρόγραµµα είναι οργανωµένο ως ένα σύνολο από αλληλεπιδρώντα αντικείµενα Κάθε αντικείµενο περιέχει: δεδοµένα (data), που χαρακτηρίζουν την κατάστασή του µεθόδους (methods), δηλαδή κώδικα που υλοποιεί τη συµπεριφορά του ενθυλάκωση (encapsulation)

9 Βασικές αρχές Αντικειµενοστραφής προγραµµατισµός(ii) Κατά την ανάλυση και τη σχεδίαση, δείτε τα αντικείµεναβάσειτηςδιεπαφήςτους (interface) και όχι βάσει της υλοποίησής τους Προσπαθήστε να κρύψετε όσο το δυνατόν µεγαλύτερο µέρος της υλοποίησης Προσπαθήστε να επαναχρησιµοποιήσετε αντικείµενα Προσπαθήστε να ελαχιστοποιήσετε τις διασυνδέσεις µεταξύ αντικειµένων

10 Αντικειµενοστραφής προγραµµατισµός(iii) Κύρια χαρακτηριστικά Κληρονοµικότητα (inheritance) Πολυµορφισµός (polymorphism) Απόκρυψη πληροφορίας (information hiding) 10

11 Αντικειµενοστραφής προγραµµατισµός(iv) Πλεονεκτήµατα Φυσική περιγραφή, τουλάχιστον για ορισµένες περιοχές εφαρµογών Αφαίρεση, δόµηση, επαναχρησιµοποίηση Ιδιαίτερα διαδεδοµένος σήµερα, πληθώρα γλωσσών και εργαλείων τον υποστηρίζουν Μειονεκτήµατα Υπερτιµηµένος... ιόγκωση κώδικα 11

(derived data types) ...

(derived data types) ... typeόνοµα_τύπου δήλωση... δήλωση κ end type όνοµα_τύπου ηµιουργία νέου τύπου εδοµένων (derived data types) Όπου δήλωση i (i=,,k) είναι κάποιος γνωστός τύπος δεδοµένων (π.χ. integer :: a). Tο όνοµα του

Διαβάστε περισσότερα

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

Fortran και Αντικειμενοστραφής προγραμματισμός. Fortran και Αντικειμενοστραφής προγραμματισμός www.corelab.ntua.gr/courses/fortran_naval/naval Δδάσκοντες: Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M8 Αντικειμενοστραφής Προγραμματισμός - Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 Μ4. Συναρτήσεις, Υπορουτίνες, Ενότητες - Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 M8 Αντικειμενοστραφής Προγραμματισμός Δρ. Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M8 Αντικειμενοστραφής Προγραμματισμός Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ

Διαβάστε περισσότερα

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

Διαβάστε περισσότερα

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

Διαβάστε περισσότερα

Δομή προγράμματος στη Fortran

Δομή προγράμματος στη Fortran Δομή προγράμματος στη Fortran Ένα πρόγραμμα γραμμένο σε Fortran αποτελείται από: Την επικεφαλίδα του προγράμματος. Το τμήμα των δηλώσεων. Το τμήμα των προτάσεων (εντολών). Το τμήμα των υποπρογραμμάτων.

Διαβάστε περισσότερα

Δομή προγράμματος στη Fortran

Δομή προγράμματος στη Fortran Δομή προγράμματος στη Fortran Ένα πρόγραμμα γραμμένο σε Fortran αποτελείται από: Την επικεφαλίδα του προγράμματος. Το τμήμα των δηλώσεων. Το τμήμα των προτάσεων (εντολών). Το τμήμα των υποπρογραμμάτων.

Διαβάστε περισσότερα

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

02 Αντικειμενοστρεφής Προγραμματισμός 02 Αντικειμενοστρεφής Προγραμματισμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αντικειμενοστρέφεια Στον προγραμματισμό object

Διαβάστε περισσότερα

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα

Εισαγωγή στη Fortran. Μάθημα 1 ο. Ελευθερία Λιούκα Εισαγωγή στη Fortran Μάθημα 1 ο Ελευθερία Λιούκα liouka.eleftheria@gmail.com Περιεχόμενα Ιστορία της Fortran Βασικές γνώσεις Fortran Επιτρεπτοί χαρακτήρες Μορφή προγράμματος Τύποι μεταβλητών Πράξεις και

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς για Χημικούς Μηχανικούς Παρουσίαση Διαλέξεων: 10. Αντικείμενα Καθηγητής Δημήτρης Ματαράς Copyright 2014 by Prof. D. S. Mataras (mataras@upatras.gr). This work is made available under the terms of the Creative

Διαβάστε περισσότερα

Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016. ΦΥΣ145 Υπολογιστικές Μέθοδοι στην Φυσική

Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016. ΦΥΣ145 Υπολογιστικές Μέθοδοι στην Φυσική Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016 Διδάσκoντες: Χαράλαμπος Παναγόπουλος, Μάριος Κώστα Βαθμός: Όνομα: Α.Δ.Τ.:... ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ 24/03/2016 Άσκηση 1 (1 μονάδα) Ποιο είναι το αποτέλεσμα

Διαβάστε περισσότερα

(Διαφάνειες Νίκου Βιδάκη)

(Διαφάνειες Νίκου Βιδάκη) (Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό

Διαβάστε περισσότερα

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών ΜΟΡΥΕ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Διαδικασιακός ή Διαδικαστικός (Procedural)

Διαβάστε περισσότερα

Σύνθεση και Κληρονομικότητα

Σύνθεση και Κληρονομικότητα Σύνθεση και Κληρονομικότητα Σύνθεση (composition) Κληρονομικότητα (inheritance) Υπερφόρτωση κληρονομημένων μελών Εικονικές συναρτήσεις και Πολυμορφισμός Αφηρημένες (abstract) βασικές κλάσεις 1 Σύνθεση

Διαβάστε περισσότερα

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα Εισαγωγή στη Fortran Μάθημα 3 ο Ελευθερία Λιούκα liouka.eleftheria@gmail.com Περιεχόμενα Loops External Functions Subroutines Arrays Common mistakes Loops Ανάγκη να εκτελέσουμε τις ίδιες εντολές πολλές

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2. Περιγραφή της Κίνησης. 2.1 Κίνηση στο Επίπεδο

ΚΕΦΑΛΑΙΟ 2. Περιγραφή της Κίνησης. 2.1 Κίνηση στο Επίπεδο ΚΕΦΑΛΑΙΟ 2 Περιγραφή της Κίνησης Στο κεφάλαιο αυτό θα δείξουμε πώς να προγραμματίσουμε απλές εξισώσεις τροχιάς ενός σωματιδίου και πώς να κάνουμε βασική ανάλυση των αριθμητικών αποτελεσμάτων. Χρησιμοποιούμε

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς για Χημικούς Μηχανικούς Παρουσίαση Διαλέξεων: 11. Διεπιφάνειες Καθηγητής Δημήτρης Ματαράς Copyright 2014 by Prof. D. S. Mataras (mataras@upatras.gr). This work is made available under the terms of the

Διαβάστε περισσότερα

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

Λογισµικό (Software SW) Γλώσσες Λογισµικό (Software SW) Γλώσσες Προγραµµατισµού Οι γενιές των γλωσσών προγραµµατισµού Προβλήµατα που επιλύονται σε ένα περιβάλλον στο οποίο ο άνθρωπος πρέπει να προσαρµόζεται στα χαρακτηριστικά της µηχανής

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 1: Αντικειμενοστραφής Προγραμματισμός Εισαγωγή OBJECT-ORIENTED PROGRAMMING ΔΙΔΑΣΚΟΝΤΕΣ: Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ

Διαβάστε περισσότερα

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

Διαβάστε περισσότερα

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

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Sites:

Διαβάστε περισσότερα

Outline. 4 Object-Oriented Programming

Outline. 4 Object-Oriented Programming Προγραμματισμός Ηλεκτρονικών Υπολογιστών Φιλοσοφίες γλωσσών προγραμματισμού Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Ιανουάριος 2016 ιδάσκων: Στάθης Ζάχος ( CoReLab

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015. Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015. Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας Τι είναι τα υποπρογράμματα Αυτόνομες μονάδες κώδικα Γραμμένα από τον χρήστη Η δομή

Διαβάστε περισσότερα

Χρήση Αντικειμενοστραφούς Προγραμματισμού στον Υπολογιστικό Ηλεκτρομαγνητισμό

Χρήση Αντικειμενοστραφούς Προγραμματισμού στον Υπολογιστικό Ηλεκτρομαγνητισμό Χρήση Αντικειμενοστραφούς Προγραμματισμού στον Υπολογιστικό Ηλεκτρομαγνητισμό Εφαρμογή Εργαλεία Υλοποίηση βιβλιοθήκης για προσομοίωση Η/Μ διατάξεων με MAS Γλώσσα Προγραμματισμού C++ Τεχνικές OOP Κληρονομικότητα

Διαβάστε περισσότερα

Μεθοδολογία. Aνάλυσης Προβλήµατος. Τι είναι αλγόριθµος? Σχεδιάσµος Αλγορίθµου

Μεθοδολογία. Aνάλυσης Προβλήµατος. Τι είναι αλγόριθµος? Σχεδιάσµος Αλγορίθµου Προγραµµατισµός Προηγ. διαλεξη: γιατι γραφουµε προγραµµατα; Σηµερα: πως γραφουµε προγραµµατα; τι ειναι προγραµµατισµος µεθοδολογια αφαιρετικοτητα (abstraction) διαχωρισµος µεταξυ τι και πως(προγραµµα,δεδοµενα...)

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ηµιουργία και χειρισµός LIFO λιστών µεταβλητού µήκους µε στοιχεία ακεραίους αριθµούς. Γενίκευση για χειρισµό λιστών πραγµατικών

Διαβάστε περισσότερα

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Εισαγωγή στην C++ Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η γλώσσα C++ Σχεδιάστηκε το 1979 από τον Bjarne Stroustrup στα Bell Laboratories Βασίζεται

Διαβάστε περισσότερα

Σύνθεση και Κληρονομικότητα

Σύνθεση και Κληρονομικότητα Σύνθεση και Κληρονομικότητα Σύνθεση (composition) Κληρονομικότητα (inheritance) Υπερφόρτωση κληρονομημένων μελών Εικονικές συναρτήσεις και Πολυμορφισμός Αφηρημένες (abstract) βασικές κλάσεις 1 Σύνθεση

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς για Χημικούς Μηχανικούς Παρουσίαση Διαλέξεων: 9. Δυναμικά Δεδομένα Καθηγητής Δημήτρης Ματαράς Copyright 2014 by Prof. D. S. Mataras (mataras@upatras.gr). This work is made available under the terms of

Διαβάστε περισσότερα

bits and bytes q Ο υπολογιστής χρησιμοποιεί τη κύρια μνήμη για αποθήκευση δεδομένων

bits and bytes q Ο υπολογιστής χρησιμοποιεί τη κύρια μνήμη για αποθήκευση δεδομένων bits and bytes ΦΥΣ 145 - Διαλ.02 1 q Ο υπολογιστής χρησιμοποιεί τη κύρια μνήμη για αποθήκευση δεδομένων q Η μνήμη χωρίζεται σε words και κάθε word περιέχει τμήμα πληροφορίας q Ο αριθμός των words σε μια

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 Δρ. Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ Εργαστήριο Ναυτικής Μηχανολογίας

Διαβάστε περισσότερα

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Αντικειμενοστραφής ανάλυση και σχεδιασμός Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αντικειμενοστραφής ανάλυση και σχεδιασμός

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις Στατικές μέθοδοι Τι σημαίνει το keyword static στον ορισμό της main μεθόδου? Τι είναι μια στατική μέθοδος?

Διαβάστε περισσότερα

διακριτοποίηση αριθµητική παραγώγιση

διακριτοποίηση αριθµητική παραγώγιση Ανέκαθεν οι άνθρωποι αντιµετώπιζαν προβλήµατα υπολογισµού µη κανονικών ποσοτήτων όπως είναι για παράδειγµα το εµβαδόν ενός χωραφιού µε ακανόνιστο περίγραµµα, ή ο όγκος µιας δεξαµενής κωνικού σχήµατος κλπ.

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς για Χημικούς Μηχανικούς Παρουσίαση Διαλέξεων: 8. Διαδικασίες Καθηγητής Δημήτρης Ματαράς Copyright 2014 by Prof. D. S. Mataras (mataras@upatras.gr). This work is made available under the terms of the Creative

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΑΦΗΡΗΜΕΝΕΣ ΚΛΑΣΕΙΣ INTERFACES ΕΣΩΤΕΡΙΚΕΣ ΚΛΑΣΕΙΣ (INNER CLASSES) Αφηρημένες Κλάσεις (Abstract Classes) (1/6) Οι αφηρημένες κλάσεις χρησιμοποιούνται για την

Διαβάστε περισσότερα

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

Fortran και Αντικειμενοστραφής προγραμματισμός. Fortran και Αντικειμενοστραφής προγραμματισμός www.corelab.ntua.gr/courses/fortran_naval/naval Διδάσκοντες: Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

Διαβάστε περισσότερα

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

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13 Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις

Διαβάστε περισσότερα

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό Εισαγωγή στην Fortran ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός (Λέκτορας) nearchos@cs.ucy.ac.cy Γραφείο #B120, Τηλ. ext. 2744 FORTRAN: Ιστορική Αναδρομή 1954 1957, πρώτος

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 6 η : Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M7 Δομές δεδομένων: Πίνακες - Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 20 ΕΠΑΝΑΧΡΗΣΙΜΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ

ΚΕΦΑΛΑΙΟ 20 ΕΠΑΝΑΧΡΗΣΙΜΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΚΕΦΑΛΑΙΟ 20 ΕΠΑΝΑΧΡΗΣΙΜΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ Στόχοι Περιγραφή πλεονεκτηµάτων-µειονεκτηµάτων µειονεκτηµάτων επαναχρησιµοποίησης λογισµικού Ανάπτυξη για-µε επαναχρησιµοποίηση Χαρακτηριστικά γενικών επαναχρησιµοποιούµενων

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού 1 Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα σύμφωνα

Διαβάστε περισσότερα

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

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός Πίνακες (i) Δομημένη μεταβλητή: αποθηκεύει μια συλλογή από τιμές δεδομένων Πίνακας (array): δομημένη μεταβλητή που αποθηκεύει πολλές τιμές του ίδιου τύπου INTEGER:: pinakas(100)ή INTEGER, DIMENSION(100)::pinakas

Διαβάστε περισσότερα

Wrapper Classes, Abstract Classes and Interfaces

Wrapper Classes, Abstract Classes and Interfaces Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους

Διαβάστε περισσότερα

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα τοποθετούνται

Διαβάστε περισσότερα

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN: Άσκηση 1 Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του J στα παρακάτω κομμάτια κώδικα FORTRAN: INTEGER J J = 5 J = J + 1 J = J + 1 INTEGER X, Y, J X = 2 Y =

Διαβάστε περισσότερα

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

Γλώσσες προγραµµατισµού. Ανάπτυξη Συστηµάτων Λογισµικού ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ http://courses.softlab.ntua.gr/softeng/ ιδάσκοντες: (nickie@softlab.ntua.gr) Βασίλης Βεσκούκης (bxb@softlab.ntua.gr) Γλώσσες Προγραµµατισµού και Ανάπτυξη Συστηµάτων Λογισµικού ΤΛ

Διαβάστε περισσότερα

Εξέλιξη: Γλώσσα μηχανής assembly Γλώσσες προγραμματισμού ανεξάρτητες από την μηχανή Διαδικασίες κ Συναρτήσεις Αντικείμενα

Εξέλιξη: Γλώσσα μηχανής assembly Γλώσσες προγραμματισμού ανεξάρτητες από την μηχανή Διαδικασίες κ Συναρτήσεις Αντικείμενα Ευάγγελος Θεοδωρίδης theodori@ceid... Αμαλία Φωκά foka@ceid... Ακαδημαϊκό Έτος 2010-2011 http://www.ceid.upatras.gr/courses/cplusplus Τρίτη 9:00-12:00 Β4 Project (Yποχρεωτικό): 30% Φεβ.- 15% Σεπτ. Γραπτή

Διαβάστε περισσότερα

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #6 η : Η λέξη κλειδί this, υπερφόρτωση μεθόδων, κληρονομικότητα, πολυμορφισμός, υπερκάλυψη, επίπεδα προσπέλασης Γαβαλάς Δαμιανός dgavalas@aegean.gr

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M9 Διασύνδεση FORTRAN με άλλες γλώσσες Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ

Διαβάστε περισσότερα

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι 1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της

Διαβάστε περισσότερα

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα

Διαβάστε περισσότερα

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

Αντικειμενοστραφής Προγραμματισμός Κλάσεις Αντικειμενοστραφής Προγραμματισμός Κλάσεις-Αντικείμενα Ένα παράδειγμα Συναρτήσεις κατασκευής (Constructors) Συνάρτηση καταστροφής (Destructor) Συναρτήσεις πρόσβασης (Access Functions) Συνάρτηση

Διαβάστε περισσότερα

ύο βασικές ιδέες Ενότητες Απόκρυψη Πληροφορίας, Αφηρηµένοι Τύποι εδοµένων 1) ιαχώρισε το πρόβληµα σεµικρότερα καλώς καθορισµένα υπο-προβλήµατα

ύο βασικές ιδέες Ενότητες Απόκρυψη Πληροφορίας, Αφηρηµένοι Τύποι εδοµένων 1) ιαχώρισε το πρόβληµα σεµικρότερα καλώς καθορισµένα υπο-προβλήµατα Ενότητες Απόκρυψη Πληροφορίας, Αφηρηµένοι Τύποι εδοµένων Modularity, Information Hiding and Abstract Data Types. υσκολία: Προγράµµατα που λύνουν «πραγµατικά προβλήµατα µπορεί να είναι µεγάλα (εκατοµµύρια

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης

Διαβάστε περισσότερα

Αρχικοποίηση Αντικειµένων & Κλάσεων στη Java Object Instantiation & Class Initialisation Κώστας Σαΐδης saiko@di.uoa.gr http://daemon.di.uoa.gr/daemon/issue4 Μάρτιος 2004 Η Αρχή είναι το ήµισυ του Παντός

Διαβάστε περισσότερα

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η Γράψτε το ονοματεπώνυμο και αριθμό ταυτότητάς σας στο πάνω μέρος της αυτής της σελίδας. Πρέπει να απαντήσετε και στα 6 προβλήματα

Διαβάστε περισσότερα

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

Κεφάλαιο 7: Υπορουτίνες Κεφάλαιο 7: Υπορουτίνες Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υπορουτινών (subroutine abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων που μπορεί

Διαβάστε περισσότερα

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση: Σχεδίαση Κλάσεων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.11.19 Εισαγωγή 2 ιαρκής συντήρηση και επέκταση λογισµικού Οι εταιρίες συνήθως συντηρούν, επεκτείνουν

Διαβάστε περισσότερα

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική Πρόοδος 6 Μαρτίου 007 Ομάδα 1 η Γράψτε το ονοματεπώνυμο και αριθμό ταυτότητάς σας στο πάνω μέρος της αυτής της σελίδας. Πρέπει να απαντήσετε και στα 6 προβλήματα

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017 M5 Ασκήσεις Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ Εργαστήριο Ναυτικής

Διαβάστε περισσότερα

Δείκτες σε συναρτήσεις. Προγραμματισμός II 1

Δείκτες σε συναρτήσεις. Προγραμματισμός II 1 Δείκτες σε συναρτήσεις Προγραμματισμός II 1 lalis@inf.uth.gr Συνάρτηση Ομάδα εντολών που γράφουμε ξεχωριστά για να υλοποιήσουμε μια συγκεκριμένη λειτουργία για καλύτερη / πιο καθαρή δόμηση του κώδικα για

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2 Είσοδος / Έξοδος Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συνάρτηση εξόδου printf Συνάρτηση εισόδου scanf Βιβλίο µαθήµατος: Chapter 2,, Sec. 3 & 6 ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-1 Είσοδος

Διαβάστε περισσότερα

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

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

Διαβάστε περισσότερα

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE) EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 5: Component Adaptation Environment (COPE) Performing Static Analysis 1 Class Name: The fully qualified name of the specific class Type: The type of the class

Διαβάστε περισσότερα

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C# Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς για Χημικούς Μηχανικούς Παρουσίαση Διαλέξεων: 12. Εφαρμογές Καθηγητής Δημήτρης Ματαράς Copyright 2014 by Prof. D. S. Mataras (mataras@upatras.gr). This work is made available under the terms of the Creative

Διαβάστε περισσότερα

Fortran και Αντικειμενοστραφής προγραμματισμός. www.corelab.ntua.gr/courses/fortran_naval/naval

Fortran και Αντικειμενοστραφής προγραμματισμός. www.corelab.ntua.gr/courses/fortran_naval/naval Fortran και Αντικειμενοστραφής προγραμματισμός Διδάσκοντες: www.corelab.ntua.gr/courses/fortran_naval/naval Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

Διαβάστε περισσότερα

Volume of a Cuboid. Volume = length x breadth x height. V = l x b x h. The formula for the volume of a cuboid is

Volume of a Cuboid. Volume = length x breadth x height. V = l x b x h. The formula for the volume of a cuboid is Volume of a Cuboid The formula for the volume of a cuboid is Volume = length x breadth x height V = l x b x h Example Work out the volume of this cuboid 10 cm 15 cm V = l x b x h V = 15 x 6 x 10 V = 900cm³

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας ρ. Πάνος Φιτσιλής Περιεχόµενα Βασικές έννοιες αντικειµενοστεφούς τρόπου ανάπτυξης Τι είναι κλάση Τι είναι αντικείµενο 2 Βασικές

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού 1 Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα

Διαβάστε περισσότερα

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

Fortran και Αντικειμενοστραφής προγραμματισμός. Fortran και Αντικειμενοστραφής προγραμματισμός www.corelab.ntua.gr/courses/fortran_naval/naval Δδάσκοντες: Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

Διαβάστε περισσότερα

ΜΑΘΗΜΑΤΑ PYTHON. Καθηγητής Ι. Δημητρίου.

ΜΑΘΗΜΑΤΑ PYTHON. Καθηγητής Ι. Δημητρίου. ΜΑΘΗΜΑΤΑ PYTHON To 1991 o Guido van Rossman δημιούργησε την Python ως μια ανοιχτού λογισμικού ανεξάρτητη πλατφόρμας γενικού σκοπού γλώσσα προγραμματισμού (open source platformindependent). Είναι βασικά

Διαβάστε περισσότερα

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN

ΕΙ ΑΓΩΓΉ ΣΗΝ FORTRAN ΕΙΑΓΩΓΉ ΣΗΝ FORTRAN ΕΙΑΓΩΓΙΚΑ ΣΟΙΧΕΙΑ FORTRAN (FORmula TRANslator) -είναι από τις πρώτες γλώσσες υψηλού επιπέδου -σχεδιάστηκε αρχικά για μαθηματικούς σκοπούς -κάνει δυνατή την υπολογιστική επίλυση προβλημάτων

Διαβάστε περισσότερα

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) 1 ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) ιάλεξη 1 1.1 ΕΙΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 Ένα πρόγραµµα σε οποιαδήποτε γλώσσα προγραµµατισµού δεν τίποτα άλλο από µια σειρά εντολών που πρέπει

Διαβάστε περισσότερα

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 8 : ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ & ΠΟΛΥΜΟΡΦΙΣΜΟΣ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ (1/3) Στην αρχή της κληρονομικότητας βασίζεται ο σχεδιασμός και η υλοποίηση συστημάτων Η κληρονομικότητα χρησιμοποιείται

Διαβάστε περισσότερα

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

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος. ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος 1 2 3 Εικόνα 43: Διάφορες πλακέτες υπολογιστών Μέσα σε δύο

Διαβάστε περισσότερα

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

Αρχές Τεχνολογίας Λογισμικού Αρχές Τεχνολογίας Λογισμικού Επισκόπηση του μαθήματος 2 Διδάσκοντες ΘΕΩΡΙΑ Νίκος Παπαδάκης ΕΡΓΑΣΤΗΡΙΟ Αϊβαλής Κώστας costis@teicrete.gr Κονδυλάκης Χάρης kondylak@gmail.com 3 Το μάθημα στο πρόγραμμα σπουδών

Διαβάστε περισσότερα

Pascal. 26 Οκτωβρίου 2011

Pascal. 26 Οκτωβρίου 2011 Pascal 6 Οκτωβρίου 011 1 Procedures σε Pascal Στην Pascal μπορούμε να ορίσουμε διαδικασίες (procedures). Αυτές είναι ομάδες εντολών οι οποίες έχουν ένα όνομα. Γράφοντας το όνομα μιας διαδικασίας μπορούμε

Διαβάστε περισσότερα

Ενότητες στην C Τεχνική Υλοποίησης Αφαιρετικών Τύπων Δεδομένων στην C

Ενότητες στην C Τεχνική Υλοποίησης Αφαιρετικών Τύπων Δεδομένων στην C Ενότητες στην C Τεχνική Υλοποίησης Αφαιρετικών Τύπων Δεδομένων στην C Δυσκολία: Προγράμματα που λύνουν «πραγματικά προβλήματα» μπορεί να είναι μεγάλα (χιλιάδες ή εκατομμύρια γραμμές κώδικα). Κανείς δεν

Διαβάστε περισσότερα

Στο πρόγραμμα θα πρέπει να γίνει υποχρεωτικά χρήση κλάσεων. Για την υλοποίηση του προγράμματος χρειάζονται 3 βασικές κλάσεις.

Στο πρόγραμμα θα πρέπει να γίνει υποχρεωτικά χρήση κλάσεων. Για την υλοποίηση του προγράμματος χρειάζονται 3 βασικές κλάσεις. 3 η Σειρά Ασκήσεων Ημερομηνία παράδοσης 17/1/2018 Άσκηση 1 Να γραφεί πρόγραμμα το οποίο θα διαχειρίζεται είδη αποθήκης (κλάση Inventory) και τιμολόγια (κλάση Invoice). Από το πρόγραμμα θα έχουμε δυνατότητα

Διαβάστε περισσότερα

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

Fortran και Αντικειμενοστραφής προγραμματισμός. Fortran και Αντικειμενοστραφής προγραμματισμός www.corelab.ntua.gr/courses/fortran_naval/naval Δδάσκοντες: Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

Διαβάστε περισσότερα

04 Αντικειμενοστραφής ανάλυση και σχεδιασμός

04 Αντικειμενοστραφής ανάλυση και σχεδιασμός 04 Αντικειμενοστραφής ανάλυση και σχεδιασμός Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr

Διαβάστε περισσότερα

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου (Διάλεξη 7) 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράμματα πρέπει να πάρουμε κάποια δεδομένα και να δώσουμε αποτέλεσμα Συνάρτηση εισόδου

Διαβάστε περισσότερα

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου (Διάλεξη 7) 1 Είσοδος/Έξοδος Σε σχεδόν όλα τα προγράμματα πρέπει να πάρουμε κάποια δεδομένα και να δώσουμε αποτέλεσμα Συνάρτηση εισόδου

Διαβάστε περισσότερα

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ Μηχανισµός υλοποίησης των σχέσεων γενίκευσης/εξειδίκευσης µεταξύ κλάσεων Η σχέση εξειδίκευσης «υποκλάση-της» (subclass-of)είναι γνωστή σαν σχέση «είναι ένα» (isa) ή «είναι ένα είδος» (ako:

Διαβάστε περισσότερα

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους

Διαβάστε περισσότερα

Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι

Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Generic Types Τα Generics έχουν προστεθεί στη JAVA από το 2004 ως μέρος του J2SE 5.0 Με τη χρήση

Διαβάστε περισσότερα

8 FORTRAN 77/90/95/2003

8 FORTRAN 77/90/95/2003 ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1: Εισαγωγή... 17 1.1. Ανασκόπηση της ιστορίας των υπολογιστών... 18 1.2. Πληροφορία και δεδομένα... 24 1.3. Ο Υπολογιστής... 26 1.4. Δομή και λειτουργία του υπολογιστή... 28 1.5.

Διαβάστε περισσότερα

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!! Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2016-17, Χειμερινό Εξάμηνο Τελική Εξέταση

Διαβάστε περισσότερα