Ιστοσελίδα: Mailing list: πληροφορίες στην παραπάνω ιστοσελίδα Κάθε πότε: Τετάρτες και Πέμπτες 12:45 14:30
|
|
- Σατάν Κουβέλης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Γλώσσες Προγραμματισμού Ι Σχετικά με το μάθημα Τι: μάθημα 6 ου εξαμήνου ΣΗΜΜΥ, υποχρεωτικό στη Ροή Λ Ιστοσελίδα: Mailing list: πληροφορίες στην παραπάνω ιστοσελίδα Κάθε πότε: Τετάρτες και Πέμπτες 12:45 14:30 Pieter Bruegel, The Tower of Babel, 1563 Κωστής Σαγώνας <kostis@cs.ntua.gr> Πρόγραμμα: 19 διαλέξεις 3 φροντιστηριακά μαθήματα στα περιβάλλοντα των γλωσσών 1 επαναληπτικό μάθημα στο τέλος Προσοχή: το μάθημα δε θα θεωρηθεί θ διδαχθέν δδ αν δε γίνουν όλες οι προγραμματισμένες 19 διαλέξεις 3 Σχετικά με το μάθημα Εργασίες: Θα δοθούν συνολικά 3 σειρές ασκήσεων 1 σε C και σε ML 1 σε ML και σε Java 1 σε Prolog και σε όποια άλλη γλώσσα θέλετε Βαθμολογία: 30% εργασίες 80% διαγώνισμα Συνεργασία μεταξύ φοιτητών Οι προθεσμίες των εργασιών θα τηρηθούν αυστηρά Οι εργασίες γίνονται σε ομάδες το πολύ δύο ατόμων Επιτρέπεται να συζητάτε ασκήσεις με τους συμφοιτητές σας, αλλά οι εργασίες πρέπει να είναι δική σας δουλειά Δεν επιτρέπεται να δίνετε την εργασία σας σε άλλους ή να τις βάλετε σε μέρος στο οποίο άλλοι έχουν πρόσβαση Σε περίπτωση που διαπιστωθούν φαινόμενα αντιγραφής, οι εργασίες αυτομάτως βαθμολογούνται με μηδέν και θα κινηθούν όλες οι προβλεπόμενες διαδικασίες σε επίπεδο Σχολής ή ακόμα και Ιδρύματος 4 5 Εξετάσεις Προτεινόμενα βιβλία Διαγωνίσματα: τον Ιούλιο και το Σεπτέμβριο Με κλειστά βιβλία, αλλά με μία κόλλα Α4 στην οποία μπορείτε να γράψετε το όνομά σας και ότι άλλο θέλετε Περυσινό διαγωνίσμα: στην ιστοσελίδα του μαθήματος Χαριστικές : ρ ς δεν υπάρχουν και δε θα υπάρξουν (ποτέ!) 6 7
2 Προτεινόμενα βιβλία για ML Προτεινόμενα βιβλία για Java 8 Προτεινόμενα βιβλία για Prolog 9 Γιατί είναι ενδιαφέρουσες οι γλώσσες; Λόγω της ποικιλίας τους και των χαρακτηριστικών τους Λόγω των αμφιλεγόμενων στοιχείων τους Λόγω της ενδιαφέρουσας εξέλιξής τους Λόγω Λό της στενής ή τους σχέσης έ με τον προγραμματισμό ό και την ανάπτυξη λογισμικού Λόγω του θεωρητικού τους υπόβαθρου και της στενής τους σχέσης με την επιστήμη των υπολογιστών 10 Φοβερή ποικιλία γλωσσών προγραμματισμού Γλώσσες προστακτικού προγραμματισμού Υπάρχουν πάρα πολλές και αρκετά διαφορετικές μεταξύ Παράδειγμα: η συνάρτηση παραγοντικό στη C τους γλώσσες Το 1995, μια συλλογή που εμφανιζόταν συχνά στη λίστα comp lang misc περιλάμβανε πάνω από 2300 γλώσσες comp.lang.misc Οι γλώσσες συχνά κατατάσσονται στις εξής οικογένειες: Προστακτικού προγραμματισμού (Pascal, C, Ada) Συναρτησιακού προγραμματισμού (Lisp, ML, Haskell, Erlang) Λογικού προγραμματισμού (Prolog, Mercury) Αντικειμενοστρεφούς προγραμματισμού (Smalltalk, C++, Java) Γλώ Γλώσσες σεναρίων ί (Perl, (P l Javascript, J i t PHP, PHP Python, P th Ruby) R b ) int fact(int n) { i t f = 1 int 1; while (n>0) f *= n--; return f; Κύρια χαρακτηριστικά: Ανάθεση μεταβλητών (πολλαπλή) Επανάληψη Η σειρά εκτέλεσης παίζει σημαντικό ρόλο 13
3 Γλώσσες συναρτησιακού προγραμματισμού (1) Παράδειγμα: η συνάρτηση παραγοντικό στην ML fun fact x = if x <= 0 then 1 else x * fact(x-1); Κύρια χαρακτηριστικά: Μεταβλητές μιας τιμής Η επανάληψη εκφράζεται με χρήση αναδρομής Γλώσσες συναρτησιακού προγραμματισμού (2) Παράδειγμα: η συνάρτηση παραγοντικό στη Lisp (defun fact (x) (if (= x 0) 1 (* x (fact (- x 1))))) Συντακτικά, η συνάρτηση δείχνει αρκετά διαφορετική από ότι στην ML Αλλά η ML και η Lisp είναι συγγενείς γλώσσες Γλώσσες λογικού προγραμματισμού Παράδειγμα: η συνάρτηση παραγοντικό στην Prolog fact(x, F) :- ( X =:= 1 -> F = 1 ; X > 1, NewX is X - 1, fact(newx, NF), F is X * NF ). Κύρια χαρακτηριστικά: Λογικές μεταβλητές και χρήση ενοποίησης Το πρόγραμμα γράφεται με χρήση κανόνων λογικής (Τα παραπάνω δε φαίνονται πολύ καθαρά στο συγκεκριμένο κώδικα) Γλώσσες αντικειμενοστρεφούς προγραμματισμού Παράδειγμα: ορισμός στη Java ενός αντικειμένου που μπορεί να αποθηκεύσει έναν ακέραιο και να υπολογίσει το παραγοντικό του public class MyInt { private int value; public MyInt(int value) { this.value = value; public int getvalue() { return value; public MyInt getfact() { return new MyInt(fact(value)); private int fact(int n) { int f = 1; while (n > 1) f *= n--; return f; Κύρια χαρακτηριστικά: Ανάθεση Χρήση αντικειμένων: δεδομένων που έχουν κατάσταση και ξέρουν πως να τη μεταβάλλουν να την γνωστοποιήσουν σε άλλα αντικείμενα Πλεονεκτήματα και μειονεκτήματα Οικογένειες δε θίγουμε... Συνήθως, διαφορετικές γλώσσες δείχνουν τα πλεονεκτήματά τους σε διαφορετικού είδους εφαρμογές Η έννοια της τέλειας γλώσσας προγραμματισμού δεν υφίσταται (αντικειμενικά) Αποφασίστε μόνοι σας στο τέλος του μαθήματος, με βάση: την εμπειρία σας τις προσωπικές σας προτιμήσεις (Όχι με βάση τη συνάρτηση παραγοντικό!) Υπάρχουν πολλές οικογένειες γλωσσών (η λίστα είναι μη εξαντλητική και έχει επικαλύψεις) Applicative, concurrent, constraint, declarative, definitional, procedural, scripting, single-assignment, Κάποιες γλώσσες ανήκουν σε πολλές οικογένειες Κάποιες άλλες είναι τόσο ιδιάζουσες που η κατάταξή τους σε κάποια οικογένεια δεν έχει μεγάλο νόημα 18 19
4 Παράδειγμα: Παραγοντικό σε Forth Γλώσσα βασισμένη σε στοίβα (stack-oriented) : FACTORIAL 1 SWAP BEGIN?DUP WHILE TUCK * SWAP 1- REPEAT ; Θα μπορούσε να χαρακτηριστεί προστακτική γλώσσα, αλλά έχει λίγα κοινά στοιχεία με τις περισσότερες προστακτικές γλώσσες Παράδειγμα: Παραγοντικό σε APL / ι X Μια έκφραση APL που υπολογίζει το παραγοντικό του X Επεκτείνει το X σε ένα διάνυσμα (vector) από ακεραίους 1..X, τους οποίους μετά πολλαπλασιάζει μεταξύ τους Θα μπορούσε να θεωρηθεί συναρτησιακή γλώσσα, αλλά έχει ελάχιστα κοινά στοιχεία με τις περισσότερες γλώσσες συναρτησιακού προγραμματισμού (Η γλώσσα Postscript είναι επίσης stack-oriented) 20 (Για την ακρίβεια, δε θα το γράφαμε με αυτό τον τρόπο στην APL, γιατί η γλώσσα περιλαμβάνει το μοναδιαίο τελεστή παραγοντικό:!x) 21 Αμφιλεγόμενα χαρακτηριστικά και γλωσσοπόλεμοι Οι γλώσσες πολλές φορές καταλήγουν το αντικείμενο έντονων διαξιφισμών για τα χαρακτηριστικά τους Κάθε γλώσσα έχει τόσο υποστηρικτές όσο και πολέμιους οι οποίοι συνήθως έχουν έντονες γνώμες και πιστεύω Για προσωπική εμπειρία, παρακολουθείστε τα newsgroups: comp.lang.* ή τον ιστοχώρο th lti t / Οι διακρίσεις και οι ορισμοί είναι λίγο ασαφείς Κάποιοι όροι αναφέρονται σε ασαφείς έννοιες Για παράδειγμα, η κατηγοριοποίηση των γλωσσών σε οικογένειες Κανένα πρόβλημα αν θυμάστε ότι κάποιοι όροι είναι σχετικά ασαφείς Λάθος ερώτηση: Είναι η γλώσσα X μια πραγματικά αντικειμενοστρεφής γλώσσα; Σωστή ερώτηση: Ποια χαρακτηριστικά της γλώσσας X υποστηρίζουν τον αντικειμενοστρεφή προγραμματισμό και πόσο καλά; Η φοβερή εξέλιξη των γλωσσών Εξέλιξη γλωσσών προγραμματισμού Οι γλώσσες προγραμματισμού εξελίσσονται με πολύ γρήγορο ρυθμό Νέες γλώσσες δημιουργούνται Παλιές γλώσσες αποκτούν διαλέκτους ή μεταλλάσσονται 24 25
5 Assembly FORTRAN (FORmula TRANslator) Πριν: Αριθμοί Μετά: Σύμβολα 55 gcd: pushl %ebp 89E5 movl %esp, %ebp 8B4508 movl 8(%ebp), %eax 8B550C movl 12(%ebp), %edx 39D0 cmpl %edx, %eax 740D je.l9 39D0.L7: cmpl %edx, %eax 7E08 jle.l5 29D0 subl %edx, %eax 39D0.L2: cmpl %edx, %eax 75F6 jne.l7 C9.L9: leave C3 ret 29C2.L5: subl %eax, %edx EBF6 jmp.l2 Πριν: Σύμβολα gcd: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax movl 12(%ebp), %edx cmpl %edx, %eax je.l9.l7: cmpl %edx, %eax jle.l5 subl %edx, %eax.l2: cmpl %edx, %eax jne.l7.l9: leave ret.l5: subl %eax, %edx jmp.l2 Μετά: Εκφράσεις, έλεγχος ροής 10 IF (a.eq. b) GOTO 20 IF (a.lt. b) THEN a = a - b ELSE b = b - a ENDIF GOTO 10 1 END COBOL Δηλώσεις τύπων, εγγραφών, διαχείριση αρχείων data division. file section. * describe the input file fd employee-file-in label records standard block contains 5 records record contains 31 characters data record is employee-record-in. 01 employee-record-in. 02 employee-name-in pic x(20). 02 employee-rate-in pic 9(3)v employee-hours-in pic 9(3)v line-feed-in pic x(1). 28 LISP, Scheme, Common LISP Συναρτησιακές γλώσσες υψηλού επιπέδου (defun gnome-doc-insert () "Add a documentation header to the current function. Only C/C++ function types are properly p supported currently." (interactive) (let (c-insert-here (point)) (save-excursion (beginning-of-defun) (let (c-arglist c-funcname (c-point (point)) c-comment-point c-isvoid c-doinsert) (search-backward "(") (forward-line -2) (while (or (looking-at "ˆ$") (looking-at "ˆ *") (looking-at "ˆ \\*") (looking-at "ˆ#")) (forward-line 1)) 29 APL Γλώσσα αλληλεπίδρασης (interactive) με ισχυρούς τελεστές 30 Algol, Pascal, Clu, Modula, Ada Προστακτικές γλώσσες με τυπικά ορισμένο συντακτικό,, χρήση μπλοκ,, δομημένος προγραμματισμός PROC insert = (INT e, REF TREE t)void: # NB inserts in t as a side effect # IF TREE(t) IS NIL THEN t := HEAP NODE := (e, TREE(NIL), TREE(NIL)) ELIF e < e OF t THEN insert(e, l OF t) ELIF e > e OF t THEN insert(e, r OF t) FI; PROC trav = (INT switch, TREE t, SCANNER continue, alternative)void: # traverse the root node and right sub-tree of t only. # IF t IS NIL THEN continue(switch, alternative) ELIF e OF t <= switch THEN print(e OF t); traverse( switch, r OF t, continue, alternative) ELSE # e OF t > switch # PROC defer = (INT sw, SCANNER alt)void: trav(sw, t, continue, alt); alternative(e OF t, defer) FI; 31
6 SNOBOL, Icon Γλώσσες επεξεργασίας συμβολοσειρών LETTER = ABCDEFGHIJKLMNOPQRSTUVWXYZ$#@ SP.CH = "+-,=.*() /& " SCOTA = SP.CH SCOTA & = Q = " " QLIT = Q FENCE BREAK(Q) Q ELEM = QLIT L Q ANY(SCOTA) BREAK(SCOTA) REM F3 = ARBNO(ELEM FENCE) B = (SPAN( ) RPOS(0)) FENCE F1 = BREAK( ) REM F2 = F1 CAOP = ( LCL SET ) ANY( ABC ) ABC + AIF AGO ACTR ANOP ATTR = ANY( TLSIKN ) ELEMC = ( FENCE *F3C ) ATTR Q ELEM F3C = ARBNO(ELEMC FENCE) ASM360 = F1. NAME B + ( CAOP. OPERATION B F3C. OPERAND + F2. OPERATION B F3. OPERAND) + B REM. COMMENT 32 BASIC Προγραμματισμός για τις μάζες 10 PRINT "GUESS A NUMBER BETWEEN ONE AND TEN" 20 INPUT A$ 30 IF A$ = "5" THEN PRINT "GOOD JOB, YOU GUESSED IT" 40 IF A$ = "5" GOTO PRINT "YOU ARE WRONG. TRY AGAIN" 60 GOTO END 33 Simula, Smalltalk, C++, Java, C# Γλώσσες φιλοσοφίας αντικειμενοστρεφούς προγραμματισμού class Shape(x, y); integer x; integer y; virtual: procedure draw; begin comment -- get the x & y coordinates --; integer procedure getx; getx := x; integer procedure gety; gety := y; comment -- set the x & y coordinates --; integer procedure setx(newx); integer newx; x := newx; integer procedure sety(newy); integer newy; y := newy; end Shape; 34 C Ικανοποιητική επίδοση για προγραμματισμό συστήματος int gcd(int a, int b) { while (a!= b) { if (a > b) a -= b; else b -= a; return a; 35 ML, Miranda, Haskell, Erlang structure RevStack = struct type a stack = a list exception Empty val empty = [] fun isempty (s: a stack):bool = (case s of [] => true _ => false) fun top (s: a stack): = (case s of [] => raise Empty x::xs => x) fun pop (s: a stack): a stack = (case s of [] => raise Empty x::xs => xs) fun push (s: a stack,x: a): a stack = x::s fun rev (s: a stack): a stack = rev (s) end 36 sh, awk, perl, tcl, python, ruby Γλώσσες σεναρίων (Scripting languages) class() { classname= echo "$1" sed -n 1 s/ *:.*$//p *$// parent= echo "$1" sed -n 1 s/ˆ.*: *//p hppbody= echo "$1" sed -n 2,$p forwarddefs="$forwarddefs class $classname;" if (echo $hppbody grep -q "$classname()"); then defaultconstructor= else fi defaultconstructor="$classname() {" 37
7 VisiCalc, Lotus , Excel Γλώσσες προγραμματισμού λογιστικών φύλλων Β1 * Β2 38 SQL Γλώσσες βάσεων δεδομένων CREATE TABLE shirt ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, style ENUM( t-shirt, polo, dress ) NOT NULL, color ENUM( red, blue, white, black ) NOT NULL, owner SMALLINT UNSIGNED NOT NULL REFERENCES person(id), PRIMARY KEY (id) ); INSERT INTO shirt VALUES (NULL, polo, blue, LAST_INSERT_ID()), (NULL, dress, white, LAST_INSERT_ID()), (NULL, t-shirt, blue, LAST_INSERT_ID()); 39 Prolog, Mercury Γλώσσες λογικού προγραμματισμού /* palindrome(xs) is true if Xs is a palindrome. */ /* e.g. palindrome([m,a,d,a,m, i,m, a,d,a,m]). */ palindrome([]). palindrome([_]). palindrome([x Xs]) :- append(xs1,[x],xs), palindrome(xs1). append([],ys,ys). append([x Xs],Ys,[X Zs]) :- append(xs,ys,zs). Νέες γλώσσες προγραμματισμού Καθαρότητα σχεδίασης: δεν υπάρχει η ανάγκη να διατηρηθεί η συμβατότητα με υπάρχοντα προγράμματα Όμως πλέον οι νέες γλώσσες δεν είναι προϊόντα παρθενογέννησης: συνήθως χρησιμοποιούν ιδέες από ήδη υπάρχουσες γλώσσες Κάποιες από αυτές (λίγες) χρησιμοποιούνται ευρέως, άλλες όχι Ανεξάρτητα της χρήσης τους, αποτελούν πηγή ιδεών για τις επόμενες γενεές των γλωσσών προγραμματισμού Ευρέως χρησιμοποιούμενη: Java Μη ευρέως χρησιμοποιούμενη: Algol Αρκετά δημοφιλής από το 1995 και έκτοτε Η Java χρησιμοποιεί πολλές ιδέες από τη C++, κάποιες άλλες ιδέες από τη Mesa και τη Modula, την ιδέα της αυτόματης διαχείρισης μνήμης από τη Lisp, και άλλες ιδέες από άλλες γλώσσες Η C++ περιλαμβάνει το μεγαλύτερο κομμάτι της C και την επέκτεινε με ιδέες από τις γλώσσες Simula 67, Ada, Clu, ML και Algol 68 Η C προέκυψε από τη B, που προέκυψε από τη BCPL, που προέκυψε από τη CPL, που προέκυψε από την Algol 60, που προέκυψε από την Algol Μια από τις πρώτες γλώσσες: ALGOrithmic Language Εκδόσεις: Algol 58, Algol 60, Algol 68 Ποτέ δε χρησιμοποιήθηκε ευρέως Όμως εισήγαγε πολλές ιδέες που στη συνέχεια χρησιμοποιήθηκαν από άλλες γλώσσες, όπως για παράδειγμα: Δομή ανά μπλοκ και εμβέλεια μεταβλητών Αναδρομικές συναρτήσεις Πέρασμα παραμέτρων κατά τιμή (parameter passing by value) 43
8 Διάλεκτοι Η εμπειρία από τη χρήση γλωσσών αναδεικνύει πιθανές ατέλειες του σχεδιασμού τους και συχνά οδηγεί σε νέες διαλέκτους Νέες ιδέες πολλές φορές ενσωματώνονται σε νέες διαλέκτους παλαιών γλωσσών Κάποιες διάλεκτοι της Fortran Αρχική Fortran, IBM,1954 Βασικά standards: Αποκλίσεις σε Fortran II κάθε υλοποίηση Fortran III Fortran IV Παράλληλη επεξεργασία Fortran 66 HPF Fortran 77 Fortran M Fortran 90 Vienna Fortran Fortran 95 και πολλές άλλες Fortran 2K Η σχέση των γλωσσών με τον προγραμματισμό Οι γλώσσες επηρεάζουν τον προγραμματισμό Η κάθε γλώσσα ενθαρρύνει ένα συγκεκριμένο τρόπο προγραμματισμού / αλγοριθμικής επίλυσης προβλημάτων Οι εμπειρίες από τον προγραμματισμό εφαρμογών επηρεάζουν το σχεδιασμό (στοιχείων) νέων γλωσσών Διαφορετικές γλώσσες ενθαρρύνουν διαφορετικά στυλ προγραμματισμού Αντικειμενοστρεφείς: αντικείμενα και χρήση get/set μεθόδων Συναρτησιακές: πολλές μικρές συναρτήσεις χωρίς παρενέργειες Λογικές: διαδικασία της αναζήτησης σ ένα λογικά ορισμένο χώρο Αντίσταση κατά των γλωσσών; Γλώσσες που ενθαρρύνουν συγκεκριμένους τρόπους προγραμματισμού συνήθως δεν τους επιβάλλουν πλήρως Κατά συνέπεια, είναι δυνατό να παρακάμψουμε ή και να αγνοήσουμε πλήρως τη φιλοσοφία κάποιας γλώσσας Συνήθως όμως αυτό δεν είναι καλή ιδέα Προστακτική ML Μη αντικειμενοστρεφής Java Η ML αποθαρρύνει τη χρήση αναθέσεων και παρενεργειών. Παρόλα αυτά: fun fact n = let val i = ref 1; val xn = ref n in while!xn > 1 do ( i :=!i *!xn; xn :=!xn - 1 );!i end; Η Java, σε μεγαλύτερο βαθμό από τη C++, ενθαρρύνει τον αντικειμενοστρεφή προγραμματισμό. Παρόλα αυτά: class Fubar { public static void main (String[] args) { // όλο το πρόγραμμα εδώ! 48 49
9 Συναρτησιακή Pascal Κάθε προστακτική γλώσσα που υποστηρίζει αναδρομή, μπορεί να χρησιμοποιηθεί ως συναρτησιακή γλώσσα function ForLoop(Low, High: Integer): Boolean; begin if Low <= High then begin {όλο το σώμα του for loop εδώ ForLoop := ForLoop(Low+1, High) end else ForLoop := True end; Γλώσσες και θεωρία τυπικών γλωσσών Θεωρία των τυπικών γλωσσών: μία από τις θεμελιώδεις μαθηματικές περιοχές της επιστήμης των υπολογιστών Κανονικές γραμματικές, αυτόματα πεπερασμένων καταστάσεων Αποτελούν τη βάση για το λεκτικό των γλωσσών προγραμματισμού και του λεκτικού αναλυτή (scanner) ενός compiler Γραμματικές ελεύθερες ρςσυμφραζομένων, μ, αυτόματα στοίβας Αποτελούν τη βάση για το συντακτικό των γλωσσών προγραμ- ματισμού και του συντακτικού αναλυτή (parser) ενός compiler Μηχανές Turing Προσφέρουν το θεωρητικό υπόβαθρο για να μελετήσουμε την υπολογιστική ισχύ των γλωσσών προγραμματισμού Ισοδυναμία κατά Turing (Turing equivalence) Συμπερασματικά Οι (περισσότερες) γλώσσες προγραμματισμού έχουν διαφορετικά χαρακτηριστικά και πλεονεκτήματα χρήσης, αλλά όλες έχουν την ίδια ισχύ επίλυσης προβλημάτων {προβλήματα ρ β επιλύσιμα στη Java = {προβλήματα επιλύσιμα στη Fortran = {προβλήματα επιλύσιμα στη C = Και όλες έχουν την ίδια ισχύ με διάφορα υπολογιστικά μοντέλα {προβλήματα επιλύσιμα σε μηχανές Turing = {προβλήματα επιλύσιμα σε λάμδα λογισμό = Το παραπάνω είναι γνωστό ως η θέση των Church-Turingh Γιατί είναι ενδιαφέρουσες οι γλώσσες προγραμματισμού (και αυτό το μάθημα): Λόγω της ποικιλίας τους και των χαρακτηριστικών τους Λόγω των αμφιλεγόμενων στοιχείων τους Λόγω της ενδιαφέρουσας εξέλιξής ξή τους Λόγω της στενής τους σχέσης με τον προγραμματισμό και την ανάπτυξη λογισμικού Λόγω του θεωρητικού τους υπόβαθρου και της στενής τους σχέσης με την επιστήμη των υπολογιστών Επίσης, λόγω του ότι θα μάθετε αρκετά καλά τρεις επιπλέον γλώσσες! 52 53
Γλώσσες Προγραμματισμού Ι
Γλώσσες Προγραμματισμού Ι Pieter Bruegel, The Tower of Babel, 1563 Κωστής Σαγώνας Πέτρος Ποτίκας Σχετικά με το μάθημα Τι: μάθημα 6 ου εξαμήνου ΣΗΜΜΥ, υποχρεωτικό
Διαβάστε περισσότεραΠρογραμματισμού. Γλώσσες Προγραμματισμού Ι. Διδάσκοντες: Νικόλαος Παπασπύρου, Κωστής Σαγώνας
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γλώσσες Προγραμματισμού Ι Διδάσκοντες: Νικόλαος Παπασπύρου, Κωστής Σαγώνας
Διαβάστε περισσότεραΓλώσσες Προγραμματισμού Ι
Γλώσσες Προγραμματισμού Ι Ποιος είναι τούτος; Κωστής Σαγώνας Αναπληρωτής Καθηγητής Ε.Μ.Π. Pieter Bruegel, The Tower of Babel, 1563 Κωστής Σαγώνας Ερευνητικά ενδιαφέροντα Υλοποίηση γλωσσών
Διαβάστε περισσότεραΓλώσσες Προγραµµατισµού Ι
Γλώσσες Προγραµµατισµού Ι Σχετικά µε το µάθηµα Τι: µάθηµα 6 ου εξαµήνου ΣΗΜΜΥ, υποχρεωτικό στη Ροή Λ Ιστοσελίδα: http://courses.softlab.ntua.gr/pl1/ Mailing list: πληροφορίες στην παραπάνω ιστοσελίδα Πότε:
Διαβάστε περισσότεραΓλώσσες Προγραμματισμού Ι
Γλώσσες Προγραμματισμού Ι Pieter Bruegel, The Tower of Babel, 1563 Κωστής Σαγώνας Νίκος Παπασπύρου Σχετικά με το μάθημα Τι: μάθημα 6 ου εξαμήνου ΣΗΜΜΥ, υποχρεωτικό
Διαβάστε περισσότεραΚΥΡΙΑ ΜΟΝΤΕΛΑ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΚΥΡΙΑ ΜΟΝΤΕΛΑ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 27 Κύρια προγραμματιστικά μοντέλα (1) Προστακτικός προγραμματισμός (imperative programming) FORTRAN, Algol, COBOL, BASIC, C, Pascal, Modula-2, Ada Συναρτησιακός προγραμματισμός
Διαβάστε περισσότεραΚεφάλαιο 1: Εισαγωγή. Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήμιο Πατρών
Κεφάλαιο 1: Εισαγωγή Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών Εισαγωγή (1) Γιατί υπάρχουν τόσες πολλές Γλώσσες Προγραμματισμού (ΓΠ); o Εξέλιξη έχουμε μάθει καλύτερους τρόπους να κάνουμε πράγματα
Διαβάστε περισσότεραΑρχές Γλωσσών Προγραμματισμού και Μεταφραστών
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ενότητα 1: Εισαγωγή Καθ. Γιάννης Γαροφαλάκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ και Πληροφορικής Εισαγωγή (1) Γιατί υπάρχουν τόσες πολλές Γλώσσες Προγραμματισμού
Διαβάστε περισσότεραΟνόματα και Εμβέλεια. Wassily Kandinsky, Black lines, 1913
Ονόματα και Εμβέλεια Wassily Kandinsky, Black lines, 1913 Κωστής Σαγώνας Ανακύκλωση ονομάτων Η κατανόηση της εμβέλειας είναι άμεση εάν το κάθε τι έχει το δικό του όνομα Αλλά στις μοντέρνες
Διαβάστε περισσότεραΗ ΑΕΠΠ IN A GLANCE! ΦΡΟΝΤΙΣΤΗΡΙΑ ΠΟΛΥΜΕΝΗ
Η ΑΕΠΠ IN A GLANCE! Κατανομή μονάδων: 40 μονάδες το 1 ο Θέμα, από 20 τα υπόλοιπα τρία. Μην χαίρεστε όμως γιατί η «καθαρή» θεωρία περιορίζεται συνήθως- σε 5 ερωτήσεις σωστού ή λάθους και σε 1-2 ερωτήσεις
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
Διαβάστε περισσότεραΕγγραφές Δραστηριοποίησης. Jackson Pollock, The Key, 1946 (action painting)
Εγγραφές Δραστηριοποίησης Jackson Pollock, The Key, 1946 (action painting) Κωστής Σαγώνας Ερώτηση για δέσιμο Κατά την εκτέλεση του προγράμματος, οι μεταβλητές δένονται (δυναμικά) με
Διαβάστε περισσότεραΤεχνολογία Λογισµικού Ι Κεφάλαιο 5
ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr
Διαβάστε περισσότερα- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)
Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο
Διαβάστε περισσότεραΔιάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Διαβάστε περισσότεραΔιάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -
Διαβάστε περισσότεραΓλώσσες προγραµµατισµού. Ανάπτυξη Συστηµάτων Λογισµικού
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ http://courses.softlab.ntua.gr/softeng/ ιδάσκοντες: (nickie@softlab.ntua.gr) Βασίλης Βεσκούκης (bxb@softlab.ntua.gr) Γλώσσες Προγραµµατισµού και Ανάπτυξη Συστηµάτων Λογισµικού ΤΛ
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
Διαβάστε περισσότεραOutline. 4 Object-Oriented Programming
Προγραμματισμός Ηλεκτρονικών Υπολογιστών Φιλοσοφίες γλωσσών προγραμματισμού Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Ιανουάριος 2016 ιδάσκων: Στάθης Ζάχος ( CoReLab
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);
Διαβάστε περισσότεραΕμβέλεια. Παραδείγματα. Παραδείγματα. Μπλοκ (blocks)
Ονόματα και Εμβέλεια Ανακύκλωση ονομάτων Η κατανόηση της εμβέλειας είναι άμεση εάν το κάθε τι έχει το δικό του όνομα fun square a = a * a; fun double b = b + b; Αλλά στις μοντέρνες γλώσσες προγραμματισμού,
Διαβάστε περισσότεραΠεριεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις
Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού
Διαβάστε περισσότεραalpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and
alpha Language (1/5) ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language Στην alpha δεν υπάρχει main() συνάρτηση, ο κώδικας ξεκινάει την εκτέλεση από την αρχή του
Διαβάστε περισσότεραΕγγραφές Δραστηριοποίησης
Εγγραφές Δραστηριοποίησης Ερώτηση για δέσιμο Κατά την εκτέλεση του προγράμματος, οι μεταβλητές δένονται (δυναμικά) με τιμές Οι τιμές αυτές πρέπει να αποθηκευτούν κάπου Κατά συνέπεια, οι μεταβλητές πρέπει
Διαβάστε περισσότεραΑντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου
Αντικειμενοστρέφεια Henri Matisse, Harmony in Red, 1908 Κωστής Σαγώνας Νίκος Παπασπύρου Ορισμοί αντικειμενοστρέφειας Ποιοι είναι οι ορισμοί των παρακάτω; Αντικειμενοστρεφής
Διαβάστε περισσότεραΑνάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)
Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Βρόγχοι Το if-then Statement Στην Java το if-then statement έχει το εξής συντακτικό Η παρένθεση είναι απαραίτητη if (condition) if-code block
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Διαβάστε περισσότεραΕγγραφές Δραστηριοποίησης
Εγγραφές Δραστηριοποίησης Ερώτηση για δέσιμο Κατά την εκτέλεση του προγράμματος, οι μεταβλητές δένονται (δυναμικά) με τιμές Οι τιμές αυτές πρέπει να αποθηκευτούν κάπου Κατά συνέπεια, οι μεταβλητές πρέπει
Διαβάστε περισσότεραΕισαγωγή στην επιστήμη των υπολογιστών
Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού 1 Εξέλιξη Οι γλώσσες προγραμματισμού είναι σύνολα από προκαθορισμένες λέξεις οι οποίες συνδυάζονται σε προγράμματα σύμφωνα
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Στην άσκηση αυτή θα υλοποιήσετε μια κλάση RandomVector η οποία διαχειρίζεται ένα τυχαίο διάνυσμα ακεραίων το οποίο μπορεί να έχει οποιοδήποτε
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Διαβάστε περισσότεραΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ
ii ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εισαγωγή - Βασικές έννοιες....1 1.1 Εσωτερική παράσταση δεδομένων....2 1.1.1 Παράσταση θέσης....3 1.1.2 Μετατροπές μεταξύ συστημάτων διαφορετικών βάσεων....5 1.1.3 Οι αριθμητικές
Διαβάστε περισσότερα10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.
1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07
Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public
Διαβάστε περισσότεραΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.
ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος 1 2 3 Εικόνα 43: Διάφορες πλακέτες υπολογιστών Μέσα σε δύο
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 9: Στοίβες:Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Υλοποίηση Στοιβών με Δυναμική Δέσμευση Μνήμης Εφαρμογή Στοιβών 1: Αναδρομικές συναρτήσεις Εφαρμογή
Διαβάστε περισσότεραΔιάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 15: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η έννοια της αναδρομής Μη αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων Παραδείγματα Ανάδρομης Αφαίρεση της Αναδρομής
Διαβάστε περισσότεραΑρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2011-2012 Γιάννης Γαροφαλάκης, Καθηγητής Αθανάσιος Ν.Νικολακόπουλος, Υποψήφιος Διδάκτορας 28 Μαρτίου 2012 Περίληψη Σκοπός της παρούσας
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το
Διαβάστε περισσότεραΟνόματα και Εμβέλεια 6
Ονόματα και Εμβέλεια Ανακύκλωση ονομάτων Η κατανόηση της εμβέλειας είναι άμεση εάν το κάθε τι έχει το δικό του όνομα fun square a = a * a; fun double b = b + b; Αλλά στις μοντέρνες γλώσσες προγραμματισμού,
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Πέμπτη (5 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/
Διαβάστε περισσότεραΤύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
Διαβάστε περισσότεραΑνάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό 6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία σημαντικά στάδια: 1. Τον ακριβή προσδιορισμό του προβλήματος. 2. Την ανάπτυξη
Διαβάστε περισσότεραΒασικές Έννοιες Δοµών Δεδοµένων
Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες
Διαβάστε περισσότεραFORTRAN και Αντικειμενοστραφής Προγραμματισμός
FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει
Διαβάστε περισσότεραΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Intel x86 ISA. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Intel x86 ISA Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ RISC vs. CISC Η assembly των επεξεργαστών ARM, SPARC (Sun), και Power (IBM) είναι όμοιες
Διαβάστε περισσότεραΚεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού
Διαβάστε περισσότεραFortran και Αντικειμενοστραφής προγραμματισμός. www.corelab.ntua.gr/courses/fortran_naval/naval
Fortran και Αντικειμενοστραφής προγραμματισμός Διδάσκοντες: www.corelab.ntua.gr/courses/fortran_naval/naval Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)
Διαβάστε περισσότεραΚεφάλαιο 4: Μεταβλητές, Εκφράσεις, Εντολές. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών
Κεφάλαιο 4: Μεταβλητές, Εκφράσεις, Εντολές Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Μεταβλητές (1) Μεταβλητή: Αφαιρετική αναπαράσταση διεύθυνσης μνήμης, ή συλλογής διευθύνσεων μνήμης του Η/Υ. Αναγνωριστικό
Διαβάστε περισσότεραΔιάλεξη 2η: Αλγόριθμοι και Προγράμματα
Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα
Διαβάστε περισσότεραΚεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος
Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν
Διαβάστε περισσότεραΑΣΚΗΣΗ. Ορίζονται μόνο καθολικές ακέραιες μεταβλητές με τη σύνταξη: int varname;
ΑΣΚΗΣΗ Εισαγωγή Η γλώσσα Aegean-C είναι ένα υποσύνολο της γλώσσας C. Δε διαθέτει πολλούς τύπους, δομές, δείκτες, αρκετούς τελεστές, τις περισσότερες συναρτήσεις της βιβλιοθήκης και ορισμένες εντολές. Παρόλα
Διαβάστε περισσότεραΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor
ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν
Διαβάστε περισσότεραιαφάνειες παρουσίασης #1
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων
Διαβάστε περισσότεραΕΠΛ 012. JavaScripts
ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η
Διαβάστε περισσότεραΚεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών
Κεφάλαιο 7: Υποπρογράμματα Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υποπρογραμμάτων (subprogram abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων
Διαβάστε περισσότεραΕυφυής Προγραμματισμός
Ευφυής Προγραμματισμός Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Συναρτήσεις-Δομές Ελέγχου : 1. Συναρτήσεις Χρήστη 2. Έλεγχος Ροής Προγράμματος 3.
Διαβάστε περισσότεραΔομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) Στοίβες Ουρές Στοίβες: Βασικές Έννοιες. Ουρές: Βασικές Έννοιες. Βασικές Λειτουργίες. Παραδείγματα. Στοίβες Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή πρώτη
Διαβάστε περισσότεραΑποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)
Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα
Διαβάστε περισσότεραΕισαγωγή στη Γλώσσα ML. Juan Miró
Εισαγωγή στη Γλώσσα ML Juan Miró Κωστής Σαγώνας Συναρτησιακός και Προστακτικός Προγραμματισμός Ένας τρόπος διαχωρισμού Ο προστακτικός προγραμματισμός επικεντρώνει στο πώς θα υλοποιήσουμε
Διαβάστε περισσότεραΜεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Γιώργος Δημητρίου Μάθημα 8 ο Μετάφραση Οδηγούμενη από τη Σύνταξη Ο ΣΑ καλεί τις ρουτίνες που εκτελούν τη σημασιολογική ανάλυση και παράγουν τον ενδιάμεσο κώδικα Σημασιολογικές πληροφορίες μπορούν να μεταφέρονται
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά
Διαβάστε περισσότεραHY340, 2009 Α. Σαββίδης Slide 2 / 143. HY340, 2009 Α. Σαββίδης Slide 3 / 143. HY340, 2009 Α. Σαββίδης Slide 4 / 143
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 4ο Παραγωγή Ενδιάμεσου Κώδικα ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης
Διαβάστε περισσότεραΚεφάλαιο 7: Υπορουτίνες
Κεφάλαιο 7: Υπορουτίνες Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υπορουτινών (subroutine abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων που μπορεί
Διαβάστε περισσότεραΔομές ελέγχου ροής προγράμματος
Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής
Διαβάστε περισσότεραΕγγραφές ραστηριοποίησης
Εγγραφές ραστηριοποίησης Ερώτηση για δέσιµο Κατά την εκτέλεση του προγράµµατος, οι µεταβλητές δένονται (δυναµικά) µε τιµές Οι τιµές αυτές πρέπει να αποθηκευτούν κάπου Κατά συνέπεια, οι µεταβλητές πρέπει
Διαβάστε περισσότεραΟνόματα και Εμβέλεια 4
Ονόματα και Εμβέλεια Ανακύκλωση ονομάτων Η κατανόηση της εμβέλειας είναι άμεση εάν το κάθε τι έχει το δικό του όνομα fun square a = a * a; fun double b = b + b; Αλλά στις μοντέρνες γλώσσες προγραμματισμού,
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα
Διαβάστε περισσότεραΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY
ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY Mία γλώσσα προγραμματισμού συνίσταται από ένα περιορισμένο υποσύνολο της αγγλικής γλώσσας και το οποίο αποτελείται από εκφράσεις σαφώς ορισμένες, χωρίς παρερμηνεία.
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού EEL
Προγραμματιστική άσκηση: Η γλώσσα προγραμματισμού EEL Η EEL (Early Experimental Language) είναι μια μικρή γλώσσα προγραμματισμού. Παρόλο που οι προγραμματιστικές της ικανότητες είναι μικρές, η εκπαιδευτική
Διαβάστε περισσότεραΠρογραμματισμός Αναδρομή
Προγραμματισμός Αναδρομή Προγραμματισμός Προγραμματισμός Κλήσεις Συναρτήσεων Όταν καλείται μια συνάρτηση, πρέπει Να θυμάται σε ποιο σημείο του προγράμματος θα επιστρέψει Να δεσμεύσει χώρο για την τιμή
Διαβάστε περισσότεραΜέρος 2 Κατασκευή Συντακτικού Αναλυτή
Αντίρριο, 05/04/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» To δεύτερο μέρος της εργασίας έχει ως στόχο την ανάπτυξη του συντακτικού αναλυτή με χρήση του bison / byacc. Στο
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διαμόρφωση Ελέγχου Ροής Προγράμματος Δομημένος Προγραμματισμός Ο πιο απλός και συνηθισμένος
Διαβάστε περισσότεραΒασικά Στοιχεία της Java
Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της
Διαβάστε περισσότεραΚεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1
Κεφάλαιο 1 Προγραμματισμός Υπολογιστή Καραμαούνας Πολύκαρπος 1 7.1 Η προγραμματιζόμενη μηχανή Από τις βασικότερες διαφορές ανάμεσα στον υπολογιστή και στις περισσότερες ηλεκτρονικές συσκευές είναι η δυνατότητα
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning Αποθήκευση αντικειμένων Οι θέσεις μνήμης των αντικειμένων κρατάνε μια διεύθυνση στο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά και κοινή συμπεριφορά. Ένα καλούπι/πρότυπο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Αντικείμενα μέσα σε αντικείμενα Ορίζουμε κλάσεις για να ορίσουμε τύπους δεδομένων τους οποίους χρειαζόμαστε Π.χ., ο τύπος δεδομένων Date
Διαβάστε περισσότεραΑρχές Προγραμματισμού Υπολογιστών
Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραΠρογραμματισμός PASCAL
Προγραμματισμός PASCAL 1 PASCAL Η PASCAL σχεδιάστηκε από τον Worth το 1968 στη Ζυρίχη, αρχικά σαν εργαλείο για τη διδασκαλία προγραμματισμού. Είναι γλώσσα για σειριακό προγραμματισμό. 2 Απλή και εύκολη
Διαβάστε περισσότεραΠρογραμματισμός Αναδρομή
Αναδρομή Κλήσεις Συναρτήσεων Όταν καλείται μια συνάρτηση, πρέπει Να θυμάται σε ποιο σημείο του προγράμματος θα επιστρέψει Να δεσμεύσει χώρο για την τιμή που θα επιστρέψει Να δεσμεύσει χώρο για τα ορίσματα
Διαβάστε περισσότεραprocedure P ( < pars > ) < type> f( < pars > ) begin { < local vars > < local vars > < procedure body> < procedure body> end; }
Σχεδίαση Γλωσσών & Μεταγλωττιστές Ενότητα 2: Εμβέλεια Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
Διαβάστε περισσότεραΔομές ελέγχου & επανάληψης
3 Δομές ελέγχου & επανάληψης Τι θα δούμε σε αυτό το μάθημα 1. δομές ελέγχου 1. η δομή if 2. η δομή switch 2. δομές επανάληψης 1. η δομή while 2. η δομή do...while 3. η δομή for 3. break και continue 4.
Διαβάστε περισσότεραΤι σημαίνουν οι τύποι συναρτήσεων στην ML. Παράδειγμα επισημειώσεων τύπων στην ML. Επισημειώσεις τύπων (type annotations) f : A B σημαίνει:
Τι σημαίνουν οι τύποι συναρτήσεων στην ML f : A B σημαίνει: Για κάθε x A, f(x) = για κάποιο στοιχείο y = f(x) B ατέρμονη εκτέλεση η εκτέλεση τερματίζει εγείροντας κάποια εξαίρεση Με λόγια: εάν η αποτίμηση
Διαβάστε περισσότεραΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ
ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΟΔΗΓΙΕΣ: ΝΑ ΑΠΑΝΤΗΣΕΤΕ ΣΕ ΟΛΕΣ ΤΙΣ ΕΡΩΤΗΣΕΙΣ. Το εξεταστικό δοκίμιο αποτελείται από δύο Ενότητες Α και Β. ΕΝΟΤΗΤΑ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ορθή απάντηση
Διαβάστε περισσότεραΓλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά
Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Βασικά χαρακτηριστικά αναπτύχθηκε ως επέκταση της C το 1979 υπερσύνολο της C γλώσσα γενικού σκοπού, γρήγορη, Αντικειμενοστραφής προγραμματισμός (Object
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής
Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java
Διαβάστε περισσότεραΑντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές»
Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» Η εργασία έχει ως στόχο τον σχεδιασμό και την υλοποίηση ενός μεταγλωττιστή για την γλώσσα Ciscal, χρησιμοποιώντας
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών
Διαβάστε περισσότεραΑντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότερα