Bevezete s az SAP vila ga ba:

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

Download "Bevezete s az SAP vila ga ba:"

Átírás

1 Bevezete s az SAP vila ga ba: Mie rt ABAP? Készítette: Horváth Zsófia (HOZSAAI.ELTE) félév

2 1952-ben készült el Neumann János tervei alapján az EDVAC nevet viselő számítógép, amely az első Neumann-elvek alapján épített gép volt. Innen kezdődik a programozási nyelvek története. Az évek során igen sok programozási nyelv alakult ki, amelyeket szemléletük és fontosabb jellemzőik alapján négy generációba soroltak. 1. generációs nyelvek: Gépi kód, Assembler 2. generációs nyelvek: FORTRAN, ALGOL, COBOL, BASIC 3. generációs nyelvek: PL/1, APL, PASCAL, MODULA 2, ADA, C-nyelv o objektumorientált nyelvek: SmallTalk, Eiffel, Turbo Pascal, Borland C++ o Specializált programozási nyelvek i. Rendszer- és fordítóprogramok fejlesztése: B, C, BCPL, Pascal ii. Formulakezelő nyelvek: FORMAC, REDUCE, MACSYMA iii. Szimbólum-feldolgozó nyelvek: PROLOG, CONVERT, LISP, SNOBOL, COGENT iv. Szimulációs nyelvek: SIMSCRIPT, SIMULA, GPSS v. Adatbázis-kezelő nyelvek vi. Kiterjeszthető programnyelvek: LOGO, FORTH 4. generációs nyelvek: XX. század második fele Az SAP szoftvercégnek a saját programozási nyelve az ABAP (angolul Advanced Business Application Programming, németül Allgemeiner Berichts-Aufbereitungs-Prozessor), melyet a 70-es évektől kezdve a cég folyamatosan bővít. Az első verziói (SAP R/1, SAP R/2 rendszerek) még assembly nyelven íródtak, majd megjelentek a COBOL-ban használatos parancsokhoz hasonló utasítások az ABAP/3. Végül 1983-ban megjelent az ABAP/4, amely már strukturált, procedurális programnyelvnek számít (egyfázisú programokkal). Nem sokkal később létrejött az ABAB Objects, amely már tényleges objektumorientált programozásra ad lehetőséget. Az ABAP-ra hatással volt az Objective-C, COBOL, SQL.

3 Vajon az SAP miért nem a C++, a JAVA vagy az ADA nyelvvel kezdett el fejleszteni? Minden programnyelvnek megvan a maga sajátossága, ami csak az övé, csak ő tudja kihasználni az előnyeit Miért kellett az SAP-nak megalkotnia egy teljesen új programozási nyelvet? Ha összehasonlítjuk pár nyelvekkel, rögtön kiderül, hogy nem csak a felsorolt három nyelv volt rá hatással, hanem azok is, amelyeknek az Assembler a közös őse. Hogy válaszolt tudjunk adni a kérdésre, hasonlítsuk össze az SAP nyelvét a fent említett nyelvekkel a következő szempontok szerint. A nyelv megszületése: Az ABAP első verziója körülbelül akkortájt jelent meg, mint az ADA vagy a C++, azaz a80-as években. Az objektumorientált verziója ABAP Objects pedig a JAVA-val egyidőben született meg a 90- es évek végén. Szintaxis: Ami számomra meglepő volt, ABAP-ban egy utasítássorozat végét egy ponttal (.) fejezzük ki, mely más nyelvekben ugyebár a pontosvessző. Ez olyan hatást keltett bennem, mintha egy mondatot olvasnék egy könyvből. Érthetően lezár egy szakaszt. Szekvenciák, avagy mit szabad: Mind az ADA, mind a C++ s még az ABAP-ban is van lehetőség arra, hogy egymás után soroljuk fel az azonos típusú változókat, nem kell külön-külön. ABAP szekvencia C++ szekvencia ADA (Pascal, Delphi) <Kulcsszó><Adatobjektum1>. <Kulcsszó><Adatobjektum2>. <Kulcsszó><AdatobjektumN>. ekvivalens ezzel: <Kulcsszó><Adatobjektum1>, <Adatobjektum2>,<AdatobjektumN>. <típus1> <változoónév1>; <típus1> <változoónév2>; <típus1> <változoónév3>; <típus1> <változoónév1>, <változoónév2>, <változoónév3>; <típus1> <változoónév1>; <típus1> <változoónév2>; <típus1> <változoónév3>; <típus1> <változoónév1>, <változoónév2>, <változoónév3>; Ha ADÁban a felsorolt verzióban értéket is megadunk, akkor az az összes adattagra fog vonatkozni, míg C++ban erre nincs lehetőség, ott csak a legutolsó elem kapja meg a megadott értéket. Ciklusok: Két féle ciklust különböztetünk meg, a számlálós és a feltételes ciklust. ABAP ciklusok C++ ciklusok ADA (Pascal, Delphi) ciklusok JAVA DO [<n> TIMES]. for (int i = 0, i<10, i++) for I in loop <végrehajtási blokk> { <végrehajtási <végrehajtási blokk>; ENDDO. blokk>;} end loop; WHILE <feltétel>. <végrehajtási blokk> ENDWHILE. while (feltetel) {<vegrehajtási blokk>; } while <feltétel> loop <végrehajtási blokk>; end loop; mint a C++ban: for (előkészítő szakasz, feltételes sz.; növekményes szakasz) {ciklusmag} mint a C++ban és: do {ciklusmag} while (logikai kifejezés)

