Δέλτα:



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





Δεδομένα (Data): Παράσταση γεγονότων και εννοιών σε τυποποιημένη μορφή, κατάλληλη για επικοινωνία, ερμηνεία ή επεξεργασία από άνθρωπο ή αυτόματο μέσον.

Περισσότερα για τα δεδομένα




Δείκτης: Πρώτη σημασία (Index): Ακέραιος αριθμός που χαρακτηρίζει έναν κόμβο μια δομής δεδομένων και χρησιμοποιείται για την προσπέλασή του.

Παράδειγμα σε ΓΛΩΣΣΑ: Δεδομένου ενός πίνακα ακεραίων, ο δείκτης 20 στην εντολή γράψε προσδιορίζει τη θέση του πίνακα, του οποίου η τιμή θέλουμε να τυπωθεί.
ΑΚΕΡΑΙΟΣ ΚΑΤΑΧΩΡΗΣΗ[100]
......
 
ΓΡΑΨΕ ΚΑΤΑΧΩΡΗΣΗ[20]




Δείκτης: Δεύτερη σημασία (Pointer): Στοιχείο δεδομένου που περιέχει τη διεύθυνση ενός άλλου δεδομένου.
Παράδειγμα: Στο σχήμα ο δείκτης έχει τιμή 250, ίση με τη θέση μνήμης όπου είναι αποθηκευμένος ένα ακέραιος με τιμή 13.

pointer.JPG
Δείκτης σε ακέραιο.





Δέντρο (Tree): Δυναμική δομή δεδομένων από κόμβους και ακμές, του οποίου η δομή περιλαμβάνει ένα αρχικό κόμβο ρίζα από το οποίο μπορούν να ξεκινούν ένας ή περισσότεροι κόμβοι-παιδιά. Kάθε κόμβος-παιδί έχει ακριβώς έναν κόμβο πατέρα (άρα μια εισερχόμενη ακμή) και ένα ή περισσότερα παιδιά. Όταν υλοποιείται κάθε κόμβος αποτελείται από ένα τμήμα δεδομένων και έναν ή περισσότερους δείκτες προς τους κόμβους παιδιά.

Παράδειγμα: Σχηματική αναπαράσταση ενός δέντρου.
treee.JPG
Δέντρο που αποθηκεύει χαρακτήρες.





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

Παράδειγμα: Αλγόριθμος που υπολογίζει το μέσο όρο ηλικίας 100 ανθρώπων, εκφρασμένος με διάγραμμα ροής.
FLOWCHART1.JPG
Διάγραμμα ροής.


Περισσότερα για τα διαγράμματα ροής εδώ και εδώ




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





Διαδικασία: Είδος υποπρογράμματος που μπορεί να εκτελέσει όλες τις λειτουργίες ενός προγράμματος.
Παράδειγμα: Διαδικασία σε ΓΛΩΣΣΑ.
ΠΡΟΓΡΑΜΜΑ ΕΚΤΥΠΩΣΗ_ΟΝΟΜΑΤΟΣ
ΑΡΧΗ
     ΚΑΛΕΣΕ ΓΡΑΨΕ_ΟΝΟΜΑ('My name is Bond. James Bond.')
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 
ΔΙΑΔΙΚΑΣΙΑ ΓΡΑΨΕ_ΟΝΟΜΑ(ΦΡΑΣΗ)
ΜΕΤΑΒΛΗΤΕΣ
    ΧΑΡΑΚΤΗΡΕΣ: ΦΡΑΣΗ
ΑΡΧΗ
     ΓΡΑΨΕ ΦΡΑΣΗ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ




Διαχωρισμός (Separation): Λειτουργία των δομών δεδομένωνκατά την οποία μία δομή διασπάται σε δύο μικρότερες ίδιου τύπου.





Διαίρει και βασίλευε (Divide and conquer): Τεχνική σχεδίασης αλγορίθμων που περιλαμβάνει διαδοχική υποδιαίρεση του αρχικού προβλήματος σε υποπροβλήματα μικρότερου μεγέθους εφαρμόζοντας "από πάνω προς τα κάτω" προσέγγιση, ξεκινώντας απο το αρχικό μεγάλο πρόβλημα και υποδιαιρώντας σε μικρότερα. Η αναδρομική επίλυση των υποπροβλημάτων οδηγεί στην σύνθεση της λύσης του αρχικού προβλήματος.
Παράδειγμα: Δυαδική αναζήτηση.
diairei_kai_vasileye.JPG
Διαίρει και βασίλευε.


Περισσότερα




Διερμηνευτής(Interprenter): Πρόγραμμα που μεταφράζει και εκτελεί κάθε εντολή ενός προγράμματος, πριν τη μετάφραση και εκτέλεση της επόμενης εντολής.
diermineytis.JPG
Εκτέλεση προγράμματος από διερμηνευτή.


















Διερμηνευτής της ΓΛΩΣΣΑΣ.
Διερμηνευτής της ΓΛΩΣΣΑΣ.


















Περισσότερα για το διερμηνευτή
Πληροφορίες για το διερμηνευτή της ΓΛΩΣΣΑΣ
Περισσότερα για το διερμηνευτή της ΓΛΩΣΣΑΣ




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

Παράδειγμα σε ΓΛΩΣΣΑ: Δομή ακολουθίας που διαβάζει, τυπώνει και προσθέτει αριθμούς. Θα πρέπει στο τμήμα δηλώσεων να έχουν δηλωθεί οι ακέραιες μεταβλητές Χ,Υ,....
ΔΙΑΒΑΣΕ Χ
ΓΡΑΨΕ 'ΔΙΑΒΑΣΑ ΜΙΑ ΤΙΜΗ ΓΙΑ ΤΟ Χ'
ΓΡΑΨΕ 'Η ΤΙΜΗ ΠΟΥ ΔΙΑΒΑΣΑ ΕΙΝΑΙ', Χ
ΔΙΑΒΑΣΕ Υ
ΓΡΑΨΕ 'Η ΤΙΜΗ ΠΟΥ ΔΙΑΒΑΣΑ ΕΙΝΑΙ', Υ
Ζ←Χ+Υ
ΓΡΑΨΕ 'ΤΟ Ζ ΠΗΡΕ ΤΙΜΗ', Ζ, 'ΠΟΥ ΙΣΟΥΤΑΙ ΜΕ', Χ, '+' , Υ
....
 

Περισσότερα




Δομή δεδομένων (Data structure): Σύνολο δεδομένων μαζί με ένα σύνολο επιτρεπτών ενεργειών πάνω σε αυτά.
Επιτρεπτές πράξεις (ενέργειες) των δομών δεδομένων είναι οι ακόλουθες:
Παράδειγμα: πίνακας,στοίβα, ουρά, λίστα.

_δεδομενων_.JPG
Συστατικά μέρη των δομών δεδομένων.

Περισσότερα
Περισσότερα





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

Παράδειγμα σε ΓΛΩΣΣΑ: Δομή επανάληψης που διαβάζει και αθροίζει 100 αριθμούς. Θα πρέπει στο τμήμα δηλώσεων να έχουμε ορίσει τις ακέραιες μεταβλητές Χ ,Υ και Σ. Στο πρώτο παράδειημα η συνθήκη είναι η "X<100", στο δεύτερο η "X>=100" και στο τρίτο "Χ>=99".
Χ←0
Υ←0
Σ←0
ΟΣΟ Χ<100 ΕΠΕΝΑΛΑΒΕ
   ΔΙΑΒΑΣΕ Υ
   Σ←Σ+Υ
   Χ←Χ+1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Χ←0
Υ←0
Σ←0
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
   ΔΙΑΒΑΣΕ Υ
   Σ←Σ+Υ
   Χ←Χ+1
ΜΕΧΡΙΣ_ΟΤΟΥ Χ>=100
 

Υ←0
Σ←0
ΓΙΑ Χ ΑΠΟ 0 ΜΕΧΡΙ 99
   ΔΙΑΒΑΣΕ Υ
   Σ←Σ+Υ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Περισσότερα




Δομή επιλογής: Είδος δομής εντολών αλγορίθμου που περιλαμβάνει διακλαδώσεις. Σε κάθε διακλάδωση μία συνθήκη επιλογής καθορίζει την επόμενη ακολουθία εντολών που θα εκτελεστεί.

Παράδειγμα σε ΓΛΩΣΣΑ: Δομή επιλογής που τυπώνει την απόλυτη τιμή ενός αριθμού. Θα πρέπει στη τμήμα δηλώσεων να έχουν δηλωθεί οι ακέραιες μεταβλητές Χ,Υ. Εδώ η συνθήκες είναι οι "Χ>0" και "Χ<0".
ΑΝ Χ>0 ΤΟΤΕ
   ΓΡΑΨΕ 'Η ΑΠΟΛΥΤΗ ΤΙΜΗ ΤΟΥ Χ ΕΙΝΑΙ', Χ
ΑΛΛΙΩΣ_ΑΝ Χ<0
   Υ←(-1)*Χ
   ΓΡΑΨΕ 'Η ΑΠΟΛΥΤΗ ΤΙΜΗ ΤΟΥ Χ ΕΙΝΑΙ', Υ
ΑΛΛΙΩΣ
   ΓΡΑΨΕ 'Η ΑΠΟΛΥΤΗ ΤΙΜΗ ΤΟΥ Χ ΕΙΝΑΙ ΜΗΔΕΝ'
ΤΕΛΟΣ_ΑΝ
 

Περισσότερα




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



Δομημένο πρόβλημα: πρόβλημα του οποίου η λύση προέρχεται από μία αυτοματοποιημένη διαδικασία.

Παράδειγμα: Εύρεση ριζών δευτεροβάθμιας εξίσωσης.




Δομημένος προγραμματισμός (Structure programming): Προγραμματιστική τεχνική που στοχεύει στη δημιουργία απλών, κατανοητών και εύκολα συντηρίσημων προγραμμάτων χρησιμοποιώντας τρείς στοιχειώδεις λογικές δομές: τις δομές ακολουθίας, επιλογής και επανάληψης.

Περισσότερα



Δυαδική αναζήτηση (Binary search): Διαίρει και βασίλευε τεχνική αναζήτησης σε μια ταξινομημένη δομή δεδομένων. Βασίζεται στην επιλογή του μεσαίου στοιχείου της δομής και στη σύγκριση της τιμης του με την τιμή αναζήτησης. Το αποτέλεσμα της σύγκρισης οδηγεί είτε στην εύρεση του επιθυμητού στοιχείου, είτε στην επανάληψη της διαδικασίας αναδρομικά, μόνο στο αριστερό ήμισυ ή μόνο στο δεξί ήμισυ της δομής.

Δυαδική αναζήτηση.
Δυαδική αναζήτηση.


Περισσότερα




Δυαδικό σύστημα: Το αριθμητικό σύστημα που χρησιμοποιεί μόνο τα ψηφία 0 και 1 (bits).
ist2_405671-binary-code.jpg
Κώδικας από δυαδικά ψηφία.


Περισσότερα




Δυαδικό ψηφίο (Bit): Ψηφίο που μπορεί να πάρει τις τιμές 0 ή 1. Αποτελεί το αλφάβητο του υπολογιστή. Κάθε 1 ή 0 σε ένα δυαδικό νούμερο, ανάλογα με τη θέση του, αντιπροσωπεύει μια δύναμη του 2.

Περισσότερα




Δυναμική δομή δεδομένων: Δομή δεδομένων της οποίας το μέγεθος δεν είναι σταθερό και μπορεί να μεταβάλλεται "κατ'απαίτηση" κατά τη διάρκεια εκτέλεσης του προγράμματος. Οι δυναμικές δομές δεδομένων αποθηκεύουν τους κόμβους τους σε μη συνεχόμενες θέσεις μνήμης και η σύνδεση μεταξύ τους επιτυχγάνεται με τη χρήση δεικτών.
Παράδειγμα: στοίβα, ουρά, λίστα.




Δυναμικός προγραμματισμός (Dynamic programming): Τεχνική σχεδίασης αλγορίθμων που περιλαμβάνει υποδιαίρεση του αρχικού προβλήματος σε υποπροβλήματα μικρότερου μεγέθους εφαρμόζοντας από "κάτω προς τα πάνω" προσέγγιση, ξεκινώντας από το μικρότερο δυνατό υποπρόβλημα και "χτίζοντας" τη λύση διαδοχικά μεγαλύτερων υποπροβλημάτων, εώς ότου καταλήξουμε στην επίλυση του αρχικού προβλήματος. Σε αντίθεση με τη διαίρει και βασίλευε προσέγγιση, ο δυναμικός προγραμματισμός δεν κάνει χρήση αναδρομής, αλλά επανάληψης και αποθήκευσης ενδιάμεσων αποτελεσμάτων για την δημιουργία της τελικής λύσης.

Παράδειγμα: Η ακολουθία αριθμών Fibonacci ορίζεται αναδρομικά με βάση τον τύπο f(n)=f(n-1) + f(n-2) με αρχικές τιμές f(0)=0 και f(1)=1. Εστω ότι ζητείται ο αριθμός f(4). Tότε η χρήση του αναδρομικού τύπου δεν είναι αποδοτική, καθώς όπως φαίνεται στο παρακάτω σχήμα, υπάρχουν πολλές τιμές επαναλαμβάνονται.
Υπολογισμός fibonacci.
Υπολογισμός fibonacci.

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

Ακολουθεί ο κώδικας σε ΓΛΩΣΣΑ.

ΠΡΟΓΡΑΜΜΑ FIBONACCI
MΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ F[4]
ΑΡΧΗ
  F[0]←0
  F[1]←1
  ΓΙΑ i από 2 ΕΩΣ 3
     F[i]← F[i-1] + F[i-2]
  ΓΡΑΨΕ F[3]
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Περισσότερα