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

Μέγεθος: 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

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

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

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

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή. ΑΕσΠΠ-Κεφ6. Εισαγωγή στον προγραμματισμό 1 ΣΩΣΤΟ ΛΑΘΟΣ 1. Οι γλώσσες προγραμματισμού αναπτυχθήκαν με σκοπό την επικοινωνία ανθρώπου μηχανής. 2. Αλγόριθμος = Πρόγραμμα + Δομές Δεδομένων 3. Ένα πρόγραμμα

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Καθηγητής Πληροφορικής ΠΕ19 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 6 ο : ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ Η έννοια του προγράμματος

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

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

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

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

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γιώργος Δημητρίου Μάθημα 1 ο Γλώσσα - Μετάφραση Γλώσσα προγραμματισμού = Αναπαράσταση αλγορίθμων Ευκολία χρήσης Ακρίβεια και πληρότητα περιγραφής, όχι διφορούμενη! Μία περιγραφή για όλες τις μηχανές Μετάφραση

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Εισαγωγή Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Μεταγλωττιστής Αρχικό πρόγραμμα (source program) Μεταγλωττιστής Τελικό πρόγραμμα (object program) Διαγνωστικά μηνύματα Μεταγλωττιστής Παίρνει σαν

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

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Ερωτήσεις και ασκήσεις για επανάληψη 1. Τι είναι πρόβλημα (σελ 14) 2. Ποιες είναι οι κατηγορίες προβλημάτων με βάση την επίλυση; Δώστε τον ορισμό για κάθε μια κατηγορία.

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

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Κεφάλαια 2,7,8 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Επιμέλεια : Δρεμούσης Παντελής Κεφάλαια 2,7,8 1. Τι είναι αλγόριθμος; Μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

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

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

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

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

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

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

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

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

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

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

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

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

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

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

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

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

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ Α) Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα "Σ", αν είναι σωστή, ή το γράμμα "Λ", αν είναι λανθασμένη. (Μονάδες 25) 1. Ένα αδόμητο πρόβλημα είναι ταυτόχρονα και ανοικτό

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 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 στην

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

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

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

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

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

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

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

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

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

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

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

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

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

Πρόβλημα 37 / σελίδα 207

Πρόβλημα 37 / σελίδα 207 Πρόβλημα 37 / σελίδα 207 2.5. Ôåóô áõôïáîéïëüãçóçò Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε τις απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις 1. Η αναπαράσταση

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ Θέμα Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2016-2017 Πάτρα 3/5/2017 Ονοματεπώνυμο:.. Α1. Να γράψετε στην κόλλα σας τον αριθμό

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

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

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

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1 Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1 6.3 Φυσικές και τεχνητές γλώσσες Μια γλώσσα γενικά προσδιορίζεται από: 1. Το αλφάβητο: το σύνολο των στοιχείων που χρησιμοποιεί

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

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

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

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

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

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

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

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

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην εξοικείωση με τη διαδικασία κατασκευής ενός Λεξικού Αναλυτή κάνοντας χρήση του lex.

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γιώργος Δημητρίου Μάθημα 8 ο Μετάφραση Οδηγούμενη από τη Σύνταξη Ο ΣΑ καλεί τις ρουτίνες που εκτελούν τη σημασιολογική ανάλυση και παράγουν τον ενδιάμεσο κώδικα Σημασιολογικές πληροφορίες μπορούν να μεταφέρονται

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

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

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

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

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

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

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

Λεκτικός Αναλυτής. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Λεκτικός Αναλυτής. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Λεκτικός Αναλυτής Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Οι Φάσεις της Μεταγλώττισης λεκτική ανάλυση συντακτική ανάλυση Πίνακας Συμβόλων σημασιολογική ανάλυση παραγωγή ενδιάμεσου κώδικα Διαχείριση

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

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

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

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

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

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΘΕΜΑ 1 ο Α. Να απαντήσετε σε καθεμιά από τις παρακάτω προτάσεις με τη λέξη Σωστό ή Λάθος. 1 Ο διερμηνευτής

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ (ΠΕΡΙΛΗΨΗ) ΕΠΙΜΕΛΕΙΑ: ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ ΚΕΦΑΛΑΙΟ 2 ο -ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ 2.1 ΤΙ ΕΙΝΑΙ ΑΛΓΟΡΙΘΜΟΣ ΟΡΙΣΜΟΣ: Αλγόριθμος είναι

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΡΟΟΔΟΣ

ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΡΟΟΔΟΣ ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΡΟΟΔΟΣ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΜΑΡΤΙΟΣ 2017 ΘΕΜΑΤΑ ΘΕΜΑ 1 Ο Α. Να απαντήσετε στις παρακάτω προτάσεις χαρακτηρίζοντάς τες με το γράμμα Σ

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

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Εισαγωγή ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Όπως για όλες τις επιστήμες, έτσι και για την επιστήμη της Πληροφορικής, ο τελικός στόχος της είναι η επίλυση προβλημάτων. Λύνονται όμως όλα τα προβλήματα;

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 1: Εισαγωγή Ποιος είμαι εγώ! 2 Ναύπλιο, 4/1976-9/1993 Πάτρα, 9/1993-6/2004 Williamsburg, VA, USA, 7/2004-7/2006 Μυτιλήνη, 10/2006-2/2007 Βόλος, 2/2007 - H Υπεύθυνη των

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

Θέμα Α Α3.1 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 9 ΣΕΛΙΔΕΣ

Θέμα Α Α3.1 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 9 ΣΕΛΙΔΕΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΛΥΣΕΙΣ ΕΠΑΝΑΛΗΠΤΙΚΟΥ ΔΙΑΓΩΝΙΣΜΑΤΟΣ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2012-2013 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α Α1 Α2 1. Μέχρι το 1976

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1 ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Κεφάλαια 2, 7, 8

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Κεφάλαια 2, 7, 8 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Κεφάλαια 2, 7, 8 1. Δώστε τον ορισμό του αλγόριθμου. Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 4 η Τελεστές Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

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

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

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

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

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

6. 1 Η έννοια του προγράμματος

6. 1 Η έννοια του προγράμματος 6. 1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία στάδια. 1.Τον ακριβή προσδιορισμό του προβλήματος. 2.Την ανάπτυξη του αντίστοιχου αλγορίθμου. 3.Τη διατύπωση

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

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή Αντίρριο, 05/04/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» To δεύτερο μέρος της εργασίας έχει ως στόχο την ανάπτυξη του συντακτικού αναλυτή με χρήση του bison / byacc. Στο

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

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

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

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

Διαδικασιακός Προγραμματισμός

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

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

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

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

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

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

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

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

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2008

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2008 Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2008 ΣΤΑΤΙΣΤΙΚΑ Αποτελέσματα γραπτής εξέτασης στο μάθημα ΑΕΠΠ (Ιούλιος 2008) 18-20 15-17,9 12-14,9 10-11,9 5-9,9 0-4,9 12,75% 18,39% 13,90% 8,15% 22,70% 24,09% ΘΕΜΑ 1

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

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

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

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

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

Εισαγωγή στον προγραμματισμό Κεφάλαιο 6 Εισαγωγή στον προγραμματισμό 6.1 Γενικός διδακτικός σκοπός Ο γενικός σκοπός του κεφαλαίου είναι να καταστούν ικανοί ο μαθητές να αναγνωρίζουν τις βασικές τεχνικές προγραμματισμού και να χειρίζονται

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές»

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» Η εργασία έχει ως στόχο τον σχεδιασμό και την υλοποίηση ενός μεταγλωττιστή για την γλώσσα Ciscal, χρησιμοποιώντας

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ο ΚΕΦΑΛΑΙΟ 1) Τι είναι πρόβλημα (σελ. 3) 2) Τι είναι δεδομένο, πληροφορία, επεξεργασία δεδομένων (σελ. 8) 3) Τι είναι δομή ενός προβλήματος (σελ. 8)

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

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

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