Basics Flashcards

1
Q

Τι γλώσσα είναι η C ?

A

System Programming

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Τι γλώσσα είναι η Go?

A

System Programming

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Τι γλώσσα είναι η Python?

A

Object-Oriented, Functional, Scripting

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Τι γλώσσα είναι η Java?

A

Object-Oriented

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Τι γλώσσα είναι η Scala?

A

Functional - Συναρτησιακός προγραμματισμός

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Τι γλώσσα είναι η JavaScript?

A

Scripting

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Τι γλώσσα είναι η C++?

A

System Programming

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Ποιες γλώσσες είναι System programming?

A

C, Go, C++

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ποιες γλώσσες είναι object-oriented

A

Java, Python

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Ποιες γλώσσες είναι Functional ?

A

Scala, Python

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Ποιες γλώσσες είναι Scripting?

A

JavaScript, Python

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Που χρησιμεύει η Kotlin?

A

για Android apps, μαζί με Java

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Η TypeScript είναι υποσύνολο της JavaScript.

A

Όχι. Είναι υπερσύνολο

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Που χρησιμοποιείται η Go?

A

system level, cloud, Google

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Που χρησιμοποιείται η Swift?

A

iOS, macOS apps μαζί με C, C++

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Που χρησιμοποιείται η R?

A

Statistics,Data Analysis, ML

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Γιατί έχουμε πολλές γλώσσες προγραμματισμού?

A

Εξέλιξη (βελτίωση), κοινωνικοικονομικοί παράγοντες, προσανατολισμός σε ειδικούς σκοπούς+ ειδικό hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Τι πρέπει να έχει μία γλώσσα προγραμματισμού για να θεωρείται επιτυχημένη? (7)
Ευκολία…
Μεταγλώττιση σε…
και άλλα 2 :)

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Ποιες γλώσσες είναι εύκολες στην μάθηση?

A

BASIC, Pascal, Python

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Εύκολες στην έκφραση + χρήση?

A

C, Lisp, APL, Algol68, PHP, Python

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Ποια γλώσσα είναι εύκολη στην ανάπτυξη?

A

BASIC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Ποιες γλώσσες έχουν δυνατό υποστηρικτή?

A

COBOL,Visual Basix, Google…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Ποιες γλώσσες έχουν μεγάλη διασπορά με ελάχιστο κόστος?

A

Pascal, Java, Python

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Γιατί έχουμε γλώσσες προγραμματισμού? (5)

A

