Paraméter továbbítás. (parameter passing) Paraméteres specifikációk: Pl.: string(spec) : hasonló specifikációk családja; string(nat); string(data); string(integer);

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék IT rendszerek modellezése Micskei Zoltán
IT infrastruktúra modellezése
1.) A programfejlesztés hagyományos életciklus modellje és adattípus.
Turbo Pascal Változók.
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
Vizuális modellezés Uml és osztálydiagram UML eszközök

Szintézis Keresztes Péter, 2005 A GAJSKI-KUHN DIAGRAM Alapelv: Rendezzük a digitális- rendszerek leírásait célok és szintek szerint.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
Gravitációs erő (tömegvonzás)
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
6. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
5. előadás Parametrikus polimorfizmus. Generikus programozás
2. előadás Programegység, fordítási egység, könyvtári egység, beágyazás, blokkszerkezet, alprogramok, csomagok.
Annotációk a Java 5 nyelvben Kozsik Tamás. Annotációk Módosítószavak bővítése A programszöveg elemeihez rendelhetők –Csomagokhoz, típusokhoz, metódusokhoz,
2. előadás Programegység, fordítási egység, könyvtári egység, beágyazás, blokkszerkezet, alprogramok, csomagok.
6. előadás Hatókör, láthatóság, élettartam. Változók leképzése a memóriára. Blokkszerkezetes nyelvek. Kivételkezelés.
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Alphabet is a type specification = sorts: alphabet oprs: a:  alphabet,...,z:  alphabet end alphabet; nat is a type specification = sorts:nat oprs:zerus:
Nem determinisztikusság és párhuzamosság. A nem determinisztikusság a párhuzamosságban gyökeredzik. Példa: S par  parbegin x:=0   x:=1   x:=2 parend;
Operációs rendszerek gyakorlat 4. Gyakorlat Vakulya Gergely.
Operációs rendszerek gyakorlat 6. Gyakorlat Vakulya Gergely.
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Karakterláncok Páll Boglárka.
Karakterláncok Páll Éva Boglárka. Ismétlés Deklaráció var s:string; Length(karlánc) Concat(karlánc1,...,karláncn) Copy(miből,honnan,hányat) Delete(miből,honnan,hányat)
Klasszikus Programozás a FoxPro-ban
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Scala KOVÁCS VINCENT. Gyűjtemények – Collections  Scala több féle gyűjteménnyel rendelkezik:  Listák (Lists)  Halmazok (Sets)  Maps  Tuple  A gyűjtemények.
Fák.
1 Verseny 2000 gyakorlat ASP. 2 Gyakorlat Web létrehozása: Frontpage 2000 New Web:
XML fejlesztések TSQL fejlesztések Tábla paraméter SQLCLR fejlesztések 8k limit feloldása Több paraméteres UDA-ek Ordered UDF-ek Entity Framework ADO.NET.
Termelő-fogysztó modell. A probléma absztrakt megfogalmazása: informális leírás. Adott egy N elemű közösen használt tároló, N  1. Adott a folyamatoknak.
IT rendszerek modellezése
Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.
Egyenesvonalú (lineáris) adatszerkezetek
Adatbázis rendszerek II
1 Mivel foglalkozunk a laborokon? 7. hét: Do-Loop-Until Do-Until-Looptömbök Function 7. hét: Do-Loop-Until és Do-Until-Loop ciklusok. Egy indexes tömbök,
Adamkó Attila UML2 Adamkó Attila
1 Mivel foglalkoz(t)unk a laborokon? 1.hét: Word dokumentumok 1.hét: Word dokumentumok tagolása, tartalomjegyzék, ábrák számozása, hivatkozások, egyenlet-szerkesztő.
Mintapélda Készítsünk programot, amely beolvas egy egész számot, és eldönti arról, hogy prímszám-e. Készítsünk programot, amely beolvas egy egész számot,
Mobil alkalmazások fejlesztése Vonalkód leolvasó Symbian alapú mobiltelefonra Készítette: Tóth Balázs Viktor.
Programozás I. 3. gyakorlat.
Tervminták megvalósítása B formális nyelven Papp Olga Vadász Péter Témavezető: Fóthi Ákos.
A 2. géptermi beszámoló VBA anyagának összefoglalása
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Félcsoport (semigroup) = ({s},{ *: s s  s [infix]}. semigroup is a type specification = sorts: s oprs: *: s s  s [infix] eqns: m 1, m 2, m 3  s (m 1.
Paraméterátadó-morfizmus diagramja: p: tartalmazás SPEC SPEC 1 h : SPEC  SPEC' h 1 : SPEC 1  SPEC 1 ' SPEC' SPEC 1 ' p': tartalmazás SPEC: paraméter.
1 Függvények használata – az első függvénynél a formulát háromszor be kell írni, rendre az x, x+h, x-h argumentumokkal, – a második függvénynél az új (feltételes.
Az 5,6,7 laborok VBA anyagának összefoglalása
Példa. Az ábrázolás szemléltetése.  = ({stack, elem },{ create :  stack; push : stack elem  stack}),  = ( {vector, nat, elem}, { create c :  vector.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
PLC PROGRAMOZÁS Gyakorlat
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Web programozás és haladó fejlesztési technikák – C#
3. osztályban.
Előadás másolata:

Paraméter továbbítás. (parameter passing) Paraméteres specifikációk: Pl.: string(spec) : hasonló specifikációk családja; string(nat); string(data); string(integer); string(alphabet);... A paraméteres specifikáció előnye: formális paraméterekkel felírt specifikáció [formal spec.]; általános mechanizmus segítségével aktuális paraméterekkel felírt specifikáció; [érték specifikáció (value spec.)] Mechanizmus: paraméter továbbítás. Egyszerű paraméter passing: "spec" egyszerű adattípus; Iterált paraméter passing: "spec" paraméteres adattípus;

Paraméter továbbítás. (parameter passing) Adva: PSPEC paraméter-specifikáció: p SPECSPEC1 SPEC = (S,OP,E); formális paraméterek specifikációja. p: benne foglaltatás; SPEC1 = SPEC  (S1,OP1,E1); Például: p datastring(data) Adva: h: SPEC  SPEC' morfizmus; ahol SPEC' = (S',OP',E') : aktuális paraméterek specifikációja;

A paraméter továbbítás diagramja: p SPECSPEC1 h = h1 SPEC'SPEC1' p' SPEC1' : érték specifikáció; h: SPEC  SPEC' :specifikáció morfizmus; p': benne foglaltatás; h1: h1(s); s  S  S1: if s  S1 then s else h(s) fi.  (N:s 1...s n  s)  OP  OP': h1(N:s 1...s n  s) = if N:s 1...s n  s  OP1 then N:h1(s 1 )...h 1 (sn)  h1(s) else h(N):h(s 1 )...h(s n )  h(s) fi. SPEC1'= SPEC'  (S1',OP1',E1'); S1'= S1, OP1'= h1(op1), E1'= h1  (E1),

Példa: p data string(data) h = h1 nat string(nat) p'

string(data) is a type specification = parameters = data+ exports = type sort: string oprs: empty:  string make: data  string concat: string string  string ladd: data string  string radd: string data  string eqns: d  data, s,s 1,s 2,s 3  string; concat(s,empty) = s concat(empty,s) = s ladd(d,s)= concat(make(d),s) radd(s,d)= concat(s,make(d)) end string;

Paramétereket tartalmazó paraméter továbbítás. (Parameterized parameter passing.) Adva PSPEC = (SPEC, SPEC1); SPEC1= SPEC + (S1,OP1,E1); p SPEC SPEC1 PSPEC paraméteres formális specifikáció; p: tartalmazás; Pl.: PELEM = (ELEM, SET);p ELEMSET Adva: PSPEC' = (SPEC', SPEC1'); SPEC1'= SPEC' + (S1',OP1',E1'); Paraméteres aktuális specifikáció. Pl.: PELEM' = (NAT, SET ' );

Paraméter átadás morfizmusa: h: SPEC  SPEC1'; Paraméteres paraméter-átadás szintaxisa: p SPECSPEC1 h = h1 SPEC'SPEC1'SPEC2' p' q p, p' : tartalmazás; Paraméteres érték specifikáció: (SPEC', SPEC2'); Jelölés: (SPEC', SPEC2') = PSPEC  h PSPEC' table(data)  h set(data) = (table  h set)(data) = table(set(data)).

Példa: Paraméter átadás morfizmusa: h: data  set(data); Paraméteres paraméter-átadás szintaxisa: p PS(data  nat) PS(table a (data)) h = h1 PS(set(nat)) PS(set(nat)  nat)PStable(set(nat)) p' q p, p' : tartalmazás; Paraméteres érték specifikáció: (set(nat), PStable(set(nat))); Jelölés: (SPEC', SPEC2') = PSPEC  h PSPEC' table(data)  h set(nat) = (table  h set)(nat) = table(set(nat)).

Modul specifikációkon értelmezett alapvető operációk: Kompozíció. Adva M 1 = (PAR 1, EXP 1, IMP 1, BOD 1, e 1, i 1, eb 1,ib 1 ); M 2 = (PAR 2, EXP 2, IMP 2, BOD 2, e 2, i 2, eb 2,ib 2 ); Felmerülő igény: M 1 import interfészének és M 2 export interfészének az összeillesztésével hozzunk létre egy új M 3 modulspecifikációt. Kompozíció. h: = M 1  M 2 ; h=(h 1,h 2 ); h 1 : IMP 1  EXP 2 ; h 2 : PAR 1  PAR 2 ; M3 = M1  h M2;

M 1 = (PAR 1, EXP 1, IMP 1, BOD 1, e 1, i 1, eb 1,ib 1 ); M 2 = (PAR 2, EXP 2, IMP 2, BOD 2, e 2, i 2, eb 2,ib 2 ); M3 = M1  h M2; Eredmény: M 3 = (PAR 3, EXP 3, IMP 3, BOD 3, e 3, i 3, eb 3,ib 3 ); PAR 3 = PAR 1 ; EXP 3 = EXP 1 ; IMP 3 = IMP 2 ; e 3 = e 1 ;

e 1 PAR 1 EXP 1 i 1 = eb 1 ib 1 IMP 1 BOD 1 e 2 PAR 2 EXP 2 i 2 = eb 2 ib 2 IMP 2 BOD 2 BOD 3 h2h2 h1h1 b1b1

Megvalósítás: reprezentáció (ábrázolás) + implementáció. Reprezentáció:  : C  A;

Interfész megvalósításai. e PAREXP i = eb IMPBOD ib Interfész: ( PAR, EXP, IMP, e, i ) body rész jelölése az osztály morfizmus diagramjában. body = oprs: rep : C  A eqns: c  C; f 0 : g 0 f c (c): g c (c) A jelölés jelentése: f 0 = rep(g 0 ); (f 0 =  (g 0 )); f c (c): rep(g c (c)); f c (c):  (g c (c))

Kettős specifikáció: e par exp i = eb imp bod ib absztrakt specifikáció reprezentáció + tartalmazás konkrét specifikáció Tartalmazás: exp=body = typesort: atypesort:  (c) oprs: f i :a, p 1,...,p k  a oprs: f i :  (c), p 1,...,p k  (c). eqns: eqns: f s (f c (a)) = h(a) f s (f c (  (c))) = h(  (c))

Az interfész megvalósítása a diagram kommutációját fejezi ki: e PAREXP i IMP e' PAR'EXP' i' = eb' IMP'BOD' ib' i'  r P = r I  i; és e'  r P = r E  e; Ha r P = r E = r I = identitás, akkor egzakt megvalósítás. rPrP rErE rIrI

Interfész egzakt megvalósítása (realizációja): Adott INT = (PAR 1, EXP 1, IMP 1, e 1, i 1 ) interfész specifikáció. MOD = (PAR, EXP, IMP, BOD, e, eb, i, ib); modulspecifikációt az INT interfész egzakt megvalósításának nevezzük, ha I(MOD) = INT. I(MOD) = (PAR, EXP, IMP, e, i ). MOD' = ( PAR', EXP', IMP', BOD', e', eb', i', ib'); modulspecifikációt az INT interfész specifikáció megvalósításának nevezzük, ha létezik olyan (r P : PAR 1  PAR, r E :EXP 1  EXP, r I :IMP 1  IMP) specifikáció morfizmus-hármas, amelyikre i'  r P = r I  i; és e'  r P = r E  e;