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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Κεφάλαιο Τμηματικός προγραμματισμός
Advertisements

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φροντιστήρια Εισηγητής: Σπύρος Αργυρόπουλος Μέλος ΕΤΕΠ Εργαστήριο Προγραμματισμού & Τεχνολογίας Ευφυών Συστημάτων.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
1 Πρόγραμμα ονομάζεται η διατύπωση του αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή Το Υλικό μπορεί μόνο Να αποθηκεύει και να ανακτά ακολουθίες δυαδικών.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Γεωργαλλίδης Δημήτρης Καθηγητής Πληροφορικής
Ίδιες αρχές λειτουργίας
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) OOP Concepts and Object-Oriented Design.
Οσμές στη Σχεδίαση του Λογισμικού (Code Smells) Πρόγραμμα Μεταπτυχιακών Σπουδών στην Εφαρμοσμένη Πληροφορική.
Σχεδίαση Αλγορίθμων. Διεργασίες (1/2) Μία διεργασία αλληλεπιδρά με το περιβάλλον της δεχόμενη είσοδο και παράγοντας έξοδο.
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Φυσικές και τεχνητές γλώσσες.
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
1.5 Γλώσσες Προγραμματισμού
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
ΛΑΔΑΚΑΚΟΣ ΘΑΛΗΣ Α.Μ ΔΙΑΧΕΙΡΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Κεφάλαιο 10 – Υποπρογράμματα
Προγραμματισμός Γιατι γραφουμε προγραμματα (προηγ. διαλεξη)
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
ΗΥ Παπαευσταθίου Γιάννης1 Clock generation.
6/26/2015HY220: Ιάκωβος Μαυροειδής1 HY220 Asynchronous Circuits.
Week 11 Quiz Sentence #2. The sentence. λαλο ῦ μεν ε ἰ δότες ὅ τι ὁ ἐ γείρας τ ὸ ν κύριον Ἰ ησο ῦ ν κα ὶ ἡ μ ᾶ ς σ ὺ ν Ἰ ησο ῦ ἐ γερε ῖ κα ὶ παραστήσει.
WRITING B LYCEUM Teacher Eleni Rossidou ©Υπουργείο Παιδείας και Πολιτισμού.
Προσομοίωση Δικτύων 4η Άσκηση Σύνθετες τοπολογίες, διακοπή συνδέσεων, δυναμική δρομολόγηση.
Αριθμητική Επίλυση Διαφορικών Εξισώσεων 1. Συνήθης Δ.Ε. 1 ανεξάρτητη μεταβλητή x 1 εξαρτημένη μεταβλητή y Καθώς και παράγωγοι της y μέχρι n τάξης, στη.
1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Κεφάλαιο 6 Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ.
Κωδικός Θ: ΤΠ4003, Κωδικός Ε: ΤΠ4103 (ΜΕΥ/Υ) Ώρες (Θ - ΑΠ - Ε): Προαπαιτούμενα: ΤΠ2003,2103.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
ΚΕΦ 6 ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. ΣΤΑΔΙΑ ΕΠΙΛΥΣΗΣ ΕΝΟΣ ΠΡΟΒΛΗΜΑΤΟΣ ΚΑΤΑΝΟΗΣΗ – ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ (ΖΗΤΟΥΜΕΝΑ - ΔΕΔΟΜΕΝΑ) ΣΧΕΔΙΑΣΜΟΣ - ΑΝΑΠΤΥΞΗ ΛΥΣΗΣ.
Μαθαίνω με “υπότιτλους”
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Λ. Μήτρου, Επικ. Καθηγήτρια – Πανεπιστήμιο Αιγαίου Κανονιστικές και Κοινωνικές Διαστάσεις της Κοινωνίας της Πληροφορίας /3 Χειμερινό εξάμηνο
Αντικειμενοστραφής Προγραμματισμός (Object Oriented Programming)
Μη Γραμμική Θεωρία Ελαστικής Ευστάθειας: Θεμελιώδες Υλικό
Ψηφιακeς ιδEες και αξIες
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Class X: Athematic verbs II
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Keystroke-Level Model
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ
Προσαρμοστικά μοντέλα
Στοιχεία Δομημένου Προγραμματισμού
Οσμές στη Σχεδίαση του Λογισμικού
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Προχωρημένος Προγραμματισμός
JAVA – Basic OOP Principles
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Μία πρακτική εισαγωγή στην χρήση του R
Find: φ σ3 = 400 [lb/ft2] CD test Δσ = 1,000 [lb/ft2] Sand 34˚ 36˚ 38˚
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
aka Mathematical Models and Applications
Ιεραρχική σχεδίαση Καθορίζονται οι βασικές λειτουργίες σε ανώτερο επίπεδο και στη συνέχεια γίνεται διάσπαση σε όλο και μικρότερες λειτουργίες μέχρι το.
GLY 326 Structural Geology
ΕΝΣΤΑΣΕΙΣ ΠΟΙΟΣ? Όμως ναι.... Ένα σκάφος
Find: ρc [in] from load γT=110 [lb/ft3] γT=100 [lb/ft3]
Λέξεις που αλλάζουν νόημα αν είναι μετρήσιμα ή μη μετρήσιμα
Υπο-τύποι και πολυμορφισμός
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό (στη γλώσσα Java)
Find: ρc [in] from load (4 layers)
CPSC-608 Database Systems
Erasmus + An experience with and for refugees Fay Pliagou.
Class X: Athematic verbs II © Dr. Esa Autero
Μεταγράφημα παρουσίασης:

