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

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

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

Transcript

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

2 HY 340 / Εαρινό εξάµηνο 2010 Σελ 2 Γενικά Στη 2 η φάση θα κατασκευάσετε έναν απλό Συντακτικό Αναλυτή για τη γλώσσα alpha ο οποίος θα κάνει τα εξής: Εκτυπώνει στην έξοδο τους γραµµατικούς κανόνες όπως τους «ανάγει» κάθε φορά κατά τη διάρκεια της συντακτικής ανάλυσης. ιατηρεί κατάλληλο πίνακα συµβόλων symbol table (π.χ. για µεταβλητές και συναρτήσεις). Εκτυπώνει στο τέλος της συντακτικής ανάλυσης τον πίνακα σύµβόλων (άρα δεν θα κάνετε free κανένα σύµβολο θα δηµιουργήσουµε two-phase compiler), αναγράφοντας: το όνοµα του κάθε συµβόλου, τον τύπο του (π.χ. µεταβλητή, τυπικό όρισµα συνάρτησης, συνάρτηση προγραµµατιστή, συνάρτηση βιβλιοθήκης), τη γραµµή ορισµού (1 ης εµφάνισης) στον κώδικα (0 για συναρτήσεις βιβλιοθήκης) την εµβέλεια του (π.χ. τοπική ή καθολική). Αντικείµενο εργασίας Η κατασκευή του συντακτικού αναλυτή θα γίνει χρησιµοποιώντας το εργαλείο YACC (ή Bison) στη γλώσσα C ή C++, µε χρήση του Λεξικογραφικού Αναλυτή της 1 ης φάσης. Επιπλέον, θα θέσετε και τις βάσεις για την κατασκευή του πίνακα συµβόλων (πληροφορία βοηθητική υπάρχει σε εκτυπωµένο υλικό που θα σας δοθεί από τους βοηθούς). Γραµµατική Η γραµµατική της γλώσσας alpha δίνεται παρακάτω (τα σύµβολα και έχουν την ερµηνεία που γνωρίζετε ήδη από τις κανονικές εκφράσεις), ενώ ότι δίδεται ανάµεσα σε [ και ] σηµαίνει ότι είναι προαιρετικό προσοχή, µην τα συγχέετε µε τα tokens [ και ]: program stmt stmt expr ; ifstmt whilestmt forstmt returnstmt break ; continue; block funcdef ; expr assignexpr expr op expr term op + - * / % > >= < <= ==!= && term ( expr )

3 - expr! expr ++lvalue lvalue++ --lvalue lvalue primary HY 340 / Εαρινό εξάµηνο 2010 Σελ 3 assginexpr primary lvalue member lvalue = expr lvalue call objectdef ( funcdef ) const id local id :: id member lvalue. id lvalue [ expr ] call. id call [ expr ] call call ( elist ) lvalue callsuffix ( funcdef) ( elist ) callsuffix normcall methodcall normcall ( elist ) methodcall.. id ( elist ) // equivalent to lvalue.id(lvalue, elist) elist [ expr [, expr] ] objectdef [ [elist indexed] ] indexed [indexedelem [, indexedelem] ] indexedelem { expr : expr block { [stmt ] funcdef function [id] (idlist) block const number string nil true false idlist [id [, id] ]

4 ifstmt if ( expr ) stmt [ else stmt ] whilestmt while ( expr ) stmt forstmt for ( elist; expr; elist) stmt returnstmt return [expr]; HY 340 / Εαρινό εξάµηνο 2010 Σελ 4 Κανόνες προτεραιότητας και προσεταιριστικότητας Προτεραιότητα (υψηλή προς χαµηλή) () []...! * / % + - > >= < <= ==!= && = Προσεταιριστικότητα εν υφίσταται > >= < <= ==!= εξιά! Αριστερή Όλοι οι υπόλοιποι τελεστές Συναρτήσεις βιβλιοθήκης Οι παρακάτω συναρτήσεις θεωρούνται συναρτήσεις βιβλιοθήκης, που σηµαίνει ότι αντιµετωπίζονται ως ήδη δηλωµένα καθολικά αναγνωριστικά τύπου «library function». Έτσι ξεχωρίζουν από αυτές που είναι «user-defined function», δηλ. τις συναρτήσεις που ορίζει ο προγραµµατιστής. print input objectmemberkeys objecttotalmembers objectcopy totalarguments argument typeof strtonum sqrt cos sin

