S0-01 Szintézis és verifikáció (Programozás elmélet)
|
|
- Barnabás Pap
- 5 évvel ezelőtt
- Látták:
Átírás
1 S0-01 Szintézis és verifikáció (Programozás elmélet) Tartalom 1. Programozási alapfogalmak 2. Elemi programok és program konstrukciók definíciói 3. Nem-determinisztikus strukturált programok formális verifikációja 4. Párhozamos programok formális verifikációja 5. Az interferencia-mentesség és a holtpont-mentesség vizsgálata 6. A kölcsönös kizárás és megvalósítása 7. További források 1. Programozási alapfogalmak A Programozás elméletben adatközpontú megközelítést alkalmazunk. Ezzel a megközelítéssel mind a feladat, mind a program, stb. definícióját adatok halmazán, állapottér meghatározásával írjuk le. Állapottér Egy adat típus-értékhalmaza az adat lehetséges értékeiből áll. Állapotnak hívjuk azt az érték-együttest, amikor egy feladat vagy egy program minden adata felvesz a saját típus-értékhalmazából egy-egy értéket. Formálisan: Legyenek A 1,..., A n (n N + ) típusérték-halmazok, és a halmazokat azonosító (egyedi, páronként különböző) v 1,..., v n címkék (változók) Minden cimke egy adatot (változó) jelöl. Egy állapot {v 1 : a 1,..., v n : a n } (cimkézett értékek halmaza), ahol minden változó felvesz egy értéket a hozzátartozó típus-értékhalmazból. (a i A i ) Az összes így képzett állapot halmazát állapottérnek nevezzük: A := { {v 1 : a 1,..., v n : a n } a i A i (i = 1,..., n) } Feladat A feladat egy kapcsolat (leképezés) a bemenet és az eredmény között: F A A Figyeljük meg, hogy az F reláció csak része az A A descartes-szorzatnak. Mivel azonban a kiinduló állapotok csak az állapottér egy részhalmazát képzik, illetve 1
2 az ezekhez rendelt állapotok ugyancsak az állapottérnek egy részhalmazát képzik, így érthető, hogy a feladat nem feltétlenül érvényes a teljes állapottéren. Példa: Osztója reláció Kérdés: d osztója-e n-nek, melyet az l logikai változó jelöl. A = (n : Z, d : Z, l : L) (1) F A A (2) ahol (3) D f = {{n, d, l} A d 0} (4) a D F : F (a) = {{n, d, l} A l = d n} (5) Tehát láthatjuk, hogy az F értelmezési tartományába csak azok az állapotok tartoznak bele, ahol az osztó nemnulla. Az l változó értéke F (a)-ban pedig aszerint alakul, hogy az d osztja-e n-et. Előfeltétel és utófeltétel Válasszunk egy P paraméterhalmazt, mellyel az F feladat felbontható két reláció kompozíciójára: F = F 1 F 2 ahol F 1 A P és F 2 P A, úgy hogy: a D F : F (a) = F 2 (F 1 (a)) Ekkor definiálni tudjuk a feladat elő- és utófeltételét: p P : Ef P : A L melyre [Ef P ] = F ( 1) 1 (p) Uf P : A L melyre [Uf P ] = F 2 (p) Jelölés magyarázat: Ha adott egy Q : A L állítás, annak az igazsághalmaza: [Q] := {q Q Q(a) igaz}. Tehát Ef olyan állítás, mely a feladat minden kezdőállapotára igazat ad, illetve az Uf olyan állítás, mely az F (a) állaptokra ad igaz értéket. Program Egy programot sokféleképpen lehet megadni. (program-gráf, strukogram, automaták, utasítások, pszeudo- vagy programnyelv). A program alaptermészete az, hogy különböző végrehajtásokat okoz. Tehát egy program a lehetséges végrehajtásainak összessége. Egy ilyen végrehajtás sorozatos állapot-változásokat idéz elő, ennél fogva leírható egy állapotsorozattal. 2
3 Példa: A = (n : [ 5,..., )) while n!= 10: n = n + sgn(n) Ennek a lehetséges végrehajtásai a következők: 0: <0,0,0,0,0,... > nem terminál (divergál) 4: <4,5,6,7,8,9,10> terminál 10: <10> terminál 13: <13,14,15,16,... > nem terminál (divergál) -2: <-2,-3,-4,-5, fail > abortál A program lehet nem-determinisztikus (nem mindig ugyanazt az állaposorozatot adja a kezdőállapból indítva), lehetnek segédváltozói, lehet véges vagy végtelen hosszú, illetve leállhat hibás állapotban vagy speciálisan holtpontban. Alap-állapottér A program alap-állapottere a program interfésze, mellyel a program a környezetével kommunikál (kezdőállapotát a környezet adja, végállapotát a környezet kapja). Illetve ez írja le a program alap-változóit, melyek a program működése során végig léteznek. Fromális specifikáció Legyen A az alap-állapottér ( fail / A ) Legyen A azon (véges komponensű) állapotterek úniója, melyeknek A altere: A := A B Jelöljük H -gal a H elemeiből képzett összes sorozatot (lehet végtelen is). Jelöljük H -gal a H elemeiből képzett összes véges sorozatot. Ezek alapján a A feletti programnak hívjuk azt az B S A (A fail) relációt, melyre fennállnak a következők: 1. D S = A a program értelmezési tartománya az alap-állapottér. 3
4 2. a A : α S(a) : α 1 α 1 = a az állapotsorozat legalább egy hosszú és a első állapota mindig az alapállapottérből való. 3. α R S : i (1 i < α ) : α i fail csak az utolsó elem lehet fail a végrehajtási állapotsorozatban 4. α R S : α < α α A {fail} a véges végrehajtások utolsó állapota vagy a fail vagy alap-állapottérbeli állapot. Megoldás Egy program akkor old meg egy feladatot (a program helyes a feladat szempontjából), ha végrehajtásai a feladat kezdőállapotaiból indulva a feladat megfelelő célállapotaiban állnak meg. Ekkor a feladat állapottere és a program alapállapottere azonos kell legyen. Ilyenkor a program végrehajtásai között találjuk a feladat kezdőállapotából induló végrehajtásokat, amelyekről azt kell eldönteni, hogy terminálnak-e (hibátlan és véges hosszú) és végállapotuk a feladat által megkívánt valamelyik célállapot lesz-e. Megoldás minősített esetei Parciális helyesség: Ha a program a feladat kezdőállapotaiból indulva leáll, akkor ezt a feladatnak megfelelő célállapotban teszi. (A leállást nem követeljük meg.) Jelölés: {Ef}S{Uf} (S minden Ef-beli állapotból induló véges végrehajtása egy U f-beli állapotba jut) Leállás: A feladat kezdőállapotából indulva leáll a program. (Hány vagy legfeljebb hány lépés múlva következik ez be? Kizárható-e a végtelen vagy a hibás működés, ez utóbbiba beleértve a holtpont helyzet kialakulását is.) Teljes helyesség: A program a feladat kezdőállapotaiból indulva a feladatnak megfelelő célállapotban (hibátlanul) áll le. Jelölés: {{Ef}}S{{U f}} (S minden Ef-beli állapotból induló végrehajtása egy U f-beli állapotba jut.) Gyengén teljes helyesség: Ilyenkor a helyesség-vizsgálat során figyelmen kívül hagyjuk a holtpont kialakulását. 2. Elemi programok és program konstrukciók definíciói Elemi programok Üres program 4
5 Az üres program gyakorlatilag az identitásfüggvény. ( S := skip ) skip(σ) =< σ > (Azaz az üres program egyetlen állapota a kezdőállapot.) Értékadás Az értékadás megváltoztatja egy változó értékét, így új állapotot idéz elő. (S := v := f(v)) (v := f(v))(σ) =< σ, σ > (6) ahol σ f(σ) ha σ D f (7) és σ fail ha σ / D f (8) Program konstrukciók Szekvencia A szekvenciával két program összefűzését érhetjük el. Legyen S 1 és S 2 közös állapotterű (A) programok. (S 1 ; S 2 )(σ) = {α α S 1 (σ) A } (9) {α α S 1 (σ) és α < és α α = fail} (10) {α β α S 1 (σ) A és β S 2 (α α )} (11) (12) Tehát: 1. Ha az S 1 nem terminál, akkor a szekvencia is csak a végtelen hosszú S 1 végrehatás lesz. 2. Ha az S 1 abortál, akkor a szekvencia is csak az abortált S 1 végrehajtás lesz. 3. Ha az S 1 hiba nélkül áll le, akkor ahhoz az állapotsorozathoz fűzzük hozzá az S 2 végrehajtását az S 1 utolsó állapotából. (a csatlakozásnál a duplikátumokat redukáljuk) Elágazás Az elágazással feltételek alapján változtathatjuk a sorozatot. 5
6 Legyenek S 1,..., S n programok és π 1,..., π n feltételek, amelyeknek közös alapállapottere az A. (if π 1 S 1,..., π n S n fi)(σ) = (13) n < σ, fail > ha i [1..n] : σ / D πi S i (σ) i [1..n] : σ D πi π i (σ) különben Tehát: i=1 σ D πi π i(σ) (14) 1. Minden olyan S i végrehajtás úniója ahol σ megfelel a π i feltételnek 2. Ha van egy olyan feltétel, ahol a σ nincs benne a feltétel értelmezési tartományában, vagy a σ egyik feltételnek sem tesz eleget, akkor a végrehajtás abortál. Ciklus A ciklussal ismétlődő sorozatokat állíthatunk elő. Legyen S 0 program és π feltétel, amelyeknek közös alap-állapottere az A. (S 0 ; while π do S 0 od)(σ) ha σ D π π(σ) (while π do S 0 od)(σ) = < σ > ha σ D π π(σ) < σ, fail > ha σ / D π (15) Tehát: 1. Amíg π teljesül, addig szekvenciálisan összefűzzük az S 0 -t a rekurzívan hívott ciklussal 2. Ha nem teljesül a feltétel, akkor gyakorlatilag egy skip-et hajtunk végre 3. Ha a σ nincs benne a π értelmezési tartományában, akkor a program abortál Atomi utasítás Atomi utasításnak párhuzamos/konkurens programok esetén tulajdonítunk fontos szerepet. Az atomi utasítás nem tartalmazhat sem ciklust, sem várakozó utasítást. Ekkor az utasítást egyszerre, megszakítás nélkül kell végrehajtani. [S](σ) = S(σ) 6
7 Elsőre furának tűnhet, de szemantikai értelemben valóban nincs különbség. Várakozó utasítás A várakozó utasítás párhuzamos/konkurens programok esetén szinkronizációra használható. < σ, fail > ha σ / D β (await β then S ta)(σ) = S(σ) ha σ D β β(σ) (await β then S ta)(σ) ha σ D β β(σ) A harmadik esetben nem párhuzamos program esetén nincs, ami megváltoztassa a σ értékét, így ez holtpontot okozhat. A várakozó utasítás esetén a β kiétékelése és az S program atomi műveletként hajtódik végre. Az S nem tartalmaz sem ciklust, sem várakozó utasítást. Párhuzamos blokk A párhuzamos blokkokkal leírhatjuk, hogy melyik programrészek futhatnak párhuzamosan. Legyen S 1,..., S n a párhuzamosan végrehajtott program ún. programágai. Az ütemező ezek közül választhat egyet végrehajtásra. Amennyiben az ütemező az i-edig ágnak adja a vezérlést: (parbegin S 1... S i... S n parend)(σ) = { (16) (parbegin S 1... S i 1 S i+1... S n parend)(σ) ha S i = skip (u; parbegin S 1... S i 1 T i S i+1... S n parend)(σ) ha skip S i = u; T i (17) 3. Nem-determinisztikus strukturált programok formális verifikációja A helyesség-vizsgálati módszerek menete A strukturált programok helyesség bizonyításának lényege, hogy belássuk, a program megoldja az adott feladatot. Hoare egy olyan deduktív módszert javasolt, mely: az elemi programok esetében közvetlen választ ad a fenti kérdésre 7
8 összetett programok esetén pedig visszavezeti a helyesség belátását az összetétel komponens programjainak vizsgálatára. (a komponens programok számára kijelöl egy-egy feladatot. Ha a komponens programok egyenként megoldják ezeket a feladatokat, akkor azokból konstruált program megoldja az eredeti feladatot.) Nevezetes programszerkezetek helyességének szabályai Jelöljük egy feladat specifikációját (A, Q, R)-el, ahol A az alap-állapottér, Q az előfeltétel, és R az utófeltétel. Üres program Az üres program megoldja az (A, R, R) specifikációjú feladatot. {{R}} skip {{R}} Az üres program akkor oldja meg az (A, Q, R) specifikációjú feladatot, ha Q R Q R {{Q}} skip {{R}} Értékadás A v := f(v) értékadás az (A, v D f e f(v) : R v e, R) specifikációjú feladatot oldja meg. {{v D f e f(v) : R v e }} v := f(v) {{R}} Ez a következtetés talán némi magyarázatra szorul. A gondolat az egész mögött az, hogy végezzük el az utófeltételben a helyettesítést és az így kapott állítás lesz az előfeltétele az értékadásnak. Nezzünk erre egy példát. Tegyük fel, hogy az értékadás: x := 5, illetve az utófeltétel: R := 0 < x < y Ekkor R x 5 = 0 < 5 < y = 5 < y az előfeltétel, hiszen annak, hogy a program lefutása után 0 < x < y fennáljon egyedül az a feltétele, hogy 5 < y, mivel az x-et a program meghatározza. A definíció ezt még megszorítja azzal, hogy: 1. a v természetesen f értelmezési tartományában kell legyen 2. f-nek esetleg több állapota is lehet melyet v-ből képez, így az összes lehetséges állítás konjukcióját kell venni. 8
9 A v := f(v) értékadás akkor oldja meg az (A, Q, R) specifikációjú feladatot, ha Q v D f e f(v) : R v e Q v D f e f(v) : R v e {{Q}} v := f(v) {{R}} Megjegyzés: speciális esetekben egyszerűsödhet az előfeltétel. Ha D f = A, akkor a v D f feltétel elhagyható, ha pedig az értékadás determinisztikus, akkor a e f(v) : R v e helyett elég R v f(v) -t írni. Szekvencia Legyen S 1 és S 2 programok szekvenciája az A alap-állapottéren az (S 1 ; S 2 ). Ha S 1 az (A, Q, Q ) feladatot és S 2 az (A, Q, R) feladatot oldja meg, akkor a szekvencia megoldja az (A, Q, R) feladatot. {{Q}} S 1 {{Q }} {{Q }} S 2 {{R}} {{Q}} S 1 ; S 2 {{R}} Elágazás Legyen az S 1,..., S n programokból és a π 1,..., π n : A L feltételekből álló elágazás az A alap-állapottéren az if π 1 S 1,..., π n S n fi Ha minden Q-beli állapotra minden elágazás feltétel értelmes, és legalább az egyik teljesül is, továbbá minden S i programág megoldja az (A, Q π i, R) feladatot, akkor az elágazás megoldja az (A, Q, R) feladatot. Q D π1... D πn Q π 1... π n i [1..n]: {{Q π i}} S i {{R}} {{Q}} if π 1 S 1,..., π n S n fi {{R}} Ciklus Tekintsük a while π do S 0 od ciklust az A alap-állapottéren, ahol S 0 program a ciklusmag, a π : A L a ciklusfeltétel. Továbbá legyen az ún. invariáns állítás egy I : A L logikai függvény. Ha: 1. Minden Q-beli állapot egyben I-beli (azaz [Q] [I], másként: Q I) 2. Az I-beli állapotokra értelmes a π 3. A π-t nem kielégítő (I-beli) állapotok R-beliek. (Magyarul a ciklusból kilépve igaz lesz R) 4. Továbbá az S 0 megoldja az (A, I π, I) feladatot. (tehát a ciklumag megőrzi az invariánst) 9
10 Akkor a ciklus parciális értelemben megoldja az (A, Q, R) feladatot. Q I (18) I D π (19) I π R (20) {I π} S 0 {I} (21) {Q} while π do S 0 od {R} (22) A teljes helyességhez szükségünk van arra, hogy a ciklus leálljon. Ehhez be kell vezetnünk egy ún. variáns függvényt, vagy termináló függvényt: t : A W, ahol W -n létezik egy < W W rendezési reláció. Emellett W < W egy jólrendezett halmaz, azaz teljesen rendezett (bármely két elem összehasonlítható), és bármely (nemüres) részhalmazának van minimuma. A legtöbb esetben N = W < W = Z választással szoktunk éllni. Megyjegyzés: a definíció bonyolultságát az indokolja, hogy a ciklus után a t értéke eggyel kisebb, mint a W < minimuma, tehát a t értelmezési tartománya bővebb kell legyen, mint W <. A parciális helyességen túl tehát azt kell még biztosítani, hogy S 0 mellett a t szigorúan monoton csökkenő, azaz bármely a [I π] állapotból az S 0 olyan b A állapotba jut, melyre t(b) < t(a). Amennyiben ez teljesül, akkor a ciklus megoldja az (A, Q, R) feladatot. Q I (23) I D π (24) I π R (25) I π t W < (26) c 0 W : {{I π t = c 0 }} S 0 {{I t < c 0 }} (27) {{Q}} while π do S 0 od {{R}} (28) 4. Párhozamos programok formális verifikációja A helyesség-vizsgálati módszerek menete A párhuzamos programok helyesség-vizsgálatánál hasonlóan járunk el, mint nem párhuzamos estben. A gyengén teljes helyesség vizsgálatához ez elegendő is. A teljes helyességhez a holtpont-mentességet is vizsgálni kell majd. 10
11 Nevezetes programszerkezetek helyességének szabályai Atomi utasítás Ahogy már korábban láttuk, az atomi utasítás szemantikája: [S](σ) = S(σ). Emiatt a szemantikából közvetlenül adódik a helyesség: {{Q}} S {{R}} {{Q}} [S] {{R}} Megjegyzés: A interferencia-mentesség és holtpont-mentesség jelen esetben biztosítva van, mivel az S atomi végrehajtású. Várakozó utasítás A várakozó utasítás (await β then S ta) szemantikájánál láttuk, hogy 3 eset lehetséges: 1. ha σ / D β, akkor abortál 2. ha nem teljesül a feltétel, akkor nincs változás 3. ha σ D β és β(σ) igaz, akkor végrehajtjuk az S-et. A helyesség kapcsán csak a harmadik pont érdekes, ami meg közvetlenül adódik. {{Q β}} S {{R}} {{Q}} await β then S ta {{R}} Megjegyzés: A interferencia-mentesség és holtpont-mentesség jelen esetben biztosítva van, mivel β kiértékelése és S is atomi végrehajtású. Párhuzamos blokk A párhuzamos blokk esetében azt tudjuk mondani, hogy ha S 1,..., S n interferencia-mentesek és a belőük képzett párhuzamos blokk holtpont-mentes, akkor: {{Q 1 }} S 1 {{R n }},..., {{Q n }} S n {{R n }} (29) Q Q 1... Q n (30) R 1... R n R (31) {{Q}} parbegin S 1... S n parend {{R}} (32) 11
12 5. Az interferencia-mentesség és a holtpont-mentesség vizsgálata Interferencia-mentesség Annotáció Az S program segédállításokkal és S változóit nem értintő extra műveletekkel kiegészített változatát az S program annotációjának nevezzük és S -gal jelöljük. {{Q}} S {{R}} {{Q}} S {{R}} Parciális helyességi tételek interferencia-mentessége kritikus utasítás: Értékadás, vagy értékadást is tartalmazó atomi művelet. Egy u kritikus utasítás nem interferál a {Q} S {R} parciális helyességi tétellel, ha: 1. u nem sérti meg R-t, azaz {R pre u } u {R} 2. u nem sérti meg az S -beli egyik utasítás előfeltételét (pre s ) sem, azaz {pre s pre u } u {pre s } (az egyik pre s éppen Q lesz.) Ezek alapján a {Q k } Sk {R k} k [1..n] parciális helyességi tételek interferenciamentesek, ha i, j [1..n] : i j folyamatpárra az Si -nak egy kritikus utasítása sem interferál a {Q j } Sj {R j} parciális helyességi tétellel. Gyengén teljes helyességi tételek interferencia-mentessége A parciális helyességi tételből kiindulva meg tudjuk határozni a gyengén teljes helyességi tételek interferencia-mentességét. Tehát a fentiekhez hasonlóan, egy u kritikus utasítás nem interferál a {{Q}} S {{R}} gyengén teljes helyességi tétellel, ha: 1. nem interferál a {Q} S {R} parciális helyességi tétellel 2. és minden S -beli ciklus összes s utasítására: {t = c 0 pre s pre u } u {t c 0 } Illetve hasonlóan a {{Q k }} Sk {{R k}} k [1..n] gyengén teljes helyességi tételek interferencia-mentesek, ha i, j [1..n] : i j folyamatpárra az Si -nak egy kritikus utasítása sem interferál a {{Q j }} Sj {{R j}} gyengén teljes helyességi tétellel. 12
13 Holtpont-mentesség Blokkolt állapot: Egy párhuzamos program valamelyik folyamata blokkolt állapotba kerül, ha van benne egy várakozó utasítás, melynek előfeltétele Q és fennáll a Q β. Holtpont-állapot: Egy párhuzamos program holtpont állapotban van, ha legalább egy folyamata blokkolt, míg a többi vagy befejeződött, vagy azok is blokkoltak. Holtpont-mentesség: Egy program egy állításra nézve holtpont-mentes, ha nincs olyan állapot, mely kielégíti az állítást viszont abból indítva a program holtpont-állapotba jut. Általános párhuzamos program Az S párhuzamos program szerkezetének legfelső szintjén szekvenciálisan követik egymást (tetszőleges sorrendben) párhuzamos blokkok (S k ) és várakozó utasítások (w j ). Ezen felül a párhuzamos blokkok komponensei S (k) l is ugyanilyen szerkezetűek. Figure 1: Általános párhuzamos program Owicki-Gries holtpont-mentességi kritérium Egy program akkor várakozik, ha: vagy valamelyik await utasításnál várakozik (pre(w j ) β j ) vagy valamelyik parbegin-parend blokkban várakozik. (D (S k )) 13
14 ( n D(S) = j=1 ) ( m (pre(w j ) β j ) k=1 ) D (S k ) Egy program a parbegin-parend blokkban akkor várakozik, vagy van legalább egy várakozó ága, miközben a többi végetért, vagy azok is várakoznak. ( l D (S k ) = i=1 ) D(S (k) i ) ( l (post(s (k) i=1 Ha D(S) hamis, akkor az S program holtpont-mentes. i ) ) D(S (k) i )) 6. A kölcsönös kizárás és megvalósítása Kritikus szakasz: Az interferencia vizsgálat szempontjából kritikusak egy folyamat azon utasításokból álló szakaszai (utasítás-szekvenciái) amelyek más párhuzamosan futó folyamatokkal közösen használnak egy erőforrást. Az ilyen kritikus szakaszoknak a működését az interferencia mentesség érdekében össze kell hangolni. Kölcsönös kizárás A kölcsönös kizárás egy adott erőforrás (erőforrás csoport) párhuzamos programbeli használatának egy lehetséges módja. Ennek során amíg egy folyamat egy adott közös erőforrás kritikus szakaszában van, addig a többi folyamat ugyanezen erőforrás kritikus szakaszában nem tartózkodhat: valami mást csinál vagy a kritikus szakaszba történő belépésre várakozik. Figure 2: Kölcsönös kizárás 14
15 Kölcsönös kizárás megvalósítása A kölcsönös kizárás megvalósításához a kritikus szakaszokat különleges belépő és kilépő szakaszokkal egészítjük ki, amelyek diszjunktak a folyamat többi részétől: ( var(bki ) var(kk i ) ) ( var(nk i ) var(ks i ) ) = Figure 3: Kölcsönös kizárás megvalósítása A kölcsönös kizárás akkor teljesül, ha: az {Ef i } Si {Uf i } annotációk interferencia-mentesek. és minden i, j [1..n] : i j-re fennáll, hogy pre KSi pre KSj 7. További források Előadás diasor 15
5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás
Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:
... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.
Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat
Bevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
Kiterjesztések sek szemantikája
Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból
ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha
ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig
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
NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere
Szekvenciális programok kategóriái strukturálatlan strukturált NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE Hoare-Dijkstra-Gries módszere determinisztikus valódi korai nem-determinisztikus általános fejlett
Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.
Programkonstrukciók Definíció Legyen π feltétel és S program A-n. A DO A A relációt az S-ből a π feltétellel képezett ciklusnak nevezzük, és (π, S)-sel jelöljük, ha 1. a / [π] : DO (a) = { a }, 2. a [π]
Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból
ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév
6. Közös változóval rendelkező párhuzamos program, Közös változó,
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,
7.4. A programkonstrukciók és a kiszámíthatóság
H @ tj 68 7 PROGRAMKONSTRUKCIÓK 74 A programkonstrukciók és a kiszámíthatóság Ebben az alfejezetben kis kitérőt teszünk a kiszámíthatóság-elmélet felé, és megmutatjuk, hog az imént bevezetett három programkonstrukció
3. előadás. Programozás-elmélet. A változó fogalma Kiterjesztések A feladat kiterjesztése A program kiterjesztése Kiterjesztési tételek Példa
A változó fogalma Definíció Legyen A = A 1 A 2... A n állapottér. A pr Ai projekciós függvényeket változóknak nevezzük: : A A i pr Ai (a) = a i ( a = (a 1, a 2,..., a n ) A). A változók jelölése: v i =
Programozási módszertan
1 Programozási módszertan 1. Alapfogalmak Feldhoffer Gergely 2012 Féléves tananyag terve 2 Program helyességének bizonyítása Reprezentáció Logikai-matematikai eszköztár Programozási tételek bizonyítása
Termelő-fogyaszt. fogyasztó modell
Termelő-fogyaszt 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ó
9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.
Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi
Osztott rendszer. Osztott rendszer informális definíciója
Osztott rendszer Osztott rendszer informális definíciója Egymástól elkülönülten létező program-komponensek egy halmaza. A komponensek egymástól függetlenül dolgoznak saját erőforrásukkal. A komponensek
8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus.
8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus. Ágens rendszer definíciója. Példák. Fairness. (Fair tulajdonság). Gyenge fair követelmény. A fair nem determinisztikus szemantika definíciója
f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva
6. FÜGGVÉNYEK HATÁRÉRTÉKE ÉS FOLYTONOSSÁGA 6.1 Függvény határértéke Egy D R halmaz torlódási pontjainak halmazát D -vel fogjuk jelölni. Definíció. Legyen f : D R R és legyen x 0 D (a D halmaz torlódási
Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!
függvények RE 1 Relációk Függvények függvények RE 2 Definíció Ha A, B és ρ A B, akkor azt mondjuk, hogy ρ reláció A és B között, vagy azt, hogy ρ leképezés A-ból B-be. Ha speciálisan A=B, azaz ρ A A, akkor
Matematika alapjai; Feladatok
Matematika alapjai; Feladatok 1. Hét 1. Tekintsük a,, \ műveleteket. Melyek lesznek a.) kommutativok b.) asszociativak c.) disztributívak-e a, műveletek? Melyik melyikre? 2. Fejezzük ki a műveletet a \
RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!
RE 1 Relációk Függvények RE 2 Definíció: Ha A, B és ρ A B, akkor azt mondjuk, hogy ρ reláció A és B között, vagy azt, hogy ρ leképezés A-ból B-be. Ha speciálisan A=B, azaz ρ A A, akkor azt mondjuk, hogy
1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
Programok értelmezése
Programok értelmezése Kód visszafejtés. Izsó Tamás 2016. szeptember 22. Izsó Tamás Programok értelmezése/ 1 Section 1 Programok értelmezése Izsó Tamás Programok értelmezése/ 2 programok szemantika értelmezése
Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.
HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak
Algoritmizálás, adatmodellezés tanítása 6. előadás
Algoritmizálás, adatmodellezés tanítása 6. előadás Tesztelési módszerek statikus tesztelés kódellenőrzés szintaktikus ellenőrzés szemantikus ellenőrzés dinamikus tesztelés fekete doboz módszerek fehér
Occam 1. Készítette: Szabó Éva
Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti
A félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
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
Bánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)
6. Fabejáró algoritmusok Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban
Bevezetés a programozáshoz I. Feladatok
Bevezetés a programozáshoz I. Feladatok 2006. szeptember 15. 1. Alapfogalmak 1.1. példa: Írjuk fel az A B, A C, (A B) C, és A B C halmazok elemeit, ha A = {0, 1}, B = {1, 2, 3}, C = {p, q}! 1.2. példa:
2014. szeptember 24. és 26. Dr. Vincze Szilvia
2014. szeptember 24. és 26. Dr. Vincze Szilvia Mind a hétköznapi, mind a tudományos életben gyakran előfordul, hogy bizonyos halmazok elemei között kapcsolat figyelhető meg. A kapcsolat fogalmának matematikai
Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1
Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,
Leképezések. Leképezések tulajdonságai. Számosságok.
Leképezések Leképezések tulajdonságai. Számosságok. 1. Leképezések tulajdonságai A továbbiakban legyen A és B két tetszőleges halmaz. Idézzünk fel néhány definíciót. 1. Definíció (Emlékeztető). Relációknak
Logika es sz am ıt aselm elet I. r esz Logika 1/36
1/36 Logika és számításelmélet I. rész Logika 2/36 Elérhetőségek Tejfel Máté Déli épület, 2.606 matej@inf.elte.hu http://matej.web.elte.hu Tankönyv 3/36 Tartalom 4/36 Bevezető fogalmak Ítéletlogika Ítéletlogika
Diszkrét matematika I.
Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 3. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Relációk Diszkrét matematika I. középszint 2014.
PROGRAM STATIKUS FOGALMA DINAMIKUSAN VÁLTOZÓ ÁLLAPOTTÉRBEN 1
PROGRAM STATIKUS FOGALMA DINAMIKUSAN VÁLTOZÓ ÁLLAPOTTÉRBEN 1 Az ELTE IK programozó informatikus képzésében egy statikus szemléletű, matematikai relációk fogalmára épülő modell keretében tanítjuk a programozást.
Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
Logika es sz am ıt aselm elet I. r esz Logika Negyedik el oad as 1/26
1/26 Logika és számításelmélet I. rész Logika Negyedik előadás Tartalom 2/26 Az elsőrendű logika szemantikája Formulák és formulahalmazok szemantikus tulajdonságai Elsőrendű logikai nyelv interpretációja
Formális nyelvek - 9.
Formális nyelvek - 9. Csuhaj Varjú Erzsébet Algoritmusok és Alkalmazásaik Tanszék Informatikai Kar Eötvös Loránd Tudományegyetem H-1117 Budapest Pázmány Péter sétány 1/c E-mail: csuhaj@inf.elte.hu 1 Véges
Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján
Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján Számsorozatok, vektorsorozatok konvergenciája Def.: Számsorozatok értelmezése:
Analízis I. beugró vizsgakérdések
Analízis I. beugró vizsgakérdések Programtervező Informatikus szak 2008-2009. 2. félév Készítette: Szabó Zoltán SZZNACI.ELTE zotyo@bolyaimk.hu v1.7 Forrás: Dr. Weisz Ferenc: Prog. Mat. 2006-2007 definíciók
KOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az
Véges automaták, reguláris nyelvek
Véges automaták, reguláris nyelvek Kiegészítő anyag az lgoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: lgoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 27. augusztus 3. véges automata
Klasszikus algebra előadás. Waldhauser Tamás április 14.
Klasszikus algebra előadás Waldhauser Tamás 2014. április 14. Többhatározatlanú polinomok 4.3. Definíció. Adott T test feletti n-határozatlanú monomnak nevezzük az ax k 1 1 xk n n alakú formális kifejezéseket,
Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1
Elsőrendű logika szintaktikája és szemantikája Logika és számításelmélet, 3. gyakorlat 2009/10 II. félév Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1 Az elsőrendű logika Elemek egy
A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex
A sorozat fogalma Definíció. A természetes számok N halmazán értelmezett függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet a valós számok halmaza, valós számsorozatról beszélünk, mígha az
Halmazelméleti alapfogalmak
Halmazelméleti alapfogalmak halmaz (sokaság) jól meghatározott, megkülönböztetett dolgok (tárgyak, fogalmak, stb.) összessége. - halmaz alapfogalom. z azt jelenti, hogy csak példákon keresztül magyarázzuk,
Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések
Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések 1. Az informatikai rendszereknél mit ellenőriznek validációnál és mit verifikációnál? 2. A szoftver verifikációs technikák
minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.
Függvények határértéke és folytonossága Egy f: D R R függvényt korlátosnak nevezünk, ha a függvényértékek halmaza korlátos. Ha f(x) f(x 0 ) teljesül minden x D esetén, akkor x 0 -at a függvény maximumhelyének
Algoritmusok helyességének bizonyítása. A Floyd-módszer
Algoritmusok helyességének bizonyítása A Floyd-módszer Algoritmusok végrehajtása Egy A algoritmus esetében a változókat három változótípusról beszélhetünk, melyeket az X, Y és Z vektorokba csoportosítjuk
Algoritmizálás, adatmodellezés tanítása 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Az algoritmus fogalma végrehajtható (van hozzá végre-hajtó) lépésenként hajtható végre a lépések maguk is algoritmusok pontosan definiált, adott végre-hajtási
HALMAZELMÉLET feladatsor 1.
HALMAZELMÉLET feladatsor 1. Egy (H,, ) algebrai struktúra háló, ha (H, ) és (H, ) kommutatív félcsoport, és teljesül az ún. elnyelési tulajdonság: A, B H: A (A B) = A, A (A B) = A. A (H,, ) háló korlátos,
1. előadás: Halmazelmélet, számfogalom, teljes
1. előadás: Halmazelmélet, számfogalom, teljes indukció Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető,
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
Alap fatranszformátorok II
Alap fatranszformátorok II Vágvölgyi Sándor Fülöp Zoltán és Vágvölgyi Sándor [2, 3] közös eredményeit ismertetjük. Fogalmak, jelölések A Σ feletti alaptermek TA = (T Σ, Σ) Σ algebráját tekintjük. Minden
Az optimális megoldást adó algoritmusok
Az optimális megoldást adó algoritmusok shop ütemezés esetén Ebben a fejezetben olyan modellekkel foglalkozunk, amelyekben a munkák több műveletből állnak. Speciálisan shop ütemezési problémákat vizsgálunk.
Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Modellellenőrzés dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális vagy félformális tervek Informális követelmények Formális modell: KS, LTS, TA
17. előadás: Vektorok a térben
17. előadás: Vektorok a térben Szabó Szilárd A vektor fogalma A mai előadásban n 1 tetszőleges egész szám lehet, de az egyszerűség kedvéért a képletek az n = 2 esetben szerepelnek. Vektorok: rendezett
S0-02 Típusmodellek (Programozás elmélet)
S0-02 Típusmodellek (Programozás elmélet) Tartalom 1. Absztrakt adattípus 2. Adattípus specifikációja 3. Adattípus osztály 4. Paraméterátadás 5. Reprezentációs függvény 6. Öröklődés és polimorfizmus 7.
Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?
,,Alap kiskérdések Logika és informatikai alkalmazásai kiskérdések 2012. február 19. 1. Hogy hívjuk a 0 aritású függvényjeleket? 2. Definiálja a termek halmazát. 3. Definiálja a formulák halmazát. 4. Definiálja,
Markov-láncok stacionárius eloszlása
Markov-láncok stacionárius eloszlása Adatbányászat és Keresés Csoport, MTA SZTAKI dms.sztaki.hu Kiss Tamás 2013. április 11. Tartalom Markov láncok definíciója, jellemzése Visszatérési idők Stacionárius
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:
Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
Időzített átmeneti rendszerek
Időzített átmeneti rendszerek Legyen A egy ábécé, A = A { (d) d R 0 }. A feletti (valós idejű) időzített átmeneti rendszer olyan A = (S, T,,, ) címkézett átmeneti rendszert ( : T A ), melyre teljesülnek
Számelméleti alapfogalmak
1 Számelméleti alapfogalmak 1 Definíció Az a IN szám osztója a b IN számnak ha létezik c IN melyre a c = b Jelölése: a b 2 Példa a 0 bármely a számra teljesül, mivel c = 0 univerzálisan megfelel: a 0 =
Nagy Gábor compalg.inf.elte.hu/ nagy
Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 5. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra
Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Modellellenőrzés dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális vagy félformális tervek Informális követelmények Formális modell: KS, LTS, TA
A fontosabb definíciók
A legfontosabb definíciókat jelöli. A fontosabb definíciók [Descartes szorzat] Az A és B halmazok Descartes szorzatán az A és B elemeiből képezett összes (a, b) a A, b B rendezett párok halmazát értjük,
Diszkrét matematika 1. középszint
Diszkrét matematika 1. középszint 2017. sz 1. Diszkrét matematika 1. középszint 3. el adás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra
Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy
1. előadás: Halmazelmélet Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy hozzátartozik-e,
Java II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében?
Definíciók, tételkimondások 1. Mondjon legalább három példát predikátumra. 2. Sorolja fel a logikai jeleket. 3. Milyen kvantorokat ismer? Mi a jelük? 4. Mikor van egy változó egy kvantor hatáskörében?
Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok
Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok Program verifikálás Konkurens programozási megoldások terjedése -> verifikálás szükséges, (nehéz) logika Legszélesebb körben alkalmazott
A programozás alapjai 1 Rekurzió
A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder
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
Diszkrét matematika II., 8. előadás. Vektorterek
1 Diszkrét matematika II., 8. előadás Vektorterek Dr. Takách Géza NyME FMK Informatikai Intézet takach@inf.nyme.hu http://inf.nyme.hu/ takach/ 2007.??? Vektorterek Legyen T egy test (pl. R, Q, F p ). Definíció.
1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.
1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata. HLMZOK halmaz axiomatikus fogalom, nincs definíciója. benne van valami a halmazban szintén axiomatikus fogalom,
Térinformatikai algoritmusok Elemi algoritmusok
Cserép Máté Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot oldottuk meg korábban,
Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása
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
A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai
A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási
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
Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK
Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK Sorozat fogalma Definíció: Számsorozaton olyan függvényt értünk, amelynek értelmezési tartománya a pozitív egész
Részletes szoftver tervek ellenőrzése
Részletes szoftver tervek ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.mit.bme.hu/~majzik/ Tartalomjegyzék A részletes
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Programkészítés Megrendelői igények begyűjtése Megoldás megtervezése (algoritmuskészítés)
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
2012. október 2 és 4. Dr. Vincze Szilvia
2012. október 2 és 4. Dr. Vincze Szilvia Tartalomjegyzék 1.) Az egyváltozós valós függvény fogalma, műveletek 2.) Zérushely, polinomok zérushelye 3.) Korlátosság 4.) Monotonitás 5.) Szélsőérték 6.) Konvex
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
MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga
BABEŞ-BOLYAI TUDOMÁNYEGYETEM, KOLOZSVÁR MATEMATIKA ÉS INFORMATIKA KAR MATE-INFO UBB verseny, 218. március 25. MATEMATIKA írásbeli vizsga FONTOS TUDNIVALÓK: 1 A feleletválasztós feladatok,,a rész esetén
Nagy Gábor compalg.inf.elte.hu/ nagy
Diszkrét matematika 1. estis képzés 2017. ősz 1. Diszkrét matematika 1. estis képzés 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján
Térinformatikai algoritmusok Elemi algoritmusok
Cserép Máté 2016. szeptember 14. Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 207. tavasz. Diszkrét matematika 2.C szakirány 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 207.
I. RÉSZ PROGRAMOZÁSI FOGALMAK
I. RÉSZ PROGRAMOZÁSI FOGALMAK Azokat a gondolkodási formákat, alapelveket, valamint az érvényesítésükhöz szükséges eszközöket, amelyeket rendszeresen alkalmazunk a programozási feladatok megoldásánál,
Algoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az
Analízis előadás és gyakorlat vázlat
Analízis előadás és gyakorlat vázlat Készült a PTE TTK GI szakos hallgatóinak Király Balázs 2010-11. I. Félév 2 1. fejezet Számhalmazok és tulajdonságaik 1.1. Nevezetes számhalmazok ➀ a) jelölése: N b)
PROGRAMOZÁS VISSZAVEZETÉSSEL
Gregorics Tibor PROGRAMOZÁS VISSZAVEZETÉSSEL egyetemi jegyzet 1 2011 1 A jegyzet tananyagának kialakítása az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósult meg (a
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(
ZH feladatok megoldásai
ZH feladatok megoldásai A CSOPORT 5. Írja le, hogy milyen szabályokat tartalmazhatnak az egyes Chomskynyelvosztályok (03 típusú nyelvek)! (4 pont) 3. típusú, vagy reguláris nyelvek szabályai A ab, A a
1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy b = ax. Ennek jelölése a b.
1. Oszthatóság, legnagyobb közös osztó Ebben a jegyzetben minden változó egész számot jelöl. 1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy