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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Geometriai algoritmusok

Geometriai algoritmusok Geometriai algoritmusok Alapfogalmak Pont: (x,y) R R Szakasz: Legyen A,B két pont. Az A és B pontok által meghatározott szakasz: AB = {p = (x,y) : x = aa.x + (1 a)b.x,y = aa.y + (1 a)b.y),a R,0 a 1. Ha

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

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

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

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

Végrehajtási szálak - kiegészítések. Szinkronizálás, érvénytelenített metódusok helyettesítése

Végrehajtási szálak - kiegészítések. Szinkronizálás, érvénytelenített metódusok helyettesítése Végrehajtási szálak - kiegészítések Szinkronizálás, érvénytelenített metódusok helyettesítése Szinkronizálás Szinkronizálás szükségessége, példa: egy végrehajtási szál kiolvas egy adatstruktúrából egy

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

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

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

ú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

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Készítette: Gipsz Jakab Neptun-azonosító: ABC123 E-mail: gipszjakab@seholse.hu Kurzuskód: IT-13AAT1EG Gyakorlatvezető

Részletesebben

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv: 5. Gyakorlat 5.1 Hálós adatbázis modell műveleti része NDQL, hálós lekérdező nyelv: A lekérdezés navigációs jellegű, vagyis a lekérdezés megfogalmazása során azt kell meghatározni, hogy milyen irányban

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

Konkurencia és energiakezelés integrálása eszközmeghajtókba. Vezeték nélküli szenzorhálózatok

Konkurencia és energiakezelés integrálása eszközmeghajtókba. Vezeték nélküli szenzorhálózatok Konkurencia és energiakezelés integrálása eszközmeghajtókba Vezeték nélküli szenzorhálózatok Energiahatékonyság Beágyazott eszközökben fontos a hatékony energiagazdálkodás OS-ek nagy részében ennek ellenére

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

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

JAVA SE/ME tanfolyam tematika

JAVA SE/ME tanfolyam tematika JAVA SE/ME tanfolyam tematika TANFOLYAM TEMATIKA: A JAVA MEGISMERÉSE Java története, miért készült, miért népszerű NETBEANS környezet telepítése, megismerése Programozási alapok java nyelven Változók,primitív

Részletesebben

Egyirányban láncolt lista

Egyirányban láncolt lista Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten

Részletesebben

Operációs rendszerek MINB240

Operációs rendszerek MINB240 Processzusok, szálak Operációs rendszerek MINB240 2. előadás Szálak, IPC Egy processzus Saját címtartomány Egyetlen vezérlési szál Hasznos lehet több kvázi párhuzamos vezérlési szál használata egy címtartományban

Részletesebben

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás NGB_IN003_1 SZE 2014-15/2 (10) Szoftverminőségbiztosítás Struktúra alapú (white-box) technikák A struktúrális tesztelés Implementációs részletek figyelembevétele Tesztelési célok -> lefedettség Implicit

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

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

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

Információs Technológia

Információs Technológia Információs Technológia Sor és verem adatszerkezet Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2009. november 19. Alapötlet

Részletesebben

Programozás I. Első ZH segédlet

Programozás I. Első ZH segédlet Programozás I. Első ZH segédlet Ezen az oldalon: kiírás az alapértelmezett (hiba) kimenetre, sztring konkatenáció, primitív típusok, osztály létrehozás, példányosítás, adattagok, metódusok Kiíratás alapértelmezett

Részletesebben

Programozás II. ATM példa Dr. Iványi Péter

Programozás II. ATM példa Dr. Iványi Péter Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert

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

9. TÖBBVÁLTOZÓS FÜGGVÉNYEK DIFFERENCIÁLSZÁMITÁSA. 9.1 Metrika és topológia R k -ban