5 HY 340 / Εαρινό εξάµηνο 2010 Σελ 5 Χώροι εµβέλειας Οι συναρτήσεις βιβλιοθήκης, συναρτήσεις προγράµµατος, οι µεταβλητές και τα τυπικά ορίσµατα συναρτήσεων, συνιστούν όλα έναν ενιαίο χώρο ονοµάτων. Άρα, στον ίδιο χώρο εµβέλειας συγκρούονται. Επιπλέον, δεν επιτρέπεται να οριστεί µεταβλητή η συνάρτηση µε όνοµα ίδιο κάποιας συνάρτησης βιβλιοθήκης, δηλ. τα library functions δεν µπορούν ποτέ να γίνουν ποτέ «shadowed» από µεταβλητές ή συναρτήσεις χρήστη. εν επιτρέπεται να οριστεί µεταβλητή µε όνοµα συνάρτησης της οποίας η εµβέλεια είναι ενεργή Επίσης, το όνοµα µίας συνάρτησης χρήστη είναι πάντοτε r-value, δηλαδή δεν επιτρέπεται εκχώρηση σε αυτό (άρα είναι ουσιαστικά constant, όχι variable). Ως καθολική εµβέλεια (global) ορίζεται αυτή εκτός block και συνάρτησης (ως αντιστοιχία αυτό θα ισοδυναµούσε µε το χώρο καθολικών δηλώσεων της C). Όλες οι µεταβλητές και οι συναρτήσεις προγραµµατιστή που ορίζονται σε καθολική εµβέλεια, καθώς και οι συναρτήσεις βιβλιοθήκης, έχουν scope 0, το οποίο και σηµαίνει ουσιαστικά καθολική εµβέλεια (ή global scope). Η είσοδος σε block αυξάνει το scope κατά 1, ενώ η έξοδος από το block το µειώνει αντίστοιχα κατά 1. Η είσοδος σε ορισµό συνάρτησης σηµατοδοτείται από την παρένθεση πριν τα τυπικά ορίσµατα και αυξάνει το scope κατά 1, ενώ η έξοδος σηµατοδοτείται µε την έξοδο από το block της συνάρτησης µειώνοντας το scope κατά 1. o προσοχή (ειδική περίπτωση): το block της συνάρτησης δεν αυξάνει επιπλέον το scope κατά +1 άρα το κεντρικό block της συνάρτησης σε σύγκριση µε το scope πριν από την είσοδο στην συνάρτηση έχει διαφορά κατά +1 Όταν µειώνεται το scope, τότε όλες οι µεταβλητές και συναρτήσεις που έχουν οριστεί σε αυτό το scope απενεργοποιούνται, δηλ. δε σβήνονται, απλώς «µαρκάρονται» ως «µη χρησιµοποιήσιµες». Έτσι, όταν βγαίνουµε από ένα block ή ορισµό συνάρτησης, οι τοπικές µεταβλητές δεν είναι συντακτικά ορατές (syntactically visible). Σε µία συνάρτηση επιτρέπεται πρόσβαση µόνο σε: τοπικές µεταβλητές της ίδιας της συνάρτησης που είναι σε ορατή εµβέλεια (enclosing block) τυπικά ορίσµατα της ίδιας της συνάρτησης καθολικές µεταβλητές (δηλ. αυτές µόνο µε scope 0, ούτε καν αυτές που είναι σε καθολικά ορισµένο κώδικα, όµως µέσα σε κάποιο block) οποιεσδήποτε άλλες συναρτήσεις µε ενεργή εµβέλεια ηλ., µία συνάρτηση που ορίζεται µέσα σε µία άλλη ποτέ δεν έχει πρόσβαση σε καµία από τις µεταβλητές ή τα τυπικά ορίσµατα οποιασδήποτε ιεραρχικά περιέχουσας συνάρτησης. Επίσης, µία συνάρτηση που ορίζεται µέσα σε ένα block, ποτέ δεν θα έχει πρόσβαση στις µεταβλητές του block.

6 HY 340 / Εαρινό εξάµηνο 2010 Σελ 6 Κανόνες εµβέλειας αναγνωριστικών ονοµάτων Εάν χρησιµοποιείται ένα id µεταβλητής η συνάρτησης χρήστη / βιβλιοθήκης σε κάποιο εκάστοτε χώρο εµβέλειας τότε: εάν έχει ίδιο όνοµα µε κάποιο ενεργό αναγνωριστικό Α στην ίδια εµβέλεια τότε το id αναφέρεται σε αυτό το Α o αλλά, δεν επιτρέπεται να αλλάζει το είδος χρήσης ενός ονόµατος στην ίδια εµβέλεια: µία µεταβλητής δεν µπορεί ορίζεται εκ νέου ως συνάρτηση, ενώ µία συνάρτηση δεν µπορεί να χρησιµοποιείται ως µεταβλητή (είναι constant) x = 10; function x(){ // error: var redefined as a function function f(){ f = 10; // error: function used as an l-value αλλιώς εάν έχει ίδιο όνοµα µε κάποιο αναγνωριστικό Α σε περιέχουσα εµβέλεια στην οποία υπάρχει νόµιµη πρόσβαση τότε το id αναφέρεται σε αυτό το Α o Υπενθύµιση: δεν επιτρέπεται η πρόσβαση στις τοπικές µεταβλητές ή τυπικά ορίσµατα οποιασδήποτε περιέχουσας συνάρτησης σε συναρτήσεις η πρόσβαση είναι απολύτως νόµιµη. function f(y) { function g(x) { return x*y; // error: var f::y not accessible in g return g(x); function g() { function h() { return g(); // ::g is visible in g::h αλλιώς δηµιουργείται νέο αναγνωριστικό Α βάσει του id στην εµβέλεια αυτή και το id αναφέρεται σε αυτό το Α, µε τύπο ανάλογο µε το είδος της δήλωσης (µεταβλητή ή συνάρτηση) function f () { local f = 10; // f inside f is a new variable now function h () { return f;// error, f::f (local) not accessible in h return ::f(); // ok, we access global ::f Ειδικά στην περίπτωση τυπικών ορισµάτων συνάρτησης επειδή έχουµε ένα είδος δήλωσης πάντοτε δηµιουργούνται νέα αναγνωριστικά. Εάν χρησιµοποιείται το :: id σε κάποιο εκάστοτε χώρο εµβέλειας τότε: εάν έχει ίδιο όνοµα µε κάποιο αναγνωριστικό Α σε καθολική εµβέλεια (scope 0, εκτός block) τότε το ::id αναφέρεται στο καθολικό Α αλλιώς µήνυµα λάθους «δεν βρέθηκε το καθολικό id» Εάν χρησιµοποιείται το local id σε κάποιο χώρο εµβέλειας (οποιονδήποτε) τότε: εάν έχει ίδιο όνοµα µε κάποια µεταβλητή Α ή συνάρτηση στην ίδια ακριβώς εµβέλεια τότε το local id αναφέρεται στη µεταβλητή ή συνάρτηση Α, αλλιώς εάν δεν υπάρχει σύγκρουση µε όνοµα συνάρτησης βιβλιοθήκης (error) δηµιουργείται νέα µεταβλητή Α βάσει του id στην εµβέλεια αυτή και το local id αναφέρεται σε αυτό το Α.

7 HY 340 / Εαρινό εξάµηνο 2010 Σελ 7 Για τα είδη των µεταβλητών, έχουµε ουσιαστικά τρεις γενικές κατηγορίες, όπως φαίνεται παρακάτω. Να αποθηκεύετε και αυτή την κατηγορία στον πίνακα συµβόλων, θα δούµε ότι θα µας χρησιµεύσει ιδιαίτερα στην παραγωγή κώδικα. 1. global (scope 0), 2. τυπικά ορίσµατα 3. και τοπικές µεταβλητές (scope >= 0 και όχι τυπικά ορίσµατα) Παραδείγµατα input(x); print(typeof(x)); ::print(::typeof(::x)); function g(x,y) { print(x+y); local print = y; ::print(print); function h() { return x+y; return h; add = (function(x,y){return x+y; ); { local x = ::x; local f = (function(){return x; ); function f(a,b) { local a = local b; Αυτόµατη δήλωση global x, χρήση global input library function χρήση global print, typeof και x χρήση global print, typeof και x g global, x,y local µε scope 1, τυπικά ορίσµατα x, y είναι τα arguments (local) της συνάρτησης g error δεν επιτρέπεται shadowing of library functions και τα δύο αναφέρονται στο print library function νέα συνάρτηση h µε scope 1 error τα x και y είναι formal της g. το h είναι η αναγνωριστικό τοπικής συνάρτησης µε scope 1 το add είναι global, τα x,y είναι local arguments µε scope 1. το x είναι νέο local µε scope 1, το ::x είναι το global x. το f είναι νέο local µε scope 1, η πρόσβαση στο x είναι το προηγούµενο local µε scope 1 (εκτός της f, αλλά όχι top global δηλ. error reporting). τα a,b είναι arguments µε scope 1 τα local a και local b είναι αναφορές στα τυπικά ορίσµατα (αφού είναι στο ίδιο scope) Ποσοστά συµµετοχής 1 η φάση 5% 2 η φάση 10% 3 η φάση 40% 4 η φάση 10% 5 η φάση 35%

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2008 ΔΙΔΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙΔΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Παράδοση: Πέμπτη 10 Απριλίου 2008, 24:00 (μεσάνυχτα)

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

Ο πίνακας συμβόλων (symbol table) είναι μία δομή, όπου αποθηκεύεται πληροφορία σχετικά με τα σύμβολα του προγράμματος

Ο πίνακας συμβόλων (symbol table) είναι μία δομή, όπου αποθηκεύεται πληροφορία σχετικά με τα σύμβολα του προγράμματος HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 3 ο Symbol Table & Scopes Ι ΑΣΚΩΝ Αντώνιος Σαββίδης

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

Slide 6 / 43. Slide 5 / 43. Α. Σαββίδης. Α. Σαββίδης. Slide 8 / 43. Slide 7 / 43. Α. Σαββίδης. Α. Σαββίδης HY340, 2009 HY340, 2009 HY340, 2009

Slide 6 / 43. Slide 5 / 43. Α. Σαββίδης. Α. Σαββίδης. Slide 8 / 43. Slide 7 / 43. Α. Σαββίδης. Α. Σαββίδης HY340, 2009 HY340, 2009 HY340, 2009 HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 3 ο Symbol Table ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης Slide

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

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

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

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

Runtime Checking (1/3) Runtime Checking (2/3) Runtime Checking (3/3) ΗΥ 340 Γλώσσες και Μεταφραστές Φροντιστήριο

Runtime Checking (1/3) Runtime Checking (2/3) Runtime Checking (3/3) ΗΥ 340 Γλώσσες και Μεταφραστές Φροντιστήριο ΗΥ 340 Γλώσσες και Μεταφραστές Φροντιστήριο Runtime Checking (1/3) Η γλώσσα alpha είναι μια dynamic typing γλώσσα (ο τύπος μιας μεταβλητής αλλάζει ακολουθώντας τον τύπο της τιμής που κάθε φορά αποθηκεύεται

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή

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

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

Φροντιστήριο 3 ο Παραγωγή Ενδιάμεσου Κώδικα. Σημασιολογία της γλώσσας alpha (1/7) Type Checking

Φροντιστήριο 3 ο Παραγωγή Ενδιάμεσου Κώδικα. Σημασιολογία της γλώσσας alpha (1/7) Type Checking HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 3 ο Παραγωγή Ενδιάμεσου Κώδικα Ι ΑΣΚΩΝ Αντώνιος Σαββίδης

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

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

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

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

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

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

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

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

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

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

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

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

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

ΕΠΛ 012. JavaScripts

ΕΠΛ 012. JavaScripts ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές

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

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

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

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

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

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

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

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

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

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

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

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

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

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

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

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

Η τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ.

Η τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ. είκτες ως Τιµές Εξόδου Η τιµή εξόδου κάποιας συνάρτησης µπορεί να είναι δείκτης, π.χ. int *select (int f (int, int), int *add1, int *add2) { if (f (*add1, *add2)) return add1; else return add2; Η συνάρτηση

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συναρτήσεις Εξωτερικές µεταβλητές Κανόνες εµβέλειας ιάρκεια µεταβλητών Αρχικοποίηση

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:

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

Pascal - Βασικές Έννοιες

Pascal - Βασικές Έννοιες Pasal - Βασικές Έννοιες «Ο ΠΗΛΟΣ ΑΝ ΜΗ ΑΡΗ ΚΕΡΑΜΟΣ ΟΥ ΓΙΝΕΤΑΙ» Σηµαίνει: «Η λάσπη αν δε ζυµωθεί δε γίνετε κεραµίδι» ηλαδή: «Χωρίς τη δοκιµασία της πρακτικής εξάσκησης δεν αποκτάς ικανότητα, πείρα». (Αρχαία

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

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD) Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο

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

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

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

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

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

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

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

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου ΕΣΔ 516 Τεχνολογίες Διαδικτύου Εισαγωγή στην PHP Περιεχόμενα Περιεχόμενα PHP και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις Παράδειγματα 1 Βιβλιογραφία Ενότητας Βιβλιογραφία [Lane 2004]: Chapter

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

ASPA: A translator from ASP to PHP

ASPA: A translator from ASP to PHP :Μεταφραστής από ASP σε PHP : A translator from ASP to PHP Ανακρέων Μεντής anakreonmejdi@yahoo.gr http://daemon.di.uoa.gr/daemon/issue10 http://storm.cs.unipi.gr/ anakreon/aspa.html Ιούλιος 2004 1 Λίγα

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);

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

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

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

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

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

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

HY340, 2009 Α. Σαββίδης. Slide 3 / 39. Slide 4 / 39

HY340, 2009 Α. Σαββίδης. Slide 3 / 39. Slide 4 / 39 HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 5 ο Τελικός κώδικας και εικονική μηχανή ΔΙΔΑΣΚΩΝ Αντώνιος

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

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

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

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

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

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 2 η : Η Γλώσσα Προγραμματισμού VB.NET (1 ο Μέρος) Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής & Χρηματοοικονομικής

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

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

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

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

ΠΑΡΑΡΤΗΜΑ Β. Verification

ΠΑΡΑΡΤΗΜΑ Β. Verification ΠΑΡΑΡΤΗΜΑ Β Ροή Σχεδίασης και VHDL Ροή Σχεδίασης Πριν περάσουµε σε περιγραφή της γλώσσας VHDL είναι χρήσιµο να δούµε το περιβάλλον και τη ροή της σχεδίασης. Τα βήµατα µιας σχεδίασης βασισµένης σε VHDL

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

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

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

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

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.1,3.3-3.4: Συναρτήσεις I ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 11-1 Μη- οµηµένος Προγραµµατισµός Το πρόγραµµα στα αριστερά δεν είναι Αρθρωτό (δεν έχει σωστή δοµή). Όλη η λειτουργικότητα

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

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας Εισαγωγή στην PHP Περιεχόμενα Περιεχόμενα PHP και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις Παράδειγματα 1 Βιβλιογραφία Ενότητας Βιβλιογραφία

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

Φροντιστήριο 5 ο Τελικός κώδικας και εικονική μηχανή. Μέρος 1 ο Περιβάλλον εκτέλεσης HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ

Φροντιστήριο 5 ο Τελικός κώδικας και εικονική μηχανή. Μέρος 1 ο Περιβάλλον εκτέλεσης HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 5 ο Τελικός κώδικας και εικονική μηχανή Ι ΑΣΚΩΝ Αντώνιος

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

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

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

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

Βασικά στοιχεία της Java

Βασικά στοιχεία της Java Βασικά στοιχεία της Java προτάσεις, εκφράσεις, µεταβλητές, σταθερές, τελεστές Ορισµοί Πρόταση (statement) είναι µία απλή εντολή σε µία γλώσσα προγραµµατισµού. Γιαπαράδειγµα: int x=12; Έκφραση (expression)

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

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

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

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

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

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

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

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΓΕΝΙΚΗ ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Program Ονομα_προγραμματος; «πρόγραμμα» Πρόγραμμα 1 Program Lesson1_Program1; Write('Hello World!!!'); {σχόλια} Επεξήγηση Προγράμματος Program Lesson1_Program1;

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

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

Υπο-προγράμματα στη Fortran

Υπο-προγράμματα στη Fortran ΦΥΣ 145 - Διαλ.05 1 Υπο-προγράμματα στη Fortran q Mέχρι τώρα τα προβλήματα και τα προγράμματα που έχουμε δεί ήταν αρκετά απλά και επομένως ένα και μόνο πρόγραμμα ήταν αρκετό για να τα λύσουμε q Όταν τα

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

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

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

υναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 είκτες υναµική διαχείριση µνήµης στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: είκτες στη C++ Οι τελεστές new και delete Destructors Ορισµός τελεστών κλάσεων Ο δείκτης this ΕΠΛ 132 Αρχές Προγραµµατισµού

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

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

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

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

Visual Basic Βασικές Έννοιες

Visual Basic Βασικές Έννοιες Visual Basi Βασικές Έννοιες «Είδα στον ύπνο µου ότι η ζωή είναι χαρά. Ξύπνησα και είδα ότι είναι χρέος. Αγωνίστηκα και είδα ότι τo χρέος είναι χαρά.» Ραµπριτανάθ Ταγκόρ Κουλλάς Χρίστος www.oullas.om oullas

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2 Εισαγωγή στην C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Σύνταξη και Σηµασιολογία της C Σχολιασµός Μεταβλητές / Σταθερές Τύποι εδοµένων και Τελεστές Βιβλίο µαθήµατος: Chapter 2,, Sec.

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

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

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

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

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,

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

8. Μέθοδοι (Methods)

8. Μέθοδοι (Methods) 8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και

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

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

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

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

ιαχείριση Πληροφοριών στο ιαδίκτυο

ιαχείριση Πληροφοριών στο ιαδίκτυο ιαχείριση Πληροφοριών στο ιαδίκτυο Εργαστήριο (Φυλλάδιο 8) ΤΕΙ Καβάλας - Σχολή ιοίκησης & Οικονοµίας Τµήµα ιαχείρισης Πληροφοριών ιδάσκων: Μαρδύρης Βασίλειος, ιπλ. Ηλ. Μηχανικός & Μηχ. Υπολογιστών, MSc

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ii ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εισαγωγή - Βασικές έννοιες....1 1.1 Εσωτερική παράσταση δεδομένων....2 1.1.1 Παράσταση θέσης....3 1.1.2 Μετατροπές μεταξύ συστημάτων διαφορετικών βάσεων....5 1.1.3 Οι αριθμητικές

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

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 18: Ο προεπεξεργαστής της C. Βασική ιδέα Ο προεπεξεργαστής (pre-proccesor) της C είναι ένα πρόγραμμα που εκτελείται και μετασχηματίζει τον πηγαίο κώδικα πριν αυτός δοθεί

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

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

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

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

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

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

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

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

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

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 4 η : Η Γλώσσα Προγραμματισμού VB.NET (3 ο Μέρος) Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής & Χρηματοοικονομικής

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

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

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

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

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής Διάλεξη 1 Πράξεις Τελεστές Έλεγχος Ροής Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Αριθμητικοί Τελεστές- Αριθμητικές Πράξεις 2 Internal use only Αριθμητικοί

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

Προγραμματισμός PASCAL

Προγραμματισμός PASCAL Προγραμματισμός PASCAL 1 PASCAL Η PASCAL σχεδιάστηκε από τον Worth το 1968 στη Ζυρίχη, αρχικά σαν εργαλείο για τη διδασκαλία προγραμματισμού. Είναι γλώσσα για σειριακό προγραμματισμό. 2 Απλή και εύκολη

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

Δοκιμή και Αποσφαλμάτωση Testing and Debugging

Δοκιμή και Αποσφαλμάτωση Testing and Debugging Δοκιμή και Αποσφαλμάτωση Testing and Debugging XVI-1 Ο μεταγλωττιστής εντοπίζει τα συντακτικά λάθη ενός προγράμματος. Δεν είναι όμως σε θέση να εντοπίσει λάθη στη λογική του προγράμματος. δεδομένα πρόγραμμα

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

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

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

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

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

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

o AND o IF o SUMPRODUCT

o AND o IF o SUMPRODUCT Πληροφοριακά Εργαστήριο Management 1 Information Συστήματα Systems Διοίκησης ΤΕΙ Τμήμα Ελεγκτικής Ηπείρου Χρηματοοικονομικής (Παράρτημα Πρέβεζας) και Αντικείµενο: Μοντελοποίηση προβλήµατος Θέµατα που καλύπτονται:

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εξαιρέσεις Εξαιρέσεις Στα προγράμματα μας θα πρέπει να μπορούμε να χειριστούμε περιπτώσεις που το πρόγραμμα δεν εξελίσσεται όπως το είχαμε προβλέψει Π.χ., κάνουμε

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

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

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ 1 Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στην κόλλα σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1 5 και δίπλα τη λέξη

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 8 η : Συναρτήσεις Χειµερινό Εξάµηνο 2011 Συναρτήσεις (functions) Συνάρτηση (function) σύνολο εντολών που έχει οµαδοποιηθεί και τους έχει αποδοθεί ένα όνοµα Κλήση (calling)

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

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 5.1-5.3: Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 9-1 οµές Έλεγχου Προγράµµατος Μέχρι τώρα είδαµε τις ακόλουθες δοµές έλεγχου (program control structure) ενός προγράµµατος

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 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. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

Λογικό "και" (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0)

Λογικό και (AND) μας επιστρέφει 1 αν και οι δύο operands είναι όχι μηδέν, διαφορετικά 0) 0ι Λογικοί Τελεστές: Πρόκειται για τελεστές που μας επιτρέπουν να συνδυάσουμε απλές εκφράσεις συσχετισμού και να δημιουργήσουμε πιό πολύπλοκες λογικές εκφράσεις. Εχουμε λοιπόν: && Λογικό "και" (AND) μας

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

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

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

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

Διάλεξη 6: Δείκτες και Πίνακες

Διάλεξη 6: Δείκτες και Πίνακες Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 6: Δείκτες και Πίνακες (Κεφάλαιο 12, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 6-1 Περιεχόμενο

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

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

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

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

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,

Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ, Εισαγωγή στο MATLAB Κολοβού Αθανασία, ΕΔΙΠ, akolovou@di.uoa.gr Εγκατάσταση του Matlab Διανέμεται ελεύθερα στα μέλη του ΕΚΠΑ το λογισμικό MATLAB με 75 ταυτόχρονες (concurrent) άδειες χρήσης. Μπορείτε να

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

Παραγωγή Ενδιάµεσου Κώδικα

Παραγωγή Ενδιάµεσου Κώδικα Παραγωγή Ενδιάµεσου Κώδικα Παραγωγή Ενδιάµεσου Κώδικα Κώδικας σε αρχική γλώσσα Γιώργος Μανής Κώδικας σε ενδιάµεση γλώσσα Κώδικας σε γλώσσα µηχανής (assembly) Παραγωγή Ενδιάµεσου Κώδικα Ενδιάµεση Γλώσσα

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

ΗΥ-150. Πίνακες (Arrays)

ΗΥ-150. Πίνακες (Arrays) ΗΥ-150 Προγραµµατισµός Πίνακες (Arrays) Προγραµµατισµός Εισαγωγικά Έστω ότι θέλουµε να αποθηκεύσουµε 100 ονόµατα φοιτητών και τους βαθµούς τους. Πως θα το κάναµε αυτό µε µεταβλητές; Πως θα µπορούσαµε να

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

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

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

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch; ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Τι είναι ; Συναρτήσεις Αυτόνομα τμήματα κώδικα (υποπρογράμματα) που πραγματοποιούν μια καθορισμένη εργασία. Χρήσιμες για περιπτώσεις που ο ίδιος υπολογισμός επαναλαμβάνεται πολλές φορές

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