C. A. R. Hoare E. W. Dijkstra Fóthi Ákos

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

Download "C. A. R. Hoare E. W. Dijkstra Fóthi Ákos"

Átírás

1 ELŐSZÓ A programozás az a mérnök tevékenység, amkor egy feladat megoldására programot készítünk, amelyet azután számítógépen hajtunk végre. Ezen látszólag egyszerű meghatározás mögött több fgyelemre méltó gondolat rejtőzk. Az egyk az, hogy a programkészítés célja egy feladat megoldása, ezért a programozás során mndg a ktűzött feladatot kell szem előtt tartanunk; abból kell kndulnunk, azt kell elemeznünk, részleteben megsmernünk. A másk gondolat az, hogy a program fogalma nem kötődk olyan szorosan a számítógéphez, mnt azt hnnénk. A programozás valójában egymástól jól elkülöníthető bár a gyakorlatban összefonódó résztevékenységekből áll: először ktaláljuk, megtervezzük a programot (ez az gazán nehéz lépés), aztán átfogalmazzuk, azaz kódoljuk azt egy számítógép számára érthető programozás nyelvre, végül kpróbáljuk, teszteljük. Nylvánvaló, hogy ebben a lépésben, a programtervezésben sznte kzárólag a megoldandó feladatra kell összpontosítanunk, és nem kell, nem s szabad törődnünk azzal, hogy a program mlyen programozás környezetbe ágyazódk majd be. Nem veszhetünk el az olyan kérdések részletezésében, hogy m s az a számítógép, hogyan működk, m az operácós rendszer, m egy programozás nyelv, hogyan lehet egy programot valamely számítógép számára érthetővé, végrehajthatóvá tenn. A program lényeg része ugyans nevezetesen, hogy megoldja a feladatot nem függ a programozás környezettől. A programtervezésnek és a programozás környezetnek a szétválasztása nemcsak a programozás tanulása szempontjából hasznos, hanem a programozó mesterségnek s elengedhetetlen feltétele. Az állandóan változó technka környezetben ugyans pontosan kell látn, melyk smeret az, amt változtatás nélkül tovább használhatunk, és melyk az, amelyet dőről dőre le kell cserélnünk. A programtervezésnek az alapelve, módszere, egyszóval a gondolkodásmód nem változk olyan gyorsan, mnt a programozás környezet, amelyben dolgoznunk kell. Ak a programozást egy konkrét programozás környezettel összefüggésben sajátítja el, az a megszerzett smeretet mnd térben, mnd dőben erősen korlátozottan tudja csak alkalmazn. Éppen ezért, akk ebben a könyvben Turbo Pascal vagy C++ kódrészleteket keresnek, esetleg a képernyő- vagy az adatbázs-kezelés rejtelmere kíváncsak, mnden bzonnyal csalódn fognak. Ez a könyv nem foglalkozk a ma használatos számítógépek felépítésével, programozás nyelvek bemutatásával, és nem tartalmaz konkrét kódolás smereteket sem. Helyette egy olyan gondolkodásmód kalakításához nyújt segítséget, amelyet akkor alkalmazhatunk, amkor egy feladatot egy tetszőleges programozás nyelvre lefordítható és ematt elvleg bármelyk számítógépen végrehajtható program segítségével akarunk megoldan. Ak elsajátítja ezt a gondolkodásmódot, képes lesz arra, hogy bonyolultabb feladatokhoz állítson elő olyan megoldó programokat, amelyeket majd le kell fordítan valamelyk általa smert programozás nyelvre. A harmadk gondolat a mérnök jelzőben rejlk. E szernt a programkészítést egy vlágosan rögzített technológa mentén kell végezn, olyan szabványokra támaszkodva ezeket majd programozás mntáknak fogjuk nevezn, amelyek helyes használata szavatolja a programnak, mnt terméknek a mnőségét. Még a legkülönösebbnek tűnő feladat s megfelelő elemzés során felbontható olyan részekre, amelyek megoldására már rendelkezünk korább mntákkal. Ezek olyan részmegoldások, amelyek helyessége, hatékonysága 1

2 ELŐSZÓ bzonyított, egyszóval bztonságosak. Kézenfekvő, hogy egy új feladat megoldásához ezeket a korábban már bevált mntákat felhasználjuk, ahelyett, hogy mndent teljesen elejéről kezdjünk el kdolgozn. Ha megfelelő technológát alkalmazunk a mnták újrafelhasználásánál, akkor a bztonságos mntákból garantáltan bztonságos megoldást tudunk építen. Ebben a könyvben a programozás mntáknak egy specáls családjával, az algortmus mntákkal (programozás tételekkel) foglalkozunk, és számos példa segítségével mutatunk módszereket azok felhasználására. Meg kell azonban jegyezn, hogy a programozásban még számos más jellegű mntával s találkozhatunk: tervezés mntákkal, mplementácós lletve kódolás mntákkal, tesztelés mntákkal, stb. Ennek a könyvnek a célja egy olyan programozás módszertan bemutatása, amelyk feladat orentált, elválasztja a program tervezését a terv megvalósításától, és a tervezés során programozás mntákat követ. * * * Ez a könyv az Eötvös Loránd Tudományegyetem programtervező nformatkus szakának Programozás című tantárgyához készült jegyzet. A könyvre erősen rányomja bélyegét az a gondolkodásmód, amely C. A. R. Hoare és E. W. Djkstra ötletere épülve alakult és csszolódott k az ELTE Informatka Karán (és annak jogelődjén) folyó nformatka oktatás során. A nyolcvanas évek eleje óta tartó kutató és oktató munkában részt vevő haza alkotócsapatból magasan kemelkedk Fóth Ákos, ak úttörő és vezető szerepet játszott és játszk egy sajátos programozás szemléletmód kalakításában, ak a szó klasszkus értelmében skolát teremtett maga körül. Ennek a szemléletmódnak, programozás módszertannak sok eleme tudományos közlemények formájában s megjelent már, ugyanakkor gen számottevő tudományos folyóratokban nem közölhető eredmény gyűlt össze a mndennapos oktatás során használt példatárak, segédanyagok, ddaktka elemek (bevezető példák, segédtételek, demonstrácós feladatok) formájában. Hangsúlyozom, hogy az alapgondolat és számos ötlet Fóth Ákostól származk, de sok részletet mások dolgoztak k. Ma már gen nehéz azt pontosan meghatározn, hogy egy-egy lyen részlet ktől származk: egyrészt azért, mert bzonyos ötletek megszületése és kdolgozása nem mndg ugyanahhoz a személyhez fűződnek, másrészt pedg a szakfolyóratokban nem közölhető elemek szerzőnek neve sehol nncs dokumentálva. A legteljesebb névsort azokról, akk ebben a csapatmunkában részvettek, valószínűleg a Workgroup on Relaton Models of Programmng: Some Concepts of a Relatonal Model of Programmng,Proceedngs of the Fourth Symposum on Programmng Languages and Software Tools, Ed. prof. Varga, L., Vsegrád, Hungary, June 9-10, publkácóban találjuk. Ennek a könyvnek nem célja a módszertan elmélet háttárét bemutatn, hszen ezt a képzésünk egy másk tantárgyának hvatalos jegyzete megtette már. Itt a módszertannak a gyakorlatban történő alkalmazásáról lesz szó, nevezetesen arról, hogyan lehet különféle feladatokat algortmus mnták, úgynevezett programozás tételek segítségével megoldan. A könyv ddaktkájának összeállításakor elsősorban saját előadásamra és gyakorlatamra támaszkodtam, de felhasználtam Fóth Ákos előadásanak, valamnt a vele folytatott beszélgetéseknek tapasztalatat s. 2

3 I. RÉSZ PROGRAMOZÁSI FOGALMAK Azokat a gondolkodás formákat, alapelveket, valamnt az érvényesítésükhöz szükséges eszközöket, amelyeket rendszeresen alkalmazunk a programozás feladatok megoldásánál, programozás módszereknek hívjuk. Egy programozás módszertan célja az, hogy összegyűjtse, rendszerezze azokat a módszereket, amelyek hathatós segítséget nyújtanak a feladatokat megoldó programok készítéséhez. Mvel azonban nem feltétlenül gondolkodunk egyformán, természetes, hogy különféle módszerekkel (vagy akár módszer nélkül) s lehet programozn. Ennek megfelelően többféle programozás módszertan létezk. Ebben a könyvben s felfedezhető egy sajátos programozás gondolkodásmód, amely az alább elvekre épül: A programtervezés a megoldandó problémára összpontosít, nem pedg az elkészítendő programra. A programtervezést egy olyan folyamatnak tekntjük, amely során a feladatot újabb és újabb, egyre részletesebb formában fogalmazzuk meg, máltal egyre közelebb kerülünk ahhoz a számítógépes környezethez, amelyben majd a feladatot megoldó program működk. Ehhez azt vzsgáljuk, hogyan kell elemezn egy feladatot, hogyan kell felbontan részekre, majd a részeket továbbfnomítan egészen addg, amíg olyan egyszerű részfeladatokhoz jutunk, amelyekre már könnyen adhatók azokat megoldó programok. Ennek a könyvnek a gyakorlat jelentősége ezeknek a fnomító (más szóval részletező, részekre bontó, degen szóval dekomponáló) technkáknak a bemutatásában van. A programtervezés független a programozás környezettől. Elsősorban az ember gondolkodáshoz lleszkedk, hszen a programozás egy feladatmegoldó ember tevékenység. Természetes azonban az, hogy a módszertannak gondoskodna kell arról, hogy terméke, a program ne szakadjon el a valóságos programozás környezetektől, bármlyen számítógépre egyszerűen átvhető, alkalmazható legyen. Ezért a programtervezéshez olyan a valóságtól kellően elvonatkoztatott fogalmakat vezetünk be és használunk, amelyek jól modellezk a különféle számítógépes környezeteket. A programtervezésnél alkalmazott módszerek helyessége matematka alapossággal gazolható. Ehhez egy sajátos eszköztárat, egy matematka modellt állíthatunk fel, és ennek keretében vezetjük be a különféle programozás fogalmakat. Ennek a könyvnek nem célja a fent vázolt matematka modellt smertetn. M csak azt a technológát mutatjuk be, amelynek helyessége a matematka modell keretében gazolható. Ebben a részben csak ízelítőként mutatjuk meg, hogyan defnálja ez a modell a legfontosabb programozás fogalmakat. 3

4 1. Programozás alapfogalmak 1. Alapfogalmak Induljunk k az előszó azon megállapításából, amely szernt a programozás egy olyan tevékenység, amkor egy feladat megoldására programot készítünk. Ennek értelmében a programozás három alapfogalomra épül: a feladat, a program és a megoldás fogalmara. M az a feladat, m az a program, mt jelent az, hogy egy program megold egy feladatot? Ebben a fejezetben erre adjuk meg a választ Az adatok típusa Egy feladat megoldása azzal kezdődk, hogy megsmerkedünk azzal az nformácóval, amelyet a probléma megfogalmazása tartalmaz. Nem újdonság, nemcsak a programozás feladatokra érvényes, hogy a megoldás kulcsa a feladat ktűzése során megjelenő nformácó értelmezésében, rendszerezésében és leírásában rejlk. Feladatokkal mndenk találkozott már. A továbbakban felvetődő gondolatok szemléltetése kedvéért most egy skola feladatot tűzünk k. Egy nyolc klogrammos, zöld szemű szám macska sétálgat egy belváros bérház negyedk emelet ablakpárkányán. Az eső zuhog, így az ablakpárkány síkos. A cca megcsúszk, majd a mntegy 12.8 méteres magasságból lezuhant. Szerencsére a talpára esk! Mekkora földet éréskor a (becsapódás) sebessége? A feladat által közvetített nformácó első pllantásra gen összetett. Vannak lényeges és lényegtelen eleme; szerepelnek közöttük konkrét értékeket hordozó adatok és az adatok között kapcsolatokat leíró összefüggések; van, am közvetlenül a feladat szövegéből olvasható k, de van, am rejtett, és csak a szövegkörnyezetből következtethetünk rá. A macskás feladatban lényegtelen adat például a macska szemének színe, hszen a kérdés megválaszolása, azaz a becsapódás sebesség kszámolása szempontjából ez nem fontos. Lényeges, kezdetben megadandó, úgynevezett bemenet adat vszont a magasság, ahonnan a cca leesett. A knematkát jól smerők számára nylvánvaló, hogy egy zuhanó test becsapódás sebességének kszámolásához nncs szükség a test tömegére sem. Feltételezve ugyans azt, hogy a macskának pontszerű teste a Földön csapódk be, a becsapódás sebességét a feladatban közvetlenül nem említett, tehát rejtett számolhatjuk k. v 2 g h képlet (h a magasság, g a nehézség gyorsulás) segítségével Itt a nehézség gyorsulás s egy rejtett adat, amelynek az értékét 2 állandóként10 m/ s -nek vehetjük, ennek megfelelően a fent képlet v 20 h -ra módosul. Abban természetesen van ném szabadságunk, hogy a feladat szövegében nem pontosan leírt elemeket hogyan értelmezzük. Például a nehézség gyorsulást s kezelhetnénk bemenet adatként ugyanúgy, mnt a magasságot. Sőt magát a becsapódás sebesség kszámításának képletét s be lehetne adatként kérn annak mnden paraméterével (pl. nehézség gyorsulással, súrlódás együtthatóval, stb.) együtt, ha a problémát nemcsak a fent leírt egyszerűsítés (pontszerű test) feltételezése mellett akarnánk megoldan Ezek és az ehhez hasonló eldöntendő kérdések teszk a feladat megértését már egy lyen vszonylag egyszerű példánál s bonyolulttá. A feladat elemzését a benne szereplő lényeges adatok összegyűjtésével kezdjük, és az adatokat a tulajdonságakkal jellemezzük. Egy adatnak gen fontos tulajdonsága az értéke. A példában szereplő 4

5 1.1. Az adatok típusa magasságnak az értéke 12.8 méter. Ez egy úgynevezett bemenet (nput) adat, amelynek értékét feltétlenül smern kell ahhoz, hogy a feltett kérdésre válaszolhassunk. Sokszor kézenfekvő a ktűzött feladatnak egy olyan általánosítása, amkor a bemenet adathoz nem egy konkrét értéket rendelünk, hanem egy tetszőlegesen rögzített kezdet értéket. Ehhez fontos tudn azt, hogy mlyen értékek jöhetnek egyáltalán szóba; melyek lehetnek a bemenet adatnak a kezdőértéke. A példánkban szereplő magasság adat egy nem-negatív valós szám. Furcsának tűnhet, de adatnak tekntjük az eredményt s, azaz a feladatban megfogalmazott kérdésre adható választ. Ennek konkrét értékét nem smerjük előre, hszen éppen ennek az értéknek a meghatározása a célunk. A példában a becsapódás sebesség egy lyen az eredményt megjelenítő úgynevezett kmenet (output) adat, amelynek értéke kezdetben defnálatlan (tetszőleges), ezért csak a lehetséges értékenek halmazát adhatjuk meg. A becsapódás sebesség lehetséges értéke s (nem-negatív) valós számok lehetnek. Az adatok másk jellemző tulajdonsága az, hogy az értékekkel műveleteket lehet végezn. A példánkban a valós számokhoz kapcsolódó műveletek a szokásos artmetka műveletek, a feladat megoldásánál ezek közül a szorzásra és a négyzetgyökvonásra lesz szükségünk. Az adatokról tovább jellemzőket s össze lehetne gyűjten (mértékegység, rány stb.), de a programozás szempontjából ezek nem lényegesek. Egy adat típusát az adat által felvehető lehetséges értékek halmaza, az úgynevezett típusérték-halmaz, és az ezen értelmezett műveletek, az úgynevezett típusműveletek együttesen határozzák meg, más szóval specfkálják 1. Tekntsünk most néhány nevezetes adattípust, amelyeket a továbbakban gyakran fogunk használn. A típus és annak típusérték-halmazát többnyre ugyanazzal a szmbólummal jelöljük. Ez nem okoz később zavart, hszen a szövegkörnyezetből mndg kderül, hogy pontosan melyk jelentésre s gondolunk. Természetes szám típus. Típusérték-halmaza a természetes számokat (poztív egész számokat és a nullát) tartalmazza, jele: N (N + a nullát nem tartalmazó természetes számok halmaza); típusművelete az összeadás (+), kvonás ( ), szorzás (*), az egész osztás (dv), az osztás maradékot előállító művelet (mod), esetleg a hatványozás, valamnt megengedett két természetes szám összehasonlítása (,,,,, ). Egész szám típus. Típusérték-halmaza (jele: Z) az egész számokat tartalmazza (Z + a poztív, Z a negatív egész számok halmaza), típusművelete a természetes számoknál bevezetett műveletek. Valós szám típus. Típusérték-halmaza (jele: R) a valós számokat tartalmazza (R + a poztív, R a negatív valós számok halmaza, R 0 + a poztív valós számokat és a nullát tartalmazó halmaz), típusművelete az összeadás (+), kvonás ( ), szorzás (*), osztás (/), a hatványozás, valamnt megengedett két valós szám összehasonlítása (,,,,, ) s. 1 A típus korszerű defnícója ennél jóval árnyaltabb, de egyelőre ez a szűkített változat s elegendő lesz az alapfogalmak bevezetésénél. A részletesebb meghatározással a 7. fejezetben találkozunk majd. 5

6 1. Programozás alapfogalmak Logka típus. Típusérték-halmaza (jele: L) a logka értékeket tartalmazza, típusművelete a logka és (), logka vagy (), a logka tagadás () és logka egyenlőség () lletve nem-egyenlőség (). Karakter típus. Típusérték-halmaza (jele: K) a karaktereket (a nagy és ksbetűk, számjegyek, írásjelek, stb.) tartalmazza, típusművelete a két karakter összehasonlítása (,,,,, ). Halmaz típus. Típusértéke olyan véges elemszámú halmazok, amelyek egy meghatározott alaphalmaz része. E alaphalmaz esetén a jele: 2 E. Típusműveletek a szokásos elem halmazműveletek: halmaz ürességének vzsgálata, elem kválasztása halmazból, elem kvétele halmazból (kvonás), elem berakása a halmazba (unó). Sorozat típus. Típusértéke olyan véges hosszúságú sorozatok, amelyek egy meghatározott alaphalmaz elemeből állnak. E alaphalmaz esetén a jele: E *. Típusművelete: egy sorozat hosszának (elemszámának) lekérdezése ( s ); sorozat adott sorszámú elemére történő hvatkozás (s ), azaz az elem kolvasása lletve megváltozatása; sorozatba új elem bellesztése; adott elem ktörlése. Vektor típus. (Egydmenzós tömb) Típusértéke olyan véges, azonos hosszúságú sorozatok, más néven vektorok, amelyek egy meghatározott alaphalmaz elemeből állnak. A sorozatokat m-től n-g terjedő egész számokkal számozzuk meg, más néven ndexeljük. Ezeknek halmazát E alaphalmaz esetén az E m..n jelöl, m 1 esetén egyszerűen E n. Típusművelete egy adott ndexű elemre történő hvatkozás, azaz az elem kolvasása lletve megváltozatása. A vektor első és utolsó eleme ndexének (az m és az n értékének) lekérdezése s lényegében egy-egy típusművelet. Mátrx típus. (Kétdmenzós tömb) Vektorokat tartalmazó vektor. Specáls esetben azonos módon ndexelt E l..m -bel vektoroknak (úgynevezett soroknak) a vektora (E l..m ) k..n vagy másképp E l..m k..n, ahol E az elem értékek halmazát jelöl), amelyet k=l=1 esetén egyszerűen E nm -mel s jelölhetünk. Típusművelete egy adott sorbel adott elemre (oszlopra) történő hvatkozás, azaz az elem kolvasása, lletve megváltoztatása. Típusművelet még a mátrx egy teljes sorára történő hvatkozás, valamnt a sorokat tartalmazó vektor ndextartományának lletve az egyes sorok ndextartományának lekérdezése Állapottér Amkor egy feladat mnden lényeges adata felvesz egy-egy értéket, akkor ezt az érték-együttest a feladat egy állapotának nevezzük. A macskás példa egy állapota az, amkor a magasság értéke 12.8, a sebességé 16. Vezessünk be két címkét: a h-t a magasság, a v-t a sebesség jelölésére, és ekkor az előző állapotot a rövdített (h:12.8, v:16) formában s kírhatjuk. Az tt bevezetett címkékre azért van szükség, hogy meg tudjuk különböztetn egy állapot azonos típusú értéket. A (12.8, 16) jelölés ugyans nem lenne egyértelmű: nem tudnánk, hogy melyk érték a magasság, melyk a sebesség. Ugyanennek a feladatnak állapota a (h:5, v:10), vagy a (h:0, v:10). Sőt mvel az adatok között kezdetben semmféle összefüggést nem tételezünk fel, csak a típusérték-halmazakat smerjük a (h:0, v:10.68) és a (h:25, v:0)-t s 6

7 1.3. Feladat fogalma állapotoknak tekntjük, noha ez utóbbak a feladat szempontjából értelmetlenek, fzka értelemben nem megvalósuló állapotok. Az összes lehetséges állapot alkotja az állapotteret. Az állapotteret megadhatjuk úgy, hogy felsoroljuk a komponenset, azaz az állapottér lényeges adatanak típusérték-halmazat egyed címkékkel ellátva. Az állapottér címkét a továbbakban az állapottér változónak nevezzük. Mvel a változó egyértelműen azonosítja az állapottér egy komponensét, alkalmas arra s, hogy egy konkrét állapotban megmutassa az állapot adott komponensének értékét. Ezért a továbbakban az állapottér egy komponensét summásan az állapottér változójának, egy állapot komponensét pedg a változó értékének s hívjuk majd. A macskás példában az állapottér a (h:r 0 +, v:r0 + ). Tekntsük ennek a (h:12.8, v:16) állapotát. Ha megkérdezzük, hogy m tt a h értéke, akkor vlágos, hogy ez a Ha előírjuk, hogy változzon meg az állapot v komponense 31-re, akkor a (h:12.8, v:31) állapotot kapjuk. Egy állapot komponensenek értékét a megfelelő változó nevének segítségével kérdezhetjük le vagy változtathatjuk meg. Ez utóbb esetben egy másk állapotot kapunk. Állapottere nemcsak egy feladatnak lehet. Mnden olyan esetben bevezethetjük ezt a fogalmat, ahol adatokkal, pontosabban adattípusokkal van dolgunk, így például egy kfejezés vagy egy program esetében s Feladat fogalma Amkor a macskás feladatot meg akarjuk oldan, akkor a feladatnak egy olyan állapotából ndulunk k, ahol a magasságkomponens 12.8, a sebesség komponense pedg smeretlen. Ilyen kezdőállapot több s van az állapottérben, ezeket (h:12.8, v: * )-gal jelölhetjük, am azt fejez k, hogy a másodk komponens defnálatlan, tehát tetszőleges. A feladatot akkor oldottuk meg, ha megtaláltuk azt a célállapotot, amelyknek sebességkomponense a 16. Egy fzkus számára a logkus célállapot a (h:0, v:16) lenne, de a feladat megoldásához nem kell a valód fzka célállapot megtalálnunk. Az nformatkus számára a magasság-komponens egy bemenő adat, amelyre előírhatjuk, hogy őrzze meg a kezdőértéket a célállapotban. Ebben az esetben a (h:12.8, v:16) teknthető célállapotnak. Egyébként vszont mnden (h: *, v:16) alakú állapot célállapotnak teknthető. Állapodjunk meg ennél a példánál abban, hogy megőrzzük a magasság-komponens értékét, tehát csak egy célállapotot fogadunk el: (h:12.8, v:16). Más magasság-értékű kezdőállapotokhoz természetesen más célállapot tartozk. (Megjegyezzük, hogy ha az állapottér felírásánál nem zártuk volna k a negatív valós számokat, akkor most k kellene kötn, hogy a feladatnak nncs értelme olyan kezdőállapotokon, amelyek magasság komponense negatív, például (h:-1, v: * ), hszen ekkor a becsapódás sebességet kszámoló képletben negatív számnak kellene valós négyzetgyökét kszámoln.). Általánosan leírva az értelmes kezdő- és célállapot kapcsolatokat, a következőt mondhatjuk. A feladat egy (h: h 0, v: * ) kezdőállapothoz, ahol h 0 egy tetszőlegesen rögzített (nem-negatív valós) szám, a * pedg egy tetszőleges nem-defnált érték, a (h: h0, v : 20 h0 ) célállapotot rendel. Tekntsünk most egy másk feladatot! Adjuk meg egy összetett szám egyk valód osztóját! Ennek a feladatnak két lényeges adata van: az adott természetes szám (címkéje legyen n) és a válaszként megadandó osztó (címkéje: d). Mndkét adat természetes szám típusú. A feladat állapottere 7

8 1. Programozás alapfogalmak tehát: (n:n, d:n). Rögzítsük az állapottér komponensenek sorrendjét: megállapodás szernt az állapotok jelölésénél elsőként mndg az n, másodkként a d változó értékét adjuk meg, így használhatjuk az (n:6, d:1) állapot-jelölés helyett a rövdebb (6,1) alakot. A feladat kezdőállapota között találjuk például a (6, * ) alakúakat. Ezekhez több célállapot s tartozk: (6,2) és (6,3), hszen a 6- nak több valód osztója s van. Nncs értelme a feladatnak vszont a (3, * ) alakú kezdőállapotokban, hszen a 3 nem összetett szám, azaz nncs valód osztója. A feladat általában az (x, * ) kezdőállapothoz, ahol x egy összetett természetes szám, azt az (x,k) állapotot rendel, ahol k az x egyk valód osztója. A feladat egy olyan kapcsolat (leképezés), amelyk bzonyos állapotokhoz (kezdőállapotokhoz) állapotokat (célállapotokat) rendel. Ez a leképezés általában nem egyértelmű, más szóval nemdetermnsztkus, hszen egy kezdőállapothoz több célállapot s tartozhat. (Az lyen leképezést a matematkában relácónak hívják.) Érdekes tanulságokkal jár a következő feladat: Adjuk meg egy nem-nulla természetes szám legnagyobb valód osztóját! Itt bemenet adat az a természetes szám, amnek a legnagyobb valód osztóját keressük. Tudjuk, hogy a kérdésre adott válasz s adatnak számít, de azt már nehéz észrevenn, hogy a válasz tt két részből áll. A feladat megfogalmazásából következk, hogy nemcsak egy összetett szám esetén várunk választ, hanem egy prímszám vagy az 1, esetleg a nulla esetén s. De lyenkor nncs értelme legnagyobb valód osztót keresn! A számszerű válaszon kívül tehát szükségünk van egy logka értékű adatra, amely megmutatja, hogy van-e egyáltalán számszerű megoldása a problémának. A feladat állapottere: (n:n, l:l, d:n). A feladat bármelyk állapotra értelmezhető. Az olyan (x, *, * ) állapotokhoz (tt s az n,l,d sorrendre épülő rövd alakot használjuk), ahol x nem összetett szám vagy nulla, a feladat az (x, hams, * ) alakú célállapotokat rendel; ha x összetett, akkor az (x, gaz, k) célállapotokat, ahol k a legnagyobb valód osztója az x nek. A feladatok változót megkülönböztethetjük aszernt, hogy azok a feladat megoldásához felhasználható kezdő értékeket tartalmazzák-e (bemenő, kezdő vagy nput változók), vagy a feladat megoldásának eredményet (kmenő, eredmény vagy output változók). A bemenő változók sokszor megőrzk a kezdőértéküket a célállapotban s, de ez nem alapkövetelmény. A kmenő változók kezdőállapotbel értéke közömbös, tetszőleges, célállapotbel értékük megfogalmazása vszont a feladat lényeg része. Azt s látn kell, hogy számos olyan feladat van, ahol egy változó lehet bemenő és kmenő s egyszerre, sőt lehetnek olyan (segéd) változók s, amelyek csak a feltételek könnyebb megfogalmazásához nyújtanak segítséget Program fogalma A szakkönyvek többsége a programot utasítások sorozataként defnálja. Nylvánvaló azonban, hogy egy utasítássorozat csak a program leírására képes, és önmagában semmt sem árul el a program természetéről. Ehhez egyfelől defnálnunk kellene azt a számítógépet, amely az utasításokat értelmez, másfelől meg kell adn, hogy az utasítások végrehajtásakor m történk, azaz lényegében egy programozás nyelvet kell megadnunk. A program fogalmának lyen bevezetése még akkor s hosszadalmas, ha programjankat egy absztrakt számítógép számára egy absztrakt programozás nyelven írjuk le. A program fogalmának bevezetésére ezért m nem ezt az utat követjük, hszen könyvünk bevezetőjében éppen azt emeltük k, hogy mlyen fontos elválasztan a programtervezés smereteket a számítógépeknek és a programozás nyelveknek a megsmerésétől. A fent érvek ellenére dőzzünk el egy pllanatra annál a meghatározásnál, hogy a program utasítások sorozata, és vegyük szemügyre egy így megadott program működését! (Ez a példa egy absztrakt gép és absztrakt nyelv smeretét feltételez, ám az utasítások megértése tt remélhetőleg nem 8

9 1.4. A program fogalma okoz majd senknek sem gondot.) A program két természetes szám típusú adattal dolgozk: az első címkéje n, a másodké d, azaz a program (adatanak) állapottere az (n:n, d:n). A program az alább utasításokból áll: 1. Legyen d értéke vagy az n-1 vagy a Ha d értéke megegyezk 2-vel akkor amíg d nem osztja n-t addg növeljük d értékét 1-gyel, különben amíg d nem osztja n-t addg csökkentsük d értékét 1-gyel. Vzsgáljuk meg, m történk az állapottérben, ha ezt a programot végrehajtjuk! Mndenekelőtt vegyük észre, hogy a program bármelyk állapotból elndulhat. Például a (6,8) knduló állapot esetén (tt s alkalmazzuk a rövdebb, az n,d sorrendjét khasználó alakot az állapot jelölésére) a program első utasítása vagy a (6,2), vagy a (6,5) állapotba vezet el. Az első utasítás ugyans nem egyértelmű, ettől a program működése nem determnsztkus lesz. Természetesen egyszerre csak az egyk végrehajtás következhet be, de hogy melyk, az nem számítható k előre. Ha az első utasítás a d-t 2-re állítja be, akkor a másodk utasítás elkezd növeln, különben pedg csökkent a d értékét addg, amíg az nem lesz osztója az n-nek. Ezért az egyk esetben amkor d értéke 2 rögtön meg s áll a program, a másk esetben pedg érntve a (6,5), (6,4) állapotokat a (6,3) állapotban termnál. Bármelyk olyan knduló állapotból elndulva, ahol az első komponens 6, az előzőekhez hasonló végrehajtás sorozatokat kapunk: a program a működése során egy (6, * ) alakú állapotból elndulva vagy a (6, * ) (6,2) állapotsorozatot, vagy a (6, * ) (6,5) (6,4), (6,3) állapotsorozatot futja be. Ezek a sorozatok csak a legelső állapotukban különböznek egymástól, hszen egy végrehajtás sorozat első állapota mndg a knduló állapot. Induljunk el most egy (5, * ) alakú állapotból. Ekkor az első utasítás eredményétől függően vagy a (5, * ) (5,2) (5,3) (5,4) (5,5), vagy a (5, * ) (5,4) (5,3) (5,2) (5,1) végrehajtás következk be. A (4, * ) alakú állapotból s két végrehajtás ndulhat, de mndkettő ugyanabban az állapotban áll meg: (4, * ) (4,2), (4, * ) (4,3) (4,2) Érdekes végrehajtások ndulnak az (1, * ) alakú állapotokból. Az első utasítás hatására vagy az (1,2), vagy az (1,0) állapotba kerülünk. Az előbb esetben a másodk utasítás elkezd a d értékét növeln, és mvel az 1-nek nncs 2-nél nagyobb osztója, ez a folyamat soha nem áll le. Azt mondjuk, hogy a program (1, * ) (1,2) (1,3) (1,4) végrehajtása végtelen cklusba esk. A másk esetben vszont értelmetlenné válk a másodk utasítás, hszen azt kell vzsgáln, hogy a nulla értékű d osztja-e az n értékét, pedg a nullával való osztás nem értelmezhető. Ez az utasítás tehát tt llegáls, abnormáls lépést eredményez. Ilyenkor a program abnormálsan működk tovább, amt az (1, * ) (1,0) (1,0) végtelen végrehajtás sorozattal modellezhetünk. Ez azt fejez k, mntha a program megpróbálná újra és újra végrehajtan az llegáls lépést, majd mndg vsszatér az utolsó legáls állapothoz. 2 Hasonló a helyzet a (0, * ) knduló állapotokkal s, amelyekre az első utasítás megkísérl a d értékét (ennek tetszőleges értékék rögzítsük és jelöljük y-nal) -1-re állítan. A (0,-1) ugyans nem tartozk bele az állapottérbe, így az első utasítás a program abnormáls működését eredményezhet, 2 Valóságos programozás környezetben az operácós rendszer feladata az lyen abnormáls működés felsmerése, és egy alkalmas hbaüzenet kíséretében a program futásának megszakítása (abortálása). 9

10 1. Programozás alapfogalmak amelyet a (0,y) (0,y) (0,y) végtelen sorozattal jellemezhetünk. Mntha újra és újra megpróbálnánk a hbás utasítás végrehajtását, de a (0,-1) llegáls állapot helyett mndg vsszatérünk a (0,y) knduló állapothoz.. Természetesen tt lehetséges egy másk végrehajtás s, amkor az első lépésben a (0,2) állapotba kerülünk, ahol a program rögtön le s áll, hszen a 2 osztja a nullát. A program által egy állapothoz rendelt állapotsorozatot végrehajtásnak, működésnek, a program futásának hívunk. A végrehajtások lehetnek végesek vagy végtelenek; a végtelen működések lehetnek normálsak (végtelen cklus) vagy abnormálsak (abortálás). Ha a végrehajtás véges, akkor azt mondjuk, hogy a program végrehajtása megáll, azaz termnál. A normáls végtelen működést nem lehet bztonsággal felsmern, csak abból lehet sejten, ha a program már régóta fut. Az abnormáls működés akkor következk be, amkor a végrehajtás során egy értelmezhetetlen utasítást (például nullával való osztás) kellene végrehajtan. Ezt a programunkat futtató környezet (operácós rendszer) fel szokta smern, és erőszakkal leállítja a működést. Innen származk az abortálás kfejezés. A modellünkben azonban nncs futtató környezet, ezért az abnormáls működést olyan végtelen állapotsorozattal ábrázoljuk, amelyk az értelmetlen utasítás végrehajtásakor fennálló állapotot smétl meg végtelen sokszor. A későbbekben bennünket egy programnak csak a véges működése fognak érdekeln, és mnd a normáls, mnd az abnormáls végtelen végrehajtásokat megpróbáljuk majd elkerüln. Egy program mnden állapotból ndít végrehajtást, sőt egy állapotból akár több különbözőt s. Az, hogy ezek közül éppen melyk végrehajtás következk be, nem defnált, azaz a program nemdetermnsztkus. Vegyünk szemügyre egy másk programot! Legyen ennek az állapottere az (a:n, b:n, c:n). Rögzítsük ezt a sorrendet a továbbakban. 1. Vezessünk be egy újabb változót (:N) és adjuk nek értékül az 1-gyet. 2. Legyen c értéke kezdetben Amíg az értéke nem haladja meg az a értékét addg adjuk a c értékéhez az b értékét, majd növeljük meg értékét 1-gyel. Ez a program kndulva például a (2, 3, 2009) állapotból az alább állapotsorozatot futja be: (2, 3, 2009), (2, 3, 2009, 1962), (2, 3, 2009, 1), (2, 3, 0, 1), (2, 3, 3, 1), (2, 3, 3, 2), (2, 3, 6, 2), (2, 3, 6, 3), (2, 3, 6). Jól látható, hogy a sorozat első lépése bevezet az segédváltozót egy előre nem defnált értékkel, az állapottér tehát egy újabb komponenssel bővült. Ez a komponens megszűnk a termnálás előtt, ezt mutatja a végrehajtás legutolsó lépése. Ennek a programnak az állapottere dnamkusan változk a végrehajtás során, hszen végrehajtásának vannak olyan lépése, amkor egy állapotból attól eltérő komponens számú (eltérő dmenzójú) állapotba kerülünk. Az új állapot lehet bővebb, mert a megelőző állapothoz képest extra komponenseket s tartalmaz (lásd az :N megjelenését elődéző lépést), de lehet szűkebb s, amkor elhagyunk korábban létrehozott segédváltozókat (lásd utolsó lépést). Megjegyezzük azonban, hogy a végrehajtás kezdetén létező komponensek végg megmaradnak, nem szűnhetnek meg. Kkötjük azt s, hogy a termnáló végrehajtások a knduló állapot állapotterében végződnek, azaz ha egy végrehajtás során létrejönnek segédváltozók, akkor azok ha korábban nem a termnáláskor mndenképpen megszűnnek egy specáls utolsó után lépés keretében. 10

11 1.4. A program fogalma A program knduló állapotanak terét a program alap-állapotterének nevezzük, változó az alapváltozók. A működés során megjelenő újabb komponenseket segédváltozóknak fogjuk hívn. Egy új segédváltozó nevének különbözne kell a több változó nevétől, kezdő értéke a megjelenésekor nem-defnált (tetszőleges). A program az általa befutható összes lehetséges végrehajtás együttese. Alap-állapotterének bármelyk állapotából el tud nduln, és ahhoz olyan végrehajtás sorozatokat rendel, amelyk első állapota a knduló állapot. Ugyanahhoz a knduló állapothoz akár több végrehajtás sorozat s tartozhat. Egy végrehajtás sorozat tovább állapota az alap-állapottér komponensen kívül segéd komponenseket s tartalmazhatnak, de ezek a véges hosszú végrehajtások esetén legkésőbb az utolsó lépésében megszűnnek, így ezek a végrehajtások az alap-állapottérben termnálnak. Egy program működése nem változk meg attól, ha módosítjuk az alap-állapoterét. Egy alapváltozó könnyen olyan segédváltozóvá alakítható (alap-állapottér leszűkítése), ha kjelentjük róla, hogy csak a program elndulásakor jön létre, és a program befejeződésekor megszűnk. A segédváltozóból pedg úgy lesz alapváltozó (alap-állapottér kterjesztése), ha már eleve létezőnek tekntjük, ezért nem kell létrehozn és termnáláskor nem kell megszűntetn. A program alapállapotterét tehát megállapodás alapján jelöljük k. Az alapváltozók a tulajdonképpen a program környezetével teremtenek kapcsolatot. Egy alapváltozónak tudunk kívülről kezdőértéket adn, és egy alapváltozóból tudjuk a termnálás után az eredményt lekérdezn. Ahhoz, hogy egy feladatot oldjunk meg egy programmal, a program alapváltozónak a feladat (bemenő és eredmény) változót kell választanunk. Ezzel azonban el s érkeztünk ennek a fejezetnek a legzgalmasabb fogalmához Megoldás fogalma Mvel mnd a feladat fogalmát, mnd a program fogalmát az állapottér segítségével fogalmaztuk meg, ez lehetővé tesz, hogy egyszerű meghatározást adjunk arra, mkor old meg egy program egy feladatot. Tekntsük újra azt a feladatot, amelyben egy összetett természetes szám egyk valód osztóját keressük. A feladat állapottere: (n:n, d:n), egy (x, * ) kezdőállapothoz (ahol x összetett) azokat az (x,y) célállapotokat rendel, ahol a y értéke osztja az x-et, nem 1 és nem x. Az előző alfejezet első programjának állapottere megegyezk e feladatéval. A feladat kezdőállapotaból ndulva a program mndg termnál, és olyan állapotban áll meg, ahol a d értéke vagy a legksebb, vagy a legnagyobb valód osztója az n kezdőértékének. Például a (12,8) knduló állapotból elndulva nemdetermnsztkus módon vagy a (12,2), vagy a (12,6) végállapotban áll meg, míg a feladat a (12,8) kezdőállapothoz a (12,2), (12,3), (12,4), (12,6) célállapotokat jelöl k. A programnak ez közül kell valamelyket megtalálna, és ezt s tesz. A vzsgált program megoldja a ktűzött feladatot. Tehát egy program akkor old meg egy feladatot, ha a feladat bármelyk kezdőállapotából elndulva bztosan termnál, és olyan állapotban áll meg, amelyet célállapotként a feladat az adott kezdőállapothoz rendel. 3 Hangsúlyozzuk, hogy ahhoz, hogy a program megoldjon egy feladatot, nem 3 Ismert a megoldásnak ennél gyengébb változata s, amelyk nem követel meg a leállást, csak azt, hogy ha a program leáll, akkor egy megfelelő célállapotban tegye azt. 11

12 1. Programozás alapfogalmak szükséges egy adott kezdőállapothoz tartozó összes célállapotot megtalálna, elég csak egyet. A feladat ugyans, amkor egy kezdőállapotra kjelöl az ahhoz tartozó célállapotokat, azt mondja, hogy a megadott célállapotok bármelykének elérése elegendő, ezért a megoldó program végrehajtásanak a célállapotok valamelykében kell megállna. A fent vzsgálat szempontjából nem lényeges, hogy a program a működése közben mt csnál, mely állapotokat érnt, mlyen segédváltozókat hoz létre; csak az számít, hogy honnan ndulva hová érkezk meg, azaz a feladat kezdőállapotaból ndulva megáll-e, és hol. Ezért fontos vszont az, hogy a program knduló- és a végállapota a feladat állapotteréhez tartozzon, mert csak így tudjuk összevetn azokat a feladat egymáshoz tartozó kezdő- és célállapotával. A (4, * ) alakú állapotokból két különböző végrehajtás s ndul, de mndkettő a (4,2) állapotban áll meg, hszen a 2 a 4-nek egyszerre a legksebb és legnagyobb valód osztója. A (6, * ) alakú állapotokból s két végrehajtás ndul, de ezeknek a végpontja s különbözk. Az, hogy mlyen közbeeső állapotokon keresztül érjük el a végállapotokat, a megoldás szempontjából a program belügye, az a lényeg, hogy a végállapotok a 6 valód osztót adják meg. A megoldás tényét nem befolyásolja az sem, hogy azokból az állapotokból ndulva, amelyek nem kezdőállapota a feladatnak, hogyan működk a program. Ilyenkor még az sem fontos, hogy termnáljon. Ezért nem baj, hogy a (0, * ) és az (1, * ) alakú állapotokból ndulva a fent program nem s bztos, hogy termnál. Az s közömbös, hogy egy olyan (x, * ) állapotból ndulva, ahol x egy prímszám, a program vagy az x-et, vagy az 1-et találja meg. Nem oldaná meg vszont a program a feladatot akkor, ha egy kezdőállapotából egy célállapotba vezető működés mellett ndulna egy másk, nem célállapotban megálló vagy egyáltalán nem termnáló végrehajtása s. A programnak azt a tulajdonságát, amely azt mutatja meg, hogy mely állapotokból ndulva fog bztosan termnáln, és ezen állapotokból ndulva mely állapotokban áll meg, a program hatásának nevezzük. Ekvvalensnek mondunk két programot, ha a hatásuk megegyezk. A megoldás defnícójában feltételeztük, hogy a feladat állapottere megegyezk a program alapállapotterével. A programozás gyakorlatban sokszor előfordul, hogy egy feladatot egy olyan programmal akarjuk megoldan, amelyk állapottere nem azonos a feladatéval, bővebb vagy szűkebb annál. 4 A megoldás fogalmát ezekben az esetekben úgy ellenőrzzük, hogy a program alap-állapotterét a feladatéhoz gazítjuk, vagy kterjesztjük, vagy leszűkítjük (esetleg egyszerre mndkettőt) a feladat állapotterére. Abban az esetben, amkor a program alap-állapottere bővebb, mnt feladaté, azaz van a programnak olyan alapváltozója, amellyel nem kommunkál a feladat (nem ad nek kezdő értéket, nem vár tőle eredményt), egyszerű a teendő. A szóban forgó változót segédváltozóvá mnősítjük, amtől a program működése nylván nem változk meg. Jó példa erre az, amkor rendelkezünk egy programmal, amely egy napon keresztül óránként mért hőmérséklet adatokból k tudja számoln a nap átlaghőmérsékletet és a legnagyobb hőngadozást, ugyanakkor a megoldandó feladat csak az átlaghőmérséklet kszámolását kér. A program alap-állapottere tehát olyan komponenst tartalmaz, amely a feladatban nem szerepel (ez a legnagyobb hőngadozás), ez a feladat szempontjából érdektelen. A program első lépésében hozzávesz a feladat egy kezdőállapotához a legnagyobb 4 Később, a 7. fejezetben, tovább általánosítjuk a megoldás fogalmát úgy, hogy megengedjük, hogy a feladat állapotterének egy vagy több komponensét a program alap-állapotterének egy vagy több komponense helyettesíthesse. 12

13 1.4. A program fogalma hőngadozást, ugyanúgy számol vele, mnt eredetleg, de a megállás előtt elhagyja ezt a komponenst, hszen a feladat célállapotában ennek nncs helye; a legnagyobb hőngadozás tehát segédváltozó lesz. A másk esetben amkor a feladat állapottere bővebb a program alap-állapotterénél a program állapotterét kegészítjük a feladat állapotterének azon komponensevel, amelyek a program állapotterében nem szerepelnek. Ha egy lyen új komponens segédváltozóként szerepelt az eredet programban, akkor ez a kegészítés a segédváltozót a program alapváltozójává emel. Ha az új változó segédváltozóként sem szerepelt eddg a programban, akkor ez a változó a program által nem használt új alapváltozó lesz, azaz kezdet értéke végg megőrződk egy végrehajtás során. Az már más kérdés, hogy van-e olyan feladat, amelyet így meg lehet oldan. Ilyen az, amkor egy összetett feladat olyan részének a megoldásával foglalkozunk, ahol az összetett feladat bzonyos komponenset deglenesen fgyelmen kívül hagyhatjuk, de attól még azok a részfeladat állapotterének komponense maradnak, és éppen azt szeretnénk, ha az értékük ne változna meg a részfeladatot megoldó program működése során. 13

14 1. Programozás alapfogalmak 1.6. Feladatok 1.1. M az állapottere, kezdőállapota, adott kezdőállapothoz tartozó célállapota az alább feladatnak? Egy egyenes vonalú egyenletesen haladó pros Opel s klométert t dő alatt tesz meg. Mekkora az átlagsebessége? 1.2. M az állapottere, kezdőállapota, adott kezdőállapothoz tartozó célállapota az alább feladatnak? Adjuk meg egy természetes számnak egy valód prím osztóját! 1.3. Tekntsük az A = (n:z, f:z) állapottéren az alább programot! 1. Legyen f értéke 1 2. Amíg n értéke nem 1 addg 2.a. Legyen f értéke f * n 2.b. Csökkentsük n értékét 1-gyel! Írjuk fel e program néhány végrehajtását! Hogyan lehetne a végrehajtásokat általánosan jellemezn? Megoldja-e a fent program azt a feladatot, amkor egy egész számnak kell a faktorálsát kszámoln? 1.4. Tekntsük az A = (x:z, y:z) állapottéren az alább programot! 1. Legyen x értéke x-y 2. Legyen y értéke x+y 3. Legyen x értéke y-x Írjuk fel e program néhány végrehajtását! Hogyan lehetne a végrehajtásokat általánosan jellemezn? Megoldja-e a fent program azt a feladatot, amkor két, egész típusú változó értékét kell kcseréln? 1.5. Tekntsük az alább két feladatot: 1) Adjuk meg egy 1-nél nagyobb egész szám egyk osztóját! 2) Adjuk meg egy összetett természetes szám egyk valód osztóját! Tekntsük az alább három programot az A = (n:n, d:n ) állapottéren: 1) Legyen a d értéke 1 2) Legyen a d értéke n 3) Legyen a d értéke n-1. Amíg a d nem osztja n-t addg csökkentsük a d-t. Melyk program melyk feladatot oldja meg? Válaszát ndokolja! 14

15 1.6. Feladatok 1.6. Tekntsük az A=(m:N +, n:n +, x:z) állapottéren működő alább programokat! 1) Ha m<n, akkor legyen az x értéke először a (-1) m, majd adjuk hozzá a (-1) m+1 -t, és így tovább, végül a (-1) n -t! Ha m=n, akkor legyen az x értéke a (-1) n! Ha m>n, akkor legyen az x értéke először a (-1) n, majd adjuk hozzá a (-1) n+1 -t, és így tovább, végül a (-1) m -t! 2) Legyen az x értéke a ((-1) m + (-1) n )/2! Írjuk fel e programok néhány végrehajtását! Lássuk be, hogy mndkét program megoldja az alább feladatot: Két adott nem nulla természetes számhoz az alábbak szernt rendelünk egész számot: ha mndkettő páros, adjunk válaszul 1-et; ha páratlanok, akkor -1-et; ha partásuk eltérő, akkor 0-át! 1.7. Tekntsük az A 1,2,3,4,5 állapottéren az alább fktív programot. Az alább jelöléssel egy programot adunk meg, amelyből kolvasható, hogy az egyes állapotokból ndulva mlyen végrehajtás sorozatot fut be. 1 1,2,4,5 2 2,1 S 4 4,1,5,1,4 5 5,2,4 1 1,4,3,5,2 2 2,4 4 4,3,1,2,5,1 5 5,3,4 1 1,3,2, ,3, ,1,5,4,2 5 5,2,3,4 Az F feladat az alább kezdő-célállapot párokból áll: {(2,1) (4,1) (4,2) (4,4) (4,5)}. Megoldja-e az S program az F feladatot? 1.8. Legyen S olyan program, amely megoldja az F feladatot! Igaz-e, hogy a) ha F nem determnsztkus, akkor S sem az? b) ha F determnsztkus, akkor S s az? 1.9. Az S 1 szélesebb, mnt az S 2, ha S 2 mnden végrehajtását tartalmazza. Igaz-e, hogy ha az S 1 program megoldja az F feladatot, akkor azt megoldja az S 2 s Az F 1 szélesebb, mnt az F 2, ha F 2 mnden kezdő-célállapot párját tartalmazza. Igaz-e, hogy ha egy S program megoldja az F 1 feladatot, akkor megoldja az F 2 -t s. 15

16 2. Specfkácó A megoldásnak az előző fejezetben bevezetett meghatározása közvetlenül nem használható a gyakorlatban. Arra ugyans, hogy egy feladat összes kezdőállapotára egyenként ellenőrzzük azt, hogy belőlük ndulva egy program megfelelő célállapotban áll-e meg, a vzsgálandó esetek nagy száma matt nncs lehetőség. Olyan módszerre van szükség, amely ezt a vzsgálatot egyszerűsít. Ebben a fejezetben azzal foglalkozunk, hogy hogyan lehet egy feladat kezdőállapotat a megoldás ellenőrzésének szempontjából csoportosítan, halmazokba rendezn úgy, hogy elég legyen ennek a halmaznak egy tetszőleges elemére ellenőrzn azt, hogy az adott program megfelelő helyen áll-e meg. Ehhez a feladat más formájú megfogalmazására, a feladat specfkálására lesz szükség Kezdőállapotok osztályozása A feladat egy kezdőállapotának legfontosabb tulajdonsága az, hogy mlyen célállapotok tartoznak hozzá. Megfgyelhető, hogy a feladat különböző kezdőállapotokhoz sokszor ugyanazokat a célállapotokat rendel. Vegyük egy csoportba azokat a kezdőállapotokat, amelyekhez ugyanazok a célállapotok tartoznak, és ekkor a megoldás ellenőrzését nem kezdőállapotonként kell végezn, hanem lyen csoportonként: azt kell vzsgáln, hogy a feladat kezdőállapotanak egy-egy lyen csoportjából elndulva a program megfelelő célállapotban áll-e meg. Tekntsünk példaként egy már vzsgált feladatot: Egy adott összetett számnak keressük egy valód osztóját! A feladat állapottere (n:n, d:n). Rögzítsük ezt a sorrendet a komponensek között: egy állapot első komponense a megadott szám, a másodk a valód osztó. A 2. ábrán a Descartes koordnátarendszer I. negyedével ábrázoljuk ezt az állapotteret, hszen ebben mnden egész koordnátájú rácspont egy-egy állapotot szmbolzál. (A feladat csak azokban az állapotokban értelmezett, ahol az első komponens összetett szám.) Külön koordnátarendszerben rajzoltuk be a feladat néhány kezdőállapotát, és egy máskban az ezekhez hozzárendelt célállapotokat. Az ábra jól tükröz vssza a feladat lényegét, az állapotokhoz állapotokat rendelő leképezést. Kössük k, hogy az első komponens kezdőértéke a célállapotokban s megmaradjon. A feladat például a (6,8) kezdőállapothoz a (6,3) és a (6,2) célállapotokat rendel. De ugyanezek a célállapotok tartoznak a (6,6), a (6,3) vagy a (6,127) kezdőállapotokhoz s, mvel ezek első komponensében ugyancsak a 6 áll. Tehát az összes (6, * ) alakú állapot (a * tt egy tetszőleges értéket jelöl) ugyanazon csoportba (halmazba) sorolható az alapján, hogy hozzájuk egyformán a (6,3) és a (6,2) célállapotokat rendel a feladat. Úgys fogalmazhatunk, hogy a feladat a {(6, * )} halmaz elemehez a {(6,3), (6,2)} halmaz elemet rendel. Ezen megfontolás alapján külön csoportot képeznek a (0, * ), a (4, * ), a (6, * ), általánosan fogalmazva azok az (n, * ) alakú kezdőállapotok, ahol az n összetett szám. Nem kerül vszont bele egyetlen lyen halmazba sem például az (1,1) vagy a (3,5) állapot, hszen ezek nem kezdőállapota a feladatnak. Ezt láthatjuk 2. ábra felső részén. 16

17 2.1. Kezdőállapotok osztályozása Könnyű megmutatn, hogy ez a csoportosítás matematka értelemben egy osztályozás: mnden kezdőállapot pontosan egy halmazhoz (csoporthoz) tartozk. Ha be tudjuk látn, hogy mnden lyen halmaz egyk (tetszőleges) eleméből (ez tehát a feladat egy kezdőállapota) ndulva egy program a feladat által kjelölt valamelyk célállapotban áll meg, akkor gazoltuk, hogy a vzsgált program megoldja a feladatot. Ha ügyesek vagyunk, akkor elég ezt a vzsgálatot egyetlen jól megválasztott halmazra elvégezn, mondjuk az általános (n, * ) alakú kezdőállapotok halmazára, ahol az n összetett szám. {(0, *)} {(4, *)} {(6, *)} d (6,8) (6,3) n d F (6,3) {(0, *)} (4,2) (6,2) n 2. Ábra Egy feladat: Keressük egy összetett szám valód osztót. Általában egy feladat kezdőállapotanak a fent vázolt halmazat nem könnyű előállítan. Ennek llusztrálására tekntsük az alább példát (lásd 1.1. feladat): egy egyenes vonalú egyenletes mozgást végző testnek kell az átlagsebességét kszámoln a megtett út és az eltelt dő függvényében. Ennek a feladatnak az állapottere (s:r, t:r, v:r), ahol a komponensek rendre az út (s), az dő (t), és a sebesség (v). (Rögzítjük ezt a sorrendet a komponensek között.) A kezdőállapotokban az első komponens nem lehet negatív, a másodk komponensnek pedg poztívnak kell lenne. 17

18 2. Specfkácó Melyek azok a kezdőállapotok, amelyekhez ez a feladat a ( *, *,50) célállapotokat rendel? Nem s olyan könnyű a válasz. A (100,2, * ) kezdőállapotok lyenek. A (200,4, * ) kezdőállapotok s. Ismerve a feladat megoldásához használt v=s/t képletet (ezt a képletet csak az lyen egyszerű feladatok esetében látjuk lyen vlágosan), ks gondolkodás után ktalálhatjuk, hogy az (50a,a, * ) kezdőállapotokhoz (ahol a egy tetszőleges poztív valós szám), és csak azokhoz rendel a feladat a ( *, *,50) célállapotokat. De nem lehetne-e ennél egyszerűbben, az eredményt kszámoló képlet alkalmazása nélkül csoportosítan a kezdőállapotokat? Mért ne teknthetnénk külön csoportnak a (100,2, * ) kezdőállapotokat, és külön a (200,4, * ) kezdőállapotokat? Mndkettő halmazra teljesül, hogy a benne levő kezdőállapotokhoz ugyanazon célállapotok tartoznak. Igaz, hogy ezen célállapotok mndkét csoport esetében ugyanazok, de mért lenne ez baj? Ráadásul ezek kjelöléséhez csak azt kell tudnunk, hogy a feladat első két adata a bemenő adat, az eredmény kszámolásának képlete nem kell. Azonos bemenő adatokhoz ugyans a feladat nylván ugyanazt az eredmény rendel, tehát azonos bemenő adatokból felépített kezdőállapotokhoz a feladat szernt ugyanazok a célállapotok tartoznak. Az azonos bemenő adatokból felépített kezdőállapotok halmaza osztályozzák a kezdőállapotokat, hszen mnden kezdőállapot pontosan egy lyen halmazhoz tartozk. Ezért ha a feladat kezdőállapotanak mnden lyen halmazáról belátható, hogy belőle ndulva a program megfelelő célállapotban áll-e meg, akkor gazoltuk, hogy a vzsgált program megoldja a feladatot. Természetesen lyenkor sem kell az összes halmazt megvzsgáln. Elég egy általános halmazzal foglalkozn. Rögzítsük a bemenő adatok értéket az s, t tetszőlegesen kválasztott nem negatív paraméterekkel, ahol t nem lehet nulla. Egy vzsgált program akkor oldja meg a feladatot, ha az (s,t, * ) állapot-halmazból kndulva a program az ( *, *, s /t ) állapot-halmaz valamelyk állapotában áll meg. Néha találkozhatunk olyan feladattal s, amelynek nncsenek bemenet adata. Ilyen például az, amkor egy prímszámot keresünk. Ennek a feladatnak az állapottere a lehetséges válaszoknak az N halmaza. Itt a válasz nem függ semmlyen bemenet értéktől. Az összes állapot tehát egyben kezdőállapot s, amelyet egyetlen halmazba foghatunk össze, hszen mndegykhez ugyanazon célállapotok, a prímszámok tartoznak Feladatok specfkácója Vzsgáljuk meg újra azt a feladatot, amkor az egyenes vonalú egyenletes mozgást végző testnek a megtett út és az eltelt dő függvényében kell az átlagsebességét kszámoln! A feladat lényeges adata a megtett út, az eltelt dő és az átlagsebesség. Ennek megfelelően a feladat állapottere a változókkal: A = (s:r, t:r, v:r). Bemenő adata a megtett út (s) és az eltelt dő (t). Rögzítsünk a bemenő adatok számára egy-egy tetszőlegesen kválasztott értéket! Legyen az út esetén ez az s, az dő esetén a t, ahol egyk sem lehet negatív, sőt a t nulla sem. A kezdőállapotoknak az s, t bemenő adatokkal rendelkező részhalmaza az (s,t, * ), az ezekhez tartozó célállapotok pedg a ( *, *, s /t ). A kezdőállapotoknak és a célállapotoknak a fent vázolt halmazat logka állítások (feltételek) segítségével s megadhatjuk. A logka állítások mnden esetben az aktuáls állapottér állapotat mnősítk: ha egy állapot kelégít a logka állítás, azaz a logka állítás gaz értéket rendel hozzá, akkor az benne van a logka állítás által jelzett halmazban. Például a (100,2, * ) alakú halmazt az s=100 és t=2 logka állítással, a (200,4, * ) alakú halmaz az s=200 18

I. RÉSZ PROGRAMOZÁSI FOGALMAK

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,

Részletesebben

Bevezetés az informatikába

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.

Részletesebben

PROGRAMOZÁS VISSZAVEZETÉSSEL

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

Részletesebben

PROGRAMOZÁS 1. kötet TERVEZÉS

PROGRAMOZÁS 1. kötet TERVEZÉS Gregorics Tibor PROGRAMOZÁS 1. kötet TERVEZÉS egyetemi jegyzet 2011 1 ELŐSZÓ TARTALOM ELŐSZÓ... 4 BEVEZETÉS... 6 I. RÉSZ PROGRAMOZÁSI FOGALMAK... 9 1. ALAPFOGALMAK... 10 1.1. Az adatok típusa... 10 1.2.

Részletesebben

KOMBINATORIKA ELŐADÁS osztatlan matematika tanár hallgatók számára. Szita formula

KOMBINATORIKA ELŐADÁS osztatlan matematika tanár hallgatók számára. Szita formula KOMBINATORIKA ELŐADÁS osztatlan matematka tanár hallgatók számára Szta formula Előadó: Hajnal Péter 2015. 1. Bevezető példák 1. Feladat. Hány olyan sorbaállítása van a a, b, c, d, e} halmaznak, amelyben

Részletesebben

8. Programozási tételek felsoroló típusokra

8. Programozási tételek felsoroló típusokra 8. Programozás tételek felsoroló típusokra Ha egy adatot elem értékek csoportja reprezentál, akkor az adat feldolgozása ezen értékek feldolgozásából áll. Az lyen adat típusának lényeges jellemzője, hogy

Részletesebben

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika Fuzzy rendszerek A fuzzy halmaz és a fuzzy logka A hagyományos kétértékű logka, melyet évezredek óta alkalmazunk a tudományban, és amelyet George Boole (1815-1864) fogalmazott meg matematkalag, azon a

Részletesebben

4 2 lapultsági együttható =

4 2 lapultsági együttható = Leíró statsztka Egy kísérlet végeztével általában tetemes mennységű adat szokott összegyűln. Állandó probléma, hogy mt s kezdjünk - lletve mt tudunk kezden az adatokkal. A statsztka ebben segít mnket.

Részletesebben

Hipotézis vizsgálatok. Egy példa. Hipotézisek. A megfigyelt változó eloszlása Kérdés: Hatásos a lázcsillapító gyógyszer?

Hipotézis vizsgálatok. Egy példa. Hipotézisek. A megfigyelt változó eloszlása Kérdés: Hatásos a lázcsillapító gyógyszer? 01.09.18. Hpotézs vzsgálatok Egy példa Kérdések (példa) Hogyan adhatunk választ? Kérdés: Hatásos a lázcsllapító gyógyszer? Hatásos-e a gyógyszer?? rodalomból kísérletekből Hpotézsek A megfgyelt változó

Részletesebben

PROGRAM STATIKUS FOGALMA DINAMIKUSAN VÁLTOZÓ ÁLLAPOTTÉRBEN 1

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.

Részletesebben

Egy negyedrendű rekurzív sorozatcsaládról

Egy negyedrendű rekurzív sorozatcsaládról Egy negyedrendű rekurzív sorozatcsaládról Pethő Attla Emlékül Kss Péternek, a rekurzív sorozatok fáradhatatlan kutatójának. 1. Bevezetés Legyenek a, b Z és {1, 1} olyanok, hogy a 2 4b 2) 0, b 2 és ha 1,

Részletesebben

Statisztikai próbák. Ugyanazon problémára sokszor megvan mindkét eljárás.

Statisztikai próbák. Ugyanazon problémára sokszor megvan mindkét eljárás. Statsztka próbák Paraméteres. A populácó paraméteret becsüljük, ezekkel számolunk.. Az alapsokaság eloszlására van kkötés. Nem paraméteres Nncs lyen becslés Nncs kkötés Ugyanazon problémára sokszor megvan

Részletesebben

d(f(x), f(y)) q d(x, y), ahol 0 q < 1.

d(f(x), f(y)) q d(x, y), ahol 0 q < 1. Fxponttétel Már a hétköznap életben s gyakran tapasztaltuk, hogy két pont között a távolságot nem feltétlenül a " kettő között egyenes szakasz hossza" adja Pl két település között a távolságot közlekedés

Részletesebben

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek Bevezetés progrmozásb 3. Elődás Algortmusok, tételek ISMÉTLÉS Specfkácó Előfeltétel: mlyen körülmények között követelünk helyes működést Utófeltétel: mt várunk kmenettől, m z összefüggés kmenet és bemenet

Részletesebben

ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK

ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK 1. ALGORITMUS FOGALMA ÉS JELLEMZŐI Az algortmus egyértelműen végreajtató tevékenység-, vagy utasítássorozat, amely véges sok lépés után befejeződk. 1.1 Fajtá: -

Részletesebben

s n s x A m és az átlag Standard hiba A m becslése Információ tartalom Átlag Konfidencia intervallum Pont becslés Intervallum becslés

s n s x A m és az átlag Standard hiba A m becslése Információ tartalom Átlag Konfidencia intervallum Pont becslés Intervallum becslés A m és az átlag Standard hba Mnta átlag 1 170 Az átlagok szntén ngadoznak a m körül. s x s n Az átlagok átlagos eltérése a m- től! 168 A m konfdenca ntervalluma. 3 166 4 173 x s x ~ 68% ~68% annak a valószínűsége,

Részletesebben

Az elektromos kölcsönhatás

Az elektromos kölcsönhatás TÓTH.: lektrosztatka/ (kbővített óravázlat) z elektromos kölcsönhatás Rég tapasztalat, hogy megdörzsölt testek különös erőket tudnak kfejten. Így pl. megdörzsölt műanyagok (fésű), megdörzsölt üveg- vagy

Részletesebben

Műszaki folyamatok közgazdasági elemzése. Kevert stratégiák és evolúciós játékok

Műszaki folyamatok közgazdasági elemzése. Kevert stratégiák és evolúciós játékok Műszak folyamatok közgazdaság elemzése Kevert stratégák és evolúcós átékok Fogalmak: Példa: 1 szta stratéga Vegyes stratéga Ha m tszta stratéga létezk és a 1 m annak valószínűsége hogy az - edk átékos

Részletesebben

4 205 044-2012/11 Változtatások joga fenntartva. Kezelési útmutató. UltraGas kondenzációs gázkazán. Az energia megőrzése környezetünk védelme

4 205 044-2012/11 Változtatások joga fenntartva. Kezelési útmutató. UltraGas kondenzációs gázkazán. Az energia megőrzése környezetünk védelme HU 4 205 044-2012/11 Változtatások joga fenntartva Kezelés útmutató UltraGas kondenzácós gázkazán Az energa megőrzése környezetünk védelme Tartalomjegyzék UltraGas 15-1000 4 205 044 1. Kezelés útmutató

Részletesebben

,...,q 3N és 3N impulzuskoordinátával: p 1,

,...,q 3N és 3N impulzuskoordinátával: p 1, Louvlle tétele Egy tetszőleges klasszkus mechanka rendszer állapotát mnden t dőpllanatban megadja a kanónkus koordnáták összessége. Legyen a rendszerünk N anyag pontot tartalmazó. Ilyen esetben a rendszer

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

Algoritmusok és adatszerkezetek gyakorlat 09 Rendezések

Algoritmusok és adatszerkezetek gyakorlat 09 Rendezések Algortmusok és adatszerkezetek gyakorlat 09 Rendezések Néhány órával ezelőtt megsmerkedtünk már a Merge Sort rendező algortmussal. A Merge Sort-ról tuduk, hogy a legrosszabb eset dőgénye O(n log n). Tetszőleges

Részletesebben

Békefi Zoltán. Közlekedési létesítmények élettartamra vonatkozó hatékonyság vizsgálati módszereinek fejlesztése. PhD Disszertáció

Békefi Zoltán. Közlekedési létesítmények élettartamra vonatkozó hatékonyság vizsgálati módszereinek fejlesztése. PhD Disszertáció Közlekedés létesítmények élettartamra vonatkozó hatékonyság vzsgálat módszerenek fejlesztése PhD Dsszertácó Budapest, 2006 Alulírott kjelentem, hogy ezt a doktor értekezést magam készítettem, és abban

Részletesebben

Philosophiae Doctores. A sorozatban megjelent kötetek listája a kötet végén található

Philosophiae Doctores. A sorozatban megjelent kötetek listája a kötet végén található Phlosophae Doctores A sorozatban megjelent kötetek lstája a kötet végén található Benedek Gábor Evolúcós gazdaságok szmulácója AKADÉMIAI KIADÓ, BUDAPEST 3 Kadja az Akadéma Kadó, az 795-ben alapított Magyar

Részletesebben

Programozási módszertan

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

Részletesebben

Dr. Ratkó István. Matematikai módszerek orvosi alkalmazásai. 2010.11.08. Magyar Tudomány Napja. Gábor Dénes Főiskola

Dr. Ratkó István. Matematikai módszerek orvosi alkalmazásai. 2010.11.08. Magyar Tudomány Napja. Gábor Dénes Főiskola Dr. Ratkó István Matematka módszerek orvos alkalmazása 200..08. Magyar Tudomány Napja Gábor Dénes Főskola A valószínűségszámítás és matematka statsztka főskola oktatásakor a hallgatók néha megkérdezk egy-egy

Részletesebben

Kvantum-tömörítés II.

Kvantum-tömörítés II. LOGO Kvantum-tömörítés II. Gyöngyös László BME Vllamosmérnök és Informatka Kar A kvantumcsatorna kapactása Kommunkácó kvantumbtekkel Klasszkus btek előnye Könnyű kezelhetőség Stabl kommunkácó Dszkrét értékek

Részletesebben

Orosz Gyula: Markov-láncok. 4. Statisztikus golyójátékok

Orosz Gyula: Markov-láncok. 4. Statisztikus golyójátékok . Statsztkus golyójátékok Egy urnában kezdetben különböző színű golyók vannak. Ezek közül véletlenszerűen kválasztunk egyet, és a követett stratégától függően kveszünk vagy beteszünk újabb golyókat az

Részletesebben

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

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

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

METROLÓGIA ÉS HIBASZÁMíTÁS

METROLÓGIA ÉS HIBASZÁMíTÁS METROLÓGIA ÉS HIBASZÁMíTÁS Metrológa alapfogalmak A metrológa a mérések tudománya, a mérésekkel kapcsolatos smereteket fogja össze. Méréssel egy objektum valamlyen tulajdonságáról számszerű értéket kapunk.

Részletesebben

1. előadás: Halmazelmélet, számfogalom, teljes

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

Részletesebben

Példák ekvivalencia relációra (TÉTELként kell tudni ezeket zárthelyin, vizsgán):

Példák ekvivalencia relációra (TÉTELként kell tudni ezeket zárthelyin, vizsgán): F NIK INÁRIS RLÁIÓK INÁRIS RLÁIÓK (és hasonló mátrxok s tt!) Defnícó: z R bnárs relácó, ha R {( a, b) a, b } nárs relácók lehetséges tuladonsága:. Reflexív ha ( x,.(a). Szmmetrkus ha ( x, y) ( y,.(b).

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

Relációk. Vázlat. Példák direkt szorzatra

Relációk. Vázlat. Példák direkt szorzatra 8.. 7. elácók elácó matematka fogalma zükséges fogalom: drekt szorzat Halmazok Descartes drekt szorzata: Legenek D D D n adott doman halmazok. D D D n : = { d d d n d k D k k n } A drekt szorzat tehát

Részletesebben

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk. Osztók és többszörösök 1783. A megadott számok elsõ tíz többszöröse: 3: 3 6 9 12 15 18 21 24 27 30 4: 4 8 12 16 20 24 28 32 36 40 5: 5 10 15 20 25 30 35 40 45 50 6: 6 12 18 24 30 36 42 48 54 60 1784. :

Részletesebben

Vázlat. Relációk. Példák direkt szorzatra

Vázlat. Relációk. Példák direkt szorzatra 7..9. Vázlat elácók a. elácó fogalma b. Tulajdonsága: refleív szmmetrkus/antszmmetrkus tranztív c. Ekvvalenca relácók rzleges/parcáls rrendez relácók felsmere d. elácók reprezentálása elácó matematka fogalma

Részletesebben

IDA ELŐADÁS I. Bolgár Bence október 17.

IDA ELŐADÁS I. Bolgár Bence október 17. IDA ELŐADÁS I. Bolgár Bence 2014. október 17. I. Generatív és dszkrmnatív modellek Korábban megsmerkedtünk a felügyelt tanulással (supervsed learnng). Legyen adott a D = {, y } P =1 tanító halmaz, ahol

Részletesebben

Az entrópia statisztikus értelmezése

Az entrópia statisztikus értelmezése Az entrópa statsztkus értelmezése A tapasztalat azt mutatja hogy annak ellenére hogy egy gáz molekulá egyed mozgást végeznek vselkedésükben mégs szabályszerűségek vannak. Statsztka jellegű vselkedés szabályok

Részletesebben

Elosztott rendszerek játékelméleti elemzése: tervezés és öszönzés. Toka László

Elosztott rendszerek játékelméleti elemzése: tervezés és öszönzés. Toka László adat Távközlés és Médanformatka Tanszék Budapest Műszak és Gazdaságtudomány Egyetem Eurecom Telecom Pars Elosztott rendszerek játékelmélet elemzése: tervezés és öszönzés Toka László Tézsfüzet Témavezetők:

Részletesebben

ORVOSI STATISZTIKA. Az orvosi statisztika helye. Egyéb példák. Példa: test hőmérséklet. Lehet kérdés? Statisztika. Élettan Anatómia Kémia. Kérdések!

ORVOSI STATISZTIKA. Az orvosi statisztika helye. Egyéb példák. Példa: test hőmérséklet. Lehet kérdés? Statisztika. Élettan Anatómia Kémia. Kérdések! ORVOSI STATISZTIKA Az orvos statsztka helye Élettan Anatóma Kéma Lehet kérdés?? Statsztka! Az orvos döntéseket hoz! Mkor jó egy döntés? Mennyre helyes egy döntés? Mekkora a tévedés lehetősége? Példa: test

Részletesebben

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

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 =

Részletesebben

9. Visszavezetés egyedi felsorolókkal

9. Visszavezetés egyedi felsorolókkal 9. Vsszavezetés egyed felsorolókkal Ebben a fejezetben a hét általános programozás tételt olyan feladatok megoldására alkalmazzuk, ahol nem lehet nevezetes felsorolókat sználn, azaz a Frst(), Next(), End()

Részletesebben

1.Tartalomjegyzék 1. 1.Tartalomjegyzék

1.Tartalomjegyzék 1. 1.Tartalomjegyzék 1.Tartalomjegyzék 1 1.Tartalomjegyzék 1.Tartalomjegyzék...1.Beezetés... 3.A matematka modell kálasztása...5 4.A ékony lap modell...7 5.Egy más módszer a matematka modell kálasztására...10 6.A felületet

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

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

Részletesebben

Kiegészítés a felületi hullámossághoz és a forgácsképződéshez. 1. ábra. ( 2 ) A szögváltozó kifejezése:

Kiegészítés a felületi hullámossághoz és a forgácsképződéshez. 1. ábra. ( 2 ) A szögváltozó kifejezése: Kegészítés a felület hullámossághoz és a forgácsképződéshez Két korább dolgozatunkban [ KD1 ], [ KD2 ] s foglalkoztunk már a fapar forgácsoláselméletben központ szerepet játszó felület hullámosság kalakulásával,

Részletesebben

HALMAZOK. A racionális számok halmazát olyan számok alkotják, amelyek felírhatók b. jele:. A racionális számok halmazának végtelen sok eleme van.

HALMAZOK. A racionális számok halmazát olyan számok alkotják, amelyek felírhatók b. jele:. A racionális számok halmazának végtelen sok eleme van. HALMAZOK Tanulási cél Halmazok megadása, halmazműveletek megismerése és alkalmazása, halmazok ábrázolása Venn diagramon. Motivációs példa Egy fogyasztó 80 000 pénzegység jövedelmet fordít két termék, x

Részletesebben

Méréselmélet: 5. előadás,

Méréselmélet: 5. előadás, 5. Modellllesztés (folyt.) Méréselmélet: 5. előadás, 03.03.3. Út az adaptív elárásokhoz: (85) és (88) alapán: W P, ( ( P). Ez utóbb mndkét oldalát megszorozva az mátrxszal: W W ( ( n ). (9) Feltételezve,

Részletesebben

Párhuzamos algoritmusok

Párhuzamos algoritmusok Párhuzamos algortmusok. Hatékonyság mértékek A árhuzamos algortmusok esetében fontos jellemző az m ( n, P, ) munka, amt a futás dő és a rocesszorszám szorzatával defnálunk. A P árhuzamos algortmus az A

Részletesebben

A bankközi jutalék (MIF) elő- és utóélete a bankkártyapiacon. A bankközi jutalék létező és nem létező versenyhatásai a Visa és a Mastercard ügyek

A bankközi jutalék (MIF) elő- és utóélete a bankkártyapiacon. A bankközi jutalék létező és nem létező versenyhatásai a Visa és a Mastercard ügyek BARA ZOLTÁN A bankköz utalék (MIF) elő- és utóélete a bankkártyapacon. A bankköz utalék létező és nem létező versenyhatása a Vsa és a Mastercard ügyek Absztrakt Az előadás 1 rövden átteknt a két bankkártyatársasággal

Részletesebben

Bevezetés a kémiai termodinamikába

Bevezetés a kémiai termodinamikába A Sprnger kadónál megjelenő könyv nem végleges magyar változata (Csak oktatás célú magánhasználatra!) Bevezetés a kéma termodnamkába írta: Kesze Ernő Eötvös Loránd udományegyetem Budapest, 007 Ez az oldal

Részletesebben

3. Évközi ellenőrzés módja: 2 zárhelyi dolgozat íratása. 4. A tárgy előírt külső szakmai gyakorlatai: -

3. Évközi ellenőrzés módja: 2 zárhelyi dolgozat íratása. 4. A tárgy előírt külső szakmai gyakorlatai: - Tantárgy neve Halmazok és függvények Tantárgy kódja MTB00 Meghrdetés féléve Kredtpont Összóraszám (elm+gyak + Számonkérés módja G Előfeltétel (tantárgy kód - Tantárgyfelelős neve Rozgony Tbor Tantárgyfelelős

Részletesebben

Mechanizmusok vegyes dinamikájának elemzése

Mechanizmusok vegyes dinamikájának elemzése echanzmuso vegyes dnamáána elemzése ntonya Csaba ranslvana Egyetem, nyagsmeret Kar, Brassó. Bevezetés Komple mechanzmuso nemata és dnama mozgásvszonyana elemzése nélülözhetetlen a termétervezés első szaaszaban.

Részletesebben

Tanult nem paraméteres próbák, és hogy milyen probléma megoldására szolgálnak.

Tanult nem paraméteres próbák, és hogy milyen probléma megoldására szolgálnak. 8. GYAKORLAT STATISZTIKAI PRÓBÁK ISMÉTLÉS: Tanult nem paraméteres próbák, és hogy mlyen probléma megoldására szolgálnak. Név Illeszkedésvzsgálat Χ próbával Illeszkedésvzsgálat grafkus úton Gauss papírral

Részletesebben

Hatványozás. A hatványozás azonosságai

Hatványozás. A hatványozás azonosságai Hatványozás Definíció: a 0 = 1, ahol a R, azaz bármely szám nulladik hatványa mindig 1. a 1 = a, ahol a R, azaz bármely szám első hatványa önmaga a n = a a a, ahol a R, n N + n darab 3 4 = 3 3 3 3 = 84

Részletesebben

Diszkrét matematika 1. estis képzés

Diszkrét matematika 1. estis képzés Diszkrét matematika 1. estis képzés 2019. tavasz 1. Diszkrét matematika 1. estis képzés 9. 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

Részletesebben

5. Forráskódolás és hibavédő kódolás

5. Forráskódolás és hibavédő kódolás 5 Forráskódolás és hbavédő kódolás 51 Példa: forráskódolás Egy (szmbólumonként kódolt) forrás legtömörebb bnárs kódjában a kódszavak hossza rendre 2,3,3,3,3,4,4,4,5,5 a) Lehet-e ez a kód egyértelműen megfejthető

Részletesebben

17. előadás: Vektorok a térben

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

Részletesebben

Balogh Edina Árapasztó tározók működésének kockázatalapú elemzése PhD értekezés Témavezető: Dr. Koncsos László egyetemi tanár

Balogh Edina Árapasztó tározók működésének kockázatalapú elemzése PhD értekezés Témavezető: Dr. Koncsos László egyetemi tanár Balogh Edna Árapasztó tározók működésének kockázatalapú elemzése PhD értekezés Témavezető: Dr. Koncsos László egyetem tanár Budapest Műszak és Gazdaságtudomány Egyetem Építőmérnök Kar 202 . Bevezetés,

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2015. tavasz 1. Diszkrét matematika 2.C szakirány 1. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu Komputeralgebra Tanszék 2015. tavasz Gráfelmélet Diszkrét

Részletesebben

2014. szeptember 24. és 26. Dr. Vincze Szilvia

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

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

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

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

Részletesebben

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;... Egész számok természetes számok ( ) pozitív egész számok: 1; 2; 3; 4;... 0 negatív egész számok: 1; 2; 3; 4;... egész számok ( ) 1. Írd a következõ számokat a halmazábra megfelelõ helyére! 3; 7; +6 ; (

Részletesebben

Diszkrét matematika I.

Diszkrét matematika I. Diszkrét matematika I. középszint 2014. ősz 1. Diszkrét matematika I. középszint 10. előadás Mérai László diái alapján Komputeralgebra Tanszék 2014. ősz Felhívás Diszkrét matematika I. középszint 2014.

Részletesebben

Regresszió. Fő cél: jóslás Történhet:

Regresszió. Fő cél: jóslás Történhet: Fő cél: jóslás Történhet: Regresszó 1 változó több változó segítségével Lépések: Létezk-e valamlyen kapcsolat a 2 változó között? Kapcsolat természetének leírása (mat. egy.) A regresszós egyenlet alapján

Részletesebben

Véletlenszám generátorok. 6. előadás

Véletlenszám generátorok. 6. előadás Véletlenszám generátorok 6. előadás Véletlenszerű változók, valószínűség véletlen, véletlen változók valószínűség fogalma egy adott esemény bekövetkezésének esélye értékét 0 és között adjuk meg az összes

Részletesebben

Minden egész szám osztója önmagának, azaz a a minden egész a-ra.

Minden egész szám osztója önmagának, azaz a a minden egész a-ra. 1. Számelmélet Definíció: Az a egész szám osztója a egész számnak, ha létezik olyan c egész szám, melyre = ac. Ezt a következőképpen jelöljük: a Tulajdonságok: Minden egész szám osztója önmagának, azaz

Részletesebben

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

Részletesebben

(eseményalgebra) (halmazalgebra) (kijelentéskalkulus)

(eseményalgebra) (halmazalgebra) (kijelentéskalkulus) Valószínűségszámítás Valószínűség (probablty) 0 és 1 között valós szám, amely egy esemény bekövetkezésének esélyét fejez k: 0 - (sznte) lehetetlen, 0.5 - azonos eséllyel gen vagy nem, 1 - (sznte) bztos

Részletesebben

Szerelési útmutató FKC-1 síkkollektor tetőre történő felszerelése Junkers szolár rendszerek számára

Szerelési útmutató FKC-1 síkkollektor tetőre történő felszerelése Junkers szolár rendszerek számára Szerelés útmutató FKC- síkkollektor tetőre történő felszerelése Junkers szolár rendszerek számára 604975.00-.SD 6 70649 HU (006/04) SD Tartalomjegyzék Általános..................................................

Részletesebben

Algoritmusok és adatszerkezetek I. 10. előadás

Algoritmusok és adatszerkezetek I. 10. előadás Algortmusok és adatszerkezetek I. 10. előadás Dnamkus programozás Feladat: Adott P 1,P 2, P n pénzjegyekkel kfzethető-e F fornt? Megoldás: Tegyük fel, hogy F P P... P... m! 1 2 m 1 Ekkor F P P P P......,

Részletesebben

Fizika II. (Termosztatika, termodinamika)

Fizika II. (Termosztatika, termodinamika) Fzka II. (Termosztatka, termodnamka) előadás jegyzet Élelmszermérnök, Szőlész-borász mérnök és omérnök hallgatóknak Dr. Frtha Ferenc. árls 4. Tartalom evezetés.... Hőmérséklet, I. főtétel. Ideáls gázok...3

Részletesebben

Egészrészes feladatok

Egészrészes feladatok Kitűzött feladatok Egészrészes feladatok Győry Ákos Miskolc, Földes Ferenc Gimnázium 1. feladat. Oldjuk meg a valós számok halmazán a { } 3x 1 x+1 7 egyenletet!. feladat. Bizonyítsuk be, hogy tetszőleges

Részletesebben

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

Részletesebben

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták) A 205/206. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA a speciális tanterv szerint haladó gimnazisták Javítási-értékelési útmutató. feladat Az {,2,...,n} halmaz

Részletesebben

Amit a törtekről tudni kell Minimum követelményszint

Amit a törtekről tudni kell Minimum követelményszint Amit a törtekről tudni kell Minimum követelményszint Fontos megjegyzés: A szabályoknak nem a pontos matematikai meghatározását adtuk. Helyettük a gyakorlatban használható, egyszerű megfogalmazásokat írtunk.

Részletesebben

Számelméleti alapfogalmak

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 =

Részletesebben

Hely és elmozdulás - meghatározás távolságméréssel

Hely és elmozdulás - meghatározás távolságméréssel Hely és elmozdulás - meghatározás távolságméréssel Bevezetés A repülő szerkezetek repülőgépek, rakéták, stb. helyének ( koordnátának ) meghatározása nem új feladat. Ezt a szakrodalom részletesen taglalja

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

KOVÁCS BÉLA, MATEMATIKA I.

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

Részletesebben

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar PROGRAMOZÁS tantárgy Gregorics Tibor egyetemi docens ELTE Informatikai Kar Követelmények A,C,E szakirány B szakirány Előfeltétel Prog. alapismeret Prog. alapismeret Diszkrét matematika I. Óraszám 2 ea

Részletesebben

Darupályák ellenőrző mérése

Darupályák ellenőrző mérése Darupályák ellenőrző mérése A darupályák építésére, szerelésére érvényes 15030-58 MSz szabvány tartalmazza azokat az előírásokat, melyeket a tervezés, építés, műszak átadás során be kell tartan. A geodéza

Részletesebben

Elemi matematika szakkör

Elemi matematika szakkör Elemi matematika szakkör Kolozsvár, 2015. október 5. 1.1. Feladat. Egy pozitív egész számot K tulajdonságúnak nevezünk, ha számjegyei nullától különböznek és nincs két azonos számjegye. Határozd meg az

Részletesebben

A DÖNTÉSELMÉLET ALAPJAI

A DÖNTÉSELMÉLET ALAPJAI J 2 A DÖNTÉSELMÉLET ALAJAI óformán életünk mnden percében döntéseket kell hoznunk, és tesszük ezt mnden elmélet megalapozottság nélkül. Sajnos a mndennap életben felmerülő egyed döntésekre még nem skerült

Részletesebben

Bevezetés a matematikába (2009. ősz) 1. röpdolgozat

Bevezetés a matematikába (2009. ősz) 1. röpdolgozat Bevezetés a matematikába (2009. ősz) 1. röpdolgozat 1. feladat. Fogalmazza meg a következő ítélet kontrapozícióját: Ha a sorozat csökkenő és alulról korlátos, akkor konvergens. 2. feladat. Vezessük be

Részletesebben

Support Vector Machines

Support Vector Machines Support Vector Machnes Ormánd Róbert MA-SZE Mest. Int. Kutatócsoport 2009. február 17. Előadás vázlata Rövd bevezetés a gép tanulásba Bevezetés az SVM tanuló módszerbe Alapötlet Nem szeparálható eset Kernel

Részletesebben

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Készítette: Laczik Sándor János Gráfelmélet I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Definíció: a G=(V,E) párt egyszerű gráfnak nevezzük, (V elemeit a gráf csúcsainak/pontjainak,e elemeit

Részletesebben

Klasszikus algebra előadás. Waldhauser Tamás április 28.

Klasszikus algebra előadás. Waldhauser Tamás április 28. Klasszikus algebra előadás Waldhauser Tamás 2014. április 28. 5. Számelmélet integritástartományokban Oszthatóság Mostantól R mindig tetszőleges integritástartományt jelöl. 5.1. Definíció. Azt mondjuk,

Részletesebben

ERP beruházások gazdasági értékelése

ERP beruházások gazdasági értékelése Rózsa Tünde 1 ERP beruházások gazdaság értékelése 1 DE ATC AVK Gazdaság- és Agrárnformatka Tanszék, Debrecen, Böszörmény u. 138 Absztrakt. Egy ERP rendszer bevezetése mnden esetben nagy anyag megterhelést

Részletesebben

A korlátozás programozás alapjai

A korlátozás programozás alapjai A korlátozás programozás alapa Kovács András akovacs@mt.bme.hu Bevezetés Ez a segédlet a Mesterséges Intellgenca Labor c. tárgyat felvett hallgatókhoz szól, és feltételez a logka programozás elmélet alapanak,

Részletesebben

Logika es sz am ıt aselm elet I. r esz Logika 1/36

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

Részletesebben

VARIANCIAANALÍZIS (szóráselemzés, ANOVA)

VARIANCIAANALÍZIS (szóráselemzés, ANOVA) VARIANCIAANAÍZIS (szóráselemzés, ANOVA) Varancaanalízs. Varancaanalízs (szóráselemzés, ANOVA) Adott: egy vagy több tetszőleges skálájú független változó és egy legalább ntervallum skálájú függő változó.

Részletesebben

Statisztika I. 3. előadás. Előadó: Dr. Ertsey Imre

Statisztika I. 3. előadás. Előadó: Dr. Ertsey Imre Statsztka I. 3. előadás Előadó: Dr. Ertsey Imre Vszonyszámok Statsztka munka: adatgyűjtés, rendszerezés, összegzés, értékelés. Vszonyszámok: Két statsztka adat arányát kfejező számok, Az un. leszármaztatott

Részletesebben

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

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

Részletesebben

Optikai elmozdulás érzékelő illesztése STMF4 mikrovezérlőhöz és robot helyzetérzékelése. Szakdolgozat

Optikai elmozdulás érzékelő illesztése STMF4 mikrovezérlőhöz és robot helyzetérzékelése. Szakdolgozat Mskolc Egyetem Gépészmérnök és Informatka Kar Automatzálás és Infokommunkácós Intézet Tanszék Optka elmozdulás érzékelő llesztése STMF4 mkrovezérlőhöz és robot helyzetérzékelése Szakdolgozat Tervezésvezető:

Részletesebben

5. feladatsor megoldása

5. feladatsor megoldása megoldása I. rész ( ) = 1. x x, azaz C) a helyes válasz, mivel a négyzetgyökvonás eredménye csak nemnegatív szám lehet.. A húrnégyszögek tétele szerint bármely húrnégyszög szemközti szögeinek összege 180.

Részletesebben

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

Részletesebben

Algoritmusok, adatszerkezetek I.

Algoritmusok, adatszerkezetek I. NEUMANN JÁNOS INFORMATIKAI KAR Sergyán Szabolcs Algortmusok, adatszerkezetek I. ÓE-NIK 5014 Budapest, 2015. Készült az Óbuda Egyetem án az ÓE-NIK 5014. sz. jegyzetszerződés kereten belül 2014-ben. Szerző:

Részletesebben

II. Rákóczi Ferenc Kárpátaljai Magyar Fıiskola. Pataki Gábor. STATISZTIKA I. Jegyzet

II. Rákóczi Ferenc Kárpátaljai Magyar Fıiskola. Pataki Gábor. STATISZTIKA I. Jegyzet II. Rákócz Ferenc Kárátalja Magyar Fıskola Patak Gábor STATISZTIKA I. Jegyzet 23 Tartalomjegyzék evezetés... 3 I. Statsztka alafogalmak... 4. Statsztka kalakulása, tudománytörténet összefüggése... 4.2

Részletesebben