78
ΠΛΗΡΟΦΟΡΙΚΗ I 9 η ΔΙΑΛΕΞΗ Λογισμικό - ΠρογραμματισμόςΧΑΣΑΝΗΣ ΒΑΣΙΛΕΙΟΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ - ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΙΣΑΓΩΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ

ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΠΛΗΡΟΦΟΡΙΚΗ I

9η ΔΙΑΛΕΞΗ “Λογισμικό - Προγραμματισμός”

ΧΑΣΑΝΗΣ ΒΑΣΙΛΕΙΟΣ

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ - ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

Page 2: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΠΕΡΙΕΧΟΜΕΝΟ ΔΙΑΛΕΞΗΣ

1. Βασικά στοιχεία 2. Αλγόριθμοι και προγράμματα 3. Μοντέλα ανάπτυξης λογισμικού 4. Παραδοσιακά στοιχεία προγραμματισμού 5. Ανάπτυξη προγραμμάτων 6. Συνηθισμένες κατηγορίες εφαρμογών 7. Φάσεις ανάπτυξης συστημάτων 8. Άδειες χρήσης 9. Επιλογή λογισμικού

2

Page 3: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ

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

1. Λογισμικό συστήματος Προγράμματα διαχείρισης και υποστήριξης

2. Λογισμικό εφαρμογών

3

Page 4: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ

4

Page 5: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΑ

Αλγόριθμος είναι η ακριβής περιγραφή μιας αυστηρά καθορισμένης σειράς πεπερασμένων βημάτων για την επίλυση ενός προβλήματος.

Η διατύπωση ενός αλγορίθμου μπορεί να γίνει με πολλούς τρόπους: Φυσική γλώσσα Τεχνητή γλώσσα με περιορισμένο λεξιλόγιο Διάφοροι συμβολισμοί Σχήματα και διαγράμματα

5

Page 6: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΦΥΣΙΚΗ ΓΛΩΣΣΑ

Ζητείται να βρεθεί ο μεγαλύτερος από τρεις δοσμένους αριθμούς:

"Πάρε τους δύο πρώτους αριθμούς και σύγκρινέ τους.

Στη συνέχεια σύγκρινε το μεγαλύτερο από αυτούς και τον τρίτο αριθμό. Ο μεγαλύτερος από τους δύο τελευταίους είναι ο μεγαλύτερος των τριών αριθμών."

6

Page 7: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΤΕΧΝΗΤΗ ΓΛΩΣΣΑ

Αλγόριθμος MAX Δεδομένα //x, y, z : αριθμοί, m : μεταβλητή// Αρχή Αν x>y τότε m=x αλλιώς m=y Αν z>m τότε m=z Τέλος Αποτελέσματα //m, ο μέγιστος των x, y, z // Τέλος MAX

7

Page 8: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΟΥ

Είσοδος Έξοδος Σαφείς οδηγίες Καλύπτει όλες τις δυνατές καταστάσεις Τερματισμός

8

Page 9: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΠΡΟΓΡΑΜΜΑ

Πρόγραμμα: Διατύπωση ενός αλγορίθμου σε γλώσσα προγραμματισμού.

Μια σειρά βημάτων, οδηγιών ή εντολών προς τον υπολογιστή, κατανοητών από αυτόν, για τη λύση ενός προβλήματος.

Οι εντολές αυτές εκτελούνται από τον υπολογιστή με χρονική και λογική σειρά προκειμένου να δώσουν τα προσδοκώμενα αποτελέσματα.

Η διαδικασία σύνταξης των προγραμμάτων αποκαλείται προγραμματισμός.

9

Page 10: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΠΡΟΓΡΑΜΜΑ

Λόγω της τεράστιας πολυπλοκότητας των φυσικών γλωσσών είναι αδύνατη η διατύπωση ενός προβλήματος στον υπολογιστή μόνο με τη φυσική γλώσσα.

Έτσι η εκπόνηση και δημιουργία των προγραμμάτων γίνεται με τη χρήση ειδικών συμβολισμών που ονομάζονται γλώσσες προγραμματισμού (programming languages).

10

Page 11: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Ο προγραμματισμός ενός υπολογιστή μπορεί να γίνει σε πολλά επίπεδα χρησιμοποιώντας σε κάθε επίπεδο διαφορετικού τύπου γλώσσες. Γλώσσες μηχανής Συμβολικές γλώσσες Γλώσσες προγραμματισμού υψηλού επιπέδου

