Εργασία Προγραµµατισµού

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

Download "Εργασία Προγραµµατισµού"

Transcript

1 ΠΛΗ 401 ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Τµήµα Ηλεκτρονικών ΠΟΛΥΤΕΧΝΕΙΟ Μηχανικών και ΚΡΗΤΗΣ Μηχανικών Υπολογιστών ΘΕΩΡΙΑ ΠΛΗ ΥΠΟΛΟΓΙΣΜΟΥ 401 Μιχαήλ ιδάσκων Γ. Λαγουδάκης Εργασία Προγραµµατισµού Σπύρος Επιµέλεια Αργυρόπουλος εργασίας Χειµερινό Εξάµηνο σελ. 1/15

2 ΠΛΗ 1. Εισαγωγή 401 ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ αναλυτικά εργασία προγραµµατισµού του µαθήµατος «ΠΛΗ Θεωρία Υπολογισµού» γλώσσα έχει εργαλείων, στο Συγκεκριµένα, ως πρόβληµα στόχο όπως η τη εργασία της οι βαθύτερη κανονικές µεταγλώττισης αφορά κατανόηση εκφράσεις στη σχεδίαση (compilation) και της οι και χρήσης γραµµατικές υλοποίηση γλωσσών και εφαρµογής χωρίς των προγραµµατισµού. αρχικών συµφραζόµενα, θεωρητικών λογισµικό. Η ενός εργασία µεταγλωττιστή C θα παρακάτω. και εκπονηθεί εργαλεία (compiler) Για σε δύο την flex για στάδια: υλοποίηση και φανταστική bison της οποία εργασίας γλώσσα είναι FiX, θα διαθέσιµα η χρησιµοποιήσετε οποία περιγράφεται ως ελεύθερο σταδίων τη Παρατηρήσεις 1. λεκτικού 40% αναλυτή για την γλώσσα FiX µε χρήση flex Προθεσµία Η Ποσοστό Υλοποίηση εργασία βαθµού: παράδοσης: συντακτικού θα εκπονηθεί 60% , , αναλυτή από οµάδες για 11:59µµ τη φοιτητών γλώσσα FiX το πολύ µε χρήση δύο bison ατόµων. Τα ονόµατα αποστολή των της οµάδων 1ης φάσης και στο οι theory@intelligence.tuc.gr. αριθµοί µητρώου πρέπει να δηλωθούν πριν την theory@intelligence.tuc.gr υπολογιστές λογαριασµούς του Οι Για δύο την Εργαστηρίου φάσεις εκπόνηση του πρόσβασης της Μηχανογραφικού της εργασίας Συστηµάτων εργασίας στο θα softnet µπορούν πρέπει Κέντρου ως Λογισµικού απευθυνθείται συννηµένα να να και αποσταλλούν χρησιµοποιηθούν προσωπικοί αρχεία (softnet) στον.zip κ. εµπρόθεσµα υπολογιστές. Αργυρόπουλο. ή µε τα εναλλακτικά υπολογιστές επώνυµα στο Για προφορική της Στη οµάδας 2η φάση, (π.χ. εκτός Argyropoulos_Lagoudakis.zip) από τον κώδικα, θα πρέπει και subject παραδώσετε «ΦΑΣΗ Α/Β». θα συνοπτική τεχνικές Η αξιολόγηση που αναφορά χρησιµοποιήθηκαν της (δακτυλογραφηµένη, εργασίας και θα τις γίνει ιδιαιτερότητες PDF ατοµικά µορφή) της και εργασίας που θα θα περιλαµβάνει σας. εξηγεί και µια το Οι αντίστοιχο γίνονται ηµεροµηνίες εξέταση δεκτές. ποσοστό παράδοσης Αν σε ηµεροµηνίες βαθµού. κάποιο είναι στάδιο αυστηρές και της ώρες εργασίας που και οι θα δεν εκπρόθεσµες ανακοινωθούν. παραδοθεί, εργασίες θα χάνεται τις δε σελ. 2/15

3 ΠΛΗ περιγραφή πιθανής 2. Η γλώσσα Η 401 γλώσσα ΘΕΩΡΙΑ FiX βασίζεται ΥΠΟΛΟΓΙΣΜΟΥ προγραµµατισµού στη γλώσσα C++. Λόγω FiX οµοιοτήτων ΧΕΙΜΕΡΙΝΟ της FiX ΕΞΑΜΗΝΟ µε την C++, Κάθε πρόγραµµα ασάφειας τονίζει µπορείτε σε κυρίως γλώσσα σηµεία να FiX ανατρέξετε όπου είναι ένα οι στην δύο σύνολο περιγραφή γλώσσες από διαφέρουν. λεκτικές της C++. µονάδες, Σε περιπτώσεις οι οποίες η είναι παρακάτω. 2.1 Οι λεκτικές Τις Λεκτικές διατεταγµένες µονάδες Μονάδες της µε βάση γλώσσας κάποιους FiX χωρίζονται συντακτικούς στις παρακάτω κανόνες, όπως κατηγορίες: περιγράφονται integer else public λέξεις κλειδιά, class break private οι οποίες false static while είναι οι παρακάτω: new boolean goto continue char if for Ειδικά κεφαλαία, αναγνωριστεί Τα float για τις λέξεις main κλειδιά, return πεζά γράµµατα void θεωρούνται true αποτελούνται πιθανώς εποµένως και σαν για Main παράδειγµα ή MAIn ή η MaiN λέξη κλειδί κ.τ.λ. main θα ίδια πρέπει µε τα να αντίστοιχα δεκαδικών αναγνωριστικά από ένα (ονόµατα πεζό ή κεφαλαίο µεταβλητών γράµµα και του συναρτήσεων), λατινικού αλφαβήτου, τα µπορεί οποία να δεν πρέπει ακολουθούµενο ψηφίων συµπίπτουν ή χαρακτήρων µε από τις λέξεις µια υπογράµµισης σειρά κλειδιά πεζών που (underscore). αναφέρθηκαν ή κεφαλαίων Tα παραπάνω. αναγνωριστικά γραµµάτων, δεκαδικά Οι µέρος, Παραδείγµατα: ακέραιες σταθερές x χωρίς y1 πρόσηµο, angle που my_value αποτελούνται από Distance_02 πραγµατικές ένα Παραδείγµατα: ψηφία χωρίς σταθερές περιττά 0 χωρίς µηδενικά και 42 πρόσηµο, ένα προαιρετικό στην που αρχή. δεκαδικά αποτελούνται εκθετικό 3 ψηφία µέρος. ένα από χωρίς ή περισσότερα ένα Το ακέραιο περιττά ή µηδενικά. (.) - ακολουθούµενο και αποτελείται ένα Το κλασµατικό περισσότερα από από το ένα πεζό µέρος δεκαδικά ή ή περισσότερα αποτελείται κεφαλαίο ψηφία γράµµα και από δεκαδικά πάλι το E, χαρακτήρα χωρίς ένα ψηφία. προαιρετικό περιττά Τέλος, της µηδενικά. υποδιαστολής πρόσηµο εκθετικό + \ εισαγωγικά. χαρακτήρας όλοι του Οι (backslash) σταθεροί Παραδείγµατα: οι εκτυπώσιµοι ή χαρακτήρες, Ο και ακολουθία \ χαρακτήρας περιγράφονται (backslash) χαρακτήρες διαφυγής που Οι 4.2e1 αυτός αποτελούνται στον ακολουθίες πλην (escape Πίνακα µπορεί των 0.420E+2 sequence). απλών διαφυγής 1. από να ένα και είναι χαρακτήρα ξεκινούν διπλών Κοινοί e-3 οποιοσδήποτε χαρακτήρες εισαγωγικών µε µέσα το χαρακτήρα σε κοινός απλά σελ. είναι 3/15 και