-Τρόπος σκέψης-αλγόριθμοι
-Περιβάλλον χρήστη
-Αφαίρεση VM (Virtual Machine)
-Καθοδηγούμε το hardware χωρίς να μπλέκω με bits
-Κατασκευαστής

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Γιατί συγκρίνω Fortran και Ada?
Για αριθμητικούς υπολογισμούς
26
Γιατί συγκρίνω C και C++?
Για να δω ποια είναι καλύτερη για προγραμματισμό συστημάτων
27
Γιατί συγκρίνω Common Lisp, Scheme , ML?
Για διαχείριση συμβολικών δεδομένων
28
Γιατί συγκρίνω Java και C?
Για δικτυώμενα προγράμματα υπολογιστών
29
Γιατί συγκρίνω NodeJS και PHP?
Για server side scripting
30
Ποιες γλώσσες χρησιμοποιούνται για server side scripting?
NodeJS και PHP
31
Γλώσσες δικτυώμενα προγράμματα υπολογιστών?
Java και C
32
Ποια γλώσσα είναι καλύτερη για προγραμματισμό συστημάτων?
C και C++
33
Ποια γλώσσα μεταγλωττίζει σε γρήγορο-μικρό κώδικα?
Fortran
34
Τι είδους γλώσσα είναι η ALGOL?
επιτακτική - imperative
35
Ποια είναι η βασική δουλειά της ALGOL?
Περιγραφή δεδομένων ανεξάρτητη από μήχανη(Συστήματα διαχείρισης βάσεων δεδομένων)
36
Η C δεν είναι Von Neumann γλώσσα
ΛΑΘΟΣ. είναι
37
Η C,Python,C++,Java... είναι
επιτακτικές -imperative γλώσσες
38
Στις επιτακτικές γλώσσες ο υπολογισμός επιτυγχάνεται με αλλαγή κατάστασης μεταβλητών (θέσεις μνήμης)
Σωστό
39
Οι γλώσσες συναρτησιακού προγραμματισμού στηρίζονται σε...
μαθηματικές συναρτήσεις
40
Αντίστροφοι μεταγλωττιστές- decompilers
γλώσσα χαμηλού--> υψηλού επιπέδου
41
Είναι οι μετα-μεταφραστές παραμετρικοί ως προς αρχική και τελική γλώσσα?
ΝΑΙ
42
Οι μετα-μεταφραστές θέλουν πολύ κόπο και δουλειά για να υλοποιηθούν.
ΛΑΘΟΣ. λιγότερη δουλειά!
43
Ποιες ειναι οι 2 κατηγορίες των μετα-μεταφραστών?
Οι προσαρμοζόμενοι και οι γεννήτορες
44
Λειτουργεί ως ζεύγος αρχικής+τελικής γλώσσας
Προσαρμοζόμενοι μετα-μεταφραστές
45
Τι κάνει ο μετα-μεταφραστής γεννήτορας?
Παράγει τον μεταφραστή
46
Ο προεπεξεργαστής είναι μεταφραστής?
Θεωρείται μεταφραστής.
47
γλώσσα υψηλού επιπέδου-->υψηλού επιπέδου
Προεπεξεργαστής
48
Συμβολική γλώσσα (assembly)--> γλώσσα μηχανής
Συμβολομεταφραστές
49
Ομαδοποιεί χαρακτήρες σε tokens
Προεπεξεργαστής
50
Αφαιρεί σχόλια και κενά
Προεπεξεργαστής
51
Τι κάνει ένας συμβολομεταφραστής?
Συμβολική γλώσσα (assembly)--> Γλώσσα μηχανής
52
Η assembly είναι εύκολα αναγνώσιμη
Σωστό
53
Απομονώνει τον μεταφραστή από αλλαγές στην μορφή των αρχείων της γλώσσας μηχανής
Συμβολομεταφραστής
54
Ποια είναι τα 3 προγράμματα που θεωρούνται ως μεταφραστές?
Προεπεξεργαστής Συμβολομεταφραστής Γεννήτορες Προγραμμάτων
55
Σε τι γλώωσα είναι φτιαγμένοι οι flex bison?
C
56
Σε ποια κατηγορία ανήκει το flex bison?
Γεννήτορες προγραμμάτων
57
Τι κάνουν οι γεννήτορες προγραμμάτων?
Αυτόματη κατασκευή προγραμμάτων-τμημάτων μεταφραστή
58
Που χρησιμεύει ο flex bison?
Για κατασκευή λεξικών και συντακτικών αναλυτών γραμμένων σε C,C++ ή Java.
59
Ο φορτωτής είναι τμήμα του λειτουργικού συστήματος και τοποθετεί..
τον εκτελέσιμο κώδικα στην μνήμη για να εκτελεστεί
60
Συνδέτης : Συνδέει...
μεταφρασμένα προγράμματα +run time libraries = εκτελέσιμος κώδικας
61
Η run time library της C περιέχει ....
τον εκτελέσιμο κώδικα για τις προκαθορισμένες συναρτήσεις (printf...)
62
Καταγράφουν και διορθώνουν προγράμματα
Εκδότες προγραμμάτων- program editors
63
Εντοπιστές σφαλμάτων ..... εκτέλεση παρακολούθηση ...... τοποθέτηση σημείων ...εκτέλεσης
βηματική τιμών μεταβλητών διακοπής
64
Στατιστικοί αναλυτές Μέτρηση.... τμημάτων του προγράμματος Μέτρηση ..... εκτέλεσης εντολών Ανακάλυψη τμημάτων....
κλήσεων/εκτελέσεων χρόνου που δεν εκτελέστηκαν ποτέ
65
Κατασκευή μεταφραστή
Υβριδικά
66
Ποια τμήματα κατασκευαζονται αυτόματα?
Ο λεξικός και ο συντακτικός αναλυτής
67
Σύνταξη
Λεξική + Συντακτική ανάλυση
68
ΓΥΕ
Γλώσσα υψηλού επιπέδου
69
Η διερμηνεία γίνεται βήμα-βήμα
Σωστό
70
Ο διερμηνέας είναι γραμμένος σε ΓΥΕ
Σωστό
71
ΟΙ διερμηνείς μπορεί να είναι πολύ αργοί , αλλά..
είναι καλύτεροι στον έλεγχο και προσφέρουν αυξημένη ασφάλεια
72
Η μετάφραση και η διερμηνεία είναι αντίθετες έννοιες
ΛΑΘΟΣ
73
Καθαρή μετάφραση
ΓΥΕ--> Γλώσσα μηχανής και μετά δεν χρησιμοποιείται
74
Είναι το κέντρο ελέγχου κατά την διάρκεια της εκτέλεσης
Ο διερμηνέας
75
Ο διερμηνέας σχετίζεται με την εκτέλεση του προγράμματος
Σωστό
76
Virtual Machine (VM)
εκτελεί προγράμματα σε περιβάλλον ανεξάρτητο από H/W πλατφόρμα
77
Ως τι λειτουργεί ένα VM ?
Ως διερμηνέας
78
Ο προγραμματιστής της Java δεν χρειάζεται να ξέρει Java bytecode.
Σωστό
79
Η μετάφραση χρειάζεται να παράγει γλώσσα μηχανής για κάποιο είδος harware.
Λάθος!! ΔΕΝ ΧΡΕΙΑΖΕΤΑΙ
80
Η μετάφραση είναι ... από μια γλώσσα σε μια άλλη, με πλήρη ανάλυση της εισόδου
μεταγλώττιση
81
Η προεπεξεργασία συνεπάγεται σημασιολογική κατανόηση, όπως και η μετάφραση.
ΟΧΙ
82
Η μετάφραση συνεπάγεται .... για ότι επεξεργάζεται
σημασιολογική κατανόηση
83
Η... συνεπάγεται σημασιολογική κατανόηση για ότι επεξεργάζεται.
μετάφραση
84
Ο προεπεξεργαστής δεν αφήνει ποτέ λάθη να περάσουν
ΛΑΘΟΣ. Συχνά αφήνει
85
Μπορεί μια μεταφρασμένη γλώσσα να περιεχει διερμηνευμένα κομμάτια?
Ναι. πχ τα formats σε C
86
Οι περισσότερες μεταφρασμένες γλώσσες χρησιμοποιούν "εικονικές εντολές"
Σωστό
87
Γίνεται οι μεταφραστές να παράγουν μόνο εικονικές εντολές?
Ναι. πχ Java bytecode
88
Οι ΓΠ έχουν περισσότερες συντακτικές από εννοιολογικές διαφορές
Σωστό
89
Ποιος είναι ο στόχος του συντακτικού?
Κανόνες επικοινωνίας της πληροφορίας μεταξύ ΠΡΟΓΡΑΜΜΑΤΙΣΤΗ και ΜΕΤΑΦΡΑΣΤΗ/ΔΙΕΡΜΗΝΕΑ
90
Κριτήρια συντακτικών κανόνων (4)
1) Αναγνωσιμότητα 2) Ευκολία Γραφής 3)Ευκολία μετάφρασης 4)Έλλειψη ασαφειών
91
Η αναγνωσιμότητα ταυτίζεται με την ευκολία γραφής
Πολλές φορές είναι αντίθετες έννοιες
92
Αν έχω πολλές συντακτικές δομές, δημιουργείται δυσκολία στην μετάφραση
Σωστό
93
Ποιες είναιν οι 2 κωδικοποιήσεις χαρακτήρων?
EBCDIC (Extended binary coded decimal interchange code) ASCII (American standard code for information interchange)
94
Διαφορά EBCDIC από ASCII ?
256 bit vs 128 bit (κατά μία τάξη 2^n)
95
Τι περιέχει το αλφάβητο?
Γράμματα ΚΕΦΑΛΑΙΑ και μικρά Αριθμητικά ψηφία Ειδικοί χαρακτήρες
96
Πόσους χαρακτήρες έχει η UNICODE?
2^16
97
Τι είναι τα αναγνωριστικά?
Ονόματα μεταβλητών - αντιπροσωπευτικά πχ SUM και όχι S#UM
98
Δεσμευμένες λέξεις
Δεν μπορεί ο προγραμματιστής να αλλάξει την χρήση τους
99
Λέξεις κλειδιά
Χρησιμοποιούνται απο την ΓΠ
100
Πόσες δεσμευμένες λέξεις έχει η C?
28
101
Είναι δύσκολο να προσθέτουμε νέες δεσμευμένες λέξεις γιατί...
τα παλιά προγράμματα μπορεί να τις χρησιμοποιούν ως ΟΝΟΜΑΤΑ ΜΤΒΛ
102
ΣΥΝΤΑΚΤΙΚΑ ΣΤΟΙΧΕΙΑ ΓΠ (10)
1)Σύνολο χαρακτήρων- αλφάβητο 2) Αναγνωριστικά 3)Σύμβολα πράξεων 4)Λέξεις κλειδιά + Δεσμευμένες λέξεις 5)Σχόλια και Θόρυβος 6) Κενά 7) Διαχωριστικά 8) Εκφράσεις 9) Εντολές 10) Δομή Προγράμματος - Υποπρογραμμάτων
103
Ξεχωριστός ορισμός υποπρογράμματος
C
104
Ξεχωριστός ορισμός δεδομένων
Μηχανισμός κλάσεων- Java,Python, C++
105
Ξεχωριστός ορισμός interface
C,C++
106
3 Φάσεις της ΑΝΑΛΥΣΗΣ πηγαίου προγράμματος
1.Λεκτική 2.Συντακτική 3.Σημασιολογική
107
Λεκτική ανάλυση=
scanning
108
Συντακτική Ανάλυση=
parsing
109
Σημασιολογική Ανάλυση=
Semantic analysis
110
Ανάλυση.... προγράμματος
πηγαίου
111
Σύνθεση... κώδικα
Εκτελέσιμου
112
BNF=
Backus Naur Form
113
Τι είναι το BNF?
Ορισμός Γραμματικών χωρίς συμφραζόμενα
114
Τι είναι το Σ?
Το Αλφάβητο
114
Τι είναι το P?
Οι κανόνες
115
Τι είναι το Ν ?
Συντακτικές κατηγορίες ή Μη τερματικά σύνολα
116
Τι είναι το So?
Αρχικό Σύμβολο--- Η συντακτική κατηγορία του πιο υψηλού επιπέδου
117
Σύστημα Παραγωγής
G=(Σ, Ν, P, Start) όπου Start ε Σ ένωση N
118
Ανάλογα με το είδος των παραγωγών, υπάρχουν τελικά....
μόνο 4 τύποι τυπικών γλωσσών.
119
Ο τύπος γλώσσας...
αναγνωρίζεται από την θεωρητική μηχανή
120
Τι αναγνωρίζει μια θεωρητική μηχανή?
Τον τύπο της γλώσσας
121
Οι 4 γλώσσες του Chomsky
0. Γλώσσες χωρίς περιορισμούς 1.Γλώσσες με συμφραζόμενα 2.Γλώσσες χωρίς συμφραζόμενα 3.Κανονικές Γλώσσες
122
Η γραμματική είναι κανονική αν οι παραγωγές της είναι της μορφής:
Α->α ή Α->αΒ όπου: Α,Β ανήκουν στο Ν α ανήκει στο Σ
123
Το 1ο σύμβολο δεξιά του -> είναι..
τερματικό (μετά μπορεί να μην είναι τερματικό)
124
Οι κανονικές γλώσσες είναι κατάλληλες για...
λεξική ανάλυση
125
Οι κανονικές γλώσσες αναγνωρίζονται από ....
πεπερασμένα αυτόματα
126
Τι είναι το ε?
Είναι το τίποτα, το κενό
127
Όσο προχωράω προς τα μέσα στο σχήμα του Chomsky...
έχω όλο και περισσότερους περιορισμούς
128
Η γραμματική είναι χωρίς συμφραζόμενα αν οι παραγωγές της είναι της μορφής:
Α->s όπου: Α ανήκει στο Ν s ανήκει στο Σ ένωση Ν
129
Γιατί οι τύπου 2 λέγονται χωρίς συμφραζόμενα?
Γιατί μπορούν να γίνουν αντικαταστάσεις οπουδήποτε εμφανίζεται μη τερματικό σύμβολο, χωρίς να σκέφτομαι τα περιβάλλοντα σύμβολα (context)
130
Οι γλώσσες χωρίς συμφραζόμενα είναι κατάλληλες για ...
Συντακτική ανάλυση
131
Οι γλώσσες χωρίς συμφραζόμενα αναγνωρίζονται από...
push-down αυτόματα
132
Οι γλώσσες χωρίς συμφραζόμενα λέγονται
context free
133
Η γραμματική είναι ΜΕ συμφραζόμενα αν οι παραγωγές της είναι της μορφής:
α->β Το α μπορεί να έχει περισσότερο από ένα σύμβολα (τουλ. 1 μη τερματικό) και Μήκος α <= β
134
Οι γλώσσες ΜΕ συμφραζόμενα αναγνωρίζονται από...
Linear bounded αυτόματα
135
Η γραμματική είναι χωρίς περιορισμούς αν οι παραγωγές της είναι της μορφής:
α->β όπου Το α μπορεί να έχει περισσότερο από ένα σύμβολα (τουλ. 1 μη τερματικό)
136
Οι γλώσσες χωρίς περιορισμούς αναγνωρίζονται από ...
Μηχανές Turing
137
Ποια είναι η μηχανή αναγνώρισης tokens?
ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ
138
Έχω ένα πεπερασμένο αυτόματο ...
για κάθε είδος token (μτβλ, σύμβολα, λέξεις κλειδιά)
139
Μια ΚΑΝΟΝΙΚΗ ΕΚΦΡΑΣΗ είναι ένα από τα: (5)
1) Ένας χαρακτήρας 2) Το σύμβολο ε (κενό) 3) 2 διπλανές ΚΕ 4) 2 χωρισμένες ΚΕ 5) Μια ΚΕ ακολουθούμενη από το * (συνένωση)
140
Τι είναι το *?
Είναι το Kleene Star
141
Τι σημαίνει Χ+ ?
ΧΧ* (1 ή περισσότερα Χ)
142
Τι σημαίνει Χ? Με ερωτηματικό
Χ|ε δηλαδή κανένα ή 1 Χ
143
Με τι ισούται το c-g?
c|d|e|f|g
144
()?
Καθορισμός προτεραιότητας
145
ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ
Δημιουργούνται από ΚΕ και αναγνωρίζονται από ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ
146
Τι μας αρκεί για να δημιουργήσουμε μια γλώσσα ΧΩΡΙΣ συμφραζόμενα?
Αρκεί να προσθέσουμε δυνατότητα Αναδρομής
147
Ένα σύνολο ΚΕ είναι αντίστοιχο με ..
τυπική κανονική γραμματική
148
Πεπερασμένα αυτόματα
FSA - Finite State Automata
149
Τι κάνει το FSA?
Αποφασίζει αν το string που έχει διαβάσει μέχρι τώρα είναι αποδεκτό ως token
150
Αποδεκτό αυτόματο αν
βρίσκεται στην τελική καταάσταση
151
Τι είναι το flex?
πρόγραμμα που δημιουργεί ΛΕΚΤΙΚΟΥΣ αναλυτές
152
Τι είναι το bison?
πρόγραμμα που δημιουργεί ΣΥΝΤΑΚΤΙΚΟΥΣ αναλυτές