6. Közös változóval rendelkező párhuzamos program, Közös változó,

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "6. Közös változóval rendelkező párhuzamos program, Közös változó,"

Átírás

1 6. Közös változóval rendelkező párhuzamos program, Közös változó, Reynold kritérium. Atomi művelet, atomi utasítás. szintaxis, szemantika, tulajdonságok. Szinkronizációs párhuzamos program, szintaxis, szemantika, tulajdonságok. P(s), V(s) utasítások: kölcsönös kizárás megoldása. Termelő fogyasztó modell. Megállapodás. Formális meghatározás. Absztrakt megoldás. Realizáció. Erőforrás közös használatának problémája. Kiéheztetés, monopolizálás. Kiéheztetés mentes vezérlés szinkronizációs problémája. Példa: adatbázis modell.(két kapus megoldás) 6.1. Közös változóval rendelkező párhuzamos program, Közös változó, Reynold kritérium Definíció (Közös változóval rendelkező párhuzamos program): Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével kommunikálnak. Folyamat a végrehajtás alatt lévő program. Kommunikáció azt jelenti, hogy a közös változó értékét párhuzamosan futó folyamatok kiolvassák, illetve felülírják. Adva S parbegin S 1... S n parend; 6.2. Definíció (Közös változó): Közös változó: olyan változó, amelyhez egynél több folyamat is hozzáférhet. Lokális változó: olyan változó, amelyhez csak egy folyamat férhet hozzá. A párhuzamosan történő végrehajtás követelményei: 1. Követelmény: A közös változóhoz való hozzáférés követelményei: A hozzáférés a közös változóhoz: a változó értékének kiolvasása vagy felülírása. A közös változókhoz való hozzáférések atomi operációnak tekintendők. 2. Követelmény (A végrehajtás követelményei): A végrehajtás sebessége minden, de nem fejeződött folyamat esetén pozitív és tetszőleges, ( kivéve, ha a közös változóhoz való hozzáférésre vár). Ekkor azonban 1

2 a hozzáférés kellő idő után garantált és a végrehajtás folytatódhat. Az atomi műveletek (közös változóhoz való hozzáférések) lineárisan sorba rendezettek, de a sorrend véletlenszerű. A közös változókhoz való hozzáférések lineárisan sorba rendezettek: Megvárakoztatás. (blokkolt állapot). Garantált a hozzáférés minden folyamat számára. (holtpont mentesség állapota). Folyamatok végrehajtási sebessége pozitív érték, kivéve, ha a közös erőforrásra várnak. (fair követelmény) Definíció (Reynold-féle kritérium): Ha az 1., 2. követelmények teljesülnek, a párhuzamos komponensek végrehajtása során érvényes a program állapotára vonatkozóan a nem determinisztikus egymás utáni atomi végrehajtás a logikai kiértékelés és a felülírás (feltéve, hogy a logikai kiértékelés és felülírás közös változót tartalmaz) Atomi művelet, atomi utasítás. Szintaxis, szemantika, tulajdonságok Definíció (Atomi művelet, atomi utasítás): Atomi (primitív) művelet, utasítás végrehajtása: meg nem szakítható végrehajtás, és aszinkron módon. Atomi műveletek: Egy bool kifejezés kiértékelése. Egy változó értékének a kiolvasása. Értékadás egy változónak Definíció (Atomi utasítás): Egy olyan S program szakasz, amelyet atomivá teszünk, amelyet ciklust, vagy atomi utasítást nem tartalmaz. Jelölés: <S>; 2

3 6.6. Definíció (Közös változóval rendelkező determinisztikus párhuzamos program szintaxisa): S 1 od parbegin S 1 S2 parend; S::= skip y t S 1 ;S2 if α then S 1 else S2 fi while α do 6.7. Definíció (Atomi program): <S>; 6.8. Definíció (Más jelölés): while α do S 1 od: do α S 1 od; 6.9. Definíció (Szemantika): < S, σ > < E, τ > << S >, σ > < E, τ > (1) M[< S >](p) = M[S](p) (2) Tulajdonságok: Lemma: A közös változóval rendelkező párhuzamos program blokkolásmentes. Ugyanis, minden < S, σ > konfigurációnak S E és σ Σ esetén van rákövetkezője a reláció szerint Lemma: Minden S párhuzamos program és σ Σ esetén a < S, σ > konfigurációnak véges számú rákövetkezője van a reláció mellett. (Következik a szintaktikai axiómákhoz, szabályokhoz rendelt tranzakciók relációinak definícióiból.) Lemma: Adott S és σ Σ kezdő állapot. M tot [S](σ) vagy véges számú állapotot tartalmaz, vagy csak a virtuális állapotot. A bizonyítás a fákra vonatkozó König lemma [1927] adaptációjával mutatható ki. Ezt Knuth D. E. végezte el 1968-ban. Programhelyesség bizonyításánál feltesszük: Bool kifejezés, értékadás, skip, atomi régió mindegyike atomi akció, azaz Meg nem szakíthatók, vagy Egymás után hajtódnak végre, de a végrehajtás sorrendje nincs meghatározva. Egy hagyományos hardver ezt nem garantálja. Garancia: Általában a kritikus hivatkozások atomi kezelését garantálja, kizárólagos írási vagy olvasási atomi hozzáférést garantál az egyszerű, vagy indexes változók esetében. y f(x,y): < y f(x,y) > Atomi utasítások: A párhuzamos program helyesség bizonyítását leegyszerűsíti a virtuális <S> atomi definíció. Minél kisebb egységre vonatkozik az atomi definíciónk annál inkább megfelel a valóságos végrehajtásnak. 3