4 ΠΛΗ Παραδείγµατα: 401 ΘΕΩΡΙΑ Χαρακτήρας ΥΠΟΛΟΓΙΣΜΟΥ \n a M 1 ΧΕΙΜΕΡΙΝΟ \n ΕΞΑΜΗΝΟ \ \t \r αλλαγής στηλοθέτησης επιστροφής Περιγραφή γραµµής στην (TAB) αρχή (line της feed) γραµµής Οι σταθερές \0 \\ \' \" συµβολοσειρές Πίνακας χαρακτήρας 1. Ακολουθίες (strings), µε \'" (backslash) (απλό (διπλό ASCII που εισαγωγικό) (escape κωδικό αποτελούνται sequences) 0 από µια ακολουθία κοινών χαρακτήρων ή ακολουθιών διαφυγής µέσα διπλά εισαγωγικά. Οι = σταθερές γραµµές Παραδείγµατα: του "Name:\t\"Douglas συµβολοσειρές προγράµµατος. "abc" δεν µπορούν "Route Adams\"\nValue:\t42\n" να 66" εκτείνονται "Hello σε περισσότερες world!\n" από µια ++ Εκτός > τελεστές, < οι οποίοι!= είναι >= οι παρακάτω: επίσης -- += -=*= <= /= + %=-&&* /!% αλλά Τους από διαχωριστές, τις { λεκτικές } οι µονάδες οποίοι ; είναι. που οι προαναφέρθηκαν, ( παρακάτω: ):, ένα πρόγραµµα [] FiX == µπορεί & δεν να κάνετε περιέχει τίποτα τα παρακάτω, για αυτά): τα οποία αγνοούνται (δηλαδή τα αναγνωρίζετε µε Κενούς (space), feed) Σχόλια, την ή χαρακτήρες, τα πρώτη οποία µετέπειτα αρχίζουν επιστροφής στηλοθέτησης δηλαδή εµφάνιση µε ακολουθίες στην ακολουθία αρχή (tab), της της ακολουθίας αποτελούµενες χαρακτήρες χαρακτήρων γραµµής (carriage χαρακτήρων αλλαγής από /* και κενά return). γραµµής τερµατίζονται */. διαστήµατα Κατά (line 2.2 συνέπεια, τα σχόλια δεν επιτρέπεται να είναι φωλιασµένα. Στο εσωτερικό τους Ένα εκτείνονται επιτρέπεται γραµµής, η εµφάνιση το οποία οποιουδήποτε αρχίζουν χαρακτήρα. Συντακτική ως οµή το τέλος της τρέχουσας γραµµής. µε την ακολουθία χαρακτήρων // και πρόγραµµα ηλώσεις FiX µεταβλητών συναρτήσεων κλάσεων αποτελείται από τα παρακάτω: σελ. 4/15

5 ΠΛΗ εν παράδειγµα, συνέχεια ξανά υπάρχει 401 ΘΕΩΡΙΑ κανένας ΥΠΟΛΟΓΙΣΜΟΥ περιορισµός στην σειρά την οποία ΧΕΙΜΕΡΙΝΟ εµφανίζονται ΕΞΑΜΗΝΟ αυτά Ισχύουν 1. συναρτήσεις, δηλώσεις πρόγραµµα κλάσεις συναρτήσεων, κ.ο.κ. θα µπορεί µετά να ξανά έχει µεταβλητές, στην αρχή δηλώσεις µετά δηλώσεις µεταβλητών, κλάσεων, στη Για 2. και Θα void Ένα τα πρέπει κλάσεων. παρακάτω: πρόγραµµα main() να υπάρχει µπορεί απ πρέπει όπου υποχρεωτικά να και έχει ξεκινά µηδέν µία ο ή η ορισµός περισσότερες ή εκτέλεση της του συνάρτησης προγράµµατος. δηλώσεις µε συναρτήσεων. επικεφαλίδα µεταβλητών Σε κάθε δηλωθείσα συνάρτηση αντιστοιχεί ένα σώµα, οποίο Η Παρακάτω περιλαµβάνονται FiX περιλαµβάνει εντολές περιγράφονται που σε καθορίζουν ένα άλλες πρόγραµµα αναλυτικά δηλώσεις λειτουργία της µεταβλητών όλα γλώσσας της δοµικά FiX. συνάρτησης. και επιπλέον συστατικά µια που ακολουθία µπορεί από Τύποι δεδοµένων να υποστηρίζει integer: boolean: char: float: χαρακτήρες πραγµατικοί ακέραιοι λογικές τέσσερις τιµές βασικούς αριθµοί τύπους δεδοµένων: integer float Οι δηλώσεις Μεταβλητές Εκτός ένα καταλήγουν ή περισσότερα µεταβλητών το διαχωριστικό ονόµατα γίνονται µεταβλητών ;. Παραδείγµατα την αναγραφή (χωρισµένων δηλώσεων του τύπου µε είναι: το ακολουθούµενου διαχωριστικό,) από πολυδιάστατους από a,b,c; i; τους πίνακες. βασικούς Μια τύπους, δήλωση η πίνακα FiX υποστηρίζει είναι της µορφής επίσης µονοδιάστατους και ή char <τύπος> <όνοµα> [<µέγεθος>][<µέγεθος>]...[<µέγεθος>]; Συνδυασµοί float Το από integer µέγεθος µια ακέραιη spok[k]; spok[23], πίνακα µεταβλητή. σε spook[45]; κάθε Παραδείγµατα διάσταση δίνεται δηλώσεων είτε πινάκων: από µια ακέραια σταθερά είτε επιτρέπονται. κατά τη spok[k][n]; δήλωση απλών Επιτρέπεται µε προαιρετική µεταβλητών επίσης χρήση και η αρχικοποίηση πινάκων του τελεστή του απλών προσήµου. ιδίου µεταβλητών τύπου Για στην παράδειγµα: (όχι ίδια σελ. πινάκων) δήλωση 5/15

6 ΠΛΗ float Επιπλέον παράδειγµα: static 401 ΘΕΩΡΙΑ x= , στη δήλωση ΥΠΟΛΟΓΙΣΜΟΥ των matrix[k][100], µεταβλητών βυποστηρίζεται y_24=+30e-4; και ΧΕΙΜΕΡΙΝΟ ο όρος ΕΞΑΜΗΝΟ static Κάθε ακολουθούµενη Συναρτήσεις integer i=25, k[40][i]; Για συνάρτησης, αποτελέσµατος. έχει της τον συνάρτηση οι από τυπικές είναι το µια σώµα της δοµική παράµετροι της. µονάδα Στην µέσα επικεφαλίδα που σε αποτελείται παρενθέσεις αναφέρεται από και την το ο επικεφαλίδα κατ' ορίζεται τυπικές παραµέτρους. ως Οι void. παρενθέσεις Κάθε Επίσης, τυπική είναι παράµετρος υποχρεωτικές η συνάρτηση χαρακτηρίζεται ακόµα δεν επιστρέφει και µία από τιµή συνάρτηση το τότε όνοµά όνοµα τύπος ο τύπος της, του δεν στη τυπικής επικεφαλίδων void integer τύπο FiX αξία περνώνται (by της value) και τον κατ και τρόπο κατ' αξία αναφορά περάσµατος. εκτός αν (by προηγηθεί reference). Η FiX ο υποστηρίζει διαχωριστής Εξ ορισµού πέρασµα & όλες του οι ονόµατος παραµέτρων float f1 παραµέτρου (); συναρτήσεων. οπότε περνά κατ αναφορά. Ακολουθούν παραδείγµατα παράµετροι Το περιορισµό συνάρτησης σώµα f3 µιας f2 (integer συνάρτησης &a); a, περικλείεται char b); περιγράφονται στη µπορεί σειρά να µε αποτελείται την οποία από εµφανίζονται. δηλώσεις µέσα σε µεταβλητών άγκιστρα Αν ο τύπος {}. και επιστροφής Το εντολές σώµα χωρίς µιας integer εντολές. θα πρέπει Αν το είναι τύπος void, επιστροφής σώµα της της συνάρτησης µπορεί να δεν περιέχει είναι void µηδέν τότε ή περισσότερες p=34*k; να foo(integer στην περιέχει p; ενότητα τουλάχιστον k, float Ακολουθεί την bound){ εντολή παράδειγµα επιστροφής συνάρτησης return. µε Οι σώµα: εντολές της } integer for(i=1; i=0; z=0; i<=k; i++){ if (z<bound) Οι } return z; z=p*i; ορίσµατα. ορισµένοι (infix). αριστερά τελεστές Τελεστές Η µετά αποτίµηση προς Από της (postfix), τους FiX τα δεξιά. διακρίνονται πρώτους, των ενώ ορισµάτων Στον οι ορισµένοι δεύτεροι σε Πίνακα τελεστές των γράφονται τελεστών 2 µε ορίζεται ένα µε πάντα πριν όρισµα δυο η το µεταξύ προτεραιότητα ορίσµατα και όρισµα τελεστές των (prefix) γίνεται ορισµάτων µε δύο σελ. και 6/15 από και η

7 ΠΛΗ εµφανίζονται την προσεταιριστικότητα ίδια 401 ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ των τελεστών της FiX. Προηγούνται ΧΕΙΜΕΡΙΝΟ οι ΕΞΑΜΗΝΟ τελεστές Τελεστές προτεραιότητα. πιο ψηλά στον πίνακα. Όσοι τελεστές βρίσκονται στο ίδιο κελί έχουν που! -- Αύξηση, Λογική Πρόσηµα Περιγραφή άρνηση µείωση Ορίσµατα 1 Προσεταιριστικότητα prefix, prefix Θέση postfix <= == * + >= /-% Πολλαπλασιαστικοί τελεστές Προσθετικοί τελεστές && > <!= Σχεσιακοί σύζευξη τελεστές infix Λογική διάζευξη infix, αριστερή Οι = += %=-= *=/= γλώσσας εντολές Εντολές Πίνακας 2. Προτεραιότητα Τελεστές ανάθεσης και προσεταιριστικότητα 2 των τελεστών infix, της δεξιά FiX όπως FiX κενή εντολή που τερµατίζει εντολή υποστηρίζει ανάθεσης (;) µε που l το η δεν = γλώσσα διαχωριστικό e;, κάνει όπου FiX καµία l είναι ;): είναι ενέργεια. οι µία ακόλουθες µεταβλητή (κάθε και απλή e µια εντολή έκφραση της - ορίζεται Απλή ήλωση Εντολή εντολή και ανάθεσης µεταβλητής στην ανάθεσης, C++. χρήση µε Υποστηρίζονται αρχικοποίηση, π.χ. casting, i = k π.χ. + τρία π.χ. 2; i είδη integer = (integer) εντολών i ανάθεσης: = 0; k; τύπο Η Το σε σύνθετη άγκιστρα ελέγχου εντολή, {}. if που ( αποτελείται e ) s1 από else µια σειρά s2. Η έγκυρων έκφραση εντολών e πρέπει ανάµεσα boolean εντολή τµήµα boolean else βρόχου και το είναι και s while να τα προαιρετικό. είναι s1, ( s2 έγκυρη e να ) είναι εντολή. s. έγκυρες Η έκφραση (απλές e ή πρέπει σύνθετες) να έχει να έχει σελ. εντολές. τύπο 7/15

8 ΠΛΗ 401 ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ είναι προαιρετικές βρόχου µε ετικέτα for και I:s, τo ( s όπου e1; πρέπει I e2; να το είναι e3 έγκυρη ) µιας s. εντολή. Οι εκφράσεις και s e1,e2,e3 εντολή. εσωτερικό H άλµατος συνέχειας διακοπής βρόχο, goto όπως break;, continue; ακριβώς I;, όπου και I προκαλεί στη το όνοµα C++. την µιας συνέχεια άµεση ετικέτας. έξοδο του βρόχου από µια τον έγκυρη µέσα πιο στον οποίο βρίσκεται, όπως ακριβώς και στη C++. της Η αποτέλεσµα αποτελέσµατος τρέχουσας εντολή εντολή συνάρτησης κλήσης επιστροφής συνάρτησης της void µιας συνάρτησης. και τότε συνάρτησης e1,..,en return και η έκφραση επιστρέφει Αν e;, είναι f(e1,..,en);, η e τρέχουσα θα που εκφράσεις την πρέπει τερµατίζει τιµή συνάρτηση να όπου παραλείπεται. της την αντιστοιχούν έκφρασης f είναι έχει εκτέλεση το ως όνοµα e τύπο στα της ως βρίσκονται δηλωθέντα ορίσµατα. Αν ο τύπος του αποτελέσµατος της συνάρτησης δεν τους: Η FiX Προκαθορισµένες έκφρασης είναι υποστηρίζει void e. η εντολή ένα συναρτήσεις σύνολο κλήσης µιας προκαθορισµένων συνάρτησης µπορεί συναρτήσεων, είναι όρισµα οι οποίες µιας integer writeboolean writechar writereal writeinteger διάθεση του προγραµµατιστή. (float (boolean (integer c); d); b); a); Παρακάτω, δίνονται οι επικεφαλίδες boolean char writestring readchar readinteger(); readboolean (char a[]); σώµα float readreal µιας H FiX Κλάσεις είναι void οντοκεντρική readstring γλώσσα (integer όπως και size, η C++. char Μια string[]); class } τη λέξη κλάσης µιας κλειδί κλάσης είναι class η πρέπει ακόλουθη: ακολουθούµενη να βρίσκεται µέσα από το σε όνοµα άγκιστρα. και κλάση το Οπότε σώµα στην η FiX µορφή της κλάσης. ορίζεται ορισµού Το µε To συναρτήσεων σώµα name body µιας (µεθόδων). { κλάσης µπορεί Οι δηλώσεις να περιέχει των µεταβλητών δηλώσεις µεταβλητών και συναρτήσεων και/ή έχουν σελ. δηλώσεις 8/15 την

9 ΠΛΗ περισσότερους κλάση παράδειγµα ίδια public) σύνταξη 401 ΘΕΩΡΙΑ στην όπως ΥΠΟΛΟΓΙΣΜΟΥ αρχή. παραπάνω Προαιρετικά, µε την το σώµα προσθήκη µιας κλάσης µιας λέξης µπορεί ΧΕΙΜΕΡΙΝΟ κλειδί να περιέχει ΕΞΑΜΗΝΟ (private έναν class και καλείται constructors, όταν ορίζεται µια συνάρτηση ένα στιγµιότυπο δηλαδή που της κλάσης. έχει ίδιο Ακολουθεί όνοµα µε ένα την ή private foo{ ορισµού integer µιας κλάσης: public k; void add(integer i,j; integer add> sasa> sasa(){ a){ } foo(){ Για και foo(integer } <body of i){ new, να χρησιµοποιηθεί µια κλάση foo> στην για παράδειγµα συνέχεια να δηµιουργηθεί αρκεί ένα να καινούργιο οριστεί µια στιγµιότυπο µεταβλητή µε αυτό τη λέξη τον κλειδί τύπο, Foo Για = new µιας myclass = new ; foo(34); foo(); myclass.k; myclass.sasa(); να κλάσης προσπελαστούν χρησιµοποιείται οι public ο τελεστής µεταβλητές.(τελεία), και για συναρτήσεις παράδειγµα έξω από το σώµα σελ. 9/15

10 ΠΛΗ 3.1 Παραδείγµατα Hello 401 ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ προγραµµάτων της FiX ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ void World! main(){ υπολογίζει 3.2 Πρώτοι } αριθµοί writestring("hello World!\n"); boolean Το εξετάζονται χρήστη. παρακάτω τους παράδειγµα πρώτους αριθµούς προγράµµατος µεταξύ στη 1 γλώσσα n, όπου FiX είναι n ένα καθορίζεται πρόγραµµα από που integer Λαµβάνεται µόνο οι αριθµοί υπόψη της ότι µορφής οι αριθµοί 6k±1, 2 και όπου 3 k είναι ακέραιος πρώτοι, αριθµός. και στη συνέχεια το boolean prime(integer if i; n){ isprime, result; (n < 0) prime(-n); < false; 2) else result if { (n == % true; 22) i isprime = false; == 0) while = 3; isprime i ( = isprime i+2; true; = (n&&% i i==0); <= n / 2 ){ } } return } result result; = isprime; σελ. 10/15

11 ΠΛΗ main( 401 integer ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ limit counter ){ if = limit, readinteger(); number, counter; = 0; if (limit counter writeinteger(2); >= counter 1; } number (limit counter >= = counter { while writeinteger(3); + 1; if = 6; (number <= limit) { if (prime(number-1)) counter counter { { writeinteger(number-1); 1; }((number counter writeinteger(number+1);!= = limit) counter && + prime(number+1)) 1; }} writechar('\n'); writeinteger(counter); = number + 6; σελ. 11/15

12 ΠΛΗ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ class Κλάσεις private foo{ foo(integer sa=2*k; Integer k){ sa; sa=(2*k)*(n+12); k, integer n){ } void public } return integer sa; getsa(){ Integer foo test1 main(){ test,test1; = = new p; new foo(5); foo(5,8); } if else writeinteger(p); (test.getsa() p=test1.getsa(); p=test.getsa(); > test1.getsa) σελ. 12/15

13 ΠΛΗ 4.1 Για Αναλυτική 401 ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ περιγραφή εργασίας ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ καλά αναπτυχθεί τους Περισσότερες υπάρχουν Τα προγραµµατισµό ολοκληρώσετε εργαλεία στα πλαίσια επιτυχώς σε του C, προγράµµατος flex την και bison. GNU του Τα µαθήµατος και εργαλεία µπορείτε χρειάζεται flex να και βρείτε να bison γνωρίζετε Στο κόµβους πληροφορίες διαδικτύου και που σύνδεσµοι διαθέτουν σχετικοί λογισµικό µε GNU (π.χ. δύο αυτά σε εργαλεία όλους έχουν ενσωµατωµένα, εγχειρίδια Οι οδηγίες λειτουργικό στην των χρήσης εργαλείων ιστοσελίδα οπότε που Linux δεν δίνονται µπορείτε του χρειάζεται (οποιαδήποτε µαθήµατος παρακάτω να να τα κατεβάσετε ( έχουν διανοµή) δοκιµαστεί από ή τα να τη εγκαταστήσετε εργαλεία στη σελίδα διανοµή του αυτά µαθήµατος. Linux κάτι! είναι του Τα λεκτικές εργαστηρίου, πιθανόν όµως να υπάρχουν µικροδιαφορές σε άλλα συστήµατα. tokens 4.2 Το παραδοτέο 1η φάση: για Λεκτική την φάση ανάλυση η θα έξοδος παίρνει που µονάδες σαν είσοδο (tokens) ένα στο της πρόγραµµα αρχείο λεκτικής αυτό. ανάλυσης της Η γλώσσας έξοδός θα του είναι FiX θα ένα και είναι πρόγραµµα θα µία αναγνωρίζει λίστα το από οποίο του διάβασε προγράµµατός INT: integer και ο χαρακτηρισµός σας θα integer πρέπει τους. να i,k; είναι Για παράδειγµα, για είσοδο τις τα Σε i κατάλληλο Για token SEMICOLON: COMMA: ID: k, compiler Τα περίπτωση µη αναγνωρίσιµης ; τρέξετε αρχεία να φτιάξετε τον gcc. µε µήνυµα κώδικά ώστε κώδικα ένα λάθους σας man λεκτικό του ακολουθήστε και flex αναλυτή έχουν στη τερµατίζει γραµµή προέκταση λεκτικής τις θα οδηγίες χρησιµοποιήσετε η εντολής λεκτική µονάδας που.l. δίνονται για Για ανάλυση. να θα να το δείτε παρακάτω. κάνετε πρέπει εργαλείο manual compile να flex τυπώνεται του και και flex. τον να Γράψτε τον κώδικα σε ένα αρχείο µε προέκταση.l, π.χ. mylexer.l Αν Τρέξτε Κάντε ώστε δεν compile, ls έχετε το µε για λάθη./mycompiler το να γράφοντας lex.yy.c δείτε στο mylexer.l, το αρχείο flex < µε example.fix, την mylexer.l lex.yy.c εντολή παράγεται gcc στη για που το το γραµµή -o παράγεται εκτελέσιµο πρόγραµµα mycompiler εντολής. από mycompiler. example.fix. lex.yy.c τον flex. σελ. lfl 13/15

14 ΠΛΗ 401 ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Εποµένως Κάθε φορά που αλλάζετε το mylexer.l θα πρέπει να κάνετε όλη την διαδικασία: Το παραδοτέο flex./compiler gcc είναι -o mylexer.l mycompiler για καλή < την example.fix ιδέα φάση lex.yy.c να αυτή φτιάξετε θα -lfl περιέχει ένα script τα παρακάτω για να κάνει αρχεία: όλα τα παραπάνω. Κώδικα mylexer.l: To αρχείο flex. δουλειά wrongx.fix, team.txt: correctx.fix, Τα X=1,2,3: ονόµατα σας Λανθασµένα Σωστά µε τους (λεκτικά) αριθµούς (λεκτικά) προγράµµατα µητρώου. προγράµµατα της γλώσσας της γλώσσας FiX. 4.3 Το σε FiX θα πρέπει να γράψετε εσείς. Είναι δική σας ευθύνη να αναδείξετε FiX. οποίο 2η φάση: σας µέσα Συντακτική από αντιπροσωπευτικά ανάλυση προγράµµατα της γλώσσας FiX. τη το ένα αριθµός κατατοπιστικό πρόγραµµα παραδοτέο µήνυµα θα παίρνει ότι ακολουθεί για το σαν την πρόγραµµα είσοδο φάση τους ένα της συντακτικούς που αρχείο συντακτικής δόθηκε της είναι γλώσσας κανόνες ανάλυσης συντακτικά FiX της θα και FiX. είναι σωστό Η αναγνωρίζει έξοδός ένα ή πρόγραµµα διαφορετικά του θα αν είναι αυτό το η γραµµής όπου διαγνώσθηκε το πρώτο λάθος και προαιρετικά ένα ο Syntax µήνυµα διάγνωσης. integer Για παράδειγµα,... i,k για λανθασµένη είσοδο Για τον Τα τρέξετε έξοδος αρχεία να φτιάξετε του error προγράµµατός ένα in συντακτικό line σας 56: θα αναλυτή πρέπει semicolon θα χρησιµοποιήσετε είναι expected. 2. compiler gcc. κώδικα ώστε του man bison bison έχουν προέκταση για να δείτε.y. το manual Για να του κάνετε bison. εργαλείο compile bison και και Υποθέτουµε τον κώδικά σας ότι έχετε ακολουθήστε ήδη έτοιµο τις τον οδηγίες λεκτικό που αναλυτή δίνονται στο παρακάτω. mylexer.l. να b. Γράψτε a. Για να ενώσετε τον κώδικα το flex bison µε σε αρχείο bison πρέπει µε προέκταση να κάνετε.y, εξής: π.χ. myanalyzer.y. H main αντιστοιχίσει γραµµατική Βγάλτε Βάλτε bison τα την αρχεία αρχείο. συνάρτηση mylexer.l Για αρχή main το και µόνο από myanalyzer.y το που flex χρειάζεται αρχείο στο και ίδιο φτιάξτε κάνει directory. επιτυχή yyparse() τερµατισµό είναι που να κάθε τρέχει καλεί έχετε και token γράψει µια επανειληµµένα 1 για φορά που λανθασµένο στο την επιστρέφει συντακτικό µακροεντολή την τερµατισµό. yylex() o αναλυτή. λεκτικός του και bison Επιστρέφει αναλυτής προσπαθεί yyparse(). η µια καινούρια main σελ. 14/15 0 στη για να

15 ΠΛΗ 401 ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ c. Κάντε Αφαιρέστε άλλο γραµµή θα To έτσι δηµιουργείται αρχείο compile ο.h flex µε αυτό θα αρχείο. την καταλαβαίνει defines εντολή θα αυτόµατα Αυτά πρέπει που %token. θα να είχατε τα δηλωθούν και το ίδια κάνετε ένα κάνει Όταν tokens αρχείο τώρα include για κάνετε µε τα µε στο τoν tokens όνοµα compile στο bison. αρχείο στο myanalyzer.tab.h. αρχείο to flex myanalyzer.y mylexer.l ή ένα σε σε κάποιο κάθε και mylexer.l Προσοχή! bison flex gcc -o mylexer.l -d mycompiler myanalyzer.y Κάθε όλη Πρέπει./compiler πρώτα <test.fix να κάνετε lex.yy.c compile myanalyzer.tab.c το myanalyzer.y -lfl Το παραδοτέο την φορά διαδικασία. που γιατί αλλάζετε το Είναι myanalyzer.tab.h καλή το mylexer.l ιδέα να φτιάξετε γίνεται και myanalyzer.y include ένα script στο για mylexer.l. όλα θα τα πρέπει παραπάνω. και να µετά κάνετε το mylexer.l: myanalyzer.y: team.txt: correctx.fix, για Τα To την ονόµατα X=1,2,3: αρχείο To φάση αρχείο αυτή flex. σας Σωστά bison. µε θα τους περιέχει (συντακτικά) αριθµούς παρακάτω προγράµµατα µητρώου. αρχεία: της γλώσσας Κώδικα δουλειά wrongx.fix, τεχνικές grammar.txt: report.pdf: που Συνοπτική X=1,2,3,4,5: χρησιµοποιήσατε Η γραµµατική (δακτυλογραφηµένη) Λανθασµένα χωρίς και συµφραζόµενα τις ιδιαιτερότητες (συντακτικά) αναφορά που προγράµµατα της χρησιµοποιήσατε. εργασίας που θα σας. της εξηγεί FiX. τις 5. Στη µπορείτε Επίλογος σας σε FiX µέσα θα από πρέπει αντιπροσωπευτικά να γράψετε εσείς. προγράµµατα Είναι δική της σας γλώσσας ευθύνη να FiX. αναδείξετε τη αποστέλλονται Καλή διάρκεια επιτυχία! να απευθύνεστε του στη εξαµήνου λίστα του στον θα µαθήµατος δοθούν κ. Αργυρόπουλο. διευκρινίσεις για να τις βλέπουν Γενικές όπου χρειάζεται. απορίες και οι συνάδελφοί καλό Για ερωτήσεις είναι σας. να σελ. 15/15

ΘΠ06 Μεταγλωττιστές. Εργασία Εξαμήνου: Υλοποίηση ενός Μεταγλωττιστή για τη Γλώσσα Floop2009

ΘΠ06 Μεταγλωττιστές. Εργασία Εξαμήνου: Υλοποίηση ενός Μεταγλωττιστή για τη Γλώσσα Floop2009 ΕΘΝΙΚΟ & ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΘΠ06 Μεταγλωττιστές Εργασία Εξαμήνου: Υλοποίηση ενός Μεταγλωττιστή για τη Γλώσσα Floop2009 Βοηθοί: Χαράλαμπος Νικολάου(charnik)

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

Εργασία Προγραµµατισµού

Εργασία Προγραµµατισµού ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών ΠΛΗ 401 ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ Εργασία Προγραµµατισµού ιδάσκων Μιχαήλ Γ. Λαγουδάκης Επιµέλεια εργασίας Σπύρος Αργυρόπουλος Χειµερινό

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

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών & Μηχανικών Υπολογιστών Τομέας Πληροφορικής

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών & Μηχανικών Υπολογιστών Τομέας Πληροφορικής ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών & Μηχανικών Υπολογιστών Τομέας Πληροφορικής ΠΛΗ 401 ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΟΥ Χειμερινό Εξάμηνο 2005-2006 Διδάσκων: Μιχαήλ Γ. Λαγουδάκης Προγραμματιστική Εργασία

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

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

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

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

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2016-2017 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα

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

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

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

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

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

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

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

Αντικειµενοστρεφής Προγραµµατισµός

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

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

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2014-2015 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα

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

Εισαγωγή στο Flex. Μεταγλωττιστές, Χειμερινό εξάμηνο

Εισαγωγή στο Flex. Μεταγλωττιστές, Χειμερινό εξάμηνο Εισαγωγή στο Flex Μεταγλωττιστές, Χειμερινό εξάμηνο 2014-2015 Ημερομηνίες Διαδικαστικά Παρουσίαση Flex 7 Νοεμβρίου 15:00 17:00 Παρουσίαση Bison 28 Νοεμβρίου 15:00 17:00 Στοιχεία επικοινωνίας Λίστα μαθήματος

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

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

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

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

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

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

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

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

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

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

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

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

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

Παρουσίαση του εργαλείου BISON

Παρουσίαση του εργαλείου BISON Παρουσίαση του εργαλείου BISON Γεννήτρια Συντακτικών Αναλυτών Β Φάση Συντακτική Ανάλυση Χαρακτηριστικά του bison Γεννήτρια συντακτικών αναλυτών σε C/C++. Συµβατό µε το εργαλείο του Unixyacc. Σχετικά εύκολο

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

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία Mεταγλωττιστές 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex Σκοπός: Το μάθημα αυτό αναφέρεται: στις κανονικές εκφράσεις στην δομή και το περιεχόμενο του αρχείου-εισόδου του flex Γενικά Θεωρία Κατά την

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το

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

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

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

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

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input

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

Εργαστήριο 08 Εισαγωγή στo Yacc

Εργαστήριο 08 Εισαγωγή στo Yacc Εργαστήριο 08 Εισαγωγή στo Yacc Θεωρία Σκοπός: Το μάθημα αυτό αναφέρεται: Στο εργαλείο κατασκευής συντακτικών αναλυτών, Yacc, στις δομές και συναρτήσεις που προσφέρει. Στη σύνταξη των αρχείων περιγραφής

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

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης Στόχοι και αντικείμενο ενότητας Έλεγχος ροής προγράμματος (βλ. ενότητα #4) Δομή επανάληψης #5.. Εντολές Επανάληψης Προτάσεις επανάληψης Εντολές while, do while Εντολή for Περί βρόχων (loops) Τελεστές,

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

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

Επανάληψη για τις Τελικές εξετάσεις

Επανάληψη για τις Τελικές εξετάσεις Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Συντακτική Ανάλυση με το Εργαλείο BISON

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

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

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

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ΠΕΡΙΕΧΟΜΕΝΟ ΤΟΥ ΜΑΘΗΜΑΤΟΣ Αρχές

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

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Εισαγωγικά

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών

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

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6 Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

Μεταγλωττιστές. Εργαστήριο 5. Εισαγωγή στο BISON. Γεννήτρια Συντακτικών Αναλυτών. 2 η Φάση Μεταγλώττισης Συντακτική Ανάλυση

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

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

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης Προγραμματισμός Η/Υ Ενότητα 5: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής του προγράμματος

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

είκτες και Πίνακες (2)

είκτες και Πίνακες (2) είκτες και Πίνακες (2) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πολυδιάστατοι πίνακες Πέρασµα παραµέτρων σε προγράµµατα C ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1-1 Πίνακες εικτών Πίνακας δεικτών είναι

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 2 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών

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

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

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

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2010 Ι ΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙ ΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Ανάθεση: Πέµπτη 15 Απριλίου 2010, 11:00 (πρωί)

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 3 ο Λεκτική Ανάλυση και Λεκτικοί Αναλυτές Γενικά για τη λεκτική ανάλυση Έννοιες που χρειαζόμαστε Τεχνικές λεκτικής ανάλυσης Πίνακας συμβόλων και διαχείριση λαθών Σχεδίαση λεκτικού

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

3. Εκφράσεις και έλεγχος ροής

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

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ Επανάληψη για τις Τελικές εξετάσεις (Διάλεξη 24) Εισαγωγή Το μάθημα EPL032 έχει ως βασικό στόχο την επίλυση προβλημάτων πληροφορικής με την χρήση της γλώσσας προγραμματισμού C. Επομένως πρέπει: Nα κατανοήσετε

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις (Functions) Οι βασικές λειτουργικές ενότητες ενός προγράμματος C Καλούνται με ορίσματα που αντιστοιχούνται σε

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

Παρουσίαση του εργαλείου FLEX

Παρουσίαση του εργαλείου FLEX Παρουσίαση του εργαλείου FLEX Γεννήτρια Λεκτικών Αναλυτών Α Φάση Λεκτική Ανάλυση Χαρακτηριστικά του flex Γεννήτρια λεκτικών αναλυτών σε C/C++ (fast lexical analyzer generator). Βασισµένο στο εργαλείο του

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

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

Η βασική συνάρτηση προγράμματος main()

Η βασική συνάρτηση προγράμματος main() Η βασική συνάρτηση προγράμματος main() HEADER FILES main(){ ΔΗΛΩΣΕΙΣ ΜΕΤΑΒΛΗΤΩΝ ΕΝΤΟΛΕΣ (σειριακές, επιλογής ή επανάληψης) ΕΠΙΣΤΡΕΦΟΜΕΝΟΣ ΤΥΠΟΣ (return 0;) Συναρτήσεις Η συνάρτηση είναι ένα υποπρόγραμμα

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

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

Δομές ελέγχου ροής προγράμματος

Δομές ελέγχου ροής προγράμματος Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις 5 Απριλίου 01 1 Πίνακες Είδαμε ότι δηλώνοντας μία μεταβλητή κάποιου συγκεκριμένου τύπου δεσμεύουμε μνήμη κατάλληλη για να αποθηκευτεί μία οντότητα

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

Προγραµµατιστικές Τεχνικές

Προγραµµατιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Προγραµµατιστικές Τεχνικές Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης

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

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. Ερωτήσεις προόδου C Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα. #include // δίνει οδηγία στον compiler να // συμπεριλάβει την βιβλιοθήκη stdio int

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

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

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

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

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

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

Θα χρησιμοποιήσουμε το bison, μια βελτιωμένη έκδοση του yacc. Φροντιστήριο 2ο Εισαγωγή στο YACC. Yacc. Δομή Προγράμματος Yacc

Θα χρησιμοποιήσουμε το bison, μια βελτιωμένη έκδοση του yacc. Φροντιστήριο 2ο Εισαγωγή στο YACC. Yacc. Δομή Προγράμματος Yacc HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 2ο Εισαγωγή στο YACC Ι ΑΣΚΩΝ Αντώνιος Σαββίδης Slide

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

Παρουσίαση του εργαλείου BISON

Παρουσίαση του εργαλείου BISON Παρουσίαση του εργαλείου BISON Γεννήτρια Συντακτικών Αναλυτών Β Φάση Συντακτική Ανάλυση Χαρακτηριστικά του bison Γεννήτρια συντακτικών αναλυτών σε C/C++. Συµβατό µε το εργαλείο του Unix yacc. Σχετικά εύκολο

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

Μεταγλωττιστές 2019 Θέμα εργασίας

Μεταγλωττιστές 2019 Θέμα εργασίας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Εργαστήριο Τεχνολογίας Λογισμικού Μεταγλωττιστές 0 Θέμα εργασίας ( ) https://courses.softlab.ntua.gr/compilers/

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)

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

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59 ΣΕΤ ΑΣΚΗΣΕΩΝ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2009-20010 Προθεσµία: 15/11/09, 23:59 Στόχοι Χρήση συναρτήσεων Χρήση µονοδιάστατων πινάκων Διαχείριση συµβολοσειρών Φορµαρισµένη έξοδος δεδοµένων

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

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

Η γλώσσα προγραμματισμού EEL Προγραμματιστική άσκηση: Η γλώσσα προγραμματισμού EEL Η EEL (Early Experimental Language) είναι μια μικρή γλώσσα προγραμματισμού. Παρόλο που οι προγραμματιστικές της ικανότητες είναι μικρές, η εκπαιδευτική

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις της C Τα Λοιπά Στοίβα και μηχανισμός κλήσης Αναδρομικές συναρτήσεις Στατικές μεταβλητές Άλλα θέματα Μηχανισμός

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

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

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13) Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις Επανάληψη για την ενδιάμεση εξέταση (Διάλεξη 13) 13-1 Πρόβλημα 1 Γράψετε τον ορισμό μίας συνάρτησης η οποία υπολογίζει το μέγιστο 2 ακεραίων αριθμών και

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2 Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

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

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 - Καλή δουλειά 1242 1243 1244 1245 - Κακή χρήση συναρτήσεων. Κάνεις τον ίδιο έλεγχο και εντός και εκτός της συνάρτησης. Θα έπρεπε να έχεις βρεί ένα τρόπο

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

Τύποι δεδομένων, τελεστές, μεταβλητές

Τύποι δεδομένων, τελεστές, μεταβλητές Τύποι δεδομένων, τελεστές, μεταβλητές Βασικά στοιχεία της γλώσσας Η Java χαρακτηρίζεται από ένα αρκετά καλά οργανωμένο σύνολο εντολών κι ένα μέρος της επιτυχίας της οφείλεται στα διάφορα APIs (βιβλιοθήκες)

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

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

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

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Η γλώσσα προγραµµατισµού

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

ΘΠ06 Μεταγλωττιστές. Εργασία Εξαµήνου: Υλοποίηση ενός Μεταγλωττιστή για τη γλώσσα προγραµµατισµού Robin

ΘΠ06 Μεταγλωττιστές. Εργασία Εξαµήνου: Υλοποίηση ενός Μεταγλωττιστή για τη γλώσσα προγραµµατισµού Robin ΕΘΝΙΚΟ & ΚΑΠΟ ΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΘΠ06 Μεταγλωττιστές Εργασία Εξαµήνου: Υλοποίηση ενός Μεταγλωττιστή για τη γλώσσα προγραµµατισµού Robin ιδάσκων: Μανόλης Κουµπαράκης

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2011-2012 Γιάννης Γαροφαλάκης, Καθηγητής Αθανάσιος Ν.Νικολακόπουλος, Υποψήφιος Διδάκτορας 28 Μαρτίου 2012 Περίληψη Σκοπός της παρούσας

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

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

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

Φροντιστήριο 1ο Εισαγωγή στο FLEX. Flex. Regular Expressions (1/4)

Φροντιστήριο 1ο Εισαγωγή στο FLEX. Flex. Regular Expressions (1/4) HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 1ο Εισαγωγή στο FLEX Ι ΑΣΚΩΝ Αντώνιος Σαββίδης Slide

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

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( ) ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Μορφές μεταβίβασης ορισμάτων σε συναρτήσεις (και μεθόδους) και οι επιπτώσεις τους Επιστροφή τιμών από κλήση συναρτήσεων Υπερφόρτωση

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά

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