4 Elágazások: Ebből is kétféle verziót különböztetünk meg az if és case elágazást. Számomra az ABAP és ADA között egyszerre van hasonlóság és különbség is ebben. A hasonlóság valószínűleg a Fortran Algol Pascal egymás utániságából jön, a különbség pedig a case felépítésén. Meglep, hogy csak a Rubyban láttam eddig untill-es elágyazást, amely a normál if ellentéte lenne. ABAP elágazások: if <feltetel1>. <do sth> elseif <feltetel2>. <do sth> else. <do sth> endif. case <mezőnév> when <érték1>. <blokk> when <érték2>. <blokk> when others. <blokk> endcase. ADA elágazások if (felt) then <do sth>; elsif <do sth>; else <do sth>; end if; Ruby scriptnyelv C++ if elágazása: C++ case elágazása unless 1 < 2 er = 1 else er = 2 end if(feltétel) utasítás; else utasítás; case i is when <a> => <sth>; when <b> => <sth>;. when others => <sth>; end case; switch(c) { case 'i': case 'I': <utasítás>; break; //break; nélkül "átesne" a következő case-be is default: cout << "I/i vagy N/n!\n"; break; //ez nem kötelező, ha semelyik sem igaz, ide ugrik } Igazából, minden programnyelvben előfordulnak ezek az elágazások, kisebb-nagyobb különbségekkel. Kulcsszavak, kommentek Minden egyes nyelvben megvannak a lefoglalt szavak, melyeket nem tudunk (nem kéne) felüldefiniálnunk. Összeszedtem egy párat, melyek között átfedések is vannak: ABAP kulcs szavai: C++ ADA JAVA EXIT, CONTINUE, CHECK break, try catch, default, abort, abstract, acces, break, <feltétel>, GOTO (nincs delete, enum, goto, accept, new, reverse, continue, ABAP/4-ben) inline,void, xor, namespace, subtype, protected, public, DATA, DEMAND, operator, protected, register, interface, untill, limited, protected, DATABASE, DELETE, DEFINE, signed, sizeof, static, switch digits, declare, stb ENDLOOP, EXPORT, stb case, throw, stb body, terminate, stb ABAP kommentek jele: C++ kommentek jele: ADA (Pascal, Delphi) * a sor elején // vagy /* */ -- Eljárások alprogramok: Ég és föld a különbség ABAP, ADA, C++ eljárásai / alprogramjai között. Nem meglepő, hiszen ezt az SAP az adatbázis kezelés résznél használja. Viszont akkor egy SQR-SQL és ABAP közötti hasonlóság megfigyelhető. A mellékelt képen látszik is, ez a hasonló felépítés és elnevezés is. Milyen meglepő, hogy mindhárom megemlített nyelvben külön kezeljük ezeket az eljárásokat.

5 void függvények ABAP Alprogram1: ABAP Alprogram2:külső form ADA Eljárás: C++ FORM <fnév> PERFORM <form neve> [<melyik procedure [TABLES <formális param> ] [USING < form. param > ] programból>] [TABLES <aktuális param> ] <valami> is --deklarálások [USING VALUES < form. param [USING < akt. param > ] begin > ] [CHANGING < akt param > ] [CHANGING < form param > ] [IT FOUND]. <feladat> [CHANGING VALUE < form. param > ]. másik verzió: PERFORM (<form neve>) <végrehajtási blokk> end; [IN PROGRAM (<melyik programból>)] ENDFORM. [...] [IF FOUND]. Függvények a kivételkezelés is ADA függvények function <fv név> return <típus> is --deklarációk; begin <to do> end <fv név>; C++ függvények void <fvnév> () { // <do sth>; } int <fvnév> () { // < do sth> } bool <fvnév> () { //<do sth> } Kivételkezelés: Kivételkezelés a C++ban: try catch class exception { public: exception () throw(); exception (const exception&) throw(); exception& operator= (const exception&) throw(); virtual ~exception() throw(); virtual const char* what() const throw(); } Kivételkezelés az ADAban: raise Constraint_Error, Program_Error, Storage_Error, Tasking_Error és include-olni kell a következőt: Ada.Exceptions (with & use)

6 Nem meglepő, hogy az ABAP raise <kivétel> nagyon hasonlít az ADA verziójára, bizonyára a Pascal hatása miatt. Adattípusok: Adatok tulajdonságai, mely tényleg minden nyelvben azonosan megvannak és működnek: o Láthatóság: globális, lokális o Élettartam: statikus, temporális Azonban az ABAP-ban vannak különleges típusok, nemcsak a megszokott Integer és Bool értékek. ABAP-ban a szöveg típusa a karakter, míg más nyelvekben ez tényleg string-nek van elnevezve, de általában van lehetőség karakterláncként is reprezentálni a stringeket.

7 Szerencsére, ma már szinte bármilyen típust képesek vagyunk létrehozni (az objektumelvűség miatt) és túl tudunk lépni a nyelvek, keretrendszerek által ránk szabott határokat. Objektumorientáltság ABAP és Objective-C Az objektumorientált programozást úgy lehet felvázolni, mint egy utat a gyors és hatékony programozáshoz. Alapeleme az osztály. Az osztályok létrehozásakor új adattípust hozunk létre, melyeket ugyanúgy használhatunk, mint más beépített adattípusokat. Emellett az osztálydefinícióban megadunk váltózókat, és a feladathoz kapcsolódó függvénykódot is. Az osztály nem más, mint tagváltozók és a tagfüggvények gyűjteménye. Az Objective-C nyelvre hatással volt maga a C és a Smalltalk. Befolyásolt nyelvei a Tom, Java, Objective-J, ABAP és egyéb C alapú nyelvek. Mikor megnéztem egy Objective C kódot, rögtön a Java és a C++ jutott először eszembe, hiába ered a szintaxisa a Smalltalkból. Számomra a C++ az a nyelv, amellyel régebb óta foglalkozok, mint bármely más, így mikor megláttam egy Objective C-ben megalkotott osztályt, elmosolyodtam, hiszen a két nyelv igencsak hasonlít egymásra ( jelek, pedig az ember eszébe juttatják a Java-s jelölést). De akkor hogy kerül ide az ABAP? Úgy, hogyha megnézzük az Objective C és az ABAP-ban létrehozott osztályokat, megláthatjuk a hasonlóságokat. Mindkettő a saját szintaxisa és kulcsszavai szerint ugyanúgy implementálja a kívánt típust. A következő oldalon lévő két képen ez nagyon jól látszik. Hasonlóságok: Objective C-ben az osztály adattagjainak láthatóságának @protected és direktívák adnak lehetőséget. ABAP-ban az első három használható. Az interfészekről: Objective C-ben az interfész deklarálja az osztály adattagjait, metódusait, és megnevezi az ősosztályát, az implementációban pedig definiáljuk a metódusokat, ezzel tulajdonképpen az osztályt. ABAP-ban ha egy osztály implementál egy, vagy több interfészt, akkor azok minden metódustörzsét meg kell adni. Interfészek között is lehetséges öröklődés. (Ez Java-s).

8 1. ABAP kód 1. Objective-C kód

9 ABAP és COBOL Általánosan a COBOL-ról: Harmadik generációs programozási nyelv. Bár általános célú, mégis FORTRAN és a PL/I mellett elsősorban az üzleti, pénzügyi élet rendszereiben használatos. Megjelentek benne a strukturált programozás bizonyos vezérlő szerkezetei is. A nyelv tervezésénél kísérletet tettek a hordozhatóság, a portabilitás megteremtésére ben deklarálták, első változata a COBOL 60 volt. Egy COBOL program 4 jól elkülöníthető részre, COBOL szóhasználattal Divisionre (Főrészre) oszlik: 1. Azonosítási főrész, (IDENTIFICATION DIVISION.) 2. Környezet leíró főrész, (ENVIRONMENT DIVISION.) 3. Adatleíró főrész, (DATA DIVISION.) 4. Eljárási főrész (PROCEDURE DIVISION.) Talán, ami hasonlít a bonyolultnak látszó, de mégis áttekinthető felépítés: A Cobolban a változóknak nincs típusa, van viszont egy maszkja (PIC), hogy milyen értékek tárolhatók benne. (ABAP-ban van a DATA kulcsszó a változók deklarálásánál.) A fontosabb elemek: A: az angol ABC betűi vagy a szóköz. B: szóköz. V: tizedespont helye az adaton belül (a tizedespont nem tárolódik). S: az adat előjeles P: tizedespont helye az adaton kívül, és "P" helyén 0-k állnak. Ezek a 0-k nem tárolódnak. X: alfanumerikus karakter. 9 számjegy A maszkban az ismétlődő karaktereket rövidíteni lehet: XXXX helyett X(4) írható stb. A Cobolban az adatok definíciójánál kell megmondanunk az adat nyomtatási képét. Ezt szintén a PICTURE segítségével tehetjük meg. Szerkesztett adatmező csak output adatként szerepelhet. (Nincs ABAP-ban) Szerkesztőjelek: Z: Vezető nullák elnyomása. B: Szóköz. 0: Nulla.,: Vessző. + vagy -: Plusz jel, ha az adat pozitív, mínuszjel, ha negatív. A vezető nullák helyén "*"-ot kérünk nyomtatni (a hamisítások elkerülése végett)..: A ténylegesen nyomtatott tizedespont helye. +,$ Egyéb jelek. Meglepődve tapasztaltam, hogy mennyire eltérőek az elágazások a két nyelvben: COBOL if és case ABAP if és case COBOL (teljesen más, mint az ABAP-é) IF feltétel THEN utasítások1 ELSE utasítások2 END-IF. if <feltetel1>. <do sth> elseif <feltetel2>. <do sth> else. <do sth> EVALUATE X WHEN 1 THRU 12 utasítások1 WHEN 13 utasítások2 WHEN OTHER utasítások3 END-EVALUATE. endif. case <mezőnév> when <érték1>. <blokk> when <érték2>. <blokk> when others. <blokk> endcase.

10 COBOLban az egyetlen vezérlésátadó utasítás a GO TO, amit ugye az ABAP nem támogat. A Cobolban nincs hagyományos értelemben vett eljárás, viszont két címke közti kódrészletet meg lehet hívni úgy, mintha eljárás lenne. ABAPban viszont már kétféle igazi eljárás (alprogram) is létezik. A Cobolban lehetőség van beágyazott programok írására. Ekkor az eljárási főrész STOP RUN utasítása és END PROGRAM programnév közé egy teljes programot (mind a négy főrésszel) beírhatunk. Erre a vezérlést a CALL programnév utasítással adhatjuk át. Engem ABAPban ez a függvényhívásra emlékeztet. A Cobol mondatokból szakaszokat készíthetünk, melyek általában a feldolgozás egy-egy elkülöníthető részének programkódját tartalmazzák. Minden szakasz szakasznévvel kezdődik, ezt pont követi. (ABAP szintaktika is ilyen, nem véletlenül.) Szegmentált program esetében a résznévvel együtt még a prioritásszám is szerepel. A szakaszokból pedig fejezeteket készíthetünk. A szakaszokat és fejezeteket, mint eljárásokat használhatjuk. ABAP kód hasonlóképpen felépíthető. Az ABAP-pal ellentétben a Cobol nem támogatja az absztrakt adattípusokat, a sablonokat sem eljárás, sem típus szinten. Míg az ABAP-ban szerepel, addig valódi kivételkezelés nincs a Cobol-ban, azonban egyes utasítások esetén lehetőség van hibakezelésre. Az eredeti Cobol nem tartalmaz objektum-orientált eszközöket. Ez nem meglepő, hiszen a nyelv sokkal korábbi, mint maga az objektumelvűség. Ugyanakkor a modernizálás szelleme a Cobolt sem kerülte el, így megalkotásra került az OO Cobol, azaz a COBOL Azt hiszem, itt már kimondhatjuk, hogy a COBOL 2002 hasonlít az ABAP Objectsre, hiszen az már 1999-ben létrejött. Párhuzamosság Az ABAP nem támogatja a párhuzamosságot, hiszen igen nagy kárt tudna tenni az adatkezelő rendszerben. Azonban, hogy ezt a problémát megoldják, és mégis lehessen esély a párhuzamosságra, létrehozták a számköröket. Egy számkörnek meg lehet adni egy intervallumot, típust és amikor szükség van rá, egy függvény segítségével - NUMBER_GET_NEXT - generálhatunk értéket belőle. Ez garantálja, hogy egy értéket egyszer oszt ki a rendszer. Az első párhuzamosságot taglaló mondataim között volt olyan, hogy meg lehet oldani, (de adatvesztéssel is járhat, ) csupán egy SELECT lekérdezéssel tudjuk elérni. Ezt a select kulcsszót ADÁban a taszkoknál használjuk, mely akár többszálúság, párhuzamos programozásra is ad lehetőséget, hiszen időre írunk kódot. A COBOL nem támogatja párhuzamos programok készítését. Objective-C viszont sajátosan kezeli a párhuzamosságot, illetve inkább a többszálúságot abban az értelemben, hogy a különböző taszkokban vagy szálakban futó objektumok tudnak egymással kommunikálni és egymás metódusait meg tudják hívni. Java-ban az első - s talán kevésbé használt verziója az, amely a Java.lang.Thread osztályt használja, s ebből örökít új objektumokat. Az ebből örökített objektumok külön szálként fognak viselkedni. A szálakat a Start() metódus indítja el az osztály Run() metódusát használva. Így nekünk az

11 örökített példányban csak a Run() metódust kell felülírnunk. Az új Run() metódus fogja tartalmazni a szál tényleges feladatát, melyet végre kell hajtanunk. A C++/CLI-ben nincsenek (ahogy a.net 3.x idején egyetlen Microsoft-os CLR nyelvben sem) nyelvi szinten párhuzamos programok írását támogató nyelvi eszközök, azonban a párhuzamosság a Windows szálak segítségével megvalósítható. E szolgáltatáshoz a System::Threading namespace nyújt.net keretet. Szálak indítására és felügyeletére a System::Threading::Thread osztályt használhatjuk. Az osztály konstruktora egy delegate-t vár, mely a szál belépési pontja lesz. Opcionálisan elláthatjuk egy Object típusú paraméterrel. A Thread osztály lehetőségei: Suspend(): Thread felfüggesztése Resume(): Thread folytatása Priority: Thread prioritásának lekérdezése / beállítása Abort(): Thread "erőszakos" leállítása Join(): Megvárja, míg a thread befejeződik, majd visszatér - opcionálisan megadható maximális várakozási idő Adatbázis kezelés: ABAP és SQR SQL A relációs adatbázis-kezelők szabványos adathozzáférési és adatdefiníciós nyelve az SQL (Structured Query Language). Az SQR (Structured Query Reporter) egy erős és rugalmas programozási nyelv, mely adatbázisokból készít úgynevezett SQR lapokat, azaz a riportokat. Az ABAP független az adatbázis-kezelőtől. A nyelv része az Open SQL, amit a rendszer az éppen aktuális adatbázis kezelő SQL-dialektusára fordít. A nagy mennyiségű üzleti adatok kezelését egy speciális változótípussal, a belső táblával támogatja. Adatlekérdező utasítások (QUERY) SQL: SQR ABAP SELECT SELECT A belső tábláknál használt FROM LOAD-LOOKUP kulcsszavak: WHERE LOOKUP - WHERE ciklus a SELECT GROUP BY DML utasítások utasításban HAVING - FOR ALL ENTRIES a SELECT ORDER BY CASE - JOIN vagy FOR ALL ENTRIES Platformfüggetlenség A legtöbb nyelv platform független, ez azért hasznos, mert bárhol lehet fejleszteni őket, nem lesz baj, ha másik operációs rendszerben történik a kódolás.

12 Miért is az ABAP? Röviden, azért, mert az SAP cégnek egy olyan nyelv kellett, mellyel lehet programozni és adatbázist kezelni. Erre egyetlen egy nyelv sem adhatott megoldást, ezért kellett létrehozniuk egy olyan új nyelvet, amelyet a saját felhasználói szükségleteiket kielégítik. Mint minden nyelv, ez is az elődeiből építkezett, átvette a hasznos funkcióikat, saját tulajdonságokkal is rendelkezik. Ezáltal vagy éppen ezért mégis egyedi lett. Szerintem egyetlen egy nyelvet sem befolyásolt ennyi másik programozási nyelv, mint az ABAP-ot. Ennek az az oka, hogy az első verzióját még az első generációs Assembly-ben készítették, s majd a COBOL is hatott rá, természetes más nyelvekre is. Ezzel a nyelvvel nagyon jól járt az SAP, nem véletlen, hogy a mai napig még fejlesztik, újítják, hogy piacképes maradjon. Források: Wikipédia Prognyelvek portál:

A programozás alapjai

A programozás alapjai A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,

Részletesebben

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real

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

Haladó DBMS ismeretek 1

Haladó DBMS ismeretek 1 Haladó DBMS ismeretek 1 Hasznos információk A tantárgy weboldala: it.inf.unideb.hu/honlap/halado_oracle1 Oracle Junior képzés Gyakorlatok és a neptun Gyakorlat követelmények Ajánlott irodalom Juhász István

Részletesebben

Java programozási nyelv

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

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás

Részletesebben

Java II. I A Java programozási nyelv alapelemei

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

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

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

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási

Részletesebben

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)

Részletesebben

A C# programozási nyelv alapjai

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

Részletesebben

Globális operátor overloading

Globális operátor overloading Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal

Részletesebben

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot

Részletesebben

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Programozási nyelvek II. JAVA EA+GY 1. gyakolat Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről

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

Alprogramok, paraméterátadás

Alprogramok, paraméterátadás ELTE Informatikai Kar, Programozási Nyelvek és Fordítóprogramok Tanszék October 24, 2016 Programozási nyelvek Alprogramok Függvények, eljárások Metódusok Korutinok stb. Alprogramok Alprogram: olyan nyelvi

Részletesebben

Java II. I A Java programozási nyelv alapelemei

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

Részletesebben

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbázis kezelés Delphiben. SQL lekérdezések Adatbázis kezelés Delphiben. SQL lekérdezések Structured Query Language adatbázisok kezelésére szolgáló lekérdező nyelv Szabályok: Utasítások tetszés szerint tördelhetők Utasítások végét pontosvessző zárja

Részletesebben

és az instanceof operátor

és az instanceof operátor Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás 4.11. A C előfeldolgozó rendszer A fordítás első lépése a C esetében a különböző nyelvi kiterjesztések feldolgozása: másik állomány tartalmának

Részletesebben

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

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

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*; Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely

Részletesebben

Algoritmizálás és adatmodellezés tanítása 1. előadás

Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az

Részletesebben

C programozás. 1 óra Bevezetés

C programozás. 1 óra Bevezetés C programozás 1 óra Bevezetés A C nyelv eredete, fő tulajdonságai 1. Bevezető C nyelv alapelemei többsége a BCPL (Basic Combined Programming Language {1963}) Martin Richards B nyelv Ken Thompson {1970}

Részletesebben

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 1. Előadás Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu A tantárgyi

Részletesebben

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Készítette: Gregorics Tibor Szabóné Nacsa Rozália Alakítsunk át egy infix formájú aritmetikai kifejezést postfix

Részletesebben

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén

Részletesebben

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14. Informatika 1 2011 Második előadás, vezérlési szerkezetek Szabó Adrienn 2011. szeptember 14. Tartalom Algoritmusok, vezérlési szerkezetek If - else: elágazás While ciklus For ciklus Egyszerű típusok Összetett

Részletesebben

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni? A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály

Részletesebben

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17 Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát

Részletesebben

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS

Részletesebben

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető

Részletesebben

Oktatási segédlet 2014

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

Részletesebben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016 Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:

Részletesebben

Magas szintű programozási nyelvek 2 Előadás jegyzet

Magas szintű programozási nyelvek 2 Előadás jegyzet Magas szintű programozási nyelvek 2 Előadás jegyzet 1. Rendszerfejlesztés 0. lépés: Elemzés (analízis) 1. lépés: Tervezés a, technológia független rész b, technológia függő rész 2. lépés: Megvalósítás

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked

Részletesebben

OOP #14 (referencia-elv)

OOP #14 (referencia-elv) OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet

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

ISA szimulátor objektum-orientált modell (C++)

ISA szimulátor objektum-orientált modell (C++) Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált

Részletesebben

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title; PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function

Részletesebben

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:

Részletesebben

6. előadás Hatókör, láthatóság, élettartam. Változók leképzése a memóriára. Blokkszerkezetes nyelvek. Kivételkezelés.

6. előadás Hatókör, láthatóság, élettartam. Változók leképzése a memóriára. Blokkszerkezetes nyelvek. Kivételkezelés. 6. előadás Hatókör, láthatóság, élettartam. Változók leképzése a memóriára. Blokkszerkezetes nyelvek. Kivételkezelés. Néhány alapfogalom Definíció Deklaráció Hatókör, láthatóság Programegység Blokkszerkezet

Részletesebben

Programozási alapismeretek 4.

Programozási alapismeretek 4. Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)

Részletesebben

Algoritmizálás + kódolás C++ nyelven és Pascalban

Algoritmizálás + kódolás C++ nyelven és Pascalban Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is

Részletesebben

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

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

Részletesebben

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.

Részletesebben

15. Programok fordítása és végrehajtása

15. Programok fordítása és végrehajtása 15. Programok fordítása és végrehajtása Programok fordítása és végrehajtása. (Fordítás és interpretálás, bytecode. Előfordító, fordító, szerkesztő. A make. Fordítási egység, könyvtárak. Szintaktikus és

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

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba

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

ELTE SAP Excellence Center Oktatóanyag 1

ELTE SAP Excellence Center Oktatóanyag 1 Oktatóanyag 1 Eseményblokkok: végrehajtható programoknál (1. típus) az ABAPfutásidőrendszer egy meghatározott sorrendben átveszi az eseményblokkok meghívását, melyek egy listában jeleníthetők meg. Az eseményblokkok

Részletesebben

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2 Tartalomjegyzék Tartalomjegyzék 1 Az SQL nyelv 1 Az SQL DDL alapjai 2 Adatbázis parancsok 2 Táblaparancsok 2 A táblázat létrehozása 2 A táblázat módosítása 3 A tábla törlése 3 Indextábla létrehozása 3

Részletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C++ programozási nyelvbe Oktatási segédlet Összeállította: Ficsor Lajos 2001. 1. A C++ programozási nyelv története A C++ programozási nyelv

Részletesebben

Objektumorientált programozás C# nyelven III.

Objektumorientált programozás C# nyelven III. Objektumorientált programozás C# nyelven III. Kivételkezelés Tulajdonságok Feladatok Készítette: Miklós Árpád Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és

Részletesebben

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Algoritmusok Tervezése 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Bevezetés A BASIC (Beginner s All-purpose Symbolic Instruction Code) programnyelvet oktatási célokra hozták létre 1964-ben. Az általános

Részletesebben

Programozás II gyakorlat. 6. Polimorfizmus

Programozás II gyakorlat. 6. Polimorfizmus Programozás II gyakorlat 6. Polimorfizmus Típuskonverziók C-ben: void * ptr; int * ptr_i = (int*)ptr; Ez működik C++-ban is. Használjuk inkább ezt: int * ptr_i = static_cast(ptr); Csak egymással

Részletesebben

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN B IT v: 2016.03.03 MAN Csomagok A DBMS csomagok a PL/SQL alkalmazások fejlesztését segítik, bennük tároljuk a létrehozott programok kódjait. A specifikációs

Részletesebben

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN B IT v: 2016.02.10 MAN SQL felületek Hatékony: SQL parancsok kiadására Eredmények megtekintésére Nehézkes: Nagyobb volumenű, rutintevékenységek

Részletesebben

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

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

Részletesebben

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 2.ELŐADÁS A VB programozási nyelv Az Excel programozása 2 A VB programozási nyelv Adattípusok Adatok kezelése Vezérlőszerkezetek Adattípusok és műveletek Egész adattípusok

Részletesebben

Web-technológia PHP-vel

Web-technológia PHP-vel Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request

Részletesebben

Concurrency in Swing

Concurrency in Swing Concurrency in Swing A szálkezelés a swing alkalmazásokban is fontos. Cél egy olyan felhasználói felület készítése, amely soha nem fagy, mindig válaszol a felhasználói interakciókra, bármit is csináljon

Részletesebben

Kivételkezelés a C++ nyelvben Bevezetés

Kivételkezelés a C++ nyelvben Bevezetés Kivételkezelés a C++ nyelvben Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Kivételkezelés a C++ nyelvben CPP9 / 1 Hagyományos hibakezelés Függvény visszatérési értéke (paramétere) hátrányai:

Részletesebben

OOP és UML Áttekintés

OOP és UML Áttekintés OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés

Részletesebben

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 2. ELİADÁS Visual Basic bevezetı Visual Basic.NET nyelvi elemek 2 Visual Basic.NET programozási nyelv Nyelvi elemek: Általában

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64

Részletesebben

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

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

Részletesebben

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik

Részletesebben

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi. Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály

Részletesebben

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1 STL gyakorlat C++ Izsó Tamás 2016. május 9. Izsó Tamás STL gyakorlat/ 1 Komponensek kapcsolata Deklarálja az alábbi osztálydiagramon szereplő osztályok közül az A, AA és AB osztályokat! A konstruktorokat

Részletesebben

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázis-lekérdezés. Az SQL nyelv. Makány György Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési

Részletesebben

Programozás módszertan p.1/46

Programozás módszertan p.1/46 Programozás módszertan Öröklődés Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK MAGYAR TUDOMÁNYOS AKADÉMIA SZÁMÍTÁSTECHNIKAI ÉS

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 04. 08. 10. Előadás Ami kimearad múlthéten Ha már megvan a KeyListener vagy MouseListener osztályunk a következõ módon tudjuk hozzárendelni egy JFrame vagy JPanel-hez: Ami

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:

Részletesebben

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. február 18. Minimum és maximumkeresés u s i n g n a m e s p a c e s t d ; i n t main ( ) { c o u t

Részletesebben

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) I. A nyelv története C++ C (ős: B???) 1972 Ritchie AT&T Bell laboratórium UNIX 1978 Kernighan & Ritchie az első tankönyv,

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

Programozási nyelv Java

Programozási nyelv Java Programozási nyelv Java 1. gyakorlat Félév tematikája Bevezetés, alapok Vezérlési szerkezetek Eljárások, függvények Csomagok Tömbök, adatbevitelek Osztályok, objektumok, Interfészek Öröklődés, absztrakt

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

PL/SQL (folytatás) Kurzorok, függvények, eljárások

PL/SQL (folytatás) Kurzorok, függvények, eljárások PL/SQL (folytatás) Kurzorok, függvények, eljárások Kurzorok Adattábla soronkénti feldolgozására szolgál A memóriában egy munkaterületen tárolódik a kurzorhoz tartozó tábla A kurzor az eredményhalmazban

Részletesebben

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL a relációs adatbázis-kezelő rendszerek ma legelterjedtebb szabványosított adatbáziskezelő nyelve. Az IBM dolgozta ki 1983-ban,

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

Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok

Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int

Részletesebben

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás A tárgy órái Előadás hetente (St101) csüt. 8:15 Bécsi Tamás C elmélet Ajánlott irodalom Dennis Ritchie: A C programozási nyelv Gyakorlat hetente

Részletesebben

A szerzõrõl... xi Bevezetés... xiii

A szerzõrõl... xi Bevezetés... xiii TARTALOMJEGYZÉK A szerzõrõl...................................................... xi Bevezetés...................................................... xiii I. rész A Visual Basic 2005 környezet 1. óra Irány

Részletesebben

Imperatív programozás

Imperatív programozás Imperatív programozás 7. Előadás Függvények, láthatóság (folytatás) Modulok Kivételkezelés Beágyazott függvény def lnko(x, y): def kivon(m, n): return m - n while not (x == y) : if x > y : x = kivon(x,y)

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE 2015-16 Classic Empire - A turn Based Wargame Classic Empire is a real time, multiplayer, Internet-based game, featuring military, diplomatic, and economic

Részletesebben

Java programozási nyelv 9. rész Kivételkezelés

Java programozási nyelv 9. rész Kivételkezelés Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék

Részletesebben

1. Egyszerű (primitív) típusok. 2. Referencia típusok

1. Egyszerű (primitív) típusok. 2. Referencia típusok II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget

Részletesebben

B IT MAN 65/1. Adatbázis Rendszerek II. Ellenőrző kérdések APLSQL B IT MAN. v:

B IT MAN 65/1. Adatbázis Rendszerek II. Ellenőrző kérdések APLSQL B IT MAN. v: B IT MAN 65/1 Adatbázis Rendszerek II. Ellenőrző kérdések APLSQL B IT MAN v: 2016.02.27 Ellenőrző kérdések 1. B IT MAN 65/2 1. Egy bemenő paraméter nélküli tárolt rutin visszaad egy értéket. Ez a rutin:

Részletesebben

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"

Részletesebben

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1. Táblakezelés: Open SQL Internal table Tarcsi Ádám: Az SAP programozása 1. OPEN SQL Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 2 Open SQL Az Open SQL kulcsszavai: SELECT INSERT

Részletesebben

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat

Részletesebben