4 Minél nagyobb egységre vonatkozik az atomi definíciónk annál inkább megkönnyíti a program helyességének a bizonyítását Példa: S parbegin x y y x parend; x y esetén atomi műveletek: y kiolvasása, x értékének felülírása. x = 1; y = 2; esetén lehetséges eredmények: x = y = 2; x = y = 1; x = 2 és y = 1. A parallel modell jelentése nem azonos a hagyományos hardware által nyújtott megoldással. Minden komponens program szoftver-akkumulátorok bevezetésével áttranszformálható egy olyan vele ekvivalens párhuzamos programmá, ahol minden atomi akció egy hozzáférést jelent a közös változóhoz: S parbegin AC1 y; x AC1 AC2 x; y AC2 parend; A párhuzamosság atomi egységére vonatkozó < x y > szemantikai meghatározás az egyszerű kezelés célját szolgálja a helyességbizonyításnál. A párhuzamos program helyesség bizonyítását leegyszerűsíti a virtuális <S> atomi definíció. Minél kisebb egységre vonatkozik az atomi definíciónk annál inkább megfelel a valóságos végrehajtásnak. Minél nagyobb egységre vonatkozik az atomi definíciónk annál inkább megkönnyíti a program helyességének a bizonyítását Szinkronizációs párhuzamos program, szintaxis, szemantika, tulajdonságok. Párhuzamos program szinkronizációval: A feltételes atomi utasítás szintaxisa: < b S >; Definíció: Dijkstra - féle jelölés await b then S ta; Speciális esetek await "true" then S ta; await b then skip ta; await b then ta; wait b tw; 4

5 A Dijkstra - féle atomi szemafor utasítások: P(s): s s -1; if s < 0 then állj be az s-hez rendelt várakozó sorba fi; V(s): s s+1; if s 0 then induljon el egy folyamat az s-hez rendelt várakozó sorból fi; Egyszerűimplementáció: P ( s ) : a w a i t s > 0 then s < s 1 t a ; V( s ) : a w a i t " t r u e " then s < s +1 t a ; Egy pontos implementáció: D i j k s t r a f é l e s z e m a f o r u t a s í t á s o k P ( s ) : a w a i t " t r u e " then b e g i n s < s 1; i f s < 0 then V[ j ] < " f a l s e " f i ; end t a ; a w a i t V[ j ] then t a V( s ) : a w a i t " t r u e " then b e g i n s < s +1; i f s >= 0 then b e g i n v á l a s s z i t, a h o l V[ i ] = " f a l s e " ; V[ i ] < " t r u e " end f i end t a ; Szemantika: Definíció (Az őrfeltételes atomi utasítás jelentése): σ(b) = true < S, σ > < E, τ > << b S >, σ > < E, τ > (3) σ(b) = true < S, σ > < E, τ > < await.b.then.s.ta, σ > < E, τ > (4) Definíció (Holtpont állapot informális definíciója): Az S párhuzamos program holtpont állapotba jutott, ha a program végrehajtása nem fejeződött be és annak minden olyan komponense, amely nem fejeződött be, blokkolt állapotban van. 5

6 6.17. Definíció (Szintaxis): S::= <b y f(x,y)> S 1 ; S2 if b then S 1 else S2 fi while b do S od parbegin S 1 S2 parend; Feltételes meg nem szakítható (atomi) utasítás: <b S>; amely nem tartalmazhat iterációt, vagy másik atomi utasítást. Jelölés: parbegin S 1... S n parend; Más jelölések: cobegin S 1... S n coend; [ S 1 S 2 ]; Lemma: A párhuzamos program végrehajtása során, a σ állapotban, a p(σ) állítás mellett, az await b then S ta utasítás n ál blokkolt állapotba kerül, ha p(σ) b = "true" Definíció: Legyen S párhuzamos program és annak egy σ állapotára p(σ) = "true". Az <S, σ> konfigurációt holtpontnak nevezzük, ha (S E); <S, σ> <S, σ > tranzakció nem létezik. A holtpont virtuális állapot jele:. Az S program a σ állapotból holtpontra juthat, ha létezik olyan kiszámítás, amely holtpont konfigurációban végződik. Az S program holtpontmentes, (p mellett) ha nem létezik olyan σ állapot p(σ) = "true" mellett, amelynél S holtpontra juthat. Az S párhuzamos program szemantikája: Parciális helyességi szemantikája σ kiindulási állapot mellett: M[S](σ) = { τ < S, σ >. < E, τ > } Gyenge teljes helyességi szemantikája σ kiindulási állapot mellett: M wtot [S] (σ) = M[S](σ) { S divergál σ kezdő állapotból } Teljes helyességi szemantikája σ kiindulási állapot mellett: M tot [S] (σ) = M wtot [S] (σ) { S holtpontba jut σ kezdő állapotból } (,, fail Σ virtuális állapotok) 6.4. P(s), V(s) utasítások: kölcsönös kizárás megoldása Definíció (Probléma): Adott egy erőforrás, amelyet n > 0 db folyamat használ feladatainak megoldása során. Követelmények Kölcsönös kizárás Az erőforrást egy adott időpontban legfeljebb csak egy folyamat használhatja. 6

7 Blokkolás mentesség A párhuzamos folyamatok futását a szinkronizáció ne függessze fel végtelen hosszú időre. Erőforráshoz való hozzáférhetőség Minden egyes folyamat, ha használni akarja az erőforrást, akkor véges időn belül használhassa azt. A követelmények formális megfogalmazása S: inicializálás; parbegin S 1... S n parend; ahol i, k, 1 i, k n i k esetén [( var(nk i ) var(eh i ))] [( var(ei k ) var(ef k ))] = { } (az előkészítés és erőforrás használatának változói különböznek az igénylés és a felszabadítás változóitól) Feltevés NK i és EH i nem tartalmaz őrfeltételes utasítást. Elnevezések NK Nem közös változókat használó programrész EI Erőforrás igénylés EH Erőforrást használó programrész EF Erőforrás felszabadítása Kölcsönös kizárás, blokkolás-mentesség: Definíció (Kölcsönös kizárás): Az S végrehajtása során nem létezik olyan < parbegin R1... Rn parend, σ > konfiguráció, hogy valamely j, k {1,..., n}, j k esetén R j at(eh j in S j ); R k at(eh k in S k ) Definíció (Blokkolás-mentesség): Nincs olyan végrehajtás σ Σ: <S, σ> *<T, > amely holtpont konfigurációban végződik Definíció (Dijkstra féle kölcsönös kizárás): out bool; S: out True; parbegin S 1... S n parend; P: passeren V: vrijgeven Szemaforral: s k; k > 0; P(out) await out then out False ta; V(out) out True; P(s) await s > 0 then s s - 1 ta; 7

8 6.5. Termelő fogyasztó modell. Megállapodás. Formális meghatározás. Absztrakt megoldás. Realizáció. Termelő-fogyasztó modell - A probléma absztrakt megfogalmazása: Adott egy N 1 kapacitású közös tároló. Adott a folyamatok két csoportja, amelyek a tárolót használják. n 1 termelőfolyamat, m 1 fogyasztó folyamat. A termelő a tároló használatakor egy-egy terméket helyez el a tárolóban. A fogyasztó a tároló használatakor egy-egy terméket vesz ki a tárolóból. Termelő és fogyasztó közötti sorrendiség: A fogyasztó ugyan abban a sorrendben veszi ki a termékeket a tárolóból, amilyen sorrendben a termelő azt lehelyezte. Termelőfolyamatok közötti kölcsönös kizárás: A termelőfolyamatok közül egyszerre csak egy folyamat használhatja a tárolót. Fogyasztó folyamatok közötti kölcsönös kizárás: A fogyasztó folyamatok közül egyszerre szintén csak egy folyamat használhatja a tárolót. Termelők és a fogyasztók közötti termék esetében példányonkénti kölcsönös kizárás: Ugyanazt a termék példányt a termelőnem helyezheti el, a fogyasztó pedig nem veheti ki egyszerre. A megállapodás formális megfogalmazása Tároló: q sor, length(q) = N, N 1 Termelőműveletei: x a[i]; <q add(q,x)>; i = 0,..., M - 1 Fogyasztó műveletei: <(q,y) (rem(q), read(q))}; b[j] y; j = 0,..., M - 1 A sorrendiségi követelmények teljesülnek! i 0; j 0; { ( i, j integer) q queue 0 length(q) N ( a[0, M -1], b[0, M -1] vector) M 1 N 1 } parbegin producer consumer parend; producer: while i < M do x < a [ i ] ; wait l e n g t h ( q ) < N t a ; <q < add ( q, x ) > ; i < i + 1 ; 8

9 Consumer: while j < M do wait l e n g t h ( q ) > 0 t a ; <(y, q ) < ( read ( q ), rem ( q ) ) > ; b [ j ] < y ; j < j + 1 ; A kölcsönös kizárások teljesülnek. Megvalósítás - Realizáció: q buffer[0...n-1] ciklikus elhelyezéssel mod(n) Behelyezésnél az index: in Kiemelésnél az index: out Előfeltétel: M 1 N 1 Inicializálás: i 0; j 0; in 0; out 0; S program: parbegin producer consumer parend; {( k, 0 k < M)(a[k] = b[k])}; wait length(q) < N ta: wait in - out < N ta; q add(q,x): buffer[in mod N] x; in in + 1; wait length(q) > 0 ta: wait in - out > 0 ta; (y,q) (read(q), rem(q)); y buffer[out mod N]; out out + 1; producer: while i < M do x < a [ i ] ; wait i n o u t < N t a ; < b u f f e r [ i n mod N] < x ; i n < i n + 1 >; i < i + 1 ; consumer: while j < M do wait i n o u t > 0 t a ; < y < b u f f e r [ o u t mod N ] ; o u t < o u t + 1> b [ j ] < y ; j < j + 1 ; 9

10 6.6. Erőforrás közös használatának problémája. Kiéheztetés, monopolizálás Definíció (Informális leírás): Adott egy S: parbegin S 1... S n parend párhuzamos rendszer és egy e erőforrás. Az e erőforrás felhasználási módjai A folyamatok egy csoportjának tagjai csak kizárólagosan használhatják az erőforrást. A folyamatok egy másik csoportjának tagjai egyidejűleg akárhányan is használhatják az erőforrást. A két csoport tagjai vegyesen nem használhatják az erőforrást. Probléma Erőforrás monopolizálása, Kiéheztetés Kiéheztetés, monopolizálás: Adott egy S: parbegin S 1... S n parend párhuzamos rendszer Definíció (Informális definíció: Kiéheztetés): a párhuzamos program végrehajtása nem fejeződik be, mert a folyamatok egy csoportja monopolizálja a párhuzamos rendszer közös erőforrását Definíció (Informális definíció: Erőforrás monopolizálása): a párhuzamosan futó folyamatok között mindig van legalább egy olyan folyamat, amely lekötve tartja az erőforrást, miközben a velük párhuzamos folyamatok nem üres csoportjának tagjai folyamatosan várakoznak az erőforrásra. Lehetséges állapotok: : erőforrást használók; erőforrásra várakozók; lefutottak Kiéheztetés mentes vezérlés szinkronizációs problémája. Példa: adatbázis modell.(két kapus megoldás.) Definíció (Kiéheztetés-mentesség): Adott egy erőforrás, n 3 folyamat, amelyek az erőforrást használják, és egy párhuzamos rendszer p(σ) előfeltétele. A folyamatok legalább két diszjunkt csoportot alkotnak: 10

11 Csoportok között teljesül a kölcsönös kizárás: Egy adott időpontban különbözőcsoporthoz tartozó folyamatok az erőforrást nem használhatják. Csoporton belüli közös használat: Létezik legalább egy olyan csoport, amelyben a folyamatok egy adott időpontban többen is használhatják az erőforrást. Kiéheztetés-mentesség: Ne fordulhasson előaz, hogy az egyik csoportbeli folyamatok végtelen hosszú ideig várnak az erőforrásra, a másik csoport folyamatai közül mindig van legalább egy olyan, amely lekötve tartja azt. A rendszer formális megfogalmazása végtelenített rendszer esetén: S: inicializálás; parbegin S 1... S n parend; n 3. ahol i, k, 1 i, k n i neq k -ra: [ változó (NK i ) változó (EH i ) ] [ változó(ei k ) változó(ef k ) ] = { } Feltevés: NK i és EH i nem tartalmaz megvárakoztató utasítást. S i Folyamatok szerkezete: while B do NKi : Nem k r i t i k u s s z a k a s z ; E I i : E r ő f o r r á s i g é n y l é s e ; EHi : E r ő f o r r á s h a s z n á l a t a ; EFi : E r ő f o r r á s f e l s z a b a d í t á s a ; Kiéheztetés-mentesség feltételei, Holtpont-mentesség feltételei: Formális megfogalmazás: Legyen adott a párhuzamos rendszer p(σ) előfeltétellel egy, a folyamatok által közösen használt erőforrás. A folyamatok két csoportot alkotnak. Legyenek az A csoport folyamatainak azonosítói: 1, 2,..., n 1 n 1 2. Legyenek a B csoport azonosítói: n 1 +1, n 1 +2,..., n; n 3. A csoportok közötti kölcsönös kizárás: Nem létezik olyan < parbegin R 1... R n parend, σ> konfiguráció, amelyre valamilyen i { 1,..., n 1 } és k { n 1 +1,..., n } esetén R i at(eh i in S i ) és R k at(eh k in S k ). 11

12 Csoporton belüli közös használat: Adott p(σ) mellett létezhet olyan < parbegin R 1... R n parend, σ> konfiguráció, amelyre R i at(eh i in S i ) és R k at(eh k in S k ), ha i, k? 1,..., n1 Végtelen igénylés: Adott p(σ) mellett nem létezik olyan < parbegin R R n1 parend, σ 1 > < parbegin R R n2 parend, σ 2 >... végtelen végrehajtási sorozat, ahol minden < parbegin R 1i... R ni parend, σ i > konfiguráció esetén ( i {1,..., n 1 } k {n 1 +1,..., n})( R ji at (EH j in S j ) R k at(ei k in S k )) Holtpont-mentesség: Adott p(σ) mellett a párhuzamos program végrehajtása nem végződik holtpont állapotban: / M(S)[p] Példa: Adatbázis modell: Készítsük el az adatbázis egy absztrakt modelljét a következő specifikáció alapján, majd végezzük el a modell tulajdonságainak elemzését a kiéheztetés-mentesség szempontjából. Legyen n > 0 felújító és m > 1 lekérdezőfolyamat. A felújító folyamatok egymással, valamint a lekérdezőfolyamatokkal is kölcsönös kizárásban vannak az adatbázis használatakor. A lekérdezőfolyamatok egyszerre többen használhatják az adatbázist. Megoldás: A lekérdezőfolyamatok számolják, hogy hányan használják az adatbázist egyidejűleg. Számláló: rcnt, kezdőértéke: 0, (számláláshoz kölcsönös kizárás kell) Szemafor: sr, kezdőértéke: 1 Kölcsönös kizárás szemaforja: w Példa: w 1; rcnt 0; sr 1; parbegin writer 1... writer n reader 1... reader m parend; writer i : while " t r u e " do 12

13 I n f o r m á c i ó g y ű j t é s ; P (w ) ; A d a t b á z i s f e l ú j í t á s ; V(w ) ; reader k while " t r u e " do P ( s r ) ; r c n t $ \ l e f t a r r o w $ r c n t +1; i f r c n t = 1 then P (w) f i ; V( s r ) ; A d a t b á z i s l e k é r d e z é s ; P ( s r ) ; r c n t $ \ l e f t a r r o w $ r c n t 1 ; i f r c n t = 0 then V(w) f i ; V( s r ) ; V á l a s z k i é r t é k e l é s e ; Követelmények: A reader és a writer folyamatnak is legyen esélye hozzáfér n i az adatbázishoz. A writer folyamatok ne monopolizálhassák az adatbázist. A reader folyamatok ne monopolizálhassák az adatbázist. Megoldás: A writer folyamatok továbbra is egy kapun keresztül léphetnek be az erőforráshoz, ahova akadály nélkül eljuthatnak, de belépéskor lezárják a külsőkaput a reader folyamatok előtt. A reader két kapun keresztül léphet be az erőforráshoz. A külsőkaput a writer nyitja ki a reader előtt a felújítás befejeztekor, amikor megkezdi az erőforrás elengedését. A belsőkapu közös, ezért a writer és a reader egyforma eséllyel léphet be az erőforráshoz. 13

14 Ha felújító folyamat használni akarja az adatbázist, akkor újabb lekérdezőfolyamat már ne férhessen az adatbázishoz. Szemafor: who w, r, kezdőértéke: w w 1; sr 1; rcnt 0; r 1; who w; parbegin writer 1... writer n reader 1... reader m parend; while " t r u e " do I n f o r m á c i ó g y ű j t é s ; who $ \ l e f t a r r o w $ w; P (w ) ; A d a t b á z i s f e l ú j í t á s ; a w a i t " t r u e " then V(w) who $ \ l e f t a r r o w $ r t a ; while " t r u e " do wait who = r tw ; P ( s r ) ; r c n t < r c n t + 1 ; i f r c n t = 1 then P (w) f i ; V( s r ) ; A d a t b á z i s l e k é r d e z é s ; P ( s r ) ; r c n t < r c n t 1 ; i f r c n t = 0 then V(w) f i ; V( s r ) ; V á l a s z k i é r t é k e l é s e ; 14

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 C# Szálkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 Tartalomjegyzék 1 Bevezetés 2 Szálkezelés 3 Konkurens Programozás Tóth Zsolt (Miskolci Egyetem)

Részletesebben

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: A Formális nyelvek vizsga teljesítése a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon: 1. Öt kis kérdés megválaszolása egyenként 6 pontért, melyet minimum 12

Részletesebben

Programozási Módszertan definíciók, stb.

Programozási Módszertan definíciók, stb. Programozási Módszertan definíciók, stb. 1. Bevezetés Egy adat típusát az adat által felvehető lehetséges értékek halmaza (típusérték halmaz, TÉH), és az ezen értelmezett műveletek (típusműveletek) együttesen

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

Temporális logikák és modell ellenırzés

Temporális logikák és modell ellenırzés Temporális logikák és modell ellenırzés Temporális logikák Modális logika: kijelentések különböző módjainak tanulmányozására vezették be (eredetileg filozófusok). Ilyen módok: esetleg, mindig, szükségszerűen,

Részletesebben

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX

Részletesebben

Feldspar: Nyelv digitális jelfeldolgozáshoz

Feldspar: Nyelv digitális jelfeldolgozáshoz Feldspar: Nyelv digitális jelfeldolgozáshoz Eötvös Loránd Tudományegyetem, Budapest Támogatja: Ericsson, KMOP-1.1.2-08 Feldspar funkcionális beágyazott nyelv Feldspar digitális jelfeldolgozáshoz párhuzamossághoz

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék

Részletesebben

Tartalom. Operációs rendszerek. Precedencia. 3.2 Szinkronizáció. 3.1 Folyamatokból álló rendszerek. Együttműködő folyamatok használatának indokai

Tartalom. Operációs rendszerek. Precedencia. 3.2 Szinkronizáció. 3.1 Folyamatokból álló rendszerek. Együttműködő folyamatok használatának indokai Tartalom Operációs rendszerek 3. Folyamatok kommunikációja Simon Gyula Bevezetés Szinkronizáció A kritikus szakasz megvalósítási módozatai Információcsere ok között Felhasznált irodalom: Kóczy-Kondorosi

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

1. Jelölje meg az összes igaz állítást a következők közül!

1. Jelölje meg az összes igaz állítást a következők közül! 1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,

Részletesebben

Operációs Rendszerek II. labor. 2. alkalom

Operációs Rendszerek II. labor. 2. alkalom Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,

Részletesebben

ismertetem, hogy milyen probléma vizsgálatában jelent meg ez az eredmény. A kérdés a következő: Mikor mondhatjuk azt, hogy bizonyos események közül

ismertetem, hogy milyen probléma vizsgálatában jelent meg ez az eredmény. A kérdés a következő: Mikor mondhatjuk azt, hogy bizonyos események közül A Borel Cantelli lemma és annak általánosítása. A valószínűségszámítás egyik fontos eredménye a Borel Cantelli lemma. Először informálisan ismertetem, hogy milyen probléma vizsgálatában jelent meg ez az

Részletesebben

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus

Részletesebben

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január Osztott jáva programok automatikus tesztelése Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január Osztott alkalmazások Automatikus tesztelés Tesztelés heurisztikus zaj keltés Tesztelés genetikus

Részletesebben

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

Informatika 1 Operációs rendszerek

Informatika 1 Operációs rendszerek Informatika 1 Operációs rendszerek Előszó A jegyzetben sajnos hibák előfordulhatnak én is csak ember vagyok de ha találtok is, akkor nyugodtan írjatok egy mailt a negedes@freemail.hu címre, és kijavítva,

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések) Emlékeztető Emlékeztető: LR(0) elemzés A lexikális által előállított szimbólumsorozatot balról jobbra olvassuk, a szimbólumokat az vermébe tesszük. LR elemzések (SLR() és LR() elemzések) Fordítóprogramok

Részletesebben

ELEMI PROGRAMOZÁSI TÉTELEK

ELEMI PROGRAMOZÁSI TÉTELEK ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk

Részletesebben

Rekurzió. Dr. Iványi Péter

Rekurzió. Dr. Iványi Péter Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(

Részletesebben

Amortizációs költségelemzés

Amortizációs költségelemzés Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük

Részletesebben

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1] Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.

Részletesebben

2. Logika gyakorlat Függvények és a teljes indukció

