Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εισαγωγή στον προγραμματισμό"— Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

13 Αντικειμενοστραφής προγραμματισμός
Τάξη (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.

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


Κατέβασμα ppt "Εισαγωγή στον προγραμματισμό"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google