Magasszintű programozási felület idősorok nemlineáris analízisére

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

Download "Magasszintű programozási felület idősorok nemlineáris analízisére"

Átírás

1 XII. Erdélyi Tudományos Diákköri Konferencia Magasszintű programozási felület idősorok nemlineáris analízisére Papp István Babes Bolyai Tudományegyetem, Fizika kar, Kolozsvár II.év Témavezető Dr. Lázár Zsolt József Elméleti és Számítógépes Fizika Tanszék Fizika kar Babes Bolyai Tudományegyetem 1

2 Kivonat Az utóbbi évtizedekben az idősorok nemlineáris analízise áttörő sikereinek lehettünk tanúi a tudomány és technika sok területén. Ezek a módszerek a génszekvenciák, elektroencefalogrammok (EEG), elektrokardiogrammok idősorainak, tőzsdeindexek, meteorológiai és szeizmikus adatok értelmezéséhez és előrejelzésekhez elengedhetetlenek. Tekintve, hogy a lineáris módszerekhez képest a matematika egy relatív fiatal és jelenleg is intenzíven kutatott területe, legnépszerűbb numerikus szoftvercsomagok (Matlab, SciPy) nem tartalmaznak erre vonatkozó algoritmusokat. A TISEAN csomag C és Fortran nyelven íródott, meglehetősen korlátozott módon teszi lehetővé az algoritmusok használatát és erősen UNIX orientált. Mindezek ellenére a leghasználtabb nyílt forrású csomag ezen a területen. Célunk az volt, hogy az eredeti forráskód lehető legkevesebb módosításával biztosítsunk egy rugalmas, magaszintű programozási felületet ehhez a csomaghoz. A dolgozatban bemutatom a TISEAN csomagnak a tudományos körökben egyre népszerűbb Python programozási nyelvhez írt csatolási felületének működését és az így elérhető felhasználói felület alkalmazását EEG adatok analízisére. 2

3 Tartalomjegyzék 1. Bevezető Idősorok nemlineáris analízise EEG TISEAN Python Pythonról röviden Numerikus Python C Python PyTisean Követelmények Technikai nehézségek Következtetés, kitekintés Függelék Könyvészet

4 1. Bevezetés 1.1. Idősorok nemlineáris analízise A káoszelméletnek az utóbbi évtizedekben elért sikerei nagy mértékben befolyásolták a tudományok széles köreinek fejlődését. A lineáris módszerek csak szabályszerű viselkedését vizsgálják a rendszernek. Ez azt jelenti, hogy kis változtatással a kezdeti feltételben kis változást okozunk a rendszer időbeli evolúciójában. Ezzel ellentétben a nemlineáris rendszerben egy kis változás a kezdeti paraméterekben óriási változást okoz a végkifejletben. Míg a lineáris egyenletek exponenciális csökkenés (vagy növekedés), vagy (csillapított) rezgés alakú megoldásokat adnak, a szabályszerűtlen viselkedést véletlenszámok generálásával vezetik be. Ezzel szemben az analízis nemlineáris módszereivel véletlen bemeneti adatok generálása nélkül is elérhető szabályszerűtlen viselkedés, ez a viselkedés benne van az egyenletbe. 1.1 ábra: Egy terhes nő ECG felvétele, jól látható, hogy a felső grafikonon a magzat szívverése megzavarja a jelet. Az alsó grafikon már már a nemlineáris módszerrel elkülönített magzat életjelei. 4

5 1.2 Elektroencefalogram (EEG) Az EEG az agy által kibocsátott elektromos jelek elvezetésén alapszik. Az agyban lezajló különböző folyamatok az agy különböző területein más más jelet eredményeznek. Az első elvezetések után (1875 Richard Caton) csak jóval később sikerült létrehozni a legelső EEG laboratóriumot (1924 Hans Berger), és ennek ellenére néhány évtized alatt áttörő eredményekre tettek szert. Előnyei: nem invazív (nem kell az elektródáknak áthatolni a koponyán), nagy az idő felbontása, relatíve olcsó. A jelek lineáris analízissel történő elemzése: spektrum analízis, koherencia, korreláció vizsgálata, nagyjából kimerítettnek tekinthető. Két dolognak köszönhetően az EEG reneszánszát éli: a nemlineáris módszerek fejlődésének és a számítási kapacitás Moore törvénye szerinti töretlen növekedésének köszönhetően. Nemlineáris módszerekkel vizsgálják: komplexitás analízis, szinkronizáció, DFA (detrended fluctuation analysis), PAA (period amplitude analysis), SA (slope analysis), orsó számlálás, stb. Fp1-F7 F7-T5 T5-O1 Fp1-F3 F3-P3 P3-O1 Fp2-F4 F4-P4 P4-O2 Fp2-F8 F8-T6 T6-O2 EKG-A1 F8-A2 T5-A1 T6-A2 1.2 ábra: Az újszülöttől gyűjtött EEG jel. 5 Leye Reye