11

Page 12: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΓΛΩΣΣΕΣ ΜΗΧΑΝΗΣ

Στο χαμηλότερο επίπεδο βρίσκονται τα ίδια τα ηλεκτρονικά κυκλώματα του υπολογιστή.

Έχουμε μόνο δύο καταστάσεις (0, 1) Στο επίπεδο αυτό, ο προγραμματισμός μπορεί να

γίνει μόνο με τη χρήση των δυαδικών αριθμών. Για παράδειγμα, σε έναν υπολογιστή η

ακολουθία: 100010100101010

μπορεί να αποτελεί μια εντολή πρόσθεσης δύο αριθμών.

12

Page 13: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΓΛΩΣΣΕΣ ΜΗΧΑΝΗΣ

Η "γλώσσα" αυτή των δυαδικών συμβόλων λέγεται γλώσσα μηχανής (machine language) ή κώδικας μηχανής (machine code) και είναι η μόνη γλώσσα που κατανοεί απ' ευθείας το υλικό του υπολογιστή.

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

13

Page 14: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΠΡΟΓΡΑΜΜΑ ΣΕ ΓΛΩΣΣΑ ΜΗΧΑΝΗΣ (ΔΕΚΑΕΞΑΔΙΚΗ ΜΟΡΦΗ)

14

Page 15: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΣΥΜΒΟΛΙΚΕΣ ΓΛΩΣΣΕΣ

Το επόμενο βήμα είναι οι συμβολικές γλώσσες ή συμβολογλώσσες (assembly languages).

Μια συμβολική γλώσσα χρησιμοποιεί σύμβολα στη θέση των δυαδικών αριθμών.

Τα σύμβολα αυτά είναι συνήθως συντμήσεις και αρκτικόλεξα αγγλικών λέξεων και μπορούν απομνημονευτούν, γι' αυτό και αποκαλούνται μνημονικές εντολές (mnemonics).

15

Page 16: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΣΥΜΒΟΛΙΚΕΣ ΓΛΩΣΣΕΣ

Η εντολή LDA σημαίνει φόρτωσε το συσσωρευτή (LoaD Accumulator)

Η εντολή ADD σημαίνει πρόσθεσε Ένα πρόγραμμα σε συμβολική γλώσσα

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

16

Page 17: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΣΥΜΒΟΛΙΚΕΣ ΓΛΩΣΣΕΣ

Το έργο αυτό αναλαμβάνει ο συμβολομεταφραστής (assembler), ο οποίος επίσης είναι ένα πρόγραμμα σε γλώσσα μηχανής.

Η αντιστοιχία είναι τυπικά μία εντολή συμβολικής γλώσσας - προς μία εντολή γλώσσας μηχανής.

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

17

Page 18: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ

Οι ανεπάρκειες των συμβολικών γλωσσών και η προσπάθεια για καλύτερη επικοινωνία ανθρώπου-μηχανής, οδήγησαν στα τέλη της δεκαετίας του '50 στην εμφάνιση των πρώτων γλωσσών προγραμματισμού υψηλού επιπέδου (high level languages).

Στις γλώσσες αυτές που αποτελούν υποσύνολα της αγγλικής γλώσσας, η περιγραφή ενός προβλήματος γίνεται με τρόπο περισσότερο προσιτό στον άνθρωπο.

18

Page 19: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΨΗΛΟΥ ΕΠΙΠΕΔΟΥ

Υπόλοιπο = Χρέωση - Πίστωση.

Στη FORTRAN θα γραφεί η εντολή: YP0L0IP0 = XREWSH – PISTWSH

Στην COBOL

SUBTRACT PISTWSH FROM XREWSH GIVING YPOLOIPO.

19

Page 20: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

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

Ένα πρόγραμμα σε γλώσσα υψηλού επιπέδου συντάσσεται με τη βοήθεια ειδικών προγραμμάτων που λέγονται συντάκτες (editors).

Για να εκτελεσθεί από τον υπολογιστή ένα πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδου απαιτείται η μετάφραση του σε αντίστοιχο πρόγραμμα σε γλώσσα μηχανής.

Η μετατροπή γίνεται με τη βοήθεια ενδιάμεσων μεταφραστικών προγραμμάτων.

Μια μεγάλη κατηγορία μεταφραστικών προγραμμάτων είναι οι μεταγλωττιστές(compilers).

20

Page 21: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΜΕΤΑΓΛΩΤΤΙΣΤΗΣ

Δέχεται στην είσοδο ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής.

Το τελευταίο μπορεί στη συνέχεια να φορτωθεί στην κεντρική μνήμη και να εκτελεσθεί όσες φορές αυτό είναι επιθυμητό.

Είναι δε τελείως ανεξάρτητο από το αρχικό πρόγραμμα.

Η χρήση του μεταγλωττιστή έχει το μειονέκτημα ότι προτού χρησιμοποιηθεί ένα πρόγραμμα, πρέπει να περάσει από τη διαδικασία της μεταγλώττισης.

21

Page 22: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΜΕΤΑΓΛΩΤΤΙΣΤΗΣ

Κατά τη φάση αυτή, αν εντοπιστούν ορθογραφικά ή συντακτικά λάθη, αλλά και μετά κατά την εκτέλεση, αν προκόψουν σφάλματα, τότε το αρχικό πρόγραμμα πρέπει να διορθωθεί και να ξαναμεταγλωττισθεί.

Ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου αποκαλείται αρχικό ή πηγαίο (source).

Το πρόγραμμα που παράγεται από το μεταγλωττιστή λέγεται πρόγραμμα ή κώδικας αντικειμένου (object) και αποθηκεύεται επίσης σε αρχείο (object file).

22

Page 23: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ

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

Η διαδικασία μεταγλωττισμού όλων των αρχείων πηγαίου κώδικα μιας εφαρμογής, είναι γνωστή ως δόμηση (build).

Γλώσσες οι οποίες παραδοσιακά χρησιμοποιούν μεταγλωττιστή, είναι η FORTRAN, η COBOL, η C, η Pascal, η C++ κ.α.

23

Page 24: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ

Ο πηγαίος κώδικας Java, όταν μεταγλωττιστεί, παράγει τον λεγόμενο δυφιοουλαβοκώδικα (bytecode), ο οποίος διερμηνεύεται κατά το χρόνο εκτέλεσης από την Εικονική Μηχανή Java (JVM - Java Virtual Machine).

Πολλές υλοποιήσεις Java, χρησιμοποιούν ένα είδος μεταγλωττιστή για τη μετατροπή του bytecode σε κώδικα μηχανής.

24

Page 25: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ

25

Page 26: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΜΟΝΤΕΛΑ ΑΝΑΠΤΥΞΗΣ ΛΟΓΙΣΜΙΚΟΥ

26

Page 27: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΔΙΚΑΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (PROCEDURAL)

Καθορίζει κανείς ακριβώς τι πρέπει να γίνει σε κάθε βήμα του αλγόριθμου.

Καθορίζεται δηλαδή λεπτομερώς πώς θα επιλυθεί το πρόβλημα.

Κάθε πρόγραμμα είναι μια διαδικασία ή σύνολο εργασιών που κωδικοποιούνται στη γλώσσα προγραμματισμού με προκαθορισμένο τρόπο και σειρά.

Στην τυπική περίπτωση, το πρόγραμμα είναι έτσι δομημένο, ώστε ζητά δεδομένα, τα επεξεργάζεται και εμφανίζει τα αποτελέσματα.

27

Page 28: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΔΙΚΑΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (PROCEDURAL)

28

Page 29: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΔΙΚΑΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (PROCEDURAL)

29

Page 30: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΔΙΚΑΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (PROCEDURAL)

30

Page 31: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΔΙΚΑΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (PROCEDURAL)

31

Page 32: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΔΙΚΑΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (PROCEDURAL)

FORTRAN (1957) (FORmulae TRANslator): Αποτελεί την πρώτη γλώσσα υψηλού επιπέδου που

εμφανίστηκε. Είναι προσανατολισμένη σε επιστημονικές / τεχνικές

εφαρμογές. Είναι η γλώσσα η οποία κατέστησε τον υπολογιστή προσιτό

στον επιστημονικό και τεχνικό κόσμο. COBOL (1960) (Common Business Oriented Language) Αποτέλεσε στο παρελθόν την πλέον χρησιμοποιούμενη

γλώσσα για εμπορικές εφαρμογές. Χαρακτηρίζεται από σύνταξη που προσεγγίζει πολύ την

αγγλική γλώσσα και μια αξιόλογη προσπάθεια να επιτευχθεί ανεξαρτησία από το υλικό του υπολογιστή.

32

Page 33: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΔΙΚΑΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (PROCEDURAL)

BASIC (1964) (Beginner's All-purpose Symbolic Instruction Code): Μία από τις πρώτες διαλογικές γλώσσες προορισμένη

για γενικό προγραμματισμό. Χρησιμοποιήθηκε επίσης για την εισαγωγή αρχαρίων

στον προγραμματισμό. Στη δεκαετία του 80 καθιερώθηκε ως η κυρίαρχη

γλώσσα των μικροϋπολογιστών. Χρησιμοποιείται και σήμερα σε εκδόσεις

προσαρμοσμένες στους σύγχρονους τρόπους προγραμματισμού (π.χ. Visual BASIC).

33

Page 34: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΔΙΚΑΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (PROCEDURAL)

Pascal (1971): Γλώσσα σχεδιασμένη για τη διδασκαλία του δομημένου

προγραμματισμού. Χαρακτηρίζεται από μεγάλο πλούτο τύπων δεδομένων,

δομών ελέγχου και ιδιαίτερη κομψότητα στην περιγραφή αλγορίθμων.

Γνώρισε μεγάλη επιτυχία στα πανεπιστήμια.

34

Page 35: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΔΙΚΑΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (PROCEDURAL)

C (1972): Η C αρχικά χρησιμοποιήθηκε για την υλοποίηση του

λειτουργικού συστήματος UNIX. Συντέλεσε όσο καμιά άλλη γλώσσα στον εκτοπισμό της

συμβολικής γλώσσας για τη δημιουργία λογισμικού συστήματος.

Εξέλιξή της αποτελούν οι ευρέως διαδεδομένες αντικειμενοστραφείς γλώσσες C++, Objective C και C#.

Σήμερα χρησιμοποιείται ευρέως για την ανάπτυξη λογισμικού συστήματος και λιγότερο για γενικό προγραμματισμό.

35

Page 36: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΗΛΩΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ (DECLARATIVE)

Ο προγραμματιστής περιγράφει κατά βάση το πρόβλημα που θα επιλυθεί αντί του λεπτομερούς αλγορίθμου που θα ακολουθηθεί.

Για την ακρίβεια, ένα περιβάλλον προγραμματισμού του είδους αυτού, χρησιμοποιεί "προκατασκευασμένους" αλγορίθμους για την επίλυση προβλημάτων.

Κατά συνέπεια ο προγραμματιστής αναπτύσσει μια ακριβή περιγραφή του προβλήματος και λιγότερο έναν αλγόριθμο για την επίλυσή του.

36

Page 37: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΗΛΩΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ (DECLARATIVE)

Χαρακτηριστικό παράδειγμα αυτού του τρόπου προσέγγισης αποτελεί η γλώσσα PROLOG (1970).

Επίσης, στη φιλοσοφία της δηλωτικής προσέγγισης κινούνται υποσύνολα ευρέως διαδεδομένων γλωσσών, όπως οι εντολές SELECT της γλώσσας SQL (1970).

37

Page 38: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΗΛΩΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ (DECLARATIVE)

Prolog – Declarations:

?- likes(george,food).

?- likes(george,wine).

?- likes(natalie,wine). ?- likes(natalie,george).

Ερωτήματα - Απαντήσεις:

?- likes(george,food). yes.

?- likes(natalie,wine). yes.

?- likes(natalie,food). no.

38

Page 39: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΗΛΩΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ (DECLARATIVE)

Παράδειγμα SQL:

Θέλουμε να βρούμε τους μαθητές που πήραν βαθμό 9 στο μάθημα των μαθηματικών:

SELECT ΟΝΟΜΑ FROM DEGREES WHERE ΜΑΘΗΜΑ='Μαθηματικά’ AND ΒΑΘΜΟΣ='9’;

Επιστρέφεται: Μαρία Ελένη

39

ΟΝΟΜΑ ΜΑΘΗΜΑ ΒΑΘΜΟΣ Γιάννης Μαθηματικά 7 Γιάννης Φυσική 6 Μαρία Χημεία 8 Μαρία Μαθηματικά 9 Δημήτρης Μαθηματικά 10 Ελένη Μαθηματικά 9

Page 40: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΣΥΝΑΡΤΗΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (FUNCTIONAL)

Ένα πρόγραμμα αντιμετωπίζεται ως μια οντότητα που δέχεται εισόδους και παράγει εξόδους, έχοντας μια δομή επιμέρους συνδεδεμένων μεταξύ τους προγραμμάτων (συναρτήσεων).

Η έξοδος ενός προγράμματος αποτελεί την είσοδο για κάποιο άλλο κατά τρόπον ώστε, να επιτυγχάνεται η συνολική επιθυμητή συμπεριφορά.

Κάθε οντότητα, δηλαδή, αντιμετωπίζεται ως "συνάρτηση", εξ' ου και η περιγραφή της προσέγγισης αυτής.

40

Page 41: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΣΥΝΑΡΤΗΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (FUNCTIONAL)

Χαρακτηριστικό παράδειγμα αυτής της προσέγγισης είναι η γλώσσα προγραμματισμού LISP (1958).

Αποτελεί τη δεύτερη παλαιότερη γλώσσα στην ιστορία των υπολογιστών και το όνομά της το χρωστάει στα αρχικά της έκφρασης " LlSt Processing" ("επεξεργασία λιστών").

Δημιουργήθηκε ως τρόπος αναπαράστασης μαθηματικών εκφράσεων στον υπολογιστή.

Γρήγορα υιοθετήθηκε από τους ερευνητές της Τεχνητής Νοημοσύνης (Artificial Intelligence / ΑΙ).

41

Page 42: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΣΥΝΑΡΤΗΣΙΑΚΗ ΠΡΟΣΕΓΓΙΣΗ (FUNCTIONAL)

Θέλουμε να υπολογίσουμε το γινόμενο δύο αριθμών, του 2 και του (4 + 6).

Με τη βοήθεια της LISP αυτό γράφεται ως η συνάρτηση "πολλαπλασιασμός" με ορίσματα τους δύο αριθμούς:

User> (* 2 (+ 4 6))

42

Page 43: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΣΕΓΓΙΣΗ (OBJECTED ORIENTED)

Βασίζεται στη δημιουργία αντικειμένων δηλ. προγραμματιστικών δομών που περιλαμβάνουν δεδομένα και διαδικασίες που ενεργούν επί των δεδομένων.

Στη γενική περίπτωση, αρχικά ορίζεται με ειδικές εντολές ο τύπος αντικειμένου που θα καλύπτει μια συγκεκριμένη ανάγκη του προγράμματος.

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

43

Page 44: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΣΕΓΓΙΣΗ (OBJECTED ORIENTED)

C++ (1985): Περιλαμβάνει όλα τα στοιχεία της κλασικής C με

επιπλέον δομές για υλοποίηση και χειρισμό αντικειμένων.

Java (1995): Αναπτύχθηκε από την Sun Microsystems. Μοιάζει

συντακτικά με τη C++ αλλά η φιλοσοφία ανάπτυξής της, την καθιστά ιδιαίτερα ευέλικτη, με αποτέλεσμα την ευρεία διάδοσή της σήμερα, για ένα μεγάλο φάσμα εφαρμογών.

44

Page 45: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΠΑΡΑΔΟΣΙΑΚΑ ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Μεταβλητές Σταθερές τιμές Εκφράσεις & τελεστές Εντολές Υποπρογράμματα Πέρασμα παραμέτρων Σχόλια

45

Page 46: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΜΕΤΑΒΛΗΤΕΣ (VARIABLES)

Οι μεταβλητές είναι ονόματα μέσω των οποίων αναφέρεται κανείς σε τιμές οι οποίες αποθηκεύονται σε θέσεις κεντρικής μνήμης.

Ο όρος μεταβλητές, αντανακλά ακριβώς το γεγονός ότι η τιμή που αντιστοιχεί στο όνομα της μεταβλητής μπορεί να μεταβληθεί κατά τη διάρκεια εκτέλεσης του προγράμματος.

Οι μεταβλητές γενικά φέρουν δύο χαρακτηριστικά μεγάλης σημασίας: Τον τύπο (data type): ακέραιος, λογικός, κινητής

υποδιαστολής Την εμβέλεια (scope): δημόσια ή τοπική

46

Page 47: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΕΚΦΡΑΣΕΙΣ & ΤΕΛΕΣΤΕΣ

Οι κάθε είδους παραστάσεις τιμών, μεταβλητές, σταθερές και οτιδήποτε μπορεί να υπολογιστεί σε μια τιμή και να αποτελέσει δεδομένο (τελεσταίος), μπορούν να συνδυαστούν μεταξύ τους με χρήση τελεστών (operators) για να δημιουργήσουν εκφράσεις (expressions).

Οι τελεστές τυπικά είναι τα σύμβολα των τεσσάρων αριθμητικών πράξεων (+,-,*,/), ο τελεστής ύψωσης σε δύναμη (συνήθως ο χαρακτήρας ^) οι λογικοί τελεστές μέσω των οποίων γίνονται λογικές πράξεις όπως συγκρίσεις, σύζευξη, διάζευξη κ.λπ.

47

Page 48: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΕΝΤΟΛΕΣ

Μετά τις κάθε είδους δηλώσεις σε ένα πρόγραμμα, ακολουθεί η υλοποίηση του αλγορίθμου με εντολές της γλώσσας προγραμματισμού που χρησιμοποιείται.

Οι εντολές μπορούν γενικά να διακριθούν σε εντολές εκχώρησης και εντολές ελέγχου.

48

Page 49: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΕΝΤΟΛΕΣ ΕΚΧΩΡΗΣΗΣ (ASSIGNMENT STATEMENTS)

Χρησιμοποιούνται για τον υπολογισμό μιας παράστασης και την εκχώρηση του αποτελέσματος σε μια μεταβλητή.

Μια εντολή του είδους αυτού, συντακτικά, αρχίζει με μια μεταβλητή η οποία ακολουθείται από ένα σύμβολο που παριστά τον τελεστή εκχώρισης, στις περισσότερες γλώσσες το "=" ή το ": = "και τελειώνει με μια έκφραση η οποία υπολογιζόμενη αποδίδει την τιμή που θα εκχωρηθεί.

Ζ = X * Υ;

49

Page 50: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ

Οι εντολές ελέγχου είναι στην ουσία αγγλικές λέξεις ή συντμήσεις αγγλικών λέξεων όπως για παράδειγμα if, else, case, for, κ.λπ.

Τα ονόματα αυτά είναι δεσμευμένα και δεν μπορούν να χρησιμοποιηθούν ως ονόματα μεταβλητών.

Οι βασικές δομές ελέγχου που χρησιμοποιούνται σε όλες τις σύγχρονες γλώσσες υψηλού επιπέδου είναι οι ακόλουθες: Δομή Επιλογής Δομή Επανάληψης

50

Page 51: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΟΜΗ ΕΠΙΛΟΓΗΣ

Η ροή εκτέλεσης εντολών μπορεί να διακλαδωθεί σε διαφορετικά σημεία ανάλογα με το αποτέλεσμα λογικών εκφράσεων.

Τυπικά έχει τη μορφή:

51

Page 52: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΟΜΗ ΕΠΙΛΟΓΗΣ

Το ακόλουθο παράδειγμα δείχνει ένα τμήμα προγράμματος σε γλώσσα C, στο οποίο συγκρίνονται δύο αριθμοί και εμφανίζει στην οθόνη το αποτέλεσμα της σύγκρισης.

52

Page 53: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ

Βρόχος – loop: Πρόκειται για δομή που δίνει τη δυνατότητα για επαναληπτική εκτέλεση εντολών και έχει τη γενική μορφή:

Γνωστές τέτοιες εντολές: while do while for

53

Page 54: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ

54

Page 55: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

Ένα υποπρόγραμμα, αποτελεί ένα σύνολο εντολών που συνολικά εκτελούν ένα συγκεκριμένο έργο, ομαδοποιημένων κάτω από ένα κοινό όνομα.

Το όνομα αυτό, χρησιμοποιείται στο κυρίως πρόγραμμα για την κλήση και εκτέλεση των εντολών του υποπρογράμματος.

55

Page 56: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

Τα υποπρογράμματα, ανάλογα με τη γλώσσα προγραμματισμού, μπορεί να έχουν τη μορφή: Υπορουτινών (subroutines π.χ. στη FORTRAN) Διαδικασιών (procedures - π.χ. στην Pascal) Συναρτήσεων (functions π.χ. στη C, C++, FORTRAN)

Στον αντικειμενοστρεφή προγραμματισμό χρησιμοποιείται ο όρος μέθοδος για να περιγράφει παραπλήσια έννοια.

56

Page 57: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

57

Page 58: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΝΑΠΤΥΞΗ ΠΡΟΓΡΑΜΜΑΤΩΝ

Η ανάπτυξη των προγραμμάτων ακολουθεί μια σειρά από στάδια τα οποία γενικά έχουν ως ακολούθως: Σχεδίαση Κωδικοποίηση Έλεγχος και αποσφαλμάτωση Τεκμηρίωση και συντήρηση προγραμμάτων Αποθετήρια Πηγαίου Κώδικα UML

58

Page 59: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΣΧΕΔΙΑΣΗ

H ανάπτυξη λογισμικού, πρέπει να γίνεται με συστηματικό τρόπο ώστε να διευκολύνεται τόσο η ανάπτυξη, όσο και η συντήρησή του.

Προς την κατεύθυνση αυτή, χρησιμοποιούνται διάφορα εργαλεία και προσεγγίσεις: Αρθρωτός προγραμματισμός Αντικειμενοστρεφής προσέγγιση Δομημένος προγραμματισμός Διαγράμματα ροής Ψευδοκώδικας

59

Page 60: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΡΘΡΩΤΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ο αρθρωτός προγραμματισμός (modular programming), είναι μια μέθοδος ανάπτυξης προγραμμάτων, που βασίζεται στη διάσπαση του συνολικού προβλήματος που επιλύεται με το πρόγραμμα, σε επιμέρους μικρότερα και άρα ευκολότερα διαχειρίσιμα δομοστοιχεία (modules).

Τα modules επιλέγονται και αναπτύσσονται κατά τρόπο ώστε να είναι όσο το δυνατόν πιο ανεξάρτητα και απομονωμένα μεταξύ τους. (+) Η αποσφαλμάτωση γίνεται ευκολότερη (+) Διευκολύνεται η συλλογική ανάπτυξη μιας εφαρμογής (+) Πολλά modules μπορούν να επαναχρησιμοποιηθούν και σε

άλλα προγράμματα. 60

Page 61: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΣΕΓΓΙΣΗ

Αναπτύσσονται προγραμματιστικά αντικείμενα, κάθε ένα από τα οποία αντιστοιχεί σε υπό διαχείριση δεδομένα ή σε φυσικά αντικείμενα.

Δίνει περισσότερο έμφαση στη δημιουργία ολοκληρωμένων αντικειμένων (κλάσεων) τα οποία περιέχουν όσα στοιχεία χρειάζονται για το χειρισμό τους.

Τα δεδομένα τηρούνται εσωτερικά, κατά τρόπον ώστε να είναι ορατά μόνο στην κλάση που χρειάζονται και η προσπέλαση σε αυτά εξωτερικά γίνεται μόνο μέσω ειδικού τύπου υποπρογραμμάτων που λέγονται μέθοδοι (methods).

61

Page 62: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Με την προσέγγιση αυτή: Τυποποιούνται και απλοποιούνται οι ροές ελέγχου Κατά συνέπεια τα προγράμματα γίνονται πιο

ευανάγνωστα και ευκολοσυντήρητα. Αποφεύγεται, αν όχι απαγορεύεται η χρήση εντολών

τύπου goto Το συνολικό πρόγραμμα ανάγεται σε: Στοιχεία δομών ακολουθίας εντολών Δομών εντολών επιλογής του τύπου if... then ... Else Εντολών βρόχου για επαναληπτική εκτέλεση εντολών

62

Page 63: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ

63

Page 64: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ

64

Υπάρχουν τρεις τρόποι εκτέλεσης: Διαδοχική Επιλογή Επανάληψη

Page 65: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ

65

Διαδοχική: Οι πράξεις εκτελούνται διαδοχικά χωρίς να επιστρέφουμε σε προηγούμενες πράξεις

ΠΡΑΞΕΙΣ

ΠΡΑΞΕΙΣ

Page 66: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ

66

Επιλογή: Εξετάζεται μία λογική συνθήκη και επιλέγεται η αντίστοιχη κατεύθυνση (αληθής, ψευδής)

ΣΥΝΘΗΚΗ ΟΧΙ ΝΑΙ

Page 67: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ

67

Επανάληψη: Επαναλαμβάνεται μία ή περισσότερες πράξεις

Page 68: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΨΕΥΔΟΚΩΔΙΚΑΣ

Ο ψευδοκώδικας αποτελεί μια εναλλακτική έκφραση αλγορίθμων, ένα στάδιο πριν την καθεαυτού κωδικοποίηση σε κάποια γλώσσα προγραμματισμού.

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

68

Page 69: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΣΚΗΣΗ 1 – ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ

69

Page 70: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΣΚΗΣΗ 2 – ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ

70

Page 71: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΣΚΗΣΗ 3 – ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ

71

Page 72: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΔΕΙΕΣ ΧΡΗΣΗΣ

Κατά κανόνα, όταν εγκαταστήσει κανείς λογισμικό σε έναν υπολογιστή, υπάρχει ένα βήμα στο οποίο ζητείται η συμφωνία του χρήστη με την άδεια χρήσης.

Η συμφωνία αυτή μπορεί να είναι ιδιαίτερα μακροσκελής και συχνά περιλαμβάνει στοιχεία για την προστασία των κατασκευαστών του προϊόντος από δίωξη λόγω πιθανών σφαλμάτων του λογισμικού.

Καθορίζει επίσης πόσα αντίγραφα έχει δικαίωμα να κάνει ο χρήστης.

72

Page 73: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΔΕΙΕΣ ΧΡΗΣΗΣ

Επίσης, στην τυπική περίπτωση κάθε εμπορικό προϊόν λογισμικού, συνοδεύεται από ένα είδος ταυτότητας που λέγεται κωδικός αναγνώρισης (Product ID).

Ο κωδικός αυτός αναγνώρισης, για προϊόντα λογισμικού σε περιβάλλον Microsoft Windows, μπορεί να φανεί με την επιλογή Βοήθεια>Πληροφορίες για ... (Help>About...).

73

Page 74: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΔΕΙΕΣ ΧΡΗΣΗΣ

Σχεδόν όλα τα εμπορικά λογισμικά συνοδεύονται από μια συγκεκριμένη άδεια χρήσης (license).

Οι άδειες χρήσης συνήθως καθορίζουν τα ακόλουθα: Όρους εγκατάστασης και χρήσης του λογισμικού. Όρους εγκατάστασης και χρήσης σε δίκτυο. Όρους που διέπουν τα εφεδρικά αντίγραφα

(backup). Συμφωνίες συντήρησης.

74

Page 75: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΑΔΕΙΕΣ ΧΡΗΣΗΣ

Επίσης οι περισσότερες άδειες χρήσης εμφανίζονται σε μια από τις ακόλουθες μορφές: Ενός χρήστη - μιας μηχανής. Ενός χρήστη πολλών μηχανών. Τοπική θέση. Προσωπική, μη κερδοσκοπική χρήση. Εταιρική χρήση.

75

Page 76: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΕΛΕΥΘΕΡΟ ΛΟΓΙΣΜΙΚΟ (FREEWARE)

Λογισμικό που ρητά ανήκει στην κατηγορία αυτή, μπορεί να κατέβει και να αντιγράφει ελεύθερα.

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

Παράδειγμα αποτελεί λογισμικό που έχει αναπτυχθεί - τουλάχιστον αρχικά - από οργανισμούς όπως πανεπιστήμια, όπου ο σκοπός δεν είναι το κέρδος.

Έχει μεγάλη σημασία να μη συγχέεται το ελεύθερο λογισμικό (freeware) με το λογισμικό περιορισμένης χρήσης (shareware).

76

Page 77: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΛΟΓΙΣΜΙΚΟ ΠΕΡΙΟΡΙΣΜΕΝΗΣ ΧΡΗΣΗΣ (SHAREWARE)

Πρόκειται για λογισμικό το οποίο μπορεί να χρησιμοποιεί κανείς ελεύθερα για συγκεκριμένη χρονική περίοδο δοκιμής.

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

Πιθανόν με τη λήξη της περιόδου αυτής, το προϊόν να μην λειτουργεί καθόλου.

77

Page 78: ΠΛΗΡΟΦΟΡΙΚΗ I 1η ΔΙΑΛΕΞΗ “ΕΙΣΑΓΩΓΗ”eclass.teiion.gr/modules/document/file.php/DE... · prolog (1970). Επίσης, στη φιλοσοφία της

ΛΟΓΙΣΜΙΚΟ ΑΝΟΙΚΤΟΥ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ

Το λογισμικό ανοικτού πηγαίου κώδικα (Open Source) είναι το λογισμικό το οποίο κυκλοφορεί ελεύθερα ακόμα και σε επίπεδο πηγαίου κώδικα.

Κατά συνέπεια μπορεί ο καθένας να χρησιμοποιεί, να διανέμει, να αντιγράψει και να το τροποποιεί ελεύθερα ανάλογα με τις ανάγκες του.

Η ιδέα του λογισμικού ανοικτού κώδικα γνωρίζει τεράστια διάδοση σήμερα.

78