The Full OAT Language Type System

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

Download "The Full OAT Language Type System"

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

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

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

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

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

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 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

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

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

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

Προγραμματισμός Ι. Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Πίνακες Αντικειμένων Όπως στην C μπορούμε να έχουμε πίνακες από

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

The Simply Typed Lambda Calculus

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 HY150a Φροντιστήριο 3 24/11/2017 1 Assignment 3 Overview Το πρόγραμμα ζητείται να διαβάζει μια λίστα δεδομένων που περιγράφει τα διαθέσιμα τμήματα μνήμης (blocks) ενός ΗΥ. Το πρόγραμμα ζητείται να μεταφορτώνει

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

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

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

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

Η γλώσσα C. Δείκτες (pointers)

Η γλώσσα C. Δείκτες (pointers) Η γλώσσα C Δείκτες (pointers) Δείκτες - Pointers Δείκτης: τι είναι; Μια μεταβλητή που περιέχει τη διεύθυνση μιας άλλης μεταβλητής 1000 1028 Μεταβλητή p int c = 10; int *p; p = &c; 1028 10 Μεταβλητή c *p

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

Ένα απλό πρόγραμμα C

Ένα απλό πρόγραμμα 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. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Σωρός Μεγίστου ως ΑΤΔ Ένας σωρός μεγίστου (max heap) είναι ένας ΑΤΔ που

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

Δομές Δεδομένων - Εργαστήριο 5. Ουρές Προτεραιότητας

Δομές Δεδομένων - Εργαστήριο 5. Ουρές Προτεραιότητας Ουρές Προτεραιότητας Ουρά Προτεραιότητας (Priority Queue) Μια συλλογή αντικειμένων που χαρακτηρίζονται από μια συγκρίσιμη προτεραιότητα. Έχει την λογική εικόνα μιας δομής δεδομένων όπου, αντικείμενα εισέρχονται

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

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C# Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct

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

4. Εισαγωγή στη Java

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. 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 και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

The X 3 Language Specification

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 Γλωσσική Τεχνολογία 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 age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and alpha Language (1/5) ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language Στην alpha δεν υπάρχει main() συνάρτηση, ο κώδικας ξεκινάει την εκτέλεση από την αρχή του

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

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 5: Κλάσεις και Αντικείμενα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Κλάσεις και Αντικείμενα - Κατασκευή, Πρόσβαση Αντικειμένων - Διαχείριση Μνήμης, Garbage

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

Instruction Execution Times

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) 7. Δομές Ελέγχου (Control Statements) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Αλγόριθμοι, δομές ελέγχου και ψευδοκώδικας Δομές ελέγχου στη

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

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-252 Αντικειµενοστρεφής Προγραµµατισµός Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012 Θέμα 1 Θέμα 2 Θέμα 3 Θέμα 4 Θέμα

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

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #6 η : Η λέξη κλειδί this, υπερφόρτωση μεθόδων, κληρονομικότητα, πολυμορφισμός, υπερκάλυψη, επίπεδα προσπέλασης Γαβαλάς Δαμιανός dgavalas@aegean.gr

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

ST5224: Advanced Statistical Theory II

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #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 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

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

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

Statistical Inference I Locally most powerful tests

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) Αποθηκευμένες Διαδικασίες 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 Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ 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. 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 Δείκτες σε συναρτήσεις Προγραμματισμός II 1 lalis@inf.uth.gr Συνάρτηση Ομάδα εντολών που γράφουμε ξεχωριστά για να υλοποιήσουμε μια συγκεκριμένη λειτουργία για καλύτερη / πιο καθαρή δόμηση του κώδικα για

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

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

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

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

EE512: Error Control Coding

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

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 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2 Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Φεβρουάριος 2008 Περιεχόμενα SQL Language

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

Library, package και subprograms

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

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

Διάλεξη 22η: Επιπλέον στοιχεία της C

Διάλεξη 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 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) είναι μία δομή, όπου αποθηκεύεται πληροφορία σχετικά με τα σύμβολα του προγράμματος

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

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

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα

Εισαγωγή στη 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 + ω

ω ω ω ω ω ω+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 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 +

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 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 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

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)

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Εμβέλεια Μεταβλητών Εμβέλεια = το τμήμα του προγράμματος στο οποίο έχει ισχύ ή είναι ορατή η μεταβλητή.

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 23/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές

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

2 Composition. Invertible Mappings

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 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. Λίστες

Δομές Δεδομένων - Εργαστήριο 2. Λίστες Λίστες Λίστες (Lists) : Συλλογή δεδομένων σε δυναμικά δεσμευμένους κόμβους. Κάθε κόμβος περιέχει συνδέσεις προς άλλους κόμβους. Προσπέλαση -στού κόμβου διατρέχοντας όλους τους προηγούμενους. Πολλές παραλλαγές

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

Solutions to Exercise Sheet 5

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) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής

Στοίβες - Ουρές. Στοίβα (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. 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 ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές

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

ΕΦΗΜΕΡΙ Α ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ

ΕΦΗΜΕΡΙ Α ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ E ΕΦΗΜΕΡΙ Α ΤΗΣ ΚΥΒΕΡΝΗΣΕΩΣ ΤΗΣ ΕΛΛΗΝΙΚΗΣ ΗΜΟΚΡΑΤΙΑΣ 25333 19 Ιουλίου 2017 ΤΕΥΧΟΣ ΔΕΥΤΕΡΟ Αρ. Φύλλου 2486 ΑΠΟΦΑΣΕΙΣ Αριθμ. 2263.1-14514972017 Καθιέρωση Τύπου Διεθνούς Πιστοποιητικού Διαχείρισης Έρματος

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 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. 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 ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΗ JAVA ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΗ JAVA ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ Ας δούμε το απλό πρόγραμμα

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

Εισαγωγή στον Προγ/μό Υπολογιστών

Εισαγωγή στον Προγ/μό Υπολογιστών Εισαγωγή στον Προγ/μό Υπολογιστών Διάλεξη 1 Εκφράσεις, κλητικές εκφράσεις, ονόματα Περιεχόμενα Εκφράσεις (expressions) Τελεστές (operators) της Python Κλητικές εκφράσεις (call expressions) Ονόματα (names)

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

department listing department name αχχουντσ ϕανε βαλικτ δδσϕηασδδη σδηφγ ασκϕηλκ τεχηνιχαλ αλαν ϕουν διξ τεχηνιχαλ ϕοην µαριανι

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: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΠΝΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜ ΠΛΗΡΟΦΟΡΙΚΗΣ 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 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 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 Οι πρωταρχικοί

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