6 2. TISEAN A TISEAN (Nonlinear Time Series Analysis) [TISEAN] egy software csomag idősorok analíziséhez, melynek komponensei C illetve Fortran nyelven íródtak, és az algoritmusok a nemlineáris dinamikai rendszerek elméletén alapszanak. A TISEAN algoritmusai meglehetősen korlátozottan használhatók, és elsősorban UNIX/Linux alatt futtathatók. A különböző algoritmusok kizárólag a parancssorból hívhatók meg egy sor opció megadásával. Az adatok szöveges állományokból olvasódnak be illetve íródnak ki, de esetenként a standard ki és bemenet is használható. A forráskód elérhető a GPL alatt. A TISEAN nem objektum orientált és kissé rendezetlen szerkezetú. Mindezek ellenére a leghasználtabb nyílt forrású csomag ezen a területen. A makenoise megfelelő opciók megadásával növeli egy rendszer entrópiáját, vagy adatok megadása nélkül használható véletlenszámok generálására is. A makenoise futtatása shellből: $./makenoise -omakenoise.out -l2 -r3 -m3 -%20 -g makenoise.in Bemeneti adatok: Az eredeti kód válasza az előző opciókkal: TISEAN (C) R. Hegger, H. Kantz, T. Schreiber ( )./source_c/makenoise: Adds noise to a time series or just creates random numbers Using makenoise.in as datafile! Using columns: get_multi_series: first data item(s) used: Use 2 lines. Opened makenoise.out for writing A fájlban az adat: e e e e e e+01 A fenti parancs a makenoise.in nevű állományban található mátrix három oszlopára és két sorára helyez egy normál eloszlású zajt és az eredményt a makenoise.out nevű álományban tárolja. Az 6

7 opciók teljes dokumentációja megtalalható a függelékben. A delay különböző opciók beállításával egy sor vektort térít vissza a TDE (Time Delay Embedding) módszer alapján, a neki megadott skalár vagy többváltozós idősor elemeiből. A delay futtatása shellből: $ delay -odelay.out -l10 -m5 -M2 -F3,2 -d3 delay.in Bemeneti adatok: Az eredeti kód válasza az előző opciókkal: TISEAN (C) R. Hegger, H. Kantz, T. Schreiber ( )./source_c/delay: Produces delay vectors Using delay.in as datafile! Using columns: 1 2 get_multi_series: first data item(s) used: Use 10 lines. Opened delay.out for writing A fájlban az adat: e e e e e e e e e e e e e e e e e e e e+01 A fennebb megadott parancs a delay.in állomanyban megadott mátrixból alakít ki 5 dimenziós delay vectorokat. Az öt dimenziós vector hármat vesz az első kettőt a második tengelyről, és 3 sával lépve hátra haladva írja ki az adatot. 7

8 3. Python 3.1 Pythonról röviden A Python egy könnyen tanulható, sokoldalú programozási nyelv. Könnyen kezelhető magas szintű adatstruktúrákkal rendelkezik, és egyszerű ugyanakkor eredményes az obiektum orientált programozás nyelvi megvalósítása. A Python nyelvtana elegáns, a típuskezelése dinamikus. Értelmezett nyelv, mely a byte fordítást is támogatja (mint pl. a Java), ideális szkriptek készítésére, továbbá nagyon gyors alkalmazásfejlesztést tesz lehetővé több platformon, szerteágazó területeken. A Python értelmező interaktívan is használható. A Python egyre növeli a népszerűségét, az idei májusi felmérések [TIOBE ] szerint a programozási nyelvek közül népszerűségét tekintve a 6 ik helyen áll. Az értelmező és a sokrétű, alaposan kidolgozott alap könyvtár (Standard Library) szabadon elérhető és felhasználható akár forráskódként, akár bináris formában minden jelentősebb platformra. Mivel maga is C ben íródott, egyszerűen kiegészíthető C vagy C++ nyelven (vagy más, C ből hívható nyelven) új függvényekkel és adattípusokkal. A Python lehetővé teszi a programok modulokra történő felosztását, amelyek felhasználhatók más Python programokban is. A nyelvhez tartozó alap könyvtár alaposan kidolgozott modulgyűjteményt tartalmaz, melyek a programok alapjául használhatók. Vannak beépített modulok is mint a fájl I/O, rendszerhívások, socket ek kezelése és interfészek olyan grafikus felülethez, mint a Tk. 3.2 NumPy A Numerikus Python [NumPy] egy kiegészítő csomag része a Python programozási nyelvhez, ez a csomag a SciPy. A SciPy adatstruktúráját a NumPy látja el, amely mindamellett, hogy támogatja a nagymennyiségű, többdimenziós vektorokkal és mátrixokkal való műveleteket, rendelkezik egy széleskörű magas fokú matematikai fuggvényeket kezelő könyvtárral is. A NumPy a klasszikusnak tekintett LAPACK (Linear Algebra Package) [LAPACK] magasszinten optimalizált lineáris algebra csomagon alapszik. Teljesítményben a legtöbb területen lekörözi a Matlabot [NumPy v. MatLab]. Kiegészítve a Matplotlib adatvizualizálás csomaggal a Matlab nyílt forrású versenytársának tekinthető. 8

9 3.3 C Python A Pythont sajat magunk által megírt C rutinokkal is ki lehet egészíteni. Erre több lehetőség is rendelkezésünkre áll. A legegyszerűbb a Swig [SWIG] mely esetén le kell dokumentálni a C modul felületét és a kötés automatikusan generalódik. Ez az út nehézkessé válik bonyolult adatstrukturák esetén. A másik lehetőseg a hivatalos C Python felület használata. Mivel nekünk a Numpy összetett adatstruktúráival kellett összeegyeztetnünk a TISEAN algoritmusokat ezért választásunk a C Pythonra esett. A Python beépített moduljai bármikor könnyen kiegészíthető C ben vagy C++ ban írt új modulokkal, melyek elősegíthetik a Pythont olyan műveletekben, amelyeket nem tud közvetlenül elvégezni, létrehozhatnak új beépített típusokat, vagy akár meghívhatnak más C könyvtárbeli függvényeket is. 4. PyTisean 4.1 Követelmények Célunk az volt, hogy az eredeti forráskód lehető legkevesebb módosításával biztosítsunk könnyen kihasználható programozási felületet az amúgy értékes szoftvercsomaghoz. A felület két szintű (4.1 ábra): C programozasi felulet Az előbbire épített Python programozási felület. 4.1 ábra: A felületek összekapcsolódása. 9

10 4.2 Technikai kivitelezés, és nehézségek A TISEAN on belüli modulok nagy mértékben függetlenek egymástól, és csak nagyon kis részük általánosított. A függvénykezelése is nehezen átlátható, az analízis rész nincs kellőképpen elválasztva a konfigurációktól, beolvasás és kiiratástól. Egyes számításokat elvégeznek külön függvények, más számítások pedig main en belül történnek meg. (lásd a B. függeléket) Az adatok bevitele és kimenetele állományból illetve allományba történik. Az előbb említett okok miatt olyan megoldást kellett keresni, amely feltételezi azt, hogy az analízis rész ne változzon, csak a beolvasáson illetve a kiiratáson essen meg a változás. Mindenképpen el akartuk kerülni a forráskód módosítását, ezért az a döntés született, hogy megváltoztatjuk a csomag által használt standard könyvtarak közül a fájlba írás és fájlból olvasás függvények szerepét, ez a függvény "eltérítés" abból a szempontból hátrányos, hogy ha valaki módosítana valamelyik modul kiiratásának vagy beolvasásának módján az eredeti kódban, tehát nem fájlba ír vagy olvas, illetve nem azon a módon ír és olvas fájlba, a módszer nem működne megfelelő képpen, ha az illető a fontosabb részét, vagyis az analízis részét fejlesztené, nincs semmiféle probléma, a felület kompatibils lesz bármilyen módosítással. Persze a cél az általanos felület illeszkedése bármelyik modulra, az illeszthetőséget megkönnyíti az a tény, hogy minden modul hasonlóképpen olvas be és irat ki adatot. Az adatok beolvasása különböző opcióktól függenek, erről részletesebben beszámol a függelék, alapértelmezettként mindenhol a fájlból kerülnek be adatok, Legelőször egy C API ra volt szükség, melynek segítségével bármelyik modul meghívható legyen, és úgy a bemeneti mint a kimeneti adat mátrix vagy tömb legyen, ennek előnye, hogy nem kell kivágni adatokat, a modulok kivágási opciójára nincs is szükség. Azt sem szabad elfelejteni, hogy szinte minden modulban van egy analízis résztől nem független main, amelyek nem hívhatók függvényként, ezért szükség volt egy apró módosítás eszközlésére a kódban mégpedig minden main t át kellett nevezni, a megkülönböztetés végett a fájl nevét választottuk (természetesen kiterjesztés nélkül). A C API egy teljes io eltérítőnek számít, rákapcsolódik a TISEAN ra, mind a bemenet mind a kimeneti adatokat tömbök ként kezeli, függvényként hívja meg a modulokat, felülírva a TISEAN által használt kiegészítőket. A C API ra rátevődik a PyTisean, amely már Python függvények meghívásával dolgozik, a bemeneti adatokat a NumPy on keresztül biztosítja a a C API nak. 10

11 4.3 Eredmények Sikerült létrehozni néhány algoritmus esetén úgy a C mint a Pythonos felületet. Példaként ha vesszük a makenoise függvényt, annak meghívása C ből az alábbiak szerint történik: void makenoise(double ** array, // az adattomb unsigned long rows, // adattomb sorainak szama unsigned long cols, // adattomb sorainak szama double noiselevel, // relativ zaj int absolute, // 1 - absolute zaj (ha normal //eloszlas, akkor annak a varianciaja) 0 - relativ int gaussian, // 0 - egyenletes,!=0 - normal int change_seed, // valtoztassunk-e random generator // magot? 0 - nem,!=0 - igen int new_seed, // uj mag double ** array_out); // kimeno tomb Pythonbol a következő módon hívható (kivonat az interaktív folyamat kimenetéből): >>> from numpy import * >>> import tisean >>> x = array([[1., 2. 3.], [4., 5., 6.]]) >>> tisean.makenoise(x, 0.2) array([[ , , ], [ , , ]]) A makenoise ra vonatkozó Python help a C függelékben található 5. Következtetés, kitekintés Lényegében a TISEAN C ben íródott felével sikerült elérni a célunkat, vagyis sikerült egy olyan működőképes rugalmas, magaszintű felületet írni, amely megfelel a követelményeknek, kevés módosítással az eredeti kódban. Másodlagos célnak tűzhető ki a TISEAN csomag Fortranban fejlesztett részére írni egy hasonló felületet, vagy ráépíteni a meglévőt. Legvégső iránynak pedig a TISEAN csomag teljes mértékben való átírását lehet tekinteni. 11

12 6. Függelék A. Példa TISEAN algoritmusok opcióira A delay parancs: Opció Leírás Alapértelmezett l# használandó pontok száma a teljes állomány x# kivágandó sorok száma 0 M# beolvaslandó oszlopok száma 1 c# beolvasandó oszlopok specializálása 1,.. m# beszúrandó dimenzió 2 F# a delay vector formája nincs beállítva d# késés 1 D# lista különálló késésekre nincs beállítva o# kimeneti állomány neve standard kimenet (stdout) V# verbosity szint, ha 0: csak pánik üzenet 1: minden üzenet 1 h ezeket az opciókat írja ki nincs alapértelmezett A makenoise parancs: Opció Leírás Alapértelmezett l# használandó pontok száma a teljes állomány x# kivágandó sorok száma 0 m# használandó oszlopok száma 1 c# beolvasandó oszlopok száma 1 %# zajszint százalékban 5 r# abszolút zajszint nincs beállítva g gaussian zaj uniform helyett uniform I# megváltoztatja a véletlenszám generátor magját valamilyen konstansok O nem olvas be adatot, véletlenszámot generál (szükséges r, l) nincs beállítva o# kimeneti állomány neve standard kimenet (stdout) V# verbosity szint, ha 0: csak pánik üzenet 1: minden üzenet 1 h ezeket az opciókat írja ki nincs alapértelmezett 12

13 A makenoise futtatása shellből: $./makenoise -ofajlnev -l2 -r3 -m3 -%20 -g adat Bemeneti adatok: Az eredeti kód válasza az előző opciókkal: TISEAN (C) R. Hegger, H. Kantz, T. Schreiber ( )./source_c/makenoise: Adds noise to a time series or just creates random numbers Using /adat as datafile! Using columns: get_multi_series: first data item(s) used: Use 2 lines. Opened filename for writing A fájlban az adat: e e e e e e+01 Az fájlbaírás eltérítése után, ugyanazokkal az opciókkal a válasz a standard outputra: e e e e e e+01 Az alábbi egy példa a modulok által használt main re a makenoise ból: B. A makenoise algoritmus main fuggvényének kivonata. A forráskódban kiemeltük a kimenetre vonatkozó sorokat. 1 int main(int argc,char** argv) 4 unsigned long i,j; 2 { 5 double av=0.0,*sigmax; 3 char stdi=0; 6 FILE *fout; 13

14 7 8 if (scan_help(argc,argv)) 9 show_options(argv[0]); scan_options(argc,argv); 12 #ifndef OMIT_WHAT_I_DO 13 if (verbosity&ver_input) 14 what_i_do(argv[0],wid_str); 15 #endif if (!justcreate) { 18 infile=search_datafile(argc,argv,null,verbosity) ; 19 if (infile == NULL) 20 stdi=1; 21 } 22 else 23 stdi=1; if (outfile == NULL) { 26 if (!stdi) { 27 check_alloc(outfile=(char*)calloc(strlen(infile) +5,(size_t)1)); 28 strcpy(outfile,infile); 29 strcat(outfile,".noi"); 30 } 31 else { 32 check_alloc(outfile=(char*)calloc((size_t)10, (size_t)1)); 33 strcpy(outfile,"stdin.noi"); 34 } 35 } 36 if (!stout) 37 test_outfile(outfile); if (!justcreate) { 40 if (column == NULL) 41 array=(double**)get_multi_series(infile,&length, exclude,&dim,"",dimset, 42 verbosity); 43 else 44 array=(double**)get_multi_series(infile,&length, exclude,&dim,column, 45 dimset,verbosity); 46 } 47 else { 48 check_alloc(array=(double**)malloc(sizeof(doub le*)*dim)); 49 for (i=0;i<dim;i++) { 50 check_alloc(array[i]=(double*)malloc(sizeof(dou ble)*length)); 51 for (j=0;j<length;j++) 52 array[i][j]=0.0; 53 } 54 } check_alloc(sigmax=(double*)malloc(sizeof(dou ble)*dim)); if (!absolute) { 59 for (j=0;j<dim;j++) 60 variance(array[j],length,&av,&sigmax[j]); 61 } rnd_init(iseed); for (i=0;i<10000;i++) rnd_1279(); for (j=0;j<dim;j++) { 68 if (!cgaussian) 69 equidistri(sigmax[j],j); 70 else 71 gauss(sigmax[j],j); 72 } 73 if (!stout) { 74 fout=fopen(outfile,"w"); 75 if (verbosity&ver_input) 76 fprintf(stderr,"opened %s for writing\n",outfile); 77 for (i=0;i<length;i++) { 78 for (j=0;j<dim 1;j++) 79 fprintf(fout, "%e ",array[j][i]); 80 fprintf(fout, "%e\n",array[dim 1][i]); 81 } 82 fclose(fout); 83 } 84 else { 85 if (verbosity&ver_input) 14

15 86 fprintf(stderr,"writing to stdout\n"); 87 for (i=0;i<length;i++) { 88 for (j=0;j<dim 1;j++) 89 fprintf(stdout,"%e ",array[j][i]); 90 fprintf(stdout,"%e\n",array[dim 1][i]); 91 } 92 } for (i=0;i<dim;i++) 95 free(array[i]); 96 free(array); 97 free(sigmax); 98 if (outfile!= NULL) 99 free(outfile); 100 if (infile!= NULL) 101 free(infile); 102 if (column!= NULL) 103 free(column); return 0; 106 C. A Makenoise függvény Python csomagolásának dokumentációja: A Python interaktív értelmezőjében az >>> import tisean >>> help(tisean) parancsok kimenete: Help on module tisean: NAME tisean - Wrapper for the TISEAN package FILE /home/zsolt/kutatas/tisean/cpython/tisean.py DESCRIPTION R. Hegger, H. Kantz, and T. Schreiber, Practical implementation of nonlinear time series methods: The TISEAN package, CHAOS 9, 413 (1999) FUNCTIONS makenoise(array, level, absolute=false, gaussian=false, seed=0) Adding noise to signal Usage: makenoise(array, level, absolute=false, gaussian=false, seed=0) numpy.ndarray array: N x M type of matrix of doubles numpy.double level: noise level (absolute if 'absolute' is True, relative to the signal otherwise). It should be a positive value bool absolute: see above bool gaussian: if True the noise applied has a normal distribution with variance 'level', otherwise uniform int seed: seed value for the random number generator. If '0' the system time is used. 15

16 7. Könyvészet [TISEAN]TISEAN weboldala: dresden.mpg.de/~tisean/tisean_3.0.1/index.html [LAPACK], [Numpy vs. Matlab] Wikipedia [NumPy] NumP weboldala [TIOBE] a TIOBE Programing Comunity Index legfrissebb felmérése: [SWIG] a SWIG weboldala: 16

SZOFTVERFEJLESZTÉS. Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány. 2017/18 II. félév. A kurzus ebben a félévben nem indult

SZOFTVERFEJLESZTÉS. Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány. 2017/18 II. félév. A kurzus ebben a félévben nem indult SZOFTVERFEJLESZTÉS Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány 2017/18 II. félév A kurzus ebben a félévben nem indult TANTÁRGYI KOMMUNIKÁCIÓS DOSSZIÉ Miskolci Egyetem Műszaki Földtudományi

Részletesebben

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa

Részletesebben

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet

Részletesebben

Programozás 6. Dr. Iványi Péter

Programozás 6. Dr. Iványi Péter Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak

Részletesebben

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével

Részletesebben

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás

Részletesebben

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

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

Részletesebben

AWK programozás Bevezetés

AWK programozás Bevezetés 09 AWK programozás Bevezetés AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa és feldolgozhatóvá

Részletesebben

Java I. A Java programozási nyelv

Java I. A Java programozási nyelv Java I. A Java programozási nyelv története,, alapvető jellemzői Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzők, JDK JAVA1 / 1 Egy kis történelem

Részletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport 10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)

Részletesebben

Térinformatikai programozás Pythonban

Térinformatikai programozás Pythonban Térinformatikai programozás Pythonban Siki Zoltán BME Geod siki.zoltan@epito.bme.hu Térinformatikai programozás Pythonban Siki Zoltán BME Geod siki.zoltan@epito.bme.hu Python alapelvek A szép jobb mint

Részletesebben

A PiFast program használata. Nagy Lajos

A PiFast program használata. Nagy Lajos A PiFast program használata Nagy Lajos Tartalomjegyzék 1. Bevezetés 3 2. Bináris kimenet létrehozása. 3 2.1. Beépített konstans esete.............................. 3 2.2. Felhasználói konstans esete............................

Részletesebben

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek Komputeralgebra Rendszerek A MAPLE és a SAGE felépítése Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2015. február 17. TARTALOMJEGYZÉK 1 of 1 TARTALOMJEGYZÉK TARTALOMJEGYZÉK 2 of 1 A MAPLE 3 of 1 ÖSSZETEVŐK

Részletesebben

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

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

Részletesebben

Informatika terméktervezőknek

Informatika terméktervezőknek Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java 2. gyakorlat Függvények Általános prototípus Módosítószavak Láthatóság: public, protected, private. Ha nem definiált, akkor úgynevezett package-private láthatóság. Lehet abstract

Részletesebben

1. Alapok. Programozás II

1. Alapok. Programozás II 1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph

Részletesebben

MATLAB alapismeretek I.

MATLAB alapismeretek I. Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0. MATLAB alapismeretek I. A MATLAB bemutatása MATLAB filozófia MATLAB modulok A MATLAB felhasználói felülete MATLAB tulajdonságok

Részletesebben

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozási nyelvek JAVA EA+GY 1. gyakolat Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök

Részletesebben

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Felvételi vizsga mintatételsor Informatika írásbeli vizsga BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív

Részletesebben

7. gyakorlat Sorozatok, Fájlkezelés

7. gyakorlat Sorozatok, Fájlkezelés 7. gyakorlat Sorozatok, Fájlkezelés Házi ellenőrzés - f0124 Írj programot, amelyben a felhasználónak egy, a program által meghatározott számot kell kitalálnia! A felhasználó tippjét a program vagy elfogadja,

Részletesebben

Matematikai programok

Matematikai programok Matematikai programok Mátrixalapú nyelvek MatLab Wettl Ferenc diái alapján Budapesti M szaki Egyetem Algebra Tanszék 2017.11.07 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 1 /

Részletesebben

Python tanfolyam Python bevezető I. rész

Python tanfolyam Python bevezető I. rész Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények

Részletesebben

Modellező eszközök, kódgenerálás

Modellező eszközök, kódgenerálás Modellező eszközök, kódgenerálás Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek

Részletesebben

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 10 X. SZIMULÁCIÓ 1. VÉLETLEN számok A véletlen számok fontos szerepet játszanak a véletlen helyzetek generálásában (pénzérme, dobókocka,

Részletesebben

Objektum Orientált Szoftverfejlesztés (jegyzet)

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

Részletesebben

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Egészítsük ki a Drupal-t. Drupal modul fejlesztés Egészítsük ki a Drupal-t Drupal modul fejlesztés Drupal 6.0 2008. február 13. Miért írjunk Drupal modult? Nincs az igényeinknek megfelelő modul Valamilyen közösségi igény kielégítése Valami nem úgy működik

Részletesebben

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,

Részletesebben

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. május 6. Parancssori paraméterek Parancssorban történ programindításkor a program nevét követ en szóközökkel elválasztva paraméterek (command

Részletesebben

Mintavételes szabályozás mikrovezérlő segítségével

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

Részletesebben

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem OpenCV Nyílt forráskódú szoftver (BSD licensz) Számítógépes látás,

Részletesebben

Matematikai programok

Matematikai programok Matematikai programok Mátrixalapú nyelvek octave Wettl Ferenc Algebra Tanszék B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Wettl

Részletesebben

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte.

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte. Programozási alapismeretek :: beadandó feladat Készítő adatai Név: Molnár Tamás EHA: MOTIABT.ELTE E-mail cím: motiabt@inf.elte.hu Gyakorlatvezető: Horváth László Feladat sorszáma: 23. Felhasználói dokumentáció

Részletesebben

Inga. Szőke Kálmán Benjamin SZKRADT.ELTE május 18. A jegyzőkönyv célja a matematikai és fizikai inga szimulációja volt.

Inga. Szőke Kálmán Benjamin SZKRADT.ELTE május 18. A jegyzőkönyv célja a matematikai és fizikai inga szimulációja volt. Inga Szőke Kálmán Benjamin SZKRADT.ELTE 2012. május 18. 1. Bevezetés A jegyzőkönyv célja a matematikai és fizikai inga szimulációja volt. A program forráskódját a labor honlapjáról lehetett elérni, és

Részletesebben

BASH script programozás II. Vezérlési szerkezetek

BASH script programozás II. Vezérlési szerkezetek 06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van

Részletesebben

Szoftvertechnológia alapjai Java előadások

Szoftvertechnológia alapjai Java előadások Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?

Részletesebben

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

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

Részletesebben

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK, Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás OE-NIK, 2013 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk

Részletesebben

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl

Részletesebben

Komputeralgebra rendszerek

Komputeralgebra rendszerek Komputeralgebra rendszerek IV. Felhasználói interfész, filekezelés Czirbusz Sándor czirbusz@gmail.com Komputeralgebra Tanszék ELTE Informatika Kar 2009-2010 ősz Index I 1 A felhasználói interfész File-típusok

Részletesebben

Visszacsatolt (mély) neurális hálózatok

Visszacsatolt (mély) neurális hálózatok Visszacsatolt (mély) neurális hálózatok Visszacsatolt hálózatok kimenet rejtett rétegek bemenet Sima előrecsatolt neurális hálózat Visszacsatolt hálózatok kimenet rejtett rétegek bemenet Pl.: kép feliratozás,

Részletesebben

C programozási nyelv

C programozási nyelv C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György

Részletesebben

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév 1. feladat (nehézsége:*****). Készíts C programot, mely a felhasználó által megadott függvényt integrálja (numerikusan). Gondosan tervezd meg az adatstruktúrát! Tervezz egy megfelelő bemeneti nyelvet.

Részletesebben

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó 7. gyakorlat Fájlkezelés IO haladó Függvények haladó Fájlkezelés A C-ben a fájlkezelés ún. fájlstream-eken keresztül történik, melyek puffereltek ha valamit a streamre küldünk, nem biztos, hogy rögtön

Részletesebben

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana A MATLAB alapjai Kezdő lépések - Matlab Promt: >> - Help: >> help sqrt >> doc sqrt - Kilépés: >> quit >> exit >> Futó script leállítása: >> ctrl+c - Változók listásása >> who >> whos - Változók törlése

Részletesebben

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben

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

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

Részletesebben

Felhasználó által definiált adattípus

Felhasználó által definiált adattípus Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési

Részletesebben

Kommunikációs rendszerek teljesítőképesség-vizsgálata

Kommunikációs rendszerek teljesítőképesség-vizsgálata Kommunikációs rendszerek teljesítőképesség-vizsgálata (3. előadás) Dr. Lencse Gábor lencse@sze.hu https://www.tilb.sze.hu/cgi-bin/tilb.cgi?0=m&1=targyak&2=krtv 1 Miről lesz szó? Az OMNeT++ diszkrét idejű

Részletesebben

GPU Lab. 5. fejezet. A C++ fordítási modellje. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

GPU Lab. 5. fejezet. A C++ fordítási modellje. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc 5. fejezet A C++ fordítási modellje Grafikus Processzorok Tudományos Célú Programozása Kódtól a végrehajtásig Végrehajtás előtt valamikor létre kell jönnie az adott architektúrára jellemző bináris utasításoknak.

Részletesebben

KOOPERÁCIÓ ÉS GÉPI TANULÁS LABORATÓRIUM

KOOPERÁCIÓ ÉS GÉPI TANULÁS LABORATÓRIUM KOOPERÁCIÓ ÉS GÉPI TANULÁS LABORATÓRIUM Kernel módszerek idősor előrejelzés Mérési útmutató Készítette: Engedy István (engedy@mit.bme.hu) Méréstechnika és Információs Rendszerek Tanszék Budapesti Műszaki

Részletesebben

Dinamikus modellek szerkezete, SDG modellek

Dinamikus modellek szerkezete, SDG modellek Diagnosztika - 3. p. 1/2 Modell Alapú Diagnosztika Diszkrét Módszerekkel Dinamikus modellek szerkezete, SDG modellek Hangos Katalin PE Villamosmérnöki és Információs Rendszerek Tanszék Diagnosztika - 3.

Részletesebben

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

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

Részletesebben

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

Programozás 5. Dr. Iványi Péter

Programozás 5. Dr. Iványi Péter Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct

Részletesebben

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Jogosultságkezelés, linkelés, csővezeték Operációs rendszerek 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

Aradi Bernadett. 2017/18 ősz. TensorFlow konvolúciós hálózatokhoz 2017/18 ősz 1 / 11

Aradi Bernadett. 2017/18 ősz. TensorFlow konvolúciós hálózatokhoz 2017/18 ősz 1 / 11 TensorFlow konvolúciós hálózatokhoz Aradi Bernadett 2017/18 ősz TensorFlow konvolúciós hálózatokhoz 2017/18 ősz 1 / 11 Tensorflow import tensorflow as tf szoftverkönyvtár neurális hálózatokhoz a Google

Részletesebben

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek. Linux fájlrendszerek. 4. Laborgyakorlat Előző gyakorlaton, már volt szó a fájlrendszerekről, mikor a mount parancs -t kapcsolójáról volt szó. Linux alatt, az egyes fájlokhoz való hozzáférések miatt, a

Részletesebben

Operációs rendszerek. UNIX/Linux fájlrendszerek

Operációs rendszerek. UNIX/Linux fájlrendszerek Operációs rendszerek UNIX/Linux fájlrendszerek Tartalom Linux fájlrendszerek UNIX/Linux fájlrendszerek Szimbolikus linkek Fájlrendszerek csatolása Virtuális fájlrendszer Szuperblokk Inode Objektumok 2

Részletesebben

OOP. Alapelvek Elek Tibor

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

Részletesebben

3. Gyakorlat Ismerkedés a Java nyelvvel

3. Gyakorlat Ismerkedés a Java nyelvvel 3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az

Részletesebben

MATLAB alapismeretek III.

MATLAB alapismeretek III. Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0. MATLAB alapismeretek III. Z= F(x,y) alakú kétváltozós függvények rajzolása Több objektum rajzolása egy ábrába Kombináljuk

Részletesebben

12. gyakorlat Enum; Tárolási osztályok Preprocesszor utasítások; Moduláris programozás

12. gyakorlat Enum; Tárolási osztályok Preprocesszor utasítások; Moduláris programozás 12. gyakorlat Enum; Tárolási osztályok Preprocesszor utasítások; Moduláris programozás Házi (f0174) Egy sor kiíratási formátuma: "nev: %s; pont: %d;". Olvasd be a kiírt számot úgy, ha tudod, hogy a kiírt

Részletesebben

2017/01/27 08:59 1/6 Gettext Rendszer

2017/01/27 08:59 1/6 Gettext Rendszer 2017/01/27 08:59 1/6 Gettext Rendszer < Linux Gettext Rendszer A gettext rendszer a programok nemzetközivé tételét valósítják meg. A programozónak a programot egy nyelven kell megírnia, a gettext rendszer

Részletesebben

Függvények ábrázolása

Függvények ábrázolása Függvények ábrázolása Matematikai függvényeket analitikusan nem tudunk a matlabban megadni (tudunk, de ilyet még nem tanulunk). Ahhoz, hogy egy függvényt ábrázoljuk, hasonlóan kell eljárni, mint a házi

Részletesebben

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb. SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.hu Mesterséges intelligencia oktatás a DE Informatikai

Részletesebben

Programozás alapjai. 5. előadás

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

Részletesebben

LINUX PMB2506-2 LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

LINUX PMB2506-2 LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB LINUX PMB2506-2 LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB LINUX PARANCSOK ÉS HASZNÁLATUK ls: listázás -l részletes lista -a rejtett fájlok megjelenítése cp: fájlok másolása -i Már létező cél felülírása előtt

Részletesebben

Introduction to 8086 Assembly

Introduction to 8086 Assembly Introduction to 886 Assembly Lecture 7 D and N-D Arrays D Arrays 4 5 tabular data rows and columns 4 6 8 6 9 5 4 8 6 D Arrays 4 5 4 6 8 6 9 5 https://advancedmathclubsk.weebly.com/matrices.html 4 8 6 5

Részletesebben

Java programozási nyelv 6. rész Java a gyakorlatban

Java programozási nyelv 6. rész Java a gyakorlatban Java programozási nyelv 6. rész Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A Java programozási nyelv Soós Sándor 1/16 Tartalomjegyzék

Részletesebben

BASH SCRIPT SHELL JEGYZETEK

BASH SCRIPT SHELL JEGYZETEK BASH SCRIPT SHELL JEGYZETEK 1 TARTALOM Paraméterek... 4 Változók... 4 Környezeti változók... 4 Szűrők... 4 grep... 4 sed... 5 cut... 5 head, tail... 5 Reguláris kifejezések... 6 *... 6 +... 6?... 6 {m,n}...

Részletesebben

Szkriptnyelvek. 1. UNIX shell

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

Részletesebben

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 7. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? összefésüléses rendezés (merge

Részletesebben

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

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

Részletesebben

M-Fájlok létrehozása MATLAB-ban

M-Fájlok létrehozása MATLAB-ban M-Fájlok létrehozása MATLAB-ban 1 Mi az M-fájl Annak ellenére, hogy a MATLAB rendkívül kifinomult és fejlett számológépként használható, igazi nagysága mégis abban rejlik, hogy be tud olvasni és végrehajtani

Részletesebben

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges

Részletesebben

Digitális technika VIMIAA01 9. hét

Digitális technika VIMIAA01 9. hét BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges

Részletesebben

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,

Részletesebben

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20 Teljesítmény Mérés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés 2013 1 / 20 Tartalomjegyzék 1 Bevezetés 2 Visual Studio Kód metrikák Performance Explorer Tóth Zsolt

Részletesebben

Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás

Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás Objektum orientáltság alapjai Objektum: A való világ egy elemének ábrázolása, amely minden esetben rendelkezik: Állapottal,Viselkedéssel,Identitással

Részletesebben

Szathmáry László Debreceni Egyetem Informatikai Kar

Szathmáry László Debreceni Egyetem Informatikai Kar Szathmáry László Debreceni Egyetem Informatikai Kar 1. Gyakorlat bevezető JSON telepítés (utolsó módosítás: 2018. szept. 12.) 2018-2019, 1. félév MongoDB https://www.mongodb.com/ A MongoDB egy nem-relációs,

Részletesebben

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;

Részletesebben

Jelek és rendszerek Gyakorlat_02. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával.

Jelek és rendszerek Gyakorlat_02. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával. A Szimulink programcsomag rendszerek analóg számítógépes modelljének szimulálására alkalmas grafikus programcsomag. Egy SIMULINK

Részletesebben

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése Somogyi Ferenc Attila 2016. December 07. Szoftver verifikáció és validáció kiselőadás Forrás Mathijs Schuts and Jozef

Részletesebben

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a

Részletesebben

Occam 1. Készítette: Szabó Éva

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

Részletesebben

PYTHON. Avagy hosszú az út a BioPythonig

PYTHON. Avagy hosszú az út a BioPythonig PYTHON Avagy hosszú az út a BioPythonig Miért a Python? Mert ez áll a legközelebb az ember által beszélt nyelvhez. Mert ez a leggyorsabb az ismert script nyelvek közül Mert rengeteg modul érhető el hozzá

Részletesebben

Java I. A Java programozási nyelv

Java I. A Java programozási nyelv Java I. A Java programozási nyelv története,, alapvetı jellemzıi Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzık, JDK JAVA1 / 1 Egy kis történelem

Részletesebben

S z á m í t ó g é p e s a l a p i s m e r e t e k

S z á m í t ó g é p e s a l a p i s m e r e t e k S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami

Részletesebben

Bevezetés a Python programozási nyelvbe

Bevezetés a Python programozási nyelvbe Bevezetés a Python programozási nyelvbe 8. Gyakorlat modulok random számok (utolsó módosítás: 2017. aug. 3.) Szathmáry László Debreceni Egyetem Informatikai Kar 2017-2018, 1. félév Modulok Amint a programunk

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Folyamok kezelése Fájlok írása/olvasása Folyamok kezelése Szabvány folyamok Eddig Kiírás a szöveges konzolra:

Részletesebben

A C programozási nyelv VI. Parancssori argumentumok File kezelés

A C programozási nyelv VI. Parancssori argumentumok File kezelés A C programozási nyelv VI. Parancssori argumentumok File kezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv VI. (Parancssori argumentum, file kezelés) CBEV6 / 1 Parancssori

Részletesebben

Szoftver újrafelhasználás

Szoftver újrafelhasználás Szoftver újrafelhasználás Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással

Részletesebben

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1 Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb. Felülnézet 2 #include: hatására a preprocesszor

Részletesebben

Programozás I. gyakorlat

Programozás I. gyakorlat Programozás I. gyakorlat 1. gyakorlat Alapok Eszközök Szövegszerkesztő: Szintaktikai kiemelés Egyszerre több fájl szerkesztése pl.: gedit, mcedit, joe, vi, Notepad++ stb. Fordító: Szöveges file-ban tárolt

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk

Részletesebben

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó Szerző Név: Lővei Péter ETR-azonosító: LOPSAAI.ELTE Drótposta-cím: petyalovei@gmail.com Kurzuskód: IP-08PAEG/25 Gyakorlatvezető neve: Daiki Tennó Feladatsorszám: 11 1 Tartalom Szerző... 1 Tartalom... 2

Részletesebben

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT alapjai, bevezetés Vincze Dávid Miskolci Egyetem, IIT vincze.david@iit.uni-miskolc.hu PHP Personal Home Page (Tools) Script nyelv -> interpretált Elsősorban weboldal (dinamikus) tartalmak előállítására

Részletesebben

Az Összetett hálózatok vizsgálata elektronikus tantárgy részletes követeleményrendszere

Az Összetett hálózatok vizsgálata elektronikus tantárgy részletes követeleményrendszere Az Összetett hálózatok vizsgálata elektronikus tantárgy részletes követeleményrendszere Horváth Árpád 2014. február 7. A tárgy célja: Az összetett hálózatok fogalomrendszerének használata a tudomány több

Részletesebben