1/51
Μια ολοκληρωμένη συλλογή flashcards λεξιλογίου βασισμένη στις σημειώσεις πληροφορικής, καλύπτοντας βασικές έννοιες αλγορίθμων, δομών δεδομένων και προγραμματισμού.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Πρόβλημα
Μία κατάσταση η οποία χρήζει αντιμετώπισης, η δε λύση της δεν είναι γνωστή, ούτε προφανής.
Κατανόηση προβλήματος
Συνάρτηση δύο παραγόντων: της σωστής διατύπωσης εκ μέρους του δημιουργού και της σωστής ερμηνείας από εκείνον που καλείται να το αντιμετωπίσει.
Δεδομένο
Οποιοδήποτε γνωσιακό στοιχείο μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή με μία από τις πέντε αισθήσεις του.
Πληροφορία
Οποιοδήποτε γνωσιακό στοιχείο προέρχεται από την επεξεργασία δεδομένων.
Επεξεργασία δεδομένων
Η διαδικασία κατά την οποία ένας μηχανισμός “δέχεται” δεδομένα, τα επεξεργάζεται σύμφωνα με έναν προκαθορισμένο τρόπο και αποδίδει πληροφορίες.
Δομή προβλήματος
Τα συστατικά μέρη ενός προβλήματος, τα επιμέρους τμήματα που το αποτελούν και ο τρόπος που αυτά συνδέονται μεταξύ τους.
Αλγόριθμος
Μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος.
Είσοδος (input)
0, 1 ή περισσότερες τιμές δεδομένων που δίνονται ως είσοδοι στον αλγόριθμο.
Έξοδος (output)
Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον 1 τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν άλλο αλγόριθμο.
Καθοριστικότητα (definiteness)
Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της (π.χ. πρόβλεψη για διαίρεση με το μηδέν).
Περατότητα (finiteness)
Ο αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του.
Αποτελεσματικότητα (effectiveness)
Κάθε μεμονωμένη εντολή του αλγορίθμου πρέπει να είναι απλή και εκτελέσιμη.
Υπολογιστική διαδικασία (computational procedure)
Μία διαδικασία που δεν τελειώνει μετά από ένα συγκεκριμένο αριθμό βημάτων (δεν αποτελεί αλγόριθμο).
Διάγραμμα ροής
Γραφικός τρόπος παρουσίασης αλγορίθμου που αποτελείται από γεωμετρικά σχήματα που ενώνονται με βέλη.
Σταθερές (constants)
Προκαθορισμένες τιμές που παραμένουν αμετάβλητες σε όλη τη διάρκεια της εκτέλεσης ενός αλγορίθμου ή προγράμματος.
Μεταβλητές (variables)
Γλωσσικά αντικείμενα που παριστάνουν στοιχεία δεδομένων· τους εκχωρείται μια τιμή που μπορεί να αλλάζει κατά την εκτέλεση.
Ολίσθηση προς τα αριστερά
Προσθήκη ενός 0 στο τέλος ενός δυαδικού αριθμού, που ισοδυναμεί με πολλαπλασιασμό επί 2.
Ολίσθηση προς τα δεξιά
Αποκοπή του τελευταίου ψηφίου από το τέλος ενός δυαδικού αριθμού, που ισοδυναμεί με την ακέραια διαίρεση διά 2.
Δομή δεδομένων
Ένα σύνολο αποθηκευμένων δεδομένων μαζί με ένα σύνολο επιτρεπτών λειτουργιών επί αυτών (π.χ. εγγραφή, αρχείο).
Στατικές δομές δεδομένων
Δομές που αποθηκεύονται σε συνεχόμενες θέσεις μνήμης και το ακριβές μέγεθός τους καθορίζεται κατά τη στιγμή του προγραμματισμού/μετάφρασης.
Δυναμικές δομές δεδομένων
Δομές που δεν έχουν σταθερό μέγεθος και στηρίζονται στη δυναμική παραχώρηση μνήμης (δεν αποθηκεύονται σε συνεχόμενες θέσεις).
Πίνακας
Ένα σύνολο αντικειμένων ίδιου τύπου, τα οποία αναφέρονται με ένα κοινό όνομα και η πρόσβαση στα στοιχεία τους γίνεται μέσω δείκτη.
Στοίβα (Stack)
Δομή δεδομένων όπου τα στοιχεία που βρίσκονται στην κορυφή λαμβάνονται πρώτα (LIFO).
Ώθηση (Push)
Η διαδικασία προσθήκης στοιχείου στην κορυφή μιας στοίβας.
Απώθηση (Pop)
Η διαδικασία αφαίρεσης στοιχείου από την κορυφή μιας στοίβας.
Υπερχείλιση (Overflow) στοίβας
Προσπάθεια προσθήκης στοιχείου σε μία ήδη γεμάτη στοίβα.
Υποχείλιση (Underflow) στοίβας
Προσπάθεια αφαίρεσης στοιχείου από μία κενή στοίβα.
Ουρά (Queue)
Δομή δεδομένων όπου τα στοιχεία που τοποθετήθηκαν πρώτα λαμβάνονται επίσης πρώτα (FIFO).
Ταξινόμηση
Η μετάθεση της θέσης των στοιχείων a1,a2,...,an, ώστε να τοποθετηθούν σε μια σειρά βάσει μιας συνάρτησης διάταξης f, π.χ. f(ak1) f(akn).
Απλά συνδεδεμένη λίστα
Σύνολο κόμβων διατεταγμένων γραμμικά όπου κάθε κόμβος περιέχει τα δεδομένα και έναν δείκτη προς τον επόμενο κόμβο.
Δείκτης (Pointer)
Ιδιαίτερος τύπος δεδομένων του οποίου οι τιμές είναι διευθύνσεις στην κύρια μνήμη.
Δένδρο
Μη γραμμική δομή που αποτελείται από κόμβους και ακμές, με έναν ξεχωριστό κόμβο που ονομάζεται ρίζα.
Γράφος
Η πιο γενική δομή δεδομένων που αποτελείται από ένα σύνολο κόμβων και ένα σύνολο ακμών που τους ενώνουν.
Διαίρει και Βασίλευε
Μέθοδος σχεδίασης αλγορίθμων που υποδιαιρεί ένα πρόβλημα σε μικρότερα υποπροβλήματα της ίδιας τυποποίησης μέχρι να επιλυθούν εύκολα.
Προγραμματισμός
Η διατύπωση ενός αλγορίθμου σε μορφή κατανοητή από τον υπολογιστή, καθώς και ο χειρισμός των δεδομένων και δομών επί των οποίων ενεργεί.
Μεταγλωττιστής (Compiler)
Πρόγραμμα που δέχεται ένα πηγαίο πρόγραμμα (υψηλού επιπέδου) και παράγει ένα αυτόνομο αντικείμενο πρόγραμμα σε γλώσσα μηχανής.
Διερμηνευτής (Interpreter)
Πρόγραμμα που διαβάζει μία προς μία τις εντολές του πηγαίου προγράμματος και εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής.
Συνδέτης-φορτωτής (Linker)
Πρόγραμμα που συνδέει το αντικείμενο πρόγραμμα με βιβλιοθήκες ή άλλα τμήματα για την παραγωγή του τελικού εκτελέσιμου προγράμματος.
Τύπος δεδομένων Λογικός
Τύπος που δέχεται μόνο δύο τιμές: ΑΛΗΘΗΣ και ΨΕΥΔΗΣ.
Υποπρόγραμμα
Τμήμα προγράμματος που επιτελεί αυτόνομο έργο, έχει μία είσοδο και μία έξοδο, και έχει γραφεί χωριστά από το υπόλοιπο πρόγραμμα.
Συνάρτηση (Function)
Τύπος υποπρογράμματος που υπολογίζει και επιστρέφει ακριβώς μία τιμή μέσω του ονόματός της.
Διαδικασία (Procedure)
Τύπος υποπρογράμματος που μπορεί να εκτελεί όλες τις λειτουργίες ενός προγράμματος και επιστρέφει τιμές μέσω παραμέτρων.
Εμβέλεια μεταβλητών
Ορίζει ποια τμήματα του προγράμματος «γνωρίζουν» και μπορούν να χρησιμοποιήσουν μια μεταβλητή (τοπικές έναντι καθολικών).
Συντακτικά λάθη (ή λάθη υλοποίησης)
Λάθη στη συγγραφή των εντολών (π.χ. ορθογραφία δεσμευμένων λέξεων) που ανιχνεύονται από τον μεταγλωττιστή.
Λάθη κατά την εκτέλεση (Runtime errors)
Λάθη που εμφανίζονται κατά την εκτέλεση (π.χ. διαίρεση με 0, υπερχείλιση) και συχνά προκαλούν αντικανονικό τερματισμό (crash).
Λογικά λάθη
Λάθη σχεδιασμού που δεν διακόπτουν την εκτέλεση, αλλά παράγουν λανθασμένα αποτελέσματα· δεν ανιχνεύονται από τον υπολογιστή.
Εκσφαλμάτωση (Debugging)
Η διαδικασία ελέγχου, εντοπισμού και διόρθωσης των σφαλμάτων (κυρίως λογικών και εκτέλεσης) ενός προγράμματος.
Αντικειμενοστραφής προγραμματισμός
Μεθοδολογία που στηρίζεται σε αυτόνομες οντότητες (αντικείμενα) που συνδυάζουν ιδιότητες (δεδομένα) και μεθόδους (ενέργειες).
Ενθυλάκωση (Encapsulation)
Η δυνατότητα ενός αντικειμένου να συνδυάζει εσωτερικά τα δεδομένα και τις μεθόδους χειρισμού του, διαχωρίζοντας τον εσωτερικό από τον εξωτερικό κόσμο.
Κλάση (Class)
Ο γενικός τύπος (αφαιρετικό στοιχείο) που καθορίζει τις αρχικές ιδιότητες και τη συμπεριφορά των αντικειμένων που παράγονται από αυτή.
Κληρονομικότητα (Inheritance)
Η δυνατότητα μιας υποκλάσης να κληρονομεί και να χρησιμοποιεί όλες τις ιδιότητες και μεθόδους της υπερκλάσης (γονέα).
Πολυμορφισμός (Polymorphism)
Ιδιότητα κατά την οποία μία λειτουργία μπορεί να υλοποιείται με πολλούς διαφορετικούς τρόπους.