9. TÖBBVÁLTOZÓS FÜGGVÉNYEK DIFFERENCIÁLSZÁMITÁSA. 9.1 Metrika és topológia R k -ban 9. TÖBBVÁLTOZÓS FÜGGVÉNYEK DIFFERENCIÁLSZÁMITÁSA 9.1 Metrika és topológia R k -ban Definíció. A k-dimenziós euklideszi térnek nevezzük és R k val jelöljük a valós számokból alkotott k-tagú x = (x 1, x

Részletesebben

értékel függvény: rátermettségi függvény (tness function)

értékel függvény: rátermettségi függvény (tness function) Genetikus algoritmusok globális optimalizálás sok lehetséges megoldás közül keressük a legjobbat értékel függvény: rátermettségi függvény (tness function) populáció kiválasztjuk a legrátermettebb egyedeket

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

Knoch László: Információelmélet LOGIKA

Knoch László: Információelmélet LOGIKA Mi az ítélet? Az ítélet olyan mondat, amely vagy igaz, vagy hamis. Azt, hogy az adott ítélet igaz vagy hamis, az ítélet logikai értékének nevezzük. Jelölése: i igaz h hamis A 2 páros és prím. Logikai értéke

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ási tételek. Dr. Iványi Péter

Programozási tételek. Dr. Iványi Péter Programozási tételek Dr. Iványi Péter 1 Programozási tételek A programozási tételek olyan általános algoritmusok, melyekkel programozás során gyakran találkozunk. Az algoritmusok általában számsorozatokkal,

Részletesebben

Folyamatszálak. Folyamatszálak. Folyamat. Folyamatszál. Szálak felépítése. Folyamatszálak általános jellemzői

Folyamatszálak. Folyamatszálak. Folyamat. Folyamatszál. Szálak felépítése. Folyamatszálak általános jellemzői Folyamatszálak Folyamatszálak A több szál fogalma először az időszeletes rendszereknél (time sharing systems) jelent meg, ahol egyszerre több személy is bejelentkezhetett egy központi számítógépre. Fontos

Részletesebben

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna Processzusok 1 Uniprogramozás Program A futás várakozás futás várakozás Idő A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna 2 Multiprogramozás Program A futás vár futás

Részletesebben

2013. 02. 01. Folyamat menedzsment Workflow

2013. 02. 01. Folyamat menedzsment Workflow Folyamat menedzsment Workflow 1 Üzleti folyamatok változása Mind az üzleti, mind a privát életben egyre fontosabbá válik a meglévő idő minél hatékonyabb felhasználása és a beérkező igényekre való gyors,

Részletesebben

Kereső algoritmusok a diszkrét optimalizálás problémájához

Kereső algoritmusok a diszkrét optimalizálás problémájához Kereső algoritmusok a diszkrét optimalizálás problémájához A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, 2003. könyv anyaga alapján A kereső eljárások

Részletesebben

KOVÁCS BÉLA, MATEMATIKA II.

KOVÁCS BÉLA, MATEMATIKA II. KOVÁCS BÉLA, MATEmATIkA II 3 III NUmERIkUS SOROk 1 Alapvető DEFInÍCIÓ ÉS TÉTELEk Végtelen sor Az (1) kifejezést végtelen sornak nevezzük Az számok a végtelen sor tagjai Az, sorozat az (1) végtelen sor

Részletesebben

Szoftvertechnolo gia gyakorlat

Szoftvertechnolo gia gyakorlat Szoftvertechnolo gia gyakorlat Dr. Johanyák Zsolt Csaba http://johanyak.hu 1. Dependency Injection (függőség befecskendezés) tervezési minta A tervezési minta alapgondolata az, hogy egy konkrét feladatot

Részletesebben

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis I. ALAPALGORITMUSOK 1. Prímszámvizsgálat Adott egy n természetes szám. Írjunk algoritmust, amely eldönti, hogy prímszám-e vagy sem! Egy számról úgy fogjuk eldönteni, hogy prímszám-e, hogy megvizsgáljuk,

Részletesebben

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

találhatók. A memória-szervezési modell mondja meg azt, hogy miként Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 4 (2012.03.26) Bevezető Mi is az a programozási nyelv, mit láttunk eddig (HTML+CSS)? Az eddig tanult két nyelven is mondhatni programoztunk, de ez nem a klasszikus értelemben

Részletesebben

Programozási alapismeretek 1. előadás

Programozási alapismeretek 1. előadás Programozási alapismeretek 1. előadás Tartalom A problémamegoldás lépései programkészítés folyamata A specifikáció Az algoritmus Algoritmikus nyelvek struktogram A kódolás a fejlesztői környezet 2/33 A

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.

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

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

Tuesday, 22 November 11

Tuesday, 22 November 11 Hogyan befolyásolta az írás a társadalmakat? Humánetológiai perspektívák Csányi Vilmos MTA A Humán viselkedési komplexum három dimenziója I. Szociális viselkedésformák II. Szinkronizációs viselkedési mechanizmusok

Részletesebben

Diszkrét matematika II., 5. előadás. Lineáris egyenletrendszerek

Diszkrét matematika II., 5. előadás. Lineáris egyenletrendszerek 1 Diszkrét matematika II, 5 előadás Lineáris egyenletrendszerek Dr Takách Géza NyME FMK Informatikai Intézet takach@infnymehu http://infnymehu/ takach/ 2007 március 8 Egyenletrendszerek Középiskolás módszerek:

Részletesebben

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése. Soros LCD vezérlő A vezérlő modul lehetővé teszi, hogy az LCD-t soros vonalon illeszthessük alkalmazásunkhoz. A modul több soros protokollt is támogat, úgy, mint az RS232, I 2 C, SPI. Továbbá az LCD alapfunkcióit

Részletesebben

A Feldspar fordító, illetve Feldspar programok tesztelése

A Feldspar fordító, illetve Feldspar programok tesztelése A Feldspar fordító, illetve Feldspar programok tesztelése [KMOP-1.1.2-08/1-2008-0002 társfinanszírozó: ERFA] Leskó Dániel Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék

Részletesebben

É ű ű Í ű ű ű É ű Í Ü É Í Á Ó Á É Á Á Á É Á Á Ó Á Á ű Ő Á É É ű É É É ű ű Á É Á Á Í Á Á Á É Á É É ű ű ű ű Í ű Í Í ű ű ű Í ű É ű É ű Á ű Í ű Á ű ű Á ÉÍ É É ű ű ű ű Í ű Í Í ű Á Í Í ű Í Í É ű É Í Í ű ű ű

Részletesebben

Í Ü ű É ü ú Ó Ó É Ü Ó Í Ü Ü ű Á É Á É Ü Ü É É É É Í Á É É Í Ó Ü ü Ő É Ő É É É É É É É É É É É É Á É Ú Á Ú É Á Ú É Ó ü ű É Á É Ü ű É Ü É É É Ü ű Ü ű É Ü Ú É Á Á Á É Ü Ü Ü É Ó Á Ő É Í É É É É Í Í ű ü ü Ó

Részletesebben

Í Á Á É ö ö ö ö ö ű ü ö ű ű ű ö ö ö ü ö ü í ü í í í ü í ü Á ü ö ö ü ö ü ö ö ü ö í ö ö ü ö ü í ö ü ű ö ü ö ü í ö í ö ű ű ö ö ú ö ü ö ű ű ű í ö ű í ű ö ű ü ö í ű í í ö í ö ö Ó Í ö ű ű ű ű í í ű ű í í Ü ö

Részletesebben

ü É Í ü ü ü Í ü ű ü ü ü ű ü ű ű ű ü ü ü ű ü Í ü ű ü ü ü Ű Í É É Á Ő Á Ó Á Á Á Á É Á Á Á Á É Á Í Á Á Í Í ű Á É É Á Á Ö Í Á Á Á Á Á É Á Á Ó ű Í ü ü ü ű ű ü ü ű ü Á ü ű ü Í Í Í ü Í Í ű ű ü ü ü ü ű ü ű ü ü

Részletesebben

Büki András UNIX/Linux héjprogramozás Büki András: UNIX/Linux héjprogramozás Büki András Felelõs kiadó a Kiskapu Kft. ügyvezetõ igazgatója 2002 Kiskapu Kft. 1081 Budapest Népszínház u. 29. Tel: (+36-1)

Részletesebben

Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit

Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit 1. Valós számsorozaton valós számok meghatározott sorrendű végtelen listáját értjük. A hangsúly az egymásután következés rendjén van.

Részletesebben

Szövegek C++ -ban, a string osztály

Szövegek C++ -ban, a string osztály Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string

Részletesebben

ProFTPD. Molnár Dániel. 2005. október. 02. 1. oldal

ProFTPD. Molnár Dániel. 2005. október. 02. 1. oldal ProFTPD Molnár Dániel 2005. október. 02 1. oldal Tartalomjegyzék 1.Telepítés és indítás...3 1.1.Telepítés Ubuntu Linux alatt:...3 1.2.Telepítés bináris csomagból...3 1.3.A program indítása...3 2.Konfiguráció...3

Részletesebben

BEVEZETÉS A PROGRAMOZÁSHOZ

BEVEZETÉS A PROGRAMOZÁSHOZ FÓTHI ÁKOS BEVEZETÉS A PROGRAMOZÁSHOZ Harmadik, javított kiadás c Fóthi Ákos, 2012 Tartalomjegyzék 1. Alapfogalmak 11 1.1. Halmazok................................ 11 1.2. Sorozatok................................

Részletesebben

2. előadás. Radio Frequency IDentification (RFID)

2. előadás. Radio Frequency IDentification (RFID) 2. előadás Radio Frequency IDentification (RFID) 1 Mi is az az RFID? Azonosításhoz és adatközléshez használt technológia RFID tag-ek csoportosítása: Működési frekvencia alapján: LF (Low Frequency): 125

Részletesebben

Adatbázis rendszerek 6.. 6. 1.1. Definíciók:

Adatbázis rendszerek 6.. 6. 1.1. Definíciók: Adatbázis Rendszerek Budapesti Műszaki és Gazdaságtudományi Egyetem Fotogrammetria és Térinformatika 6.1. Egyed relációs modell lényegi jellemzői 6.2. Egyed relációs ábrázolás 6.3. Az egyedtípus 6.4. A

Részletesebben

Analízis. 11 12. évfolyam. Szerkesztette: Surányi László. 2015. július 5.

Analízis. 11 12. évfolyam. Szerkesztette: Surányi László. 2015. július 5. Analízis 11 12. évfolyam Szerkesztette: Surányi László 2015. július 5. Technikai munkák (MatKönyv project, TEX programozás, PHP programozás, tördelés...) Dénes Balázs, Grósz Dániel, Hraskó András, Kalló

Részletesebben

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter Információ megjelenítés Számítógépes ábrázolás Dr. Iványi Péter Raszterizáció OpenGL Mely pixelek vannak a primitíven belül fragment generálása minden ilyen pixelre Attribútumok (pl., szín) hozzárendelése

Részletesebben

ADATBÁZIS-KEZELÉS. Modellek

ADATBÁZIS-KEZELÉS. Modellek ADATBÁZIS-KEZELÉS Modellek MODELLEZÉS Információsűrítés, egyszerűsítés Absztrakciós lépésekkel eljutunk egy egyszerűbb modellig, mely hűen tükrözi a modellezni kívánt világot. ADATMODELL Információ vagy

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

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott.

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott. Szigorlati témakörök az Informatika (szigorlat) (BMEVIAU0181) c. tantárgyat felváltó Informatika (BMEGERIEEIS) tantárgyból az okleveles energetikai mérnökképzés (2N-0E) hallgatói számára 1. tantárgy: Programozás

Részletesebben

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I. Számelmélet I. DEFINÍCIÓ: (Osztó, többszörös) Ha egy a szám felírható egy b szám és egy másik egész szám szorzataként, akkor a b számot az a osztójának, az a számot a b többszörösének nevezzük. Megjegyzés:

Részletesebben

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C programozási nyelv Pointerek, tömbök, pointer aritmetika C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek

Részletesebben

Alap fatranszformátorok I. Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap

Alap fatranszformátorok I. Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap Alap fatranszformátorok I Vágvölgyi Sándor Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap termátíró rendszerről eldönthető hogy összefolyó-e. Mindannyian

Részletesebben

Az adatbázisrendszerek világa

Az adatbázisrendszerek világa Az adatbázisrendszerek világa Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 1.1. Az adatbázisrendszerek fejlődése 1.2. Az adatbázis-kezelő rendszerek áttekintése

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

Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven

Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven Bevezető Basic-szerű, nyomtatóra szánt programozási nyelv, melyet az Intermec Technologies fejlesztett ki számítógép

Részletesebben

PASzSz. Dr. Kotsis Domokos

PASzSz. Dr. Kotsis Domokos PASzSz Készítette: Dr. Kotsis Domokos Első témakör: Lazarus terminál alkalmazás készítése. Lazarus terminál alkalmazás készítése. Egyszerű algoritmusok leírása, megvalósítása. Free Pascal A Turbo Pascal

Részletesebben

I. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

I. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK Mérési Utasítás Adat replikáció, RAID, RAID szintek A RAID-ben eredetileg 5 szintet definiáltak (RAID 1-től RAID 5-ig). Az egyes szintek nem a fejlődési, illetve minőségi sorrendet tükrözik, hanem egyszerűen

Részletesebben

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

Irányítástechnika 1. 10. Elıadás. PLC-k programozása rányítástechnika 1 10. Elıadás PLC-k programozása rodalom - Helmich József: rányítástechnika, 2005 - Zalotay Péter: PLC tanfolyam - Jancskárné Anweiler ldikó: PLC programozás az EC 1131-3 szabvány szerint,

Részletesebben

Alkalmazások architektúrája

Alkalmazások architektúrája Alkalmazások architektúrája Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 13. Bass, Clements, Kazman: Software Architecture in Practice, Addison- Wesley, 2004 2 Alkalmazás típusok Adat

Részletesebben

Operációs rendszerek Folyamatok 1.1

Operációs rendszerek Folyamatok 1.1 Operációs rendszerek p. Operációs rendszerek Folyamatok 1.1 Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK A rendszermag Rendszermag

Részletesebben

Java. Java Message Service. ANTAL Margit. JMS API technológia. ANTAL Margit. Sapientia - EMTE

Java. Java Message Service. ANTAL Margit. JMS API technológia. ANTAL Margit. Sapientia - EMTE Sapientia - EMTE 2008 Az előadás célja Üzenetkommunikációs architektúrák JMS Példák Üzenet gyártó Szinkron üzenetfogyasztó Aszinkron üzenetfogyasztó Üzenetbab (message-driven bean) point-to-point modell:

Részletesebben

Lekérdezések feldolgozása és optimalizálása

Lekérdezések feldolgozása és optimalizálása Lekérdezések feldolgozása és optimalizálása Definíciók Lekérdezés feldolgozása lekérdezés lefordítása alacsony szintű tevékenységekre lekérdezés kiértékelése adatok kinyerése Lekérdezés optimalizálása

Részletesebben