Πρότυπα Προγραμματισμού Στην ενότητα αυτή θα παρουσιαστούνε συνοπτικά κάποια γνωστά πρότυπα προγραμματισμού.
Διαδικαστικός Προγραμματισμός (Procedural Programming) Κάθε πρόγραμμα αποτελείται από δύο βασικά δομικά στοιχεία: 1) Από εντολές που περιγράφουν βήμα – βήμα την διαδικασία επίλυσης του προβλήματος. 2) Από δομές δεδομένων, όπου αποθηκεύονται τα δεδομένα του προβλήματος Παραδείγματα διαδικαστικών γλωσσών: Pascal C
Κάθε διαδικαστική γλώσσα πρέπει να περιέχει τουλάχιστον τις εξής κατηγορίες εντολών: Εντολές ανάθεσης Εντολές συνθήκης Εντολές επανάληψης Εντολές εισόδου - εξόδου
Εντολές ανάθεσης Με αυτές καταχωρούνται τιμές σε μεταβλητές. Παραδείγματα: A = 5 (εκχωρεί στην μεταβλητή Α την τιμή 5) B = 7 (εκχωρεί στην μεταβλητή Β την τιμή 7) C = A + B (εκχωρεί στην μεταβλητή C το άθροισμα των τιμών των μεταβλητών Α και Β, δηλαδή την τιμή 12)
Εντολές Συνθήκης Με αυτές μια ομάδα εντολών θα εκτελεστεί ή όχι ανάλογα με την τιμή μιας συνθήκης. Τι σημαίνει συνθήκη; Παράδειγμα: «Άν βρέχει, θα πάρω ομπρέλα» Η συνθήκη είναι το «Αν βρέχει» και η ενέργεια που θα γίνει αν η συνθήκη ισχύει είναι ότι «θα πάρω ομπρέλα». Μια συνθήκη μπορεί να είναι Αληθής ή Ψευδής (να ισχύει ή να μην ισχύει)
Ένα παράδειγμα ακόμα: if (x > 0) then printf (“ Θετικός αριθμός”); else printf (“Αρνητικός αριθμός ή μηδέν”); Σχηματικά:
Εντολές Επανάληψης Πολύ σημαντικό εργαλείο. Δίνεται η δυνατότητα να εκτελείται επαναληπτικά ένα σύνολο εντολών. Το πλήθος των επαναλήψεων καθορίζεται από μια συνθήκη. Παράδειγμα: while a > 0 do begin a:= a - 1; x:= x + a; end;
Εντολές εισόδου – εξόδου Είναι οι εντολές με τις οποίες το πρόγραμμα χειρίζεται την ροή δεδομένων από και προς τις περιφερειακές μονάδες του υπολογιστή, π.χ πληκτρολόγιο – οθόνη. Παραδείγματα: Readln (a); Θα διαβάσει έναν αριθμό από το πληκτρολόγιο και θα τον αποθηκεύσει στην μεταβλητή a. Writeln (‘This is an example’); Θα εμφανίσει το μήνυμα This is an example στην οθόνη.
Αντικειμενοστραφής Προγραμματισμός (αντικειμενοστραφής = αυτός που στρέφεται στα αντικείμενα) Object Oriented Programming - OOP Πρώτες ιδέες εμφανίστηκαν την δεκαετία 1960 με την γλώσσα Simula. Γνωστές αντικειμενοστραφείς γλώσσες: SmallTalk, Java, C++ Κεντρικές ιδέες είναι: Τα αντικείμενα (objects) Το αντικείμενο είναι ένα προγραμματιστικό πακέτο, το οποίο αποτελείται από διαδικασίες και δεδομένα που σχετίζονται μεταξύ τους. Οι διαδικασίες ονομάζονται μέθοδοι και τα δεδομένα ιδιότητες. Ένα πρόγραμμα αποτελείται από αντικείμενα τα οποία αλληλεπιδρούν μεταξύ τους με μηνύματα.
Ένα παράδειγμα αντικειμένου Θεωρείστε το αντικείμενο αυτοκίνητο. Θα μπορούσε να έχει για μεθόδους τις: οδήγηση, ταχύτητα, καύσιμα. Θα μπορούσε να έχει για ιδιότητες: 50 km/h, 1/3 (του ντεπόζιτου) Ένα άλλο αντικείμενο θα μπορούσε να το ρωτήσει: «Πες μου την ταχύτητά σου»
Λογικός Προγραμματισμός Είναι επηρεασμένος από τη μαθηματική λογική Ένα πρόγραμμα αποτελείται από: 1. Λογικές προτάσεις 2. Μηχανισμό εξαγωγής συμπερασμάτων Γνωστή γλώσσα λογικού προγραμματισμού: Prolog Ο χρήστης μπορεί να υποβάλλει ερωτήσεις στο πρόγραμμα και αυτό να απαντήσει με ΝΑΙ ή ΌΧΙ.
Παράδειγμα: Πατέρας (Δίας, Άρης): Είναι ένας κανόνας που ορίζει ότι ο Δίας είναι ο πατέρας του Άρη. Ερώτηση: «Είναι ο Άρης πατέρας της Αρμονίας;» ΝΑΙ Ερώτηση: «Είναι η Αρμονία κόρη της Αφροδίτης;» Ερώτηση: «Είναι η Αρμονία και ο Διόνυσος αδέρφια;» ΟΧΙ
Συναρτησιακός Προγραμματισμός (ή εφαρμοστικός προγραμματισμός) Έχει ως βάση την συνάρτηση με την μαθηματική της έννοια. Βασική έννοια που χρησιμοποιεί είναι η έννοια της αναδρομής. Μια γνωστή συναρτησιακή γλώσσα είναι η Miranda.
Ανάπτυξη λογισμικού Τι σημαίνει ανάπτυξη λογισμικού; Επίλυση προβλημάτων με υπολογιστή. Τα βήματα της ανάπτυξης λογισμικού είναι: Προσδιορισμός των απαιτήσεων του προβλήματος Ανάλυση του προβλήματος Σχεδιασμός αλγορίθμου Υλοποίηση αλγορίθμου Έλεγχος και επαλήθευση του τελικού προγράμματος Συντήρηση και ενημέρωση του προγράμματος Τεκμηρίωση
Μια μικρή υπενθύμιση Τι είναι αλγόριθμος; Αλγόριθμος είναι μια σειρά από βήματα, τα οποία ακολουθούμε για να επιλύσουμε ένα πρόβλημα. Τα βήματα πρέπει να είναι σαφή και να υπάρχει συγκεκριμένο σημείο περάτωσης της διαδικασίας. Η υλοποίηση ενός αλγορίθμου γίνεται σε περιβάλλον κάποιας γλώσσας προγραμματισμού και έτσι δημιουργείται ένα πρόγραμμα.
Τρόποι παράστασης αλγορίθμων Οι αλγόριθμοι μπορούν να παρασταθούν στο χαρτί με πολλούς τρόπους. Οι πιο συνηθισμένοι είναι: Με φυσική γλώσσα (η γλώσσα που μιλάμε) Με ψευδοκώδικα Με λογικά διαγράμματα Ακολουθούν παραδείγματα του αλγορίθμου επίλυσης της εξίσωσης αx2 + βx + γ = 0
Φυσική γλώσσα
Ψευδοκώδικας
Λογικό διάγραμμα