The Full OAT Language Type System
|
|
- Ἰωσῆς Νικολαΐδης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 The Full OAT Language Type System March 24, 2011 n Constant int b Constant bool cstr Constant string id Identifiers cid Class identifiers,, m Index typ ::= Types bot bottom bool bool int int ref reference ref? nullable ref ::= References string string cid class typ[] array unop ::= Unary operators - unary signed negation! unary logical negation unary bitwise negation binop ::= Binary operators + binary signed addition * binary signed multiplication - binary signed subtraction == binary equality!= binary inequality < binary signed less-than <= binary signed less-than or equals > binary signed greater-than >= binary signed greater-than or equals & binary bool bitwise and binary bool bitwise or [&] binary int bitwise and 1
2 [ ] binary int bitwise or << binary shift left >> binary logical shift right >>> binary arithmetic shift right const ::= Constants null null b bool n int cstr string path ::= Paths this.id identifiers in this class lhs or call.id path identifiers, e.g, a.b.f().c call ::= Calls id( exp ) global functions super.id( exp ) super methods path( exp ) path methods, e.g. a.f().b.g() lhs or call ::= Left-hand sides or calls lhs left-hand sides call calls lhs ::= Left-hand sides id variables path paths lhs or call[exp] array index exp ::= Expressions const constant this this new [exp 1 ]( fun id->exp 2 ) new new cid( exp ) constructor lhs or call left-hand sides or calls binop exp 1 exp 2 binarith unop exp unarith exp opt ::= Optional expressions None none Some exp some init ::= Initializer exp exp 1..m { init } array 2
3 vdecl ::= Variable declarations typ id =init; vdecls ::= A list of variable declarations ɛ nil vdecl vdecls cons stmt ::= Statements lhs=exp; assignments call; call fail (exp); fail if (exp)stmt stmt opt if if?(ref id=exp)stmt stmt opt if null cast (cid id=exp)stmt stmt opt cast while (exp)stmt while for (vdecls; exp opt ; stmt opt )stmt for {bloc} bloc stmt opt ::= Optional statements None none Some stmt some bloc ::= Blocs vdecls stmt args ::= A list of arguments ɛ typ id,args rtyp ::= Return types unit unit typ types efdecl ::= External function declarations rtyp id(args) extern fdecl ::= Function declarations typ id(args){bloc return exp; } unit id(args){bloc return ; } cinits ::= A list of field initialization ɛ nil this.id =init; cinits cons ctor ::= Constructors 3
4 new (args)( exp )cinits{bloc} cid ext ::= Optional extensions None base <:cid extension fields ::= A list of field declarations ɛ nil typ id; fields cons fdecls ::= A list of function declarations ɛ nil fdecl fdecls cons cdecl ::= Classes class cid cid ext {fields ctor fdecls}; gdecl ::= Global declarations vdecl constants fdecl function declarations efdecl external function declarations cdecl class declarations prog ::= Programs ɛ gdecl prog γ ::= Variable contexts empty γ, id : typ cons Γ ::= A stac of variable contexts empty Γ; γ cons ftyp ::= Function types ( typ )->rtyp ptyp ::= Path types typ ftyp ::= Function contexts empty, id : ftyp cons 4
5 Θ ::= Method contexts empty Θ, id : ftyp cons Φ ::= Field contexts empty Φ, id : typ cons Σ ::= Class signatures empty Σ,cid cid ext {Φ; typ ; Θ} cons cid opt ::= Optional class Some cid some in the scope of class cid None none, otherwise typ opt ::= Optional typ, the return of hasfield None none Some typ some ftyp opt ::= Optional ftyp, the return of hasmethod None none Some ftyp some Σ typ Σ shows that typ is well-formed. Σ bool TYP BOOL Σ int TYP INT Σ ref TYP REF Σ r ref Σ ref? TYP NULLABLE Σ r ref Σ shows that ref is well-formed. Σ r string REF STRING cid cid ext {Φ; typ ; Θ} Σ Σ r cid REF CLASS 5
6 Σ typ Σ r typ[] REF ARRAY Σ typ 1 <:typ 2 Σ shows that typ 1 is a subtype of typ 2. Σ bool<:bool ST BOOL Σ int<:int ST INT Σ r ref 1 <:ref 2 Σ ref 1 <:ref 2 ST REF Σ r ref 1 <:ref 2 Σ ref 1?<:ref 2? ST NULLABLE Σ r ref 1 <:ref 2 Σ ref 1 <:ref 2? ST REF NULLABLE Σ bot<:ref? ST NULL NULLABLE Σ r ref 1 <:ref 2 Σ shows that ref 1 is a sub-reference of ref 2. Σ r string<:string SR STRING Σ c cid 1 <:cid 2 Σ r cid 1 <:cid 2 SR CLASS Σ r typ[]<:typ[] SR ARRAY Σ c cid 1 <:cid 2 Σ shows that cid 1 is a sub-class of cid 2. cid cid ext {Φ; typ ; Θ} Σ Σ c cid<:cid SC REF Σ 1,cid 1 <:cid 2 {Φ; typ ; Θ},Σ2 c cid 1 <:cid 2 SC INHERITANCE Σ c cid 1 <:cid 2 Σ c cid 2 <:cid 3 Σ c cid 1 <:cid 3 SC TRANS 6
7 hasfield Σ cid.id=typ opt Chec if cid has a field id. cid cid ext {Φ; typ ; Θ} Σ id:typ Φ hasfield Σ cid.id=some typ HASFIELD BASE SOME cid None{Φ; typ ; Θ} Σ id Φ hasfield Σ cid.id=none HASFIELD BASE NONE cid 1 <:cid 2 {Φ; typ ; Θ} Σ id Φ hasfield Σ cid2.id=typ opt hasfield Σ cid 1.id=typ opt HASFIELD INHERITANCE hasmethod Σ cid.id=ftyp opt Chec if cid has a method id. cid cid ext {Φ; typ ; Θ} Σ id:ftyp Θ hasmethod Σ cid.id=some ftyp HASMETHOD BASE SOME cid None{Φ; typ ; Θ} Σ id Θ hasmethod Σ cid.id =None HASMETHOD BASE NONE cid 1 <:cid 2 {Φ; typ ; Θ} Σ id Θ hasmethod Σ cid2.id=ftyp opt hasmethod Σ cid 1.id=ftyp opt HASMETHOD INHERITANCE const:typ const has type typ. null:bot CONST BOT b:bool CONST BOOL n:int CONST INT cstr:string CONST STRING binop:ftyp binop is of type ftyp. +:(int int)->int BINTYP PLUS 7
8 *:(int int)->int BINTYP TIMES -:(int int)->int BINTYP MINUS ==:(typ typ)->bool BINTYP EQ!=:(typ typ)->bool BINTYP NEQ <:(int int)->bool BINTYP LT <=:(int int)->bool BINTYP LTE >:(int int)->bool BINTYP GE >=:(int int)->bool BINTYP GTE [&]:(int int)->int BINTYP IAND &:(bool bool)->bool BINTYP AND [ ]:(int int)->int BINTYP IOR :(bool bool)->bool BINTYP OR <<:(int int)->int BINTYP SHL >>:(int int)->int BINTYP SHR >>>:(int int)->int BINTYP SAR unop:ftyp unop is of type ftyp. 8
9 -:(int)->int UTYP NEG!:(bool)->bool UTYP LOGNOT :(int)->int UTYP NOT Σ; ; Γ; cid opt p path:ptyp Σ,, Γ and cid opt show that path has type ptyp. hasfield Σ cid.id=some typ hasmethod Σ cid.id=none Σ; ; Γ; Some cid p this.id:typ P THIS FIELD hasmethod Σ cid.id=some ftyp hasfield Σ cid.id=none Σ; ; Γ; Some cid p this.id:ftyp P THIS METHOD Σ; ; Γ; cid opt l lhs or call:cid hasfield Σ cid.id=some typ hasmethod Σ cid.id=none Σ; ; Γ; cid opt p lhs or call.id:typ P PATH FIELD Σ; ; Γ; cid opt l lhs or call:cid hasmethod Σ cid.id=some ftyp hasfield Σ cid.id=none Σ; ; Γ; cid opt p lhs or call.id:ftyp P PATH METHOD Σ; ; Γ; cid opt call:rtyp Σ,, Γ and cid opt show that call has type rtyp. id:( typ )->rtyp Σ; ; Γ; cidopt exp <:typ Σ; ; Γ; cid opt id( exp ):rtyp CALL FUNC id id:( typ )->rtyp Σ; ; Γ; cidopt exp <:typ Σ; ; Γ; cid opt id( exp ):rtyp CALL BUILTIN cid 1 <:cid 2 {Φ; typ ; Θ} Σ hasmethod Σ cid2.id=some ( typ )->rtyp Σ; ; Γ; cid opt exp <:typ Σ; ; Γ; Some cid 1 super.id( exp ):rtyp CALL SUPER METHOD Σ; ; Γ; cid opt p path:( typ )->rtyp Σ; ; Γ; cidopt exp <:typ Σ; ; Γ; cid opt path( exp ):rtyp CALL PATH METHOD Σ; ; Γ; cid opt l lhs or call:typ Σ,, Γ and cid opt show that lhs or call has type typ. 9
10 Σ; ; Γ; cid opt lhs:typ Σ; ; Γ; cid opt l lhs:typ LC LHS Σ; ; Γ; cid opt call:typ Σ; ; Γ; cid opt l call:typ LC CALL Σ; ; Γ; cid opt lhs:typ Σ,, Γ and cid opt show that lhs has type typ. id:typ Γ Σ; ; Γ; cid opt id:typ LHS VAR Σ; ; Γ; cid opt p path:typ Σ; ; Γ; cid opt path:typ LHS PATH Σ; ; Γ; cid opt l lhs or call:typ[] Σ; ; Γ; cid opt exp:int Σ; ; Γ; cid opt lhs or call[exp]:typ LHS INDEX Σ; ; Γ; cid opt exp:typ Σ,, Γ and cid opt show that exp has type typ. const:typ Σ; ; Γ; cid opt const:typ EXP CONST Σ; ; Γ; Some cid this:cid EXP THIS Σ; ; Γ; cid opt exp 1 :int Σ; ; (Γ; (id : int)); cid opt exp 2 :typ Σ; ; Γ; cid opt new [exp 1 ]( fun id->exp 2 ):typ[] EXP NEW cid cid ext {Φ; typ ; Θ} Σ Σ; ; Γ; cidopt exp <:typ Σ; ; Γ; cid opt new cid( exp ):cid EXP CTOR Σ; ; Γ; cid opt l lhs or call:typ Σ; ; Γ; cid opt lhs or call:typ EXP LHS OR CALL Σ; ; Γ; cid opt exp 1 <:typ 1 Σ; ; Γ; cid opt exp 2 <:typ 2 binop:(typ 1 typ 2 )->typ Σ; ; Γ; cid opt binop exp 1 exp 2 :typ EXP BINARITH Σ; ; Γ; cid opt exp<:typ 1 unop:(typ 1 )->typ Σ; ; Γ; cid opt unop exp:typ EXP UNARITH Σ; ; Γ; cid opt exp opt :typ Σ,, Γ and cid opt show that exp opt is well-formed. 10
11 Σ; ; Γ; cid opt None:bool OPT EXP NONE Σ; ; Γ; cid opt exp:bool Σ; ; Γ; cid opt Some exp:bool OPT EXP SOME Σ; ; Γ; cid opt exp<:typ Σ,, Γ and cid opt show that exp has a subtype of typ. Σ; ; Γ; cid opt exp:typ Σ typ <:typ Σ; ; Γ; cid opt exp<:typ EXPSUB INTRO Σ; ; Γ; cid opt i init:typ Σ,, Γ and cid opt show that init has type typ. Σ; ; Γ; cid opt exp:typ Σ; ; Γ; cid opt i exp:typ INIT EXP Σ; ; Γ; cid opt i init :typ 1..m typ 1..m =typ Σ; ; Γ; cid opt i { init 1..m }:typ[] INIT ARRAY Σ; ; Γ; cid opt init<:typ Σ,, Γ and cid opt show that init has a subtype of typ. Σ; ; Γ; cid opt i init:typ Σ typ <:typ Σ; ; Γ; cid opt init<:typ SINIT INTRO Σ; ; Γ; cid opt vdecls:γ vdecls are well-formed under Σ,, Γ and cid opt, and extend the context to be Γ. Σ; ; Γ; cid opt ɛ:γ VDECLS NIL Σ; ; (Γ; γ); cid opt init<:typ Σ typ id and γ Σ; ; (Γ; (γ, id : typ)); cid opt vdecls:γ Σ; ; (Γ; γ); cid opt typ id=init; vdecls:γ VDECLS CONS Σ; ; Γ; cid opt stmt: o Σ,, Γ and cid opt show that stmt is well-formed. Σ; ; Γ; cid opt lhs:typ Σ; ; Γ; cid opt exp:typ Σ; ; Γ; cid opt lhs=exp; : o STMT ASSIGN Σ; ; Γ; cid opt call:unit Σ; ; Γ; cid opt call; : o STMT CALL Σ; ; Γ; cid opt exp:string Σ; ; Γ; cid opt fail (exp); : o STMT FAIL 11
12 Σ; ; Γ; cid opt exp:bool Σ; ; Γ; cid opt stmt: o Σ; ; Γ; cid opt stmt opt : o Σ; ; Γ; cid opt if (exp)stmt stmt opt : o STMT IF Σ; ; Γ; cid opt exp:ref? Σ; ; (Γ; (id : ref )); cid opt stmt: o Σ; ; Γ; cid opt stmt opt : o Σ; ; Γ; cid opt if?(ref id=exp)stmt stmt opt : o STMT IFNULL Σ; ; Γ; cid opt exp:cid Σ cid<:cid Σ; ; (Γ; (id : cid)); cid opt stmt: o Σ; ; Γ; cid opt stmt opt : o Σ; ; Γ; cid opt cast (cid id=exp)stmt stmt opt : o STMT CAST Σ; ; (Γ; ); cid opt vdecls:γ Σ; ; Γ ; cid opt exp opt :bool Σ; ; Γ ; cid opt stmt opt : o Σ; ; Γ ; cid opt stmt: o Σ; ; Γ; cid opt for (vdecls; exp opt ; stmt opt )stmt: o STMT FOR Σ; ; Γ; cid opt exp:bool Σ; ; Γ; cid opt stmt: o Σ; ; Γ; cid opt while (exp)stmt: o STMT WHILE Σ; ; Γ; cid opt bloc: o Σ; ; Γ; cid opt {bloc}: o STMT BLOCK Σ; ; Γ; cid opt bloc: o Σ,, Γ and cid opt show that bloc is well-formed. Σ; ; (Γ; ); cid opt vdecls:γ Σ; ; Γ ; cid opt stmt : o Σ; ; Γ; cid opt vdecls stmt : o BLOCK INTRO Σ; ; Γ; cid opt stmt opt : o Σ,, Γ and cid opt show that op stmt is well-formed. Σ; ; Γ; cid opt None: o OPT STMT NONE Σ; ; Γ; cid opt stmt: o Σ; ; Γ; cid opt Some stmt: o OPT STMT SOME Σ; ; Γ args:γ args are well-formed under Σ, and Γ, and extend the context to be Γ. Σ; ; Γ ɛ:γ ARGS NIL id and γ Σ typ Σ; ; (Γ; γ, id : typ) args:γ Σ; ; (Γ; γ) typ id,args:γ ARGS CONS 12
13 Σ; ; Γ; cid opt fdecl: o Σ,, Γ and cid opt show that fdecl is well-formed. Σ; ; (Γ; ) args:γ Σ; ; (Γ ; ); cid opt vdecls:γ Σ; ; Γ ; cid opt stmt : o Σ; ; Γ ; cid opt exp<:typ Σ typ Σ; ; Γ; cid opt typ id(args){vdecls stmt return exp; }: o FDECL FUNC Σ; ; (Γ; ) args:γ Σ; ; (Γ ; ); cid opt vdecls:γ Σ; ; Γ ; cid opt stmt : o Σ; ; Γ; cid opt unit id(args){vdecls stmt return ; }: o FDECL PROC Σ id:ftyp can override cid ext Σ shows that id with type ftyp can override parent class cid ext. Σ id:ftyp can override None OR OBJECT hasmethod Σ cid.id =None Σ id:ftyp can override <:cid OR NOMETHOD hasmethod Σ cid.id=some ( typ )->typ Σ typ <:typ Σ id:( typ )->typ can override <:cid Σ typ<:typ OR FUNC hasmethod Σ cid.id=some ( typ )->unit Σ typ <:typ Σ id:( typ )->unit can override <:cid OR PROC cid ext ; Φ fields:φ Extending Φ to be Φ by adding field declarations with parent class cid ext. cid ext ; Φ ɛ:φ GENF NIL id Φ None; Φ, id : typ fields:φ None; Φ typ id; fields:φ GENF BASE id Φ hasfield Σ cid.id=none <:cid; Φ, id : typ fields:φ <:cid; Φ typ id; fields:φ GENF INHERITANCE Σ; cid ext ; Φ; Θ fdecls:θ Extending Θ to be Θ by adding method declaratons with parent class cid ext. Σ; cid ext ; Φ; Θ ɛ:θ GENM NIL 13
14 id Φ and Θ Σ; cid ext ; Φ; Θ, id : ( typ )->typ fdecls:θ Σ; cid ext ; Φ; Θ typ id(typ id ){vdecls stmt return exp; } fdecls:θ GENM TYP id Φ and Θ Σ; cid ext ; Φ; Θ, id : ( typ )->unit fdecls:θ Σ; cid ext ; Φ; Θ unit id(typ id ){vdecls stmt return ; } fdecls:θ GENM UNIT Σ fields: o Σ shows that fields is well-formed. Σ ɛ: o WFF NIL Σ typ Σ fields: o Σ typ id; fields: o WFF CONS Σ; ; Γ; cid fdecl: o A method fdecl of class cid is well-formed. Σ; ; Γ; Some cid typ id(typ id ){vdecls stmt return exp; }: o cid cid ext Σ Σ id:( typ )->typ can override cidext Σ; ; Γ; cid typ id(typ id ){vdecls stmt return exp; }: o WFM TYP Σ; ; Γ; Some cid unit id(typ id ){vdecls stmt return ; }: o cid cid ext Σ Σ id:( typ )->unit can override cidext Σ; ; Γ; cid unit id(typ id ){vdecls stmt return ; }: o WFM UNIT Σ; ; Γ; cid cinits: o Σ, and Γ show that cinits is well-formed. Σ; ; Γ; cid ɛ: o CINITS NIL cid cid ext {Φ; typ ; Θ} Σ id:typ Φ Σ; ; Γ; None init<:typ Σ; ; Γ; cid cinits: o Σ; ; Γ; cid this.id=init; cinits: o CINITS CONS Σ; ; Γ; cid ctor: o ctor is well-formed. Σ; ; (Γ; ) typ id :Γ Σ; ; Γ ; cid this. name=cid; cinits: o Σ; ; Γ ; Some cid bloc: o Σ; ; Γ; cid new (typ id )( )cinits{bloc}: o CTOR BASE 14
15 Σ; ; (Γ; ) typ id :Γ cid 1 <:cid 2 {Φ; typ ; Θ} Σ cid 2 cid ext 2 {Φ 2 ; typ ; Θ2 } Σ Σ; ; Γ ; None exp <:typ Σ; ; Γ ; cid 1 this. name=cid 1 ; cinits: o Σ; ; Γ ; Some cid 1 bloc: o Σ; ; Γ; cid 1 new (typ id )( exp )cinits{bloc}: o CTOR INHERITANCE Σ; ; Γ cdecl: o cdecl is well-formed. Σ fields: o Σ; ; Γ; cid ctor: o Σ; ; Γ; cid fdecl : o Σ; ; Γ class cid cid ext {fields ctor fdecl };: o CDECL INTRO Σ; prog:σ ; Extending contexts by adding function and class declarations. Σ; ɛ:σ; GENSD NIL Σ; prog:σ ; Σ; vdecl prog:σ ; GENSD VDECL cid Σ cid ext Σ cid ext ; fields:φ Σ; cid ext ; Φ; fdecl :Θ Σ,cid cid ext {Φ; typ ; Θ}; prog:σ ; Σ; class cid cid ext {fields new (typ id )( expm m )cinits{bloc} fdecl }; prog:σ ; GENSD CDECL id Σ;, id : ( typ )->rtyp prog:σ ; Σ; rtyp id(typ id ) extern prog:σ ; GENSD EFUNC id Σ;, id : ( typ )->typ prog:σ ; Σ; typ id(typ id ){vdecls stmt return exp; } prog:σ ; GENSD FUNC TYP id Σ;, id : ( typ )->unit prog:σ ; Σ; unit id(typ id ){vdecls stmt return ; } prog:σ ; GENSD FUNC UNIT Σ; ; Γ prog: o Σ, and Γ show that prog is well-formed. Σ; ; Γ ɛ: o PROG NIL Σ typ Σ; ; ; None init<:typ id and Γ Σ; ; γ, id : typ prog: o Σ; ; γ typ id=init; prog: o PROG VDECL Σ; ; Γ; None fdecl: o Σ; ; Γ prog: o Σ; ; Γ fdecl prog: o PROG FDECL 15
16 Σ; ; Γ cdecl: o Σ; ; Γ prog: o Σ; ; Γ cdecl prog: o PROG CDECL prog: o prog is well-formed. Obect None { name: String ; ɛ; get name:()-> String }; prog:σ; Σ; ; prog: o prog: o WF INTRO 16
ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 12: Συνοπτική Παρουσίαση Ανάπτυξης Κώδικα με το Matlab Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Εργαστήριο Οργάνωσης Η/Υ. Δαδαλιάρης Αντώνιος
Εργαστήριο Οργάνωσης Η/Υ Δαδαλιάρης Αντώνιος dadaliaris@uth.gr Σχόλια: - - This is a single line comment - - There is no alternative way to write multi-line comments Αναγνωριστικά: Τα αναγνωριστικά
Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit
Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit Ting Zhang Stanford May 11, 2001 Stanford, 5/11/2001 1 Outline Ordinal Classification Ordinal Addition Ordinal Multiplication Ordinal
Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Dynamic types, Lambda calculus machines Apr 21 22, 2016 1 Dynamic types and contracts (a) To make sure you understand the
Η γλώσσα C. Δείκτες (pointers)
Η γλώσσα C Δείκτες (pointers) Δείκτες - Pointers Δείκτης: τι είναι; Μια μεταβλητή που περιέχει τη διεύθυνση μιας άλλης μεταβλητής 1000 1028 Μεταβλητή p int c = 10; int *p; p = &c; 1028 10 Μεταβλητή c *p
EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)
EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 5: Component Adaptation Environment (COPE) Performing Static Analysis 1 Class Name: The fully qualified name of the specific class Type: The type of the class
8. Μέθοδοι (Methods)
8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και
Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο
Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial
ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial Introduction Το Javadoc είναι ένα εργαλείο που παράγει αρχεία html (παρόμοιο με τις σελίδες στη διεύθυνση http://docs.oracle.com/javase/8/docs/api/index.html) από τα σχόλια
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?
Εισαγωγή στα Λειτουργικά Συστήματα
Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 1 3 S H E L L S C R I P T S : T E S T, I F Α Ν Τ Ω Ν Η ς Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο ς Διεργασίες: Γονείς και Παιδιά Κάθε διεργασία κάνοντας exit
(Διαφάνειες Νίκου Βιδάκη)
(Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό
Αντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Formal Semantics. 1 Type Logic
Formal Semantics Principle of Compositionality The meaning of a sentence is determined by the meanings of its parts and the way they are put together. 1 Type Logic Types (a measure on expressions) The
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2010 Ι ΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙ ΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Ανάθεση: Πέµπτη 15 Απριλίου 2010, 11:00 (πρωί)
Προγραμματισμός Ι. Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Πίνακες Αντικειμένων Όπως στην C μπορούμε να έχουμε πίνακες από
The Simply Typed Lambda Calculus
Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 7: Ενθυλάκωση (encapsulation), Τροποποιητές(modifiers) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ενθυλάκωση -Τροποποιητές Πρόσβασης (Access Modifiers), public, protected, private,
HY150a Φροντιστήριο 3 24/11/2017
HY150a Φροντιστήριο 3 24/11/2017 1 Assignment 3 Overview Το πρόγραμμα ζητείται να διαβάζει μια λίστα δεδομένων που περιγράφει τα διαθέσιμα τμήματα μνήμης (blocks) ενός ΗΥ. Το πρόγραμμα ζητείται να μεταφορτώνει
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2008 ΔΙΔΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙΔΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Παράδοση: Πέμπτη 10 Απριλίου 2008, 24:00 (μεσάνυχτα)
Η γλώσσα C. Δείκτες (pointers)
Η γλώσσα C Δείκτες (pointers) Δείκτες - Pointers Δείκτης: τι είναι; Μια μεταβλητή που περιέχει τη διεύθυνση μιας άλλης μεταβλητής 1000 1028 Μεταβλητή p int c = 10; int *p; p = &c; 1028 10 Μεταβλητή c *p
Ένα απλό πρόγραμμα C
Δομή Προγράμματος C pre-processor directives global declarations function prototypes main() local variables to function main ; statements associated with function main ; f1() local variables to function
Δομές Δεδομένων. Δημήτρης Μιχαήλ. Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Σωρός Μεγίστου ως ΑΤΔ Ένας σωρός μεγίστου (max heap) είναι ένας ΑΤΔ που
Δομές Δεδομένων - Εργαστήριο 5. Ουρές Προτεραιότητας
Ουρές Προτεραιότητας Ουρά Προτεραιότητας (Priority Queue) Μια συλλογή αντικειμένων που χαρακτηρίζονται από μια συγκρίσιμη προτεραιότητα. Έχει την λογική εικόνα μιας δομής δεδομένων όπου, αντικείμενα εισέρχονται
Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#
Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct
4. Εισαγωγή στη Java
ΠΠΜ 401 - Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής 4. Εισαγωγή στη Java Χειμερινό εξάμηνο 2014 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Εισαγωγή στη γλώσσα προγραμματισμού
6.1. Dirac Equation. Hamiltonian. Dirac Eq.
6.1. Dirac Equation Ref: M.Kaku, Quantum Field Theory, Oxford Univ Press (1993) η μν = η μν = diag(1, -1, -1, -1) p 0 = p 0 p = p i = -p i p μ p μ = p 0 p 0 + p i p i = E c 2 - p 2 = (m c) 2 H = c p 2
Γλώσσες Προγραμματισμού Μεταγλωττιστές. Πίνακας Συμβόλων
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Πίνακας Συμβόλων Κατασκευή Πληροφορία του ΠΣ Μεταβλητές (είδη, τύπος
FORTRAN και Αντικειμενοστραφής Προγραμματισμός
FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών
The X 3 Language Specification
The X 3 Language Specification Ross Tate October 11, 2013 1 Lexing and Parsing 1.1 Core and Full Languages ν v ::= variable/function/method names ν c ::= class/interface names ν p ::= type-parameter names
Γλωσσική Τεχνολογία. Object-Orientation in Python
Γλωσσική Τεχνολογία Object-Orientation in Python Everything Is an Object >>> a=[1,2,3] >>> b=a >>> b.append(4) Τι περιέχουν τα a και b? >>> def hello():... print "hello world!"... >>> def fcall(f):...
alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and
alpha Language (1/5) ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language Στην alpha δεν υπάρχει main() συνάρτηση, ο κώδικας ξεκινάει την εκτέλεση από την αρχή του
Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 5: Κλάσεις και Αντικείμενα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Κλάσεις και Αντικείμενα - Κατασκευή, Πρόσβαση Αντικειμένων - Διαχείριση Μνήμης, Garbage
Instruction Execution Times
1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables
7. Δομές Ελέγχου (Control Statements)
7. Δομές Ελέγχου (Control Statements) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Αλγόριθμοι, δομές ελέγχου και ψευδοκώδικας Δομές ελέγχου στη
Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012
Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Θέμα 1 Θέμα 2 Θέμα 3 Θέμα 4 Θέμα
Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #6 η : Η λέξη κλειδί this, υπερφόρτωση μεθόδων, κληρονομικότητα, πολυμορφισμός, υπερκάλυψη, επίπεδα προσπέλασης Γαβαλάς Δαμιανός dgavalas@aegean.gr
ST5224: Advanced Statistical Theory II
ST5224: Advanced Statistical Theory II 2014/2015: Semester II Tutorial 7 1. Let X be a sample from a population P and consider testing hypotheses H 0 : P = P 0 versus H 1 : P = P 1, where P j is a known
Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων
Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Εισαγωγή στην C++ 1 1 / 27 Εισαγωγή στην
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2
Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Overview. Transition Semantics. Configurations and the transition relation. Executions and computation
Overview Transition Semantics Configurations and the transition relation Executions and computation Inference rules for small-step structural operational semantics for the simple imperative language Transition
Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6
Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:
Statistical Inference I Locally most powerful tests
Statistical Inference I Locally most powerful tests Shirsendu Mukherjee Department of Statistics, Asutosh College, Kolkata, India. shirsendu st@yahoo.co.in So far we have treated the testing of one-sided
Εισαγωγή στα Λειτουργικά Συστήματα
Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 1 2 S H E L L S C R I P T S A R G U M E N T S + F O R Α Ν Τ Ω Ν Η ς Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο ς Χρήση Command-Line Parameters Κάθε φορά που το κέλυφος
Βασικές Έννοιες Δοµών Δεδοµένων
Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες
Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)
Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα
AVL-trees C++ implementation
Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ AVL-trees C++ implementation Δομές Δεδομένων Μάριος Κενδέα 31 Μαρτίου 2015 kendea@ceid.upatras.gr Εισαγωγή (1/3) Δυαδικά Δένδρα Αναζήτησης:
Αντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
About these lecture notes. Simply Typed λ-calculus. Types
About these lecture notes Simply Typed λ-calculus Akim Demaille akim@lrde.epita.fr EPITA École Pour l Informatique et les Techniques Avancées Many of these slides are largely inspired from Andrew D. Ker
Δείκτες σε συναρτήσεις. Προγραμματισμός II 1
Δείκτες σε συναρτήσεις Προγραμματισμός II 1 lalis@inf.uth.gr Συνάρτηση Ομάδα εντολών που γράφουμε ξεχωριστά για να υλοποιήσουμε μια συγκεκριμένη λειτουργία για καλύτερη / πιο καθαρή δόμηση του κώδικα για
Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011
Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include
EE512: Error Control Coding
EE512: Error Control Coding Solution for Assignment on Finite Fields February 16, 2007 1. (a) Addition and Multiplication tables for GF (5) and GF (7) are shown in Tables 1 and 2. + 0 1 2 3 4 0 0 1 2 3
Homework 8 Model Solution Section
MATH 004 Homework Solution Homework 8 Model Solution Section 14.5 14.6. 14.5. Use the Chain Rule to find dz where z cosx + 4y), x 5t 4, y 1 t. dz dx + dy y sinx + 4y)0t + 4) sinx + 4y) 1t ) 0t + 4t ) sinx
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2 Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Φεβρουάριος 2008 Περιεχόμενα SQL Language
Library, package και subprograms
Library, package και subprograms Libraries Packages Subprograms Procedures Functions Overloading Αριθμητικά πακέτα Type conversion Shift operators Παράδειγμα Library - Package Ασκήσεις-Προβλήματα 12/8/2009
A ΜΕΡΟΣ. 1 program Puppy_Dog; 2 3 begin 4 end. 5 6 { Result of execution 7 8 (There is no output from this program ) 9 10 }
A ΜΕΡΟΣ 1 program Puppy_Dog; begin 4 end. 5 6 { Result of execution 7 (There is no output from this program ) 10 } (* Κεφάλαιο - Πρόγραµµα EX0_.pas *) 1 program Kitty_Cat; begin 4 Writeln('This program');
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2011-2012 Γιάννης Γαροφαλάκης, Καθηγητής Αθανάσιος Ν.Νικολακόπουλος, Υποψήφιος Διδάκτορας 28 Μαρτίου 2012 Περίληψη Σκοπός της παρούσας
Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript
Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)
Διάλεξη 22η: Επιπλέον στοιχεία της C
Διάλεξη 22η: Επιπλέον στοιχεία της C Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Extra CS100, 2018-2019 1 / 11 Οργάνωση του κώδικα Ένα πρόγραμμα
Lab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1
Lab 1: C/C++ Pointers and time.h Panayiotis Charalambous 1 Send email to totis@cs.ucy.ac.cy Subject: EPL231-Registration Body: Surname Firstname ID Group A or B? Panayiotis Charalambous 2 Code Guidelines:
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ηµιουργία και χειρισµός LIFO λιστών µεταβλητού µήκους µε στοιχεία ακεραίους αριθµούς. Γενίκευση για χειρισµό λιστών πραγµατικών
Ο πίνακας συμβόλων (symbol table) είναι μία δομή, όπου αποθηκεύεται πληροφορία σχετικά με τα σύμβολα του προγράμματος
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ Φροντιστήριο 3 ο Symbol Table & Scopes Ι ΑΣΚΩΝ Αντώνιος Σαββίδης
Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα
Εισαγωγή στη Fortran Μάθημα 3 ο Ελευθερία Λιούκα liouka.eleftheria@gmail.com Περιεχόμενα Loops External Functions Subroutines Arrays Common mistakes Loops Ανάγκη να εκτελέσουμε τις ίδιες εντολές πολλές
ω ω ω ω ω ω+2 ω ω+2 + ω ω ω ω+2 + ω ω+1 ω ω+2 2 ω ω ω ω ω ω ω ω+1 ω ω2 ω ω2 + ω ω ω2 + ω ω ω ω2 + ω ω+1 ω ω2 + ω ω+1 + ω ω ω ω2 + ω
0 1 2 3 4 5 6 ω ω + 1 ω + 2 ω + 3 ω + 4 ω2 ω2 + 1 ω2 + 2 ω2 + 3 ω3 ω3 + 1 ω3 + 2 ω4 ω4 + 1 ω5 ω 2 ω 2 + 1 ω 2 + 2 ω 2 + ω ω 2 + ω + 1 ω 2 + ω2 ω 2 2 ω 2 2 + 1 ω 2 2 + ω ω 2 3 ω 3 ω 3 + 1 ω 3 + ω ω 3 +
SOAP API. https://bulksmsn.gr. Table of Contents
SOAP API https://bulksmsn.gr Table of Contents Send SMS...2 Query SMS...3 Multiple Query SMS...4 Credits...5 Save Contact...5 Delete Contact...7 Delete Message...8 Email: sales@bulksmsn.gr, Τηλ: 211 850
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1
k A = [k, k]( )[a 1, a 2 ] = [ka 1,ka 2 ] 4For the division of two intervals of confidence in R +
Chapter 3. Fuzzy Arithmetic 3- Fuzzy arithmetic: ~Addition(+) and subtraction (-): Let A = [a and B = [b, b in R If x [a and y [b, b than x+y [a +b +b Symbolically,we write A(+)B = [a (+)[b, b = [a +b
Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in
Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in : tail in X, head in A nowhere-zero Γ-flow is a Γ-circulation such that
Math 6 SL Probability Distributions Practice Test Mark Scheme
Math 6 SL Probability Distributions Practice Test Mark Scheme. (a) Note: Award A for vertical line to right of mean, A for shading to right of their vertical line. AA N (b) evidence of recognizing symmetry
ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών. Επώνυμο Όνομα: Α.Μ. : Εξάμηνο : Αίθουσα
ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών, Τμήμα Πληροφορικής και Επικοινωνιών Προγραμματιστικές Εφαρμογές στο Διαδίκτυο (Θ) Τελική Εξέταση - Διδάσκων: Δ. Κοτζίνος Επώνυμο Όνομα: Α.Μ. : Εξάμηνο : Αίθουσα
Δυναμική μνήμη με πίνακες και λίστες
Δυναμική μνήμη με πίνακες και λίστες Ατζέντα ονομάτων Οι πίνακες βοηθάνε στην εύκολη προσπέλαση, στην σειριοποίηση των δεδομένων για αποθήκευση ή μετάδοση. Απαιτούν ωστόσο είτε προκαταβολική δέσμευση μνήμης
Section 9.2 Polar Equations and Graphs
180 Section 9. Polar Equations and Graphs In this section, we will be graphing polar equations on a polar grid. In the first few examples, we will write the polar equation in rectangular form to help identify
- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)
Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο
Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and
Approximation of distance between locations on earth given by latitude and longitude
Approximation of distance between locations on earth given by latitude and longitude Jan Behrens 2012-12-31 In this paper we shall provide a method to approximate distances between two points on earth
Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο
Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2014-2015 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα
ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Εμβέλεια Μεταβλητών Εμβέλεια = το τμήμα του προγράμματος στο οποίο έχει ισχύ ή είναι ορατή η μεταβλητή.
Αντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 23/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές
2 Composition. Invertible Mappings
Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan Composition. Invertible Mappings In this section we discuss two procedures for creating new mappings from old ones, namely,
CRASH COURSE IN PRECALCULUS
CRASH COURSE IN PRECALCULUS Shiah-Sen Wang The graphs are prepared by Chien-Lun Lai Based on : Precalculus: Mathematics for Calculus by J. Stuwart, L. Redin & S. Watson, 6th edition, 01, Brooks/Cole Chapter
Δομές Δεδομένων - Εργαστήριο 2. Λίστες
Λίστες Λίστες (Lists) : Συλλογή δεδομένων σε δυναμικά δεσμευμένους κόμβους. Κάθε κόμβος περιέχει συνδέσεις προς άλλους κόμβους. Προσπέλαση -στού κόμβου διατρέχοντας όλους τους προηγούμενους. Πολλές παραλλαγές
Solutions to Exercise Sheet 5
Solutions to Eercise Sheet 5 jacques@ucsd.edu. Let X and Y be random variables with joint pdf f(, y) = 3y( + y) where and y. Determine each of the following probabilities. Solutions. a. P (X ). b. P (X
Στοίβες - Ουρές. Στοίβα (stack) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής
Στοίβες - Ουρές Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής οµές εδοµένων 1 Στοίβα (stack) οµή τύπουlifo: Last In - First Out (τελευταία εισαγωγή πρώτη εξαγωγή) Περιορισµένος
Fourier Series. MATH 211, Calculus II. J. Robert Buchanan. Spring Department of Mathematics
Fourier Series MATH 211, Calculus II J. Robert Buchanan Department of Mathematics Spring 2018 Introduction Not all functions can be represented by Taylor series. f (k) (c) A Taylor series f (x) = (x c)
Τεχνολογίες Υλοποίησης Αλγορίθµων
Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Εισαγωγή στην C++ - 1 1 / 34 Αδειες Χρήσης Το παρόν εκπαιδευτικό
ΕΠΛ 012. JavaScripts
ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές
ΕΦΗΜΕΡΙ Α ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ
E ΕΦΗΜΕΡΙ Α ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ ΤΗΣ ΕΛΛΗΝΙΚΗΣ ΗΜΟΚΡΑΤΙΑΣ 25333 19 Ιουλίου 2017 ΤΕΥΧΟΣ ΔΕΥΤΕΡΟ Αρ. Φύλλου 2486 ΑΠΟΦΑΣΕΙΣ Αριθμ. 2263.1-14514972017 Καθιέρωση Τύπου Διεθνούς Πιστοποιητικού Διαχείρισης Έρματος
ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο
3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β
3.4 SUM AND DIFFERENCE FORMULAS Page Theorem cos(αβ cos α cos β -sin α cos(α-β cos α cos β sin α NOTE: cos(αβ cos α cos β cos(α-β cos α -cos β Proof of cos(α-β cos α cos β sin α Let s use a unit circle
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΗ JAVA ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΗ JAVA ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ Ας δούμε το απλό πρόγραμμα
Εισαγωγή στον Προγ/μό Υπολογιστών
Εισαγωγή στον Προγ/μό Υπολογιστών Διάλεξη 1 Εκφράσεις, κλητικές εκφράσεις, ονόματα Περιεχόμενα Εκφράσεις (expressions) Τελεστές (operators) της Python Κλητικές εκφράσεις (call expressions) Ονόματα (names)
department listing department name αχχουντσ ϕανε βαλικτ δδσϕηασδδη σδηφγ ασκϕηλκ τεχηνιχαλ αλαν ϕουν διξ τεχηνιχαλ ϕοην µαριανι
She selects the option. Jenny starts with the al listing. This has employees listed within She drills down through the employee. The inferred ER sttricture relates this to the redcords in the databasee
Θεωρία Πληροφορίας - Κώδικες. Γιαννακόπουλος Θεόδωρος
Θεωρία Πληροφορίας - Κώδικες Γιαννακόπουλος Θεόδωρος 1 Θεωρία Πληροφορίας - Κώδικες Εργαστήριο 1 Εισαγωγή στην γλώσσα Python 2 Εισαγωγή στην Python: Γενικά - 1991, κυρίως τελευταια 10 χρονια - διερµηνευόµενη
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ
ΠΝΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΣ ΔΔΟΜΝΩΝ ΚΙ ΛΓΟΡΙΘΜΟΙ ΗΜΡΟΜΗΝΙ: 14/11/2018 ΔΙΓΝΩΣΤΙΚΟ ΠΝΩ Σ ΔΝΔΡΙΚΣ ΔΟΜΣ ΚΙ ΓΡΦΟΥΣ Διάρκεια: 45 λεπτά Ονοματεπώνυμο:. ρ. Ταυτότητας:. ΒΘΜΟΛΟΓΙ ΣΚΗΣΗ ΒΘΜΟΣ
Αρχικοποίηση Αντικειµένων & Κλάσεων στη Java Object Instantiation & Class Initialisation Κώστας Σαΐδης saiko@di.uoa.gr http://daemon.di.uoa.gr/daemon/issue4 Μάρτιος 2004 Η Αρχή είναι το ήµισυ του Παντός
Παλεπηζηήκην Πεηξαηώο Τκήκα Πιεξνθνξηθήο Πξόγξακκα Μεηαπηπρηαθώλ Σπνπδώλ «Πξνεγκέλα Σπζηήκαηα Πιεξνθνξηθήο»
Παλεπηζηήκην Πεηξαηώο Τκήκα Πιεξνθνξηθήο Πξόγξακκα Μεηαπηπρηαθώλ Σπνπδώλ «Πξνεγκέλα Σπζηήκαηα Πιεξνθνξηθήο» Μεηαπηπρηαθή Γηαηξηβή Τίηινο Γηαηξηβήο Ανάπτυξη διαδικτυακού εκπαιδευτικού παιχνιδιού για τη
CHAPTER 12: PERIMETER, AREA, CIRCUMFERENCE, AND 12.1 INTRODUCTION TO GEOMETRIC 12.2 PERIMETER: SQUARES, RECTANGLES,
CHAPTER : PERIMETER, AREA, CIRCUMFERENCE, AND SIGNED FRACTIONS. INTRODUCTION TO GEOMETRIC MEASUREMENTS p. -3. PERIMETER: SQUARES, RECTANGLES, TRIANGLES p. 4-5.3 AREA: SQUARES, RECTANGLES, TRIANGLES p.
Lab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1
Lab 1: C/C++ Pointers and time.h Panayiotis Charalambous 1 Send email to totis@cs.ucy.ac.cy Subject: EPL231-Registration Body: Surname Firstname ID Group A or B? Panayiotis Charalambous 2 Code Guidelines:
Αντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 16/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί