ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην αναγκαιότητα ύπαρξης των μεταγλωττιστών

Save this PDF as:
 WORD  PNG  TXT  JPG

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην αναγκαιότητα ύπαρξης των μεταγλωττιστών"

Transcript

1 ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ Σκοπός: Το μάθημα αυτό αναφέρεται: 1 Ο Εργαστηριακό Μάθημα Εισαγωγή Στην αναγκαιότητα ύπαρξης των μεταγλωττιστών Στα στάδια της μεταγλώττισης Θεωρία Πρόλογος Αφιερώνεται το πρώτο εργαστηριακό μάθημα, για να δοθεί στο σπουδαστή η ελάχιστα απαραίτητη θεωρητική γνώση όσον αφορά το αντικείμενο των μεταγλωττιστών, προκειμένου να μάθει τις βασικές έννοιες και να κατανοήσει τη σημασία ύπαρξης τους Γενικά Για την επίλυση ενός προβλήματος βρίσκονται λογικά αντιμέτωποι ο άνθρωπος και ο υπολογιστής Ο άνθρωπος θέλει να γνωστοποιήσει στον υπολογιστή την διαδικασία επίλυσης του προβλήματος και να τον καθοδηγήσει στην εκτέλεση της διαδικασίας αυτής Διαθέτει δε ένα αρκετά ευρύ λεξιλόγιο για την περιγραφή του τρόπου επίλυσης ενός προβλήματος Απεναντίας, ο υπολογιστής μπορεί να καταλάβει απ ευθείας πολύ λίγα πράγματα, όπως πχ μπορεί να εκτελέσει μόνο προσθέσεις και συγκρίσεις Ανάλογα βέβαια με τον τύπο και την κατασκευή του, ο υπολογιστής έχει και διαφορετικές ικανότητες Θα πρέπει λοιπόν να επιλέξουμε έναν τρόπο περιγραφής του αλγόριθμου επίλυσης του προβλήματος, που να περιέχει μόνο τέτοια γλωσσικά στοιχεία, τα οποία να γίνονται κατανοητά από τον υπολογιστή Με άλλα λόγια θα πρέπει να επιλεγεί μια γλώσσα προγραμματισμού στην οποία θα γράφονται τα αντίστοιχα προγράμματα περιγραφής των συγκεκριμένων αλγορίθμων Αναφορικά με τις γλώσσες προγραμματισμού μπορούμε να θεωρήσουμε αρχικά δύο μεγάλες βασικές κατηγορίες: Γλώσσες μηχανής Ανώτερες γλώσσες προγραμματισμού Γλώσσες Μηχανής Όταν ένα πρόγραμμα γράφεται σε μια γλώσσα μηχανής, η οποία μπορεί να διαφέρει από υπολογιστή σε υπολογιστή, περιέχει εντολές που ονομάζονται εντολές μηχανής ή εντολές γλώσσας μηχανής οι οποίες

2 είναι γραμμένες σε μορφή άμεσα κατανοητή από τον επεξεργαστή Κάθε εντολή μηχανής δηλαδή είναι μια πεπερασμένη ακολουθία μηδενικών και μονάδων και σημειώνουμε ότι είναι η μόνη η οποία μπορεί να κατανοηθεί από το υλικό hardware της CPU με άμεσο αποτέλεσμα την εκτέλεσή της Ας θεωρήσουμε ότι, για την περίπτωση μιας απλής γλώσσας μηχανής, μια εντολή μηχανής έχει μήκος 16 bits από τα οποία τα 4 πρώτα bits χρησιμεύουν για την κωδικοποίηση της αντίστοιχης πράξης της εντολής, ενώ τα υπόλοιπα 12 bits περιέχουν τη διεύθυνση μιας θέσης της κύριας μνήμης Επί πλέον υποθέτουμε την ύπαρξη ενός ειδικού καταχωρητή, του συσσωρευτή (accumulatr, ή συντόμως: ACCU) στον οποίο αποθηκεύονται αποτελέσματα αριθμητικών και λογικών πράξεων Για παράδειγμα δίνεται στη συνέχεια, ένα τμήμα προγράμματος σε γλώσσα μηχανής: Διευθύνσεις κύριας μνήμης Περιεχόμενο διευθύνσεων (εντολές γλώσσας μηχανής) Τμήμα Τμήμα Πράξης Διεύθυνσης Σημασία Περιεχομένου (267) ACCU ACCU + (268) ACCU ACCU (267) (269) ACCU ACCU (270) ACCU ACCU (269) JUMP 281 */ Πρώτη αναφορά στο εισαγωγή στην πληροφορική Α Μπεμ / Γ Καραμπάτζος*/ όπου: α)(267) ACCU σημαίνει ότι το περιεχόμενο της θέσης της κύριας μνήμης, με διεύθυνση 267 στέλνεται στο συσσωρευτή β)accu + (268) ACCU σημαίνει ότι το περιεχόμενο της διεύθυνσης 268 προστίθεται σε εκείνο του συσσωρευτή και το αποτέλεσμα καταχωρείται σε αυτόν γ)accu (267) σημαίνει ότι το περιεχόμενο του συσσωρευτή στέλνεται στη διεύθυνση 267 δ)accu (270) ACCU σημαίνει ότι από το περιεχόμενο του συσσωρευτή αφαιρείται το περιεχόμενο της διεύθυνσης 270 και το αποτέλεσμα καταχωρείται σε αυτόν ε)jump 281 σημαίνει ότι η εκτέλεση του προγράμματος συνεχίζεται από τη διεύθυνση 281 και μετά (άλμα) Αυτό το τμήμα του προγράμματος θα μπορούσε να αντιστοιχεί στο παρακάτω τμήμα ενός προγράμματος, που γράφτηκε σε μια ανώτερη γλώσσα προγραμματισμού: x:= x + y; z:= k l; GOTO A;

3 προϋποθέτοντας ότι οι τιμές των x, y, k και l βρίσκονται αντιστοίχως στις διευθύνσεις 267, 268, 269 και 270 της κύριας μνήμης Οι γλώσσες μηχανής μπορούν να χαρακτηριστούν από τις ακόλουθες ιδιότητες: Τα προγράμματα στις γλώσσες αυτές αποτελούνται αποκλειστικά και μόνο από δυαδικούς αριθμούς και γι αυτό είναι δυσανάγνωστα και δυσνόητα Η γλώσσα μηχανής εξαρτάται πλήρως από τον επεξεργαστή του εκάστοτε υπολογιστή και γενικά διαφέρει από υπολογιστή σε υπολογιστή Κατά τον προγραμματισμό σε γλώσσα μηχανής πρέπει ο προγραμματιστής να τηρεί έναν κατάλογο, ο οποίος περιέχει όλες τις διευθύνσεις, που είναι καταχωρημένες μεταβλητές και ετικέτες Για το λόγο αυτό αυξάνεται η πιθανότητα λάθους σε σχέση με τις ανώτερες γλώσσες προγραμματισμού Με την προσθήκη ή διαγραφή μιας εντολής μπορούν να αλλάξουν τμήματα διευθύνσεων πολλών εντολών Οι αλλαγές επομένως σε ένα πρόγραμμα μηχανής είναι προβληματικές Ο προγραμματισμός σε γλώσσα μηχανής απαιτεί πολύ καλή γνώση του αντίστοιχου επεξεργαστή και γενικότερα υπολογιστή Ο προγραμματισμός σε γλώσσα μηχανής επιτρέπει τη βέλτιστη αξιοποίηση της μηχανής, γιατί μπορούμε να χρησιμοποιήσουμε όλες τις εντολές και να έχουμε προσπέλαση σε όλα τα στοιχεία ενός υπολογιστή Όπως διαπιστώνεται από τις παραπάνω ιδιότητες, εκτός από το πλεονέκτημα της τελευταίας, είναι φανερό ότι ο προγραμματισμός σε γλώσσα μηχανής έχει πολλά μειονεκτήματα, είναι ιδιαίτερα δύσκολος και κουραστικός και για το λόγο αυτό, όπου δεν είναι απόλυτα αναγκαίος, πρέπει να αποφεύγεται Ανώτερες γλώσσες προγραμματισμού Τη λύση σε όλους τους παραπάνω προβληματισμούς δίνουν οι ανώτερες γλώσσες προγραμματισμού, οι οποίες είναι προσανατολισμένες στο πρόβλημα και όχι στη μηχανή Με τη βοήθεια αυτών των γλωσσών μπορούμε να γράψουμε συντομότερα το πρόγραμμα ενός αλγορίθμου και να αποφύγουμε πιθανά λάθη Τα προγράμματα είναι πιο ευανάγνωστα, εύκολα να κατανοηθούν και έχουν τη δυνατότητα μεταφοράς για εκτέλεση σε διαφορετικού τύπου υπολογιστές Τα προγράμματα όμως που γράφονται σε μια ανώτερη γλώσσα προγραμματισμού δεν μπορούν να εκτελεστούν άμεσα από τον υπολογιστή Θα πρέπει προηγουμένως να γίνει επεξεργασία από ένα μεταφραστή (language translatr) Οι μεταφραστές, οι οποίοι είναι ειδικά προγράμματα, μεταφράζουν προγράμματα, γραμμένα σε ανώτερες γλώσσες προγραμματισμού στη γλώσσα μηχανής του συγκεκριμένου υπολογιστή Για κάθε ανώτερη γλώσσα προγραμματισμού είναι αναγκαία η ύπαρξη ενός μεταφραστή Οι στρατηγικές που χρησιμοποιούνται για τη μετάφραση είναι δύο: της διερμήνευσης (interpretatin) και της μεταγλώττισης (cmpilatin) Οι αντίστοιχοι μεταφραστές ονομάζονται διερμηνευτές (interpreters) και μεταγλωττιστές (cmpilers) Η βασική διαφορά μεταξύ αυτών των δύο στρατηγικών είναι ότι στην περίπτωση ενός διερμηνευτή οι εντολές ενός προγράμματος μεταφράζονται σε γλώσσα (κώδικα) μηχανής και εκτελούνται μία προς μία, δηλαδή μετά τη μετάφραση και εκτέλεση μιας εντολής, μεταφράζεται και εκτελείται η επόμενη εντολή κοκ Με τη χρησιμοποίηση ενός μεταγλωττιστή

4 ολόκληρο το πρόγραμμα μεταφράζεται αρχικά σε ένα ισοδύναμο πρόγραμμα γλώσσας μηχανής και στη συνέχεια εκτελείται το νέο πρόγραμμα Όλες οι γλώσσες προγραμματισμού μπορούν βασικά να συνεργαστούν είτε με ένα διερμηνευτή, είτε με ένα μεταγλωττιστή Παρ όλα υπάρχουν μερικές, οι οποίες συνήθως συνεργάζονται μόνο με μεταγλωττιστές και άλλες συνεργάζονται μόνο με διερμηνευτές Διερμηνευτές Όπως αναφέραμε, ένας διερμηνευτής ανώτερης γλώσσας προγραμματισμού, μεταφράζει στη γλώσσα μηχανής και εκτελεί μία προς μία τις εντολές ενός προγράμματος, γραμμένου σε ανώτερη γλώσσα προγραμματισμού και μάλιστα κατά τέτοιο τρόπο ώστε η μετάφραση μιας εντολής να έπεται της εκτέλεσης της αμέσως προηγούμενής της Για κάθε τύπο εντολής μιας ανώτερης γλώσσας προγραμματισμού υπάρχει έτοιμη μια αντίστοιχη ενότητα, η οποία απαρτίζεται από μια ακολουθία εντολών γλώσσας μηχανής Όταν ο διερμηνευτής έχει για εκτέλεση μια εντολή ανώτερης γλώσσας προσπαθεί αρχικά να αναγνωρίσει τον τύπο της εντολής αυτής, καθώς επίσης και να διαπιστώσει τη συντακτική ορθότητά της Ο έλεγχος της συντακτικής ορθότητας γίνεται με τη βοήθεια των συντακτικών κανόνων της αντίστοιχης γραμματικής της γλώσσας Ο τρόπος με τον οποίο γίνεται ο έλεγχος αυτός θα φανεί στη συνέχεια Εάν η εντολή περιέχει ένα ή περισσότερα συντακτικά λάθη τότε τυπώνεται ανάλογο μήνυμα, ο διερμηνευτής δεν προχωράει στην εκτέλεση της εντολής αυτής και η διαδικασία μετάφρασης διακόπτεται Στην αντίθετη περίπτωση, δηλαδή εάν ο συντακτικός έλεγχος ήταν σωστός, ο διερμηνευτής καλεί την αντίστοιχη του τύπου της εντολής ενότητα και, μεταφέροντας τους όρους της εντολής ως τιμές των παραμέτρων της ενότητας, προχωρεί στην εκτέλεσή της Μετά την εκτέλεση της συγκεκριμένης ενότητας παραλαμβάνει για μετάφραση και πιθανή εκτέλεση την αμέσως επόμενη εντολή της ανώτερης γλώσσας Με τον διερμηνευτή επομένως η μετάφραση ενός προγράμματος μιας ανώτερης γλώσσας προγραμματισμού είναι άρρηκτα συνδεδεμένη με την εκτέλεση του προγράμματος Για το λόγο αυτό οι διερμηνευτές παρουσιάζουν μια σειρά μειονεκτημάτων, δύο από τα οποία θεωρούνται τα σημαντικότερα: Για λόγους ταχύτητας μετάφρασης και επειδή κάθε φορά που πρόκειται να εκτελεστεί μια εντολή, πρέπει αυτή προηγουμένως να μεταφραστεί σε γλώσσα μηχανής, απαιτείται όσο γίνεται απλούστερη σύνταξη της ανώτερης γλώσσας προγραμματισμού (όπως για παράδειγμα συμβαίνει στη γλώσσα BASIC) Ένας αποδοτικός διερμηνευτής προϋποθέτει επομένως μια φτωχή σε δομές ανώτερη γλώσσα προγραμματισμού Επειδή κατά την πορεία μετάφρασης ενός προγράμματος απαιτείται συνήθως συχνή επανάληψη τμημάτων προγράμματος, ή ενοτήτων (υποπρογράμματα), έχουμε υποχρεωτικά επαναλαμβανόμενες μεταφράσεις, κάτι που μεγαλώνει απαράδεκτα τον τελικό χρόνο εκτέλεσης του προγράμματος Στο σημείο αυτό πρέπει να αναφέρουμε ότι ο συνδυασμός χρήσης του διερμηνευτή ανώτερης γλώσσας προγραμματισμού με το διερμηνευτή γλώσσας μηχανής, ο οποίος πλέον συνηθίζεται, φέρνει πολύ καλά αποτελέσματα Αυτού του είδος η μετάφραση σε δύο φάσεις έχει το πλεονέκτημα ότι για κάθε χρησιμοποιούμενη ανώτερη γλώσσα προγραμματισμού απαιτείται μόνο ένας διερμηνευτής μια και η

5 δεύτερη φάση, δηλαδή η μετάφραση εντολών γλώσσας μηχανής σε νανοεντολές, παραμένει η ίδια Τέλος η δυνατότητα ύπαρξης ενός διερμηνευτή, ο οποίος μεταφράζει μια ανώτερη γλώσσα προγραμματισμού απ ευθείας σε νανοεντολές, θεωρείται ασύμφορη λόγω πολλών μειονεκτημάτων, μεταξύ των οποίων είναι και η μεγάλη αύξηση της πολυπλοκότητάς του, κάτι που έχει ως άμεσο αποτέλεσμα την αύξηση του μεγέθους του (μεγέθους προγράμματος διερμηνευτή) και την αναγκαιότητα μεγαλύτερης, γρήγορης και ακριβής μνήμης για την καταχώρηση των νανοπρογραμμάτων του Μεταγλωττιστές Τα μειονεκτήματα ενός διερμηνευτή ανώτερης γλώσσας προγραμματισμού μπορούν να αποφευχθούν εάν χωρίσουμε χρονικά τη φάση της μετάφρασης από εκείνη της εκτέλεσης ενός προγράμματος γραμμένου σε μια ανώτερη γλώσσα προγραμματισμού Με τη νέα αυτή στρατηγική, αρχικά γίνεται η μετάφραση ολόκληρου του προγράμματος σε γλώσσα μηχανής και στη συνέχεια, αφού ολοκληρωθεί η μετάφραση όλων των εντολών του προγράμματος, προχωρούμε στην εκτέλεσή του, δηλαδή στην εκτέλεση των εντολών γλωσσών μηχανής που προέκυψαν Το αρχικό πρόγραμμα γραμμένο σε μια ανώτερη γλώσσα προγραμματισμού ονομάζεται πηγαίο πρόγραμμα, ενώ το πρόγραμμα της γλώσσας μηχανής, που προκύπτει από τη μεταγλώττιση, ονομάζεται τελικό πρόγραμμα Η μεταγλώττιση ενός πηγαίου προγράμματος σε ένα τελικό πρόγραμμα χωρίζεται σε δύο βασικά μέρη, όπως ακριβώς και η μετάφραση μιας πρότασης της φυσικής γλώσσας Α σε μια άλλη της φυσικής γλώσσας Β Αρχικά πρέπει να κατανοηθεί η πρόταση της Α αναλύοντάς την γραμματικώς Στη συνέχεια με γνώση της γραμματικής δομής της και με τη βοήθεια ενός λεξικού μπορούμε συνθετικά να παράγουμε την ισοδύναμη της πρότασης στη γλώσσα Β Έτσι τα δύο βασικά τμήματα ενός μεταγλωττιστή είναι το τμήμα της ανάλυσης και το τμήμα της σύνθεσης (Σχ 1) Κατά την ανάλυση γίνεται διάσπαση του πηγαίου προγράμματος στα διάφορα στοιχεία που το αποτελούν Η ανάλυση περιλαμβάνει τρία στάδια: Τη λεξική ανάλυση Τη συντακτική ανάλυση Τη σημασιολογική ανάλυση Κατά τη σύνθεση παράγεται από την ειδική παράσταση του πηγαίου προγράμματος το ισοδύναμό του πρόγραμμα σε γλώσσα μηχανής Η σύνθεση περιλαμβάνει: Τη βελτιστοποίηση του πηγαίου προγράμματος Την παραγωγή του τελικού προγράμματος Τη βελτιστοποίηση του τελικού προγράμματος

6 Πηγαίο Πρόγραμμα ΛεξικήΑνάλυση Συντακτική ΑΝΑΛΥΣΗ Ανάλυση Σημασιολογική Ανάλυση Πίνακας Συμβόλων Βελτιστοποίηση Πηγαίου προγράμματος ΣΥΝΘΕΣΗ Παραγωγή Τελικού Προγράμματος Τελικό Πρόγραμμα Βελτιστοποίηση Τελικού Προγράμματος Σχ 1 Δομή μεταγλωττιστή Λεξική ανάλυση Στη λεξική ανάλυση η ακολουθία χαρακτήρων συμβόλων που απαρτίζει το πηγαίο πρόγραμμα, αναλύεται σε μια ακολουθία στοιχειωδών νοηματικών μονάδων που ονομάζονται Λεκτικές μονάδες Τέτοιες μπορεί να είναι ονόματα δεδομένων που επεξεργάζονται από το πρόγραμμα, σταθερές, δεσμευμένες λέξεις της γλώσσας προγραμματισμού, τελεστές κα Για κάθε λεξική μονάδα που αναγνωρίζεται μεταφέρεται το αντίστοιχο αναγνωριστικό (tken) στον συντακτικό αναλυτή Για παράδειγμα η γλώσσα προγραμματισμού C++ χρησιμοποιεί τον κώδικα ASCII στον οποίο απεικονίζονται 2 7 = 128 σύμβολα Σ αυτή τη γλώσσα που περιγράφεται από αυτά τα 128 σύμβολα πρέπει να αναγνωρίσουμε με κάποιους κανόνες που ονομάζονται κανονικές εκφράσεις (regular expressins) ποιες ακολουθίες συμβόλων είναι ονόματα δεδομένων, σταθερές, δεσμευμένες λέξεις και γενικότερα λεξικές μονάδες πχ if δεσμευμένη λέξη, χ μεταβλητή, + τελεστής, 2 αριθμός Παράδειγμα Λεξικού λάθους μπορεί να είναι η χρήση ενός μη ενδεδειγμένου χαρακτήρα που δεν αποτελεί μέρος της γλώσσας μας Πχ σε μια γλώσσα Σ={a,b} η λέξη abc αποτελεί λεξικό λάθος διότι ο

7 χαρακτήρας c δεν αναγνωρίζεται από τη γλώσσα μας Επίσης στη C++ η χρήση ενός μη λατινικού χαρακτήρα σε μια εντολή, πχ int ξ=4; αποτελεί λεξικό λάθος Συντακτική ανάλυση Κατά τη συντακτική ανάλυση, αναλύεται η ακολουθία των αναγνωριστικών tkens, που έχουν προκύψει από τη λεκτική ανάλυση, με βάση τους γραμματικούς κανόνες της γλώσσας προγραμματισμού Το αποτέλεσμα της συντακτικής ανάλυσης είναι το συντακτικό δένδρο (parse tree), το οποίο αντιπροσωπεύει το πηγαίο πρόγραμμα που αποτέλεσε την είσοδο του μεταγλωττιστή Για παράδειγμα, έστω Σ={ χ, y, =, +} το σύνολο των συμβόλων που χρησιμοποιεί μια υποθετική γλώσσα προγραμματισμού η οποία έχει τον παρακάτω μοναδικό κανόνα σύνταξης: Στη γλώσσα άθροισμα ανήκουν ακολουθίες συμβόλων που αποτελούνται αρχικά από την ακολουθία y= και στη συνέχεια από ένα χ ακολουθούμενο από n 0 ακολουθίες της μορφής +χ Με βάση τον κανόνα αυτό η γλώσσα άθροισμα είναι το εξής σύνολο, άθροισμα = {y=x, y=x+x, y=x+x+x, } Σύμφωνα με τον συντακτικό κανόνα της γλώσσας οι λέξεις =χ, x+, y=+x, y=xx κοκ είναι συντακτικά λανθασμένες Συντακτικά λάθη έχετε όλοι συναντήσει και κατά τον προγραμματισμό, τα συνήθη syntax errr πχ int x =3 (δεν υπάρχει τέλος εντολής), x = int3; (οι λεξικές μονάδες είναι τοποθετημένες σε λάθος σειρά), χ = (2 + (9-3) (ανοίγουν δύο παρενθέσεις αλλά κλείνει μόνο μία) ΈκφΈκφραση εκχώρησης ανάθεσης τ τιμής = όνομα i + όνομα i * αριθμός 2 2 όνομα a Σχ 2 Παράγωγο συντακτικό δένδρο κατά τη συντακτική ανάλυση της έκφρασης i=i+2a Σημασιολογική ανάλυση

8 Αναλύεται η σημασία των συντακτικών δομών, που προέκυψαν από τη συντακτική ανάλυση, με βάση τις ιδιότητες του πηγαίου προγράμματος, οι οποίες δεν μπορούν να παρασταθούν συντακτικώς Οι σπουδαιότερες από αυτές είναι: Οι περιοχές ισχύος των ονομάτων Η αντιστοιχία μεταξύ δήλωσης και χρήσης των ονομάτων Η συμβατότητα των όρων στις αριθμητικές παραστάσεις και τις εντολές αντικατάστασης Για παράδειγμα, ας υποθέσουμε έχουμε το εξής κομμάτι κώδικα int x =3; int y =0; int z = x/y; Η λεξική ανάλυση θα ολοκληρωθεί με επιτυχία και θα αναγνωριστούν οι λεξικές μονάδες Η συντακτική ανάλυση επίσης δεν θα παρουσιάσει προβλήματα καθώς οι προτάσεις μας είναι συντακτικά ορθές Ωστόσο σε αυτή την περίπτωση ο μεταγλωττιστής μας θα πρέπει να μας αποτρέψει να κάνουμε διαίρεση με το μηδέν και αυτό μπορεί να γίνει μόνο στο στάδιο της σημασιολογικής ανάλυσης με τη χρήση σημασιολογικών κανόνων Μετά τη φάση της σημασιολογικής ανάλυσης μπορεί να παραχθεί ένα εντελώς διαφορετικό συντακτικό δένδρο Συνήθως η σημασιολογική ανάλυση γίνεται παράλληλα με τη συντακτική Βελτιστοποίηση πηγαίου προγράμματος Στο στάδιο αυτό, το τελικό συντακτικό δέντρο που έχει παραχθεί από τη συντακτική και σημασιολογική ανάλυση βελτιώνεται και μετατρέπεται σε μια μορφή ενδιάμεσου κώδικα Ο κώδικας αυτός έχει το σημαντικότατο πλεονέκτημα στο ότι αν θέλουμε να μεταφέρουμε το μεταγλωττιστή σε μια διαφορετική υπολογιστική αρχιτεκτονική, αρκεί μόνο να κατασκευαστεί ο μεταφραστής από την ενδιάμεση μορφή στην τελική γλώσσα Παραγωγή τελικού προγράμματος Ο ενδιάμεσος κώδικας μετατρέπεται σε τελικό κώδικα προς εκτέλεση Κατά τη διαδικασία της παραγωγής του τελικού κώδικα γίνεται ανάθεση των μεταβλητών στις θέσεις μνήμης, επιλογή των εντολών χαμηλού επιπέδου και ανάθεση των μεταβλητών στους καταχωρητές του επεξεργαστή Βελτιστοποίηση τελικού προγράμματος Οι αλγόριθμοι και οι τεχνικές που εκτελούνται κατά το στάδιο αυτό αξιοποιούν πληροφορίες που σχετίζονται με τις ιδιομορφίες της υπολογιστικής αρχιτεκτονικής στην οποία θα εκτελεστεί ο κώδικας, με στόχο τη γρηγορότερη εκτέλεσή του, τη χρησιμοποίηση μικρότερης μνήμης και την ορθολογικότερη εκμετάλλευση των πόρων του υπολογιστή Πίνακας συμβόλων

9 Ο πίνακας συμβόλων είναι το βασικότερο τμήμα ενός μεταγλωττιστή Λειτουργεί σαν βάση δεδομένων για τα σύμβολα του πηγαίου προγράμματος και ως μέσο επικοινωνίας ανάμεσα στα υπόλοιπα τμήματα του μεταγλωττιστή Παρέχει τις δομές που απαιτούνται για να τοποθετήσουν και να ανακτήσουν πληροφορίες Μια τυπική εγγραφή στον πίνακα συμβόλων μιας μεταβλητής περιέχει τη διεύθυνση μνήμης, τον τύπο και την εμβέλειά της Αν πρόκειται για συνάρτηση, θα περιέχει επιπρόσθετα μεταξύ άλλων το όνομά της, τον αριθμό και τον τύπο των ορισμάτων της Ασκήσεις 1 η )Σωστού Λάθους Κρίνετε αν οι παρακάτω προτάσεις είναι σωστές ή λανθασμένες Α) Ο άνθρωπος στην προσπάθειά του να επικοινωνήσει με τον υπολογιστή, για την επίλυση ενός προβλήματος, επιλέγει μια γλώσσα προγραμματισμού με την οποία γνωστοποιεί στον υπολογιστή την διαδικασία επίλυσης αυτού του προβλήματος Β)Αυτές οι γλώσσες προγραμματισμού μπορούν να χωριστούν αρχικά σε δύο μεγάλες βασικές κατηγορίες Σε γλώσσες μηχανής και σε ανώτερες γλώσσες προγραμματισμού Γ) Ο προγραμματισμός σε γλώσσα μηχανής εξαρτάται πλήρως από τον επεξεργαστή του εκάστοτε υπολογιστή, είναι ιδιαίτερα δύσκολος και κουραστικός και έχει πολλά μειονεκτήματα Δ) Τα προγράμματα σε μια ανώτερη γλώσσα προγραμματισμού είναι πιο δυσνόητα, προσανατολισμένα επίσης στη μηχανή και όχι στο πρόβλημα Ε) Δεν είναι αναγκαία η ύπαρξη ενός μεταφραστή (language translatr) για κάθε ανώτερη γλώσσα προγραμματισμού Ζ)Οι μεταφραστές, οι οποίοι είναι ειδικά προγράμματα, μεταφράζουν προγράμματα, γραμμένα σε ανώτερες γλώσσες προγραμματισμού στη γλώσσα μηχανής του συγκεκριμένου υπολογιστή

10 Η) Οι μεταφραστές, ανάλογα με την τεχνική της μετάφρασης, χωρίζονται σε Διερμηνευτές και Μεταγλωττιστές; Θ) Ένας Μεταγλωττιστής ανώτερης γλώσσας προγραμματισμού, μεταφράζει στη γλώσσα μηχανής και εκτελεί μία προς μία τις εντολές ενός προγράμματος, γραμμένου σε ανώτερη γλώσσα προγραμματισμού και μάλιστα κατά τέτοιο τρόπο ώστε η μετάφραση μιας εντολής να έπεται της εκτέλεσης της αμέσως προηγούμενης της; Ι) Οι διερμηνευτές παρουσιάζουν μια σειρά μειονεκτημάτων, δύο εκ των οποίων είναι ότι: i) ένας αποδοτικός διερμηνευτής προϋποθέτει μια φτωχή σε δομές ανώτερη γλώσσα προγραμματισμού, ii) έχουμε υποχρεωτικά επαναλαμβανόμενες μεταφράσεις, κάτι που μεγαλώνει απαράδεκτα τον τελικό χρόνο εκτέλεσης του προγράμματος; Κ) Τα μειονεκτήματα ενός διερμηνευτή μπορούν να αποφευχθούν με τη χρήση των μεταγλωττιστών εάν δηλαδή χωρίσουμε χρονικά τη φάση της μετάφρασης από εκείνη της εκτέλεσης ενός προγράμματος; Λ) Τα δύο βασικά τμήματα ενός μεταγλωττιστή είναι το τμήμα της ανάλυσης και το τμήμα της παραγωγής; Μ) Κατά την ανάλυση γίνεται διάσπαση του πηγαίου προγράμματος στα διάφορα στοιχεία που το αποτελούν; Περιλαμβάνει τρία στάδια: Λεκτική, Συντακτική και Σημασιολογική Ανάλυση; Ν) Κατά τη σύνθεση παράγεται από την ειδική παράσταση του πηγαίου προγράμματος το ισοδύναμό του πρόγραμμα σε γλώσσα μηχανής; Αυτή περιλαμβάνει: Τη βελτιστοποίηση του πηγαίου προγράμματος, την παραγωγή του τελικού προγράμματος, τη βελτιστοποίηση του τελικού προγράμματος; 2 η )Συσχέτισης Προσπαθήστε να συσχετίσετε τα τρία στάδια του τμήματος της ανάλυσης ενός μεταγλωττιστή με τις αντίστοιχες έννοιες Είναι δυνατόν να μην υπάρχει συσχέτιση ή να υπάρχει πολλαπλή συσχέτιση ανάμεσα στα στοιχεία των δύο στηλών

11 Λεκτική Ανάλυση Συντακτική Ανάλυση Σημασιολογική Ανάλυση Συντακτικό δένδρο Λεκτικές μονάδες Αναγνωριστικό (tken) Αντιστοιχία μεταξύ δήλωσης και χρήσης ονομάτων Κανονικές εκφράσεις Συμβατότητα όρων 3 η )Συσχέτισης Προσπαθήστε να συσχετίσετε τα τρία στάδια του τμήματος της σύνθεσης ενός μεταγλωττιστή με τις αντίστοιχες έννοιες Είναι δυνατόν να μην υπάρχει συσχέτιση ή να υπάρχει πολλαπλή συσχέτιση ανάμεσα στα στοιχεία των δύο στηλών Βελτιστοποίηση του πηγαίου προγράμματος Βελτιστοποίηση του τελικού προγράμματος Παραγωγή του τελικού προγράμματος Ιδιομορφίες υπολογιστικής αρχιτεκτονικής Μορφή ενδιάμεσου κώδικά Κώδικας προς εκτέλεση 4 η )Συσχέτισης Τι είδους λάθος (λεξικό, συντακτικό ή λογικό λάθος) διακρίνετε στις παρακάτω εντολές που αποτελούν μέρος ενός προγράμματος γραμμένου σε γλώσσα C++ Λεξικό λάθος Συντακτικό λάθος Σημασιολογικό λάθος int y = 23; char c = φ; flat x = 7+3/0; int if = 56; 7 = int g; flat w = 57

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

Πληροφορική 2. Γλώσσες Προγραμματισμού

Πληροφορική 2. Γλώσσες Προγραμματισμού Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Μεταφραστές Εισαγωγή Διδάσκων: Επικ. Καθ. Γεώργιος Μανής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Μεταγλωττιστής. Μεταφραστές. Γλώσσες. Είδη Μεταγλωττιστών. Μεταγλωττιστής Τελικό πρόγραµµα (object program) Εισαγωγή Αρχικό πρόγραµµα (source program)

Μεταγλωττιστής. Μεταφραστές. Γλώσσες. Είδη Μεταγλωττιστών. Μεταγλωττιστής Τελικό πρόγραµµα (object program) Εισαγωγή Αρχικό πρόγραµµα (source program) Μεταφραστές Εισαγωγή (source program) Τελικό πρόγραµµα (object program) Γιώργος Μανής Γλώσσες Είδη Μεταγλωττιστών Αρχική γλώσσα Γλώσσα υλοποίησης Τελική γλώσσα Απλοί µεταγλωττιστές Αντίστροφοι µεταγλωττιστές

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών

Προγραμματισμός Υπολογιστών Προγραμματισμός Υπολογιστών Βασικές γνώσεις Κ. Βασιλάκης, ΣΤΕΦ, ΤΕΙ Κρήτης Η Πληροφορική και τα εργαλεία της Παροχή έγκαιρης και έγκυρης πληροφόρησης. Καταχώριση στοιχείων Αποθήκευση Επεξεργασία ψηφιακών

Διαβάστε περισσότερα

Μεταγλωττιστές Ενότητα 1: Εισαγωγή

Μεταγλωττιστές Ενότητα 1: Εισαγωγή Μεταγλωττιστές Ενότητα 1: Εισαγωγή Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

Διαβάστε περισσότερα

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Πτυχιακή εργασία του φοιτητή Γιαννακίδη Αποστόλη Επιβλέπων καθηγητής Τσούλος

Διαβάστε περισσότερα

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

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

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος

Διαβάστε περισσότερα

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

Διαβάστε περισσότερα

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς Βασικές Έννοιες Αλγορίθμων Δομή Ακολουθίας (κεφ. 2 και 7 σχολικού βιβλίου) 1. Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε

Διαβάστε περισσότερα

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr Κανόνες Ομαλής Λειτουργίας Ερχόμαστε στην ώρα μας Δεν καπνίζουμε και τρώμε εντός της αίθουσας

Διαβάστε περισσότερα

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

Διαβάστε περισσότερα

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος Η έννοια του προβλήματος 1. Αναφέρετε μερικά από τα προβλήματα που συναντάτε στην καθημερινότητά σας. Απλά προβλήματα Ποιο δρόμο θα ακολουθήσω για να πάω στο σχολείο; Πως θα οργανώσω μια εκδρομή; Πως θα

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

Διαβάστε περισσότερα

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Μεταγλωττιστής Πρόγραμμα Διαβάζει προγράμματα δεδομένης γλώσσας (πηγαία γλώσσα) και τα μετατρέπει

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο Με τι ασχολείται ο προγραμματισμός; Ο προγραμματισμός ασχολείται με την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον Η/Υ, δηλ. τη δημιουργία του προγράμματος, του συνόλου των εντολών που πρέπει

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία: Επικοινωνία: spzygouris@gmail.com Να δοθεί ο ορισμός του Αλγορίθμου. Αλγόριθμος, σύμφωνα με το βιβλίο, είναι μια πεπερασμένη σειρά ενεργειών (όχι άπειρες), αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Στόχοι του μαθήματος Μετά το τέλος του μαθήματος οι μαθητές πρέπει να είναι σε θέση: Να περιγράφουν τι είναι πρόγραμμα Να εξηγούν την αναγκαιότητα για τη δημιουργία γλωσσών

Διαβάστε περισσότερα

Θεωρία Προγραμματισμού

Θεωρία Προγραμματισμού Θεωρία Προγραμματισμού 1) Τι ονομάζουμε Αλγόριθμο; Ονομάζεται μια ακολουθία από πεπερασμένο αριθμό εντολών, που αν εκτελεστούν με ακρίβεια, οδηγούν στη πραγματοποίηση μιας εργασίας. 2) Τι ονομάζουμε ανάλυση

Διαβάστε περισσότερα

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Γλώσσες Προγραμματισμού Εισαγωγικά Γλώσσα Μηχανής Γλώσσες υψηλού επιπέδου Μεταγλωττιστές

Διαβάστε περισσότερα

Εισαγωγή στον προγραμματισμό

Εισαγωγή στον προγραμματισμό Ενότητες: Εισαγωγή στον προγραμματισμό Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική Σχεδίαση Τμηματικός Προγραμματισμός Δομημένος προγραμματισμός

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος Κεφάλαιο 1 1. Πρόβλημα είναι μια μαθηματική κατάσταση που πρέπει να αντιμετωπίσουμε 2. Αν υποβάλλουμε τα δεδομένα σε επεξεργασία παίρνουμε πληροφορίες 3. Ο υπολογιστής

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

Στοιχειώδης προγραμματισμός σε C++

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

Διαβάστε περισσότερα

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

Διαβάστε περισσότερα

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς K εφ. 1 σχολικού βιβλίου 1. Επιλύσιμο είναι ένα πρόβλημα για το οποίο ξέρουμε ότι έχει λύση, αλλά αυτή δεν έχει βρεθεί ακόμη. 2. Για

Διαβάστε περισσότερα

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΣΕΠΤΕΜΒΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α :

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ 1 ο : Α. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες (πράξεις) επί των δομών δεδομένων. Μονάδες 8 Β. Στον

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία σημαντικά στάδια: 1. Τον ακριβή προσδιορισμό του προβλήματος. 2. Την ανάπτυξη

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Δοκιμή Έλεγχος Αλγορίθμου Για να

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ Α ΛΥΚΕΙΟΥ Σεπτέμβριος 2007 ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ - Α ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ Το μάθημα της Πληροφορικής στην Α Λυκείου έχει ως

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Ερωτήσεις Σωστού-Λάθους

Ερωτήσεις Σωστού-Λάθους Τάξη: Γ Λυκείου Τεχνολογική Κατεύθυνση Ενότητες: Εισαγωγή στον προγραμματισμό (7.1-7.8) Ερωτήσεις Σωστού-Λάθους 1. Οι μεταβλητές που χρησιμοποιούνται σ ένα πρόγραμμα αντιστοιχίζονται από το μεταγλωττιστή

Διαβάστε περισσότερα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ.

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ. 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 3 : Γλώσσες προγραμματισμού Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής

Διαβάστε περισσότερα

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014 ΘΕΜΑ 1 Ο Α. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό, αν είναι

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 9 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Περιεχόμενα 2 Η λειτουργία του υπολογιστή Κατηγορίες Εντολών Μορφή Εντολών

Διαβάστε περισσότερα

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Πώς δημιουργούμε πρόγραμμα Η/Υ; 1. Ανάλυση του προβλήματος 2. Επινόηση & Σχεδιασμός

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής Α2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών Α3. Ο αλγόριθμος

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

Διαβάστε περισσότερα

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση: ΘΕΜΑ Α Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασμένη. 1. Η ταξινόμηση είναι μια από τις βασικές

Διαβάστε περισσότερα

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

Διαβάστε περισσότερα

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

Διαβάστε περισσότερα

ΗΥ101: Εισαγωγή στην Πληροφορική

ΗΥ101: Εισαγωγή στην Πληροφορική Δρ. Χρήστος Ηλιούδης Τι είναι η ; Η διαδικασία του προγραμματισμού είναι μία πολύπλοκη διαδικασία που συχνά οδηγεί σε λάθη (πραγματοποιείται από ανθρώπους!!!). Τα προγραμματιστικά λάθη λέγονται bugs και

Διαβάστε περισσότερα

Σημαντικές δυνατότητες των σύγχρονων υπολογιστικών μηχανών: Αξιόπιστη καταγραφή πολύ μεγάλου όγκου δεδομένων

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

Διαβάστε περισσότερα

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Παραγωγή Ενδιάμεσου Κώδικα Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Παραγωγή ενδιάμεσου κώδικα. Ενδιάμεσες γλώσσες. Αφηρημένα

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού Strange

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

Διαβάστε περισσότερα

Συμβολική Γλώσσα στον ΑΒΑΚΑ

Συμβολική Γλώσσα στον ΑΒΑΚΑ Συμβολική Γλώσσα στον ΑΒΑΚΑ Τα προγράμματα που είναι γραμμένα σε γλώσσα μηχανής (machine language) περιέχουν τόσο τις εντολές όσο και τις διευθύνσεις μνήμης γραμμένες σε αριθμητική μορφή και μάλιστα στο

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 2.4 Βασικές συνιστώσες/εντολές ενός αλγορίθμου 2.4.1 Δομή ακολουθίας ΚΕΦΑΛΑΙΟ 7 7.1 7.9 Σταθερές (constants): Προκαθορισμένες τιμές που παραμένουν

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Η έννοια του προγράμματος Η επίλυση ενός πρβλήματος περιλαμβάνει Προσδιορισμό προβλήματος Ανάπτυξη αλγορίθμου Διατύπωση

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός... 1 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Διάρκεια 3 ώρες Στοιχεία Μαθητή: Όνομα... Επώνυμο... Βαθμός... 2 Θεμα Α (30%) Α1 ΣΩΣΤΟ - ΛΑΘΟΣ 1. Ένα υποπρόγραμμα δεν μπορεί να κληθεί περισσότερες

Διαβάστε περισσότερα

Οργάνωση Η/Υ. Γλώσσα Assembly. Τμήμα Εφαρμσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

Οργάνωση Η/Υ. Γλώσσα Assembly. Τμήμα Εφαρμσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου Οργάνωση Η/Υ Γλώσσα Assembly Τμήμα Εφαρμσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου Δομή του TRN KME Μνήμη Διάδρομος Δεδομένων Διάδρομος Διευθύνσεων Διάδρομος Ελέγχου Μονάδα

Διαβάστε περισσότερα

ΘΕΜΑ 1ο Α. 1. Ποια είναι τα κυριότερα χρησιμοποιούμενα γεωμετρικά σχήματα σε ένα διάγραμμα ροής και τι ενέργεια ή λειτουργία δηλώνει το καθένα;

ΘΕΜΑ 1ο Α. 1. Ποια είναι τα κυριότερα χρησιμοποιούμενα γεωμετρικά σχήματα σε ένα διάγραμμα ροής και τι ενέργεια ή λειτουργία δηλώνει το καθένα; ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΕΣΠΕΡΙΝΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΑΡΑΣΚΕΥΗ 30 ΜΑΪΟΥ 2008 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ): ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ

Διαβάστε περισσότερα

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

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

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

Διαβάστε περισσότερα

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Εισαγωγή - 1 Μία κλασσική γλώσσα προγραμματισμού αποτελείται από: Εκφράσεις (των

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6: Γλώσσες. 6.1 Ιστορική εξέλιξη 6.4 Υλοποίηση γλώσσας. Κεφάλαιο 6: «Γλώσσες Προγραµµατισµού»

ΚΕΦΑΛΑΙΟ 6: Γλώσσες. 6.1 Ιστορική εξέλιξη 6.4 Υλοποίηση γλώσσας. Κεφάλαιο 6: «Γλώσσες Προγραµµατισµού» ΚΕΦΑΛΑΙΟ 6: Γλώσσες Προγραµµατισµού 6.1 Ιστορική εξέλιξη 6.4 Υλοποίηση γλώσσας 1 6.1 Γενιές γλωσσών προγραµµατισµού 2 Δεύτερη γενιά: γλώσσα assembly Ένα µνηµονικό σύστηµα για την αναπαράσταση προγραµµάτων

Διαβάστε περισσότερα

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

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

Διαβάστε περισσότερα

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

Διαβάστε περισσότερα

ΘΕΜΑ 1 ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ΘΕΜΑ 1 ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΘΕΜΑ 1 ο ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΣΑΒΒΑΤΟ 31 MAΪΟΥ 2008 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

Διαβάστε περισσότερα

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Κεφάλαιο 5 Ανάλυση Αλγορίθμων Κεφάλαιο 5 Ανάλυση Αλγορίθμων 5.1 Επίδοση αλγορίθμων Τα πρωταρχικά ερωτήματα που προκύπτουν είναι: 1. πώς υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 2. πώς μπορούν να συγκριθούν μεταξύ τους οι διάφοροι

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

Διαβάστε περισσότερα

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΙΛΟΓΗΣ 1) Ποιοι είναι οι τελεστές σύγκρισης και

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Μεταφραστές Λεκτικός αναλυτής Διδάσκων: Επικ. Καθ. Γεώργιος Μανής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Τάξη: Γ Μάθημα: Πληροφορική Εξεταστέα ύλη: Παρ11.1 & 11.2 Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών που περιγράφει τη διαδικασία

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

Διαβάστε περισσότερα

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

απαντητικό σας φύλλο τον αριθμό της ερώτησης ακολουθούμενη από το γράμμα Σ (Σωστή) ή το γράμμα Λ (Λάθος). Μάθημα: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Τάξη Γ Λυκείου, Πληροφορική Οικονομικών Καθηγητής : Σιαφάκας Γιώργος Ημερομηνία : 17/04/2016 Διάρκεια: 3 ώρες ΘΕΜΑ Α /40 (Α1)Να απαντήσετε αν είναι

Διαβάστε περισσότερα

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

Διαβάστε περισσότερα

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

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

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Ανάπτυξη Λογισμικού ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Η διαδικασία ανάπτυξης λογισμικού μπορεί να

Διαβάστε περισσότερα

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες Πίνακας Περιεχοµένων Πρόλογος...vii Κεφάλαιο 1:Βασικές εισαγωγικές έννοιες...1 1.1 Η δοµή του µεταγλωττιστή...2 1.2 Η διαδικασία µεταγλώττισης...3 1.2.1 Η Λεξική Ανάλυση...6 1.2.2 Η Συντακτική Ανάλυση...6

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Πρόγραμμα σε γλώσσα μηχανής του ΕΚΥ Θέση μνήμης Περιεχόμενα μνήμης Εντολή (assembly) 0 0001 000000000011 lda 3 1 0011 000000000100 ada

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Μεταγλωττιστές. Σημασιολογική Ανάλυση. Εργαστήριο 9. Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι

Μεταγλωττιστές. Σημασιολογική Ανάλυση. Εργαστήριο 9. Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι Μεταγλωττιστές Εργαστήριο 9 Σημασιολογική Ανάλυση Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι 2016-2017 Σύνταξη και Σημασιολογία Σε οποιαδήποτε γλώσσα (προγραμματισμού ή μη) υπάρχουν δύο βασικές

Διαβάστε περισσότερα

Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3)

Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3) ΜΑΘΗΜΑ / ΤΑΞΗ : ΑΕΠΠ / ΑΠΟΦΟΙΤΟΙ ΣΕΙΡΑ: 1η ΗΜΕΡΟΜΗΝΙΑ: 28/11/2011 ΘΕΜΑ Α Α1. (α). ώστε τον ορισµό του προβλήµατος (Μονάδες 3) (β). ίνεται ο παρακάτω πίνακας που στην Στήλη 1 υπάρχουν κριτήρια κατηγοριοποίησης

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2008

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2008 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2008 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ 1ο Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Σ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΡΙΤΗ 1 ΙΟΥΝΙΟΥ 2004 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ

Διαβάστε περισσότερα

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 1ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος Ορισμός Wikipedia.org 2 Δομημένος προγραμματισμός (structured programming) ή διαδικαστικός προγραμματισμός (procedural

Διαβάστε περισσότερα

Εργαστήρι Πληροφορικής Αλγόριθµος 92 Σηµειώσεις Τεχνολογικής Κατεύθυνσης Γλώσσες µηχανής Αρχικά για να µπορέσει ο υπολογιστής να εκτελέσει µία οποιαδή

Εργαστήρι Πληροφορικής Αλγόριθµος 92 Σηµειώσεις Τεχνολογικής Κατεύθυνσης Γλώσσες µηχανής Αρχικά για να µπορέσει ο υπολογιστής να εκτελέσει µία οποιαδή Εργαστήρι Πληροφορικής Αλγόριθµος 91 Σηµειώσεις Τεχνολογικής Κατεύθυνσης ΚΕΦΑΛΑΙΟ 6 Ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Η έννοια του προγράµµατος Ποια τα στάδια επίλυσης ενός προβλήµατος στον Υπολογιστή; Ο

Διαβάστε περισσότερα

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. 1. Αν το Α έχει την τιµή 10 και το Β την τιµή 20 τότε η έκφραση (Α > 8 ΚΑΙ Β < 20) Ή (Α > 10 Ή Β = 10) είναι αληθής 2. Σε περίπτωση εµφωλευµένων βρόχων, ο εσωτερικός

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 2 Γενικά Στο Εργαστήριο αυτό θα αναλύσουμε τη χρήση της βασικής εντολής ελέγχου ροής

Διαβάστε περισσότερα

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας, Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Η γλώσσα assembly είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου για συγκεκριμένους υπολογιστές ή άλλη προγραμματιζόμενη

Διαβάστε περισσότερα