2. Logika gyakorlat Függvények és a teljes indukció 2. Logika gyakorlat Függvények és a teljes indukció Folláth János Debreceni Egyetem - Informatika Kar 2012/13. I. félév Áttekintés 1 Függvények Relációk Halmazok 2 Természetes számok Formulák Definíció

Részletesebben

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

Részletesebben

1. tétel. Valószínűségszámítás vizsga Frissült: 2013. január 19. Valószínűségi mező, véletlen tömegjelenség.

1. tétel. Valószínűségszámítás vizsga Frissült: 2013. január 19. Valószínűségi mező, véletlen tömegjelenség. 1. tétel Valószínűségszámítás vizsga Frissült: 2013. január 19. Valószínűségi mező, véletlen tömegjelenség. A valószínűségszámítás tárgya: véletlen tömegjelenségek vizsgálata. véletlen: a kísérlet kimenetelét

Részletesebben

Programozás II. 2. Dr. Iványi Péter

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

Oktatási segédlet 2014

Oktatási segédlet 2014 Oktatási segédlet 2014 A kutatás a TÁMOP 4.2.4.A/2-11-1-2012- 0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése

Részletesebben

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai

Részletesebben

Modell alapú tesztelés mobil környezetben

Modell alapú tesztelés mobil környezetben Modell alapú tesztelés mobil környezetben Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék A terület behatárolása Testing is an activity performed

Részletesebben

Számláló rendezés. Példa

Számláló rendezés. Példa Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a

Részletesebben

Tartalom. Operációs rendszerek. 4.1 Holtpont definíciója. Bevezetés helyett... Rendszermodell 1. A klasszikus példa...

Tartalom. Operációs rendszerek. 4.1 Holtpont definíciója. Bevezetés helyett... Rendszermodell 1. A klasszikus példa... Tartalom Operációs rendszerek 4. A holtpont és kezelése Simon Gyula Bevezetés A holtpont kialakulásának szükséges feltételei Az erőforrás-használati gráf A holtpont kezelése holtpont megelőzése holtpont

Részletesebben

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám. 1 Az utazó ügynök problémája Utazó ügynök feladat Adott n számú város és a városokat összekötő utak, amelyeknek ismert a hossza. Adott továbbá egy ügynök, akinek adott városból kiindulva, minden várost

Részletesebben

Készítette: Ernyei Kitti. Halmazok

Készítette: Ernyei Kitti. Halmazok Halmazok Jelölések: A halmazok jele általában nyomtatott nagybetű: A, B, C Az x eleme az A halmaznak: Az x nem eleme az A halmaznak: Az A halmaz az a, b, c elemekből áll: A halmazban egy elemet csak egyszer

Részletesebben

Chomsky-féle hierarchia

Chomsky-féle hierarchia http://www.ms.sapientia.ro/ kasa/formalis.htm Chomsky-féle hierarchia G = (N, T, P, S) nyelvtan: 0-s típusú (általános vagy mondatszerkezetű), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira.

Részletesebben

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >> I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >

Részletesebben

Automaták mint elfogadók (akceptorok)

Automaták mint elfogadók (akceptorok) Automaták mint elfogadók (akceptorok) Ha egy iniciális Moore-automatában a kimenőjelek halmaza csupán kételemű: {elfogadom, nem fogadom el}, és az utolsó kimenőjel dönti el azt a kérdést, hogy elfogadható-e

Részletesebben

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az

Részletesebben

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával) Adatszerkezetek I. 7. előadás (Horváth Gyula anyagai felhasználásával) Bináris fa A fa (bináris fa) rekurzív adatszerkezet: BinFa:= Fa := ÜresFa Rekord(Elem,BinFa,BinFa) ÜresFa Rekord(Elem,Fák) 2/37 Bináris

Részletesebben

Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus.

Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus. Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus. Input/Output I/O Hardware I/O eszközök (kommunikációs portok szerint

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)

Részletesebben

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Könyvészet Kátai Z.: Programozás C nyelven Brian W. Kernighan, D.M. Ritchie: A C programozási

Részletesebben

Algoritmusok bonyolultsága

Algoritmusok bonyolultsága Algoritmusok bonyolultsága 9. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 18 Közelítő algoritmusok ládapakolás (bin packing) Adott n tárgy (s i tömeggel) és végtelen sok 1 kapacitású láda

Részletesebben

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához XIII. szekvenciális hálózatok tervezése ) Tervezzen digitális órához, aszinkron bináris előre számláló ciklus rövidítésével, 6-os számlálót! megvalósításához negatív élvezérelt T típusú tárolót és NN kaput

Részletesebben

Automaták és formális nyelvek

Automaták és formális nyelvek Automaták és formális nyelvek Bevezetés a számítástudomány alapjaiba 1. Formális nyelvek 2006.11.13. 1 Automaták és formális nyelvek - bevezetés Automaták elmélete: információs gépek általános absztrakt

Részletesebben

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS Hartung István BME Irányítástechnika és Informatika Tanszék TEMATIKA Cloud definíció, típusok, megvalósítási modellek Rövid Azure cloud bemutatás

Részletesebben

JAVA PROGRAMOZÁS 2.ELŐADÁS

JAVA PROGRAMOZÁS 2.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,

Részletesebben

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia

Részletesebben

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben

5. A kiterjesztési elv, nyelvi változók

5. A kiterjesztési elv, nyelvi változók 5. A kiterjesztési elv, nyelvi változók Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 A kiterjesztési elv 2 Nyelvi változók A kiterjesztési elv 237 A KITERJESZTÉSI ELV A

Részletesebben

Érdekes informatika feladatok

Érdekes informatika feladatok A keres,kkel és adatbázissal ellátott lengyel honlap számos díjat kapott: Spirit of Delphi '98, Delphi Community Award, Poland on the Internet, Golden Bagel Award stb. Az itt megtalálható komponenseket

Részletesebben

Ködös határ (Félreértés, hiba)

Ködös határ (Félreértés, hiba) Informális vs. formális probléma leírás Valós világ (Domain) Ködös határ (Félreértés, hiba) Formális világ (Hibás eredmény) (Megoldás) A specifikáci ció csak nagyvonalakban írja le a valóságos problémát,

Részletesebben

Funkcionális Nyelvek 2 (MSc)

Funkcionális Nyelvek 2 (MSc) Funkcionális Nyelvek 2 (MSc) Páli Gábor János pgj@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar Programozási Nyelvek és Fordítóprogramok Tanszék Tematika A (tervezett) tematika rövid összefoglalása

Részletesebben

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása 1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június

Részletesebben

Internet programozása. 3. előadás

Internet programozása. 3. előadás Internet programozása 3. előadás Áttekintés Hogyan használjuk az if szerkezetet arra, hogy bizonyos sorok csak adott feltételek teljesülése mellett hajtódjanak végre? Hogyan adhatunk meg csak bizonyos

Részletesebben

Algoritmusok és adatszerkezetek II.

Algoritmusok és adatszerkezetek II. Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 3. Kiegyensúlyozott keresőfák A T tulajdonság magasság-egyensúlyozó

Részletesebben

A valós számok halmaza

A valós számok halmaza VA 1 A valós számok halmaza VA 2 A valós számok halmazának axiómarendszere és alapvető tulajdonságai Definíció Az R halmazt a valós számok halmazának nevezzük, ha teljesíti a következő axiómarendszerben

Részletesebben

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat. Poisson folyamatok, exponenciális eloszlások Azt mondjuk, hogy a ξ valószínűségi változó Poisson eloszlású λ, 0 < λ

Részletesebben

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók

Részletesebben

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód:

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód: Szerző Név: Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: vp.05@hotmail.com Kurzuskód: IP-08PAEG/27 Gyakorlatvezető neve: Kőhegyi János Feladatsorszám: 20 1 Tartalom Szerző... 1 Felhasználói dokumentáció...

Részletesebben

Érdekes informatika feladatok

Érdekes informatika feladatok K. L. Érdekes informatika feladatok XXVIII. rész A konvex burkoló (burok) Legyen S a Z sík egy ponthalmaza. S konvex, ha tetszőleges A, B S-beli pont esetén az AB szakasz is S-be esik. Legyen S a Z sík

Részletesebben

NP-teljesség röviden

NP-teljesség röviden NP-teljesség röviden Bucsay Balázs earthquake[at]rycon[dot]hu http://rycon.hu 1 Turing gépek 1/3 Mi a turing gép? 1. Definíció. [Turing gép] Egy Turing-gép formálisan egy M = (K, Σ, δ, s) rendezett négyessel

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 1 I. HALmAZOk 1. JELÖLÉSEk A halmaz fogalmát tulajdonságait gyakran használjuk a matematikában. A halmazt nem definiáljuk, ezt alapfogalomnak tekintjük. Ez nem szokatlan, hiszen

Részletesebben

Podoski Péter és Zabb László

Podoski Péter és Zabb László Podoski Péter és Zabb László Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök előnyeit és hiányosságait Kidolgoztunk egy saját megjelenítő

Részletesebben

Irányítástechnika 1. 9. Elıadás. PLC-k programozása

Irányítástechnika 1. 9. Elıadás. PLC-k programozása Irányítástechnika 1 9. Elıadás PLC-k programozása Irodalom - Helmich József: Irányítástechnika I, 2005 - Zalotay Péter: PLC tanfolyam - Jancskárné Anweiler Ildikó: PLC programozás az IEC 1131-3 szabvány

Részletesebben

Előadás_#06. Előadás_06-1 -

Előadás_#06. Előadás_06-1 - Előadás_#06. 1. Holtpont, Éheztetés [OR_04_Holtpont_zs.ppt az 1-48. diáig / nem minden diát érintve] A holtpont részletes tárgyalása előtt nagyon fontos leszögezni a következőt: Az éheztetés folyamat szintű

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 3 III. MEGFELELTETÉSEk, RELÁCIÓk 1. BEVEZETÉS Emlékeztetünk arra, hogy az rendezett párok halmazát az és halmazok Descartes-féle szorzatának nevezzük. Más szóval az és halmazok

Részletesebben

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel (record) tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel elemei mezők. Például tétel: személy elemei: név, lakcím, születési

Részletesebben

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 5. gyakorlat Surányi Márton PPKE-ITK 2010.10.05. C++ A C++ egy magas szint programozási nyelv. A legels változatot Bjarne Stroutstrup dolgozta ki 1973 és 1985 között, a C nyelvb

Részletesebben

Gráfelméleti feladatok. c f

Gráfelméleti feladatok. c f Gráfelméleti feladatok d e c f a b gráf, csúcsok, élek séta: a, b, c, d, e, c, a, b, f vonal: c, d, e, c, b, a út: f, b, a, e, d (walk, lanţ) (trail, lanţ simplu) (path, lanţ elementar) 1 irányított gráf,

Részletesebben

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI 19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI Ebben a fejezetben aszimptotikus (nagyságrendi) alsó korlátot adunk az összehasonlításokat használó rendező eljárások lépésszámára. Pontosabban,

Részletesebben

Objektum Orientált Szoftverfejlesztés (jegyzet)

Objektum Orientált Szoftverfejlesztés (jegyzet) Objektum Orientált Szoftverfejlesztés (jegyzet) 1. Kialakulás Kísérletek a szoftverkrízisből való kilábalásra: 1.1 Strukturált programozás Ötlet (E. W. Dijkstra): 1. Elkészítendő programot elgondolhatjuk

Részletesebben

Tranzakció-kezelés, alapfogalmak. Vassányi István, 2012.

Tranzakció-kezelés, alapfogalmak. Vassányi István, 2012. Tranzakció-kezelés, alapfogalmak Vassányi István, 2012. ACID tulajdonságok Tranzakció: az üzleti folyamat egy logikailag összetartozó lépéssorozata atomicity: nem valósulhat meg részlegesen consistency:

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. 7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while, select, case,

Részletesebben

XML sémanyelvek Jeszenszky, Péter

XML sémanyelvek Jeszenszky, Péter XML sémanyelvek Jeszenszky, Péter XML sémanyelvek Jeszenszky, Péter Publication date 2010 Szerzői jog 2010 Jeszenszky Péter A tananyag a TÁMOP-4.1.2-08/1/A-2009-0046 számú Kelet-magyarországi Informatika

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK ÉRETTSÉGI VIZSGA 2005. május 20. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÉRETTSÉGI VIZSGA Az írásbeli vizsga időtartama: 180 perc JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI MINISZTÉRIUM Megoldási útmutató I.

Részletesebben

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet)

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet) Fordítóprogramok. (Fordítóprogramok felépítése, az egyes komponensek feladata. A lexikáliselemző működése, implementációja. Szintaktikus elemző algoritmusok csoportosítása, összehasonlítása; létrehozásuk

Részletesebben

Logikai programozás ADMINISZTRATÍV KÉRDÉSEK KÖVETELMÉNYRENDSZER FŐBB PONTOK NÉHÁNY BIZTATÓ SZÓ

Logikai programozás ADMINISZTRATÍV KÉRDÉSEK KÖVETELMÉNYRENDSZER FŐBB PONTOK NÉHÁNY BIZTATÓ SZÓ Logikai programozás ADMINISZTRATÍV KÉRDÉSEK Bármilyen kérdéssel (akár tananyag, akár nem), örömmel, bánattal: achs.agnes@gmail.com (Ha két napon belül nem válaszolok, akkor kérek egy figyelmeztető levelet.

Részletesebben

A Python programozási nyelv

A Python programozási nyelv A Python programozási nyelv Takács Gábor Széchenyi István Egyetem Matematika és Számítástudomány Tanszék 1 / 47 Jellemzők + értelmezett nyelv + típusai dinamikusak + szintaxisa tömör,

Részletesebben

BUDAPESTI MÛSZAKI EGYETEM Méréstechnika és Információs Rendszerek Tanszék. SPIN Mérési útmutató. Készítette: Jávorszky Judit

BUDAPESTI MÛSZAKI EGYETEM Méréstechnika és Információs Rendszerek Tanszék. SPIN Mérési útmutató. Készítette: Jávorszky Judit BUDAPESTI MÛSZAKI EGYETEM Méréstechnika és Információs Rendszerek Tanszék SPIN Mérési útmutató Készítette: Jávorszky Judit Tartalomjegyzék 1. Bevezetés. 2 1.1. Általános leírás. 2 1.2. Módszertan. 3 1.3.

Részletesebben

Programozás C és C++ -ban

Programozás C és C++ -ban Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új

Részletesebben

Programozás II. 4. Dr. Iványi Péter

Programozás II. 4. Dr. Iványi Péter Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include

Részletesebben

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

Dr. Illés Zoltán zoltan.illes@elte.hu

Dr. Illés Zoltán zoltan.illes@elte.hu Dr. Illés Zoltán zoltan.illes@elte.hu Operációs rendszerek kialakulása Op. Rendszer fogalmak, struktúrák Fájlok, könyvtárak, fájlrendszerek Folyamatok Folyamatok kommunikációja Kritikus szekciók, szemaforok.

Részletesebben

SZÁMÍTÁSOK A TÁBLÁZATBAN

SZÁMÍTÁSOK A TÁBLÁZATBAN SZÁMÍTÁSOK A TÁBLÁZATBAN Az Excelben az egyszerű adatok bevitelén kívül számításokat is végezhetünk. Ezeket a cellákba beírt képletek segítségével oldjuk meg. A képlet: olyan egyenlet, amely a munkalapon

Részletesebben

Ismeretalapú modellezés XI. Leíró logikák

Ismeretalapú modellezés XI. Leíró logikák XI. Leíró logikák 1 eddig volt nyílt internetes rendszerekben miért van szükség ismeretalapú re ontológia készítés kérdései ontológiák jellemzői milyen ontológiák vannak most jön mai internetes ontológiák

Részletesebben

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus GRÁFELMÉLET 7. előadás Javító utak, javító utak keresése, Edmonds-algoritmus Definíció: egy P utat javító útnak nevezünk egy M párosításra nézve, ha az út páratlan hosszú, kezdő- és végpontjai nem párosítottak,

Részletesebben

Partíció probléma rekurzíómemorizálással

Partíció probléma rekurzíómemorizálással Partíció probléma rekurzíómemorizálással A partíciószám rekurzív algoritmusa Ω(2 n ) műveletet végez, pedig a megoldandó részfeladatatok száma sokkal kisebb O(n 2 ). A probléma, hogy bizonyos már megoldott

Részletesebben

Már megismert fogalmak áttekintése

Már megismert fogalmak áttekintése Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak

Részletesebben

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása

Részletesebben