Εισαγωγή στον προγραμματισμό Μέρος 2ο Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων §§ 6.3 – 6.6

Εισαγωγή στον προγραμματισμό Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής προγραμματισμός Παράλληλος προγραμματισμός

Φυσικές και τεχνητές γλώσσες Αλφάβητο ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ αβγδεζηθικλμνξοπρστυφχψω 0123456789 .,-;! Λεξιλόγιο ΓΡΑΨΕ ≠ ΡΓΕΨΑ

Φυσικές και τεχνητές γλώσσες Γραμματική Τυπικό ή τυπολογικό (accidence): σύνολο κανόνων που ορίζει τις μορφές που μια λέξη είναι αποδεκτή Συντακτικό (syntax): σύνολο κανόνων που ορίζει τη νομιμότητα της διάταξης και σύνδεση των λέξεων

Φυσικές και τεχνητές γλώσσες Σημασιολογία (semantics): σύνολο κανόνων που ορίζει το νόημα των λέξεων και των εκφράσεων Διαφορές φυσικών και τεχνητών γλωσσών Δυνατότητα εξέλιξης

Ιεραρχική σχεδίαση προγράμματος Top-down program design Διαιρούμε το πρόβλημα σε μια σειρά από απλούστερα υποπροβλήματα

Τμηματικός προγραμματισμός Υλοποιεί την ιεραρχική σχεδίαση Κάθε υποπρόβλημα αποτελεί ανεξάρτητη ενότητα (module) Κάθε module γράφεται ξεχωριστά απ’ τα υπόλοιπα Ο τμηματικός προγραμματισμός: Διευκολύνει τη δημιουργία του προγράμματος Μειώνει τα λάθη Επιτρέπει την ευκολότερη παρακολούθηση, κατανόηση και συντήρηση του προγράμματος από τρίτους

Δομημένος προγραμματισμός Έχει επικρατήσει απόλυτα Τον υποστηρίζουν σχεδόν όλες οι γλώσσες προγραμματισμού Παρουσιάστηκε στα μέσα του 1960 1964, Ισραήλ, Bohm & Jacopini 1968, Edsger Dijkstra, “GoTo Statement Considered Harmful”

Δομημένος προγραμματισμός Στηρίζεται στη χρήση τριών και μόνο στοιχειωδών λογικών δομών ελέγχου της ροής του προγράμματος: Δομή ακολουθίας Δομή επιλογής Δομή επανάληψης Κάθε πρόγραμμα, όπως και κάθε ενότητα προγράμματος, έχει μόνο μία είσοδο και μόνο μία έξοδο

GOTO Το μαύρο πρόβατο του προγραμματισμού Οι αλλεπάλληλες διακλαδώσεις κάνανε τα προγράμματα δύσκολα στην συντήρησή τους Ο Δομημένος Προγραμματισμός προσέφερε εναλλακτικές δομές ελέγχου της ροής του προγράμματος καθιστώντας τη GOTO περιττή

Τα πλεονεκτήματα του δομημένου προγραμματισμού Δημιουργία απλούστερων προγραμμάτων Άμεση μεταφορά των αλγορίθμων σε προγράμματα Διευκόλυνση ανάλυσης του προγράμματος σε τμήματα Περιορισμός των λαθών κατά την ανάπτυξη του προγράμματος Διευκόλυνση στην ανάγνωση και κατανόηση του προγράμματος από τρίτους Ευκολότερη διόρθωση και συντήρηση

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

Αντικειμενοστραφής προγραμματισμός Τάξη (class) Αντικείμενο (object) Εγκιβωτισμός (encapsulation) Κληρονομικότητα (inheritance) Αφαίρεση (abstraction) Πολυμορφισμός (polymorphism) Class — the unit of definition of data and behavior (functionality) for some kind-of-thing. For example, the 'class of Dogs' might be a set which includes the various breeds of dogs. A class is the basis of modularity and structure in an object-oriented computer program. A class should typically be recognizable to a non-programmer familiar with the problem domain, and the code for a class should be (relatively) self-contained and independent (as should the code for any good pre-OOP function). With such modularity, the structure of a program will correspond to the aspects of the problem that the program is intended to solve. This simplifies the mapping to and from the problem and program. Object — an instance of a class, an object (for example, "Lassie" the Dog) is the run-time manifestation (instantiation) of a particular exemplar of a class. (For the class of dogs which contains breed types, an acceptable exemplar would only be the subclass 'collie'; "Lassie" would then be an object in that subclass.) Each object has its own data, though the code within a class (or a subclass or an object) may be shared for economy. (Thus, OOLs must be capable of being reentrant.) Encapsulation — a type of privacy applied to the data and some of the methods (that is, functions or subroutines) in a class, encapsulation ensures that an object can be changed only through established channels (namely, the class's public methods). Encapsulation means wrapping up of data and associated functions into a single unit(called class). Each object exposes an interface — those public methods, which specify how other objects may read or modify it. An interface can prevent, for example, any caller from adding a list of children to a Dog when the Dog is less than one year old. Inheritance — a mechanism for creating subclasses, inheritance provides a way to define a (sub)class as a specialization or subtype or extension of a more general class (as Dog is a subclass of Canidae, and Collie is a subclass of the (sub)class Dog); a subclass acquires all the data and methods of all of its superclasses, but it can add or change data or methods as the programmer chooses. Inheritance is the "is-a" relationship: a Dog is-a Canidae. This is in contrast to composition, the "has-a" relationship, which user-defined datatypes brought to computer science: a Dog has-a mother (another Dog) and has-a father, etc. Abstraction — the ability of a program to ignore the details of an object's (sub)class and work at a more generic level when appropriate; For example, "Lassie" the Dog may be treated as a Dog much of the time, but when appropriate she is abstracted to the level of Canidae (superclass of Dog) or Carnivora (superclass of Canidae), and so on. Polymorphism — polymorphism is behavior that varies depending on the class in which the behavior is invoked, that is, two or more classes can react differently to the same message.

Παράλληλος προγραμματισμός Ταυτόχρονη εκτέλεση της ίδιας διεργασίας σε πολλούς επεξεργαστές ώστε να πάρουμε αποτελέσματα πιο γρήγορα Το πρόβλημα διαιρείται σε μικρότερες διεργασίες που, με τον κατάλληλο συντονισμό, εκτελούνται ταυτόχρονα