Németország Düsseldorf 2015.06.14-07.04. MUNKANAPLÓ Mobilitási projekt 2014-1 - HU01 - KA102-000338 Készítette: Bodonyi Bence
A szeminárium tananyaga (The seminar curriculum) 1. Bevezetés (Introduction) - jún.15 1. A szeminárium tananyag (The seminar curriculum) 2. A nyelv rövid története (A brief history of the language) 2. C++ programok készítése (Beginning with C++) - jún.16 1. Alapvető szabályok (Basic Rules) 2. Fordítás, futtatás (Translation, run) 3. C++ program felépítése (Structure C ++ program) 3. Alaptípusok, változók és konstansok (Basic types, variables and constants) - jún.17 1. C++ adatok csoportosítása C ++ Data Grouping 2. Változók definiálása (Define Variables) 3. Adattípusok áttekintése (Overview of Data Types) 4. Konstansok (Constants) 4. Alapműveletek és kifejezések (Basic Operations and Expressions - jún.18 1. Operátorok csoportosítása (Operators Grouping 2. Műveleti sorrend (precedence) 3. Matematikai kifejezések (Mathematical expressions) 4. Értékadás (Assignment) 5. Logikai műveletek (Logical Operations) 5. Vezérlő utasítások (iteration, sequence, selection - jún.19 6. Kivételkezelés (Exception Handling) - jún.22 1. Kivételek kiváltása (Exceptions replacement) 2. Kivételek szűrése (Exceptions Filters) 7. Konzol kezelése (Managing Console I/O Operations) - jún.23 8. Tömbök és stringek (arrays and strings) - jún.24 1. Egy dimenziós tömb (1 -dimensional array) 2. n-dimenziós tömb(1 -dimensional array) 3. Sztringek (strings) 9. Felhasználói típusok (User Types) - jún.25 1. Struktúra (struvture) 2. A class osztálytípus (class) 10. Függvények (Functions) - jún.26 1. Függvény definíciója, hívása, deklarációja (Function definition, Call, Declaration 2. Függvény visszatérési értéke (Function returns) 11. Függvényekről magasabb szinten (function at a higher level - jún.25 1. Beágyazott függvények (Embedded Functions) 2. Függvények átdefiniálása (Functions remapping) 12. Bevezetés az objektum orientált világba (OOSD Object Oriented Software Development) - jún.29-30. 1. Alapelemek (Basic Elements) 2. Alapvető elvek (Basic Principles) 13. Osztályok és objektumok (Classes and Objects) júl.01.
3. Adatok és műveletek(data&finctions) 4. Konstruktorok (Constructors) 5. Destruktor (Destructors) 14. Öröklés és polimorfizmus (Succession & Polymorphism - júl.02. 1. Osztályok származtatása (Deriving Classes) 2. Osztályok elérése (Accessing Classes) 3. Virtuális alaposztályok (Virtual Functions) 15. Fájlkezelés (Working with Files) - júl.03. Látogatásaink 2015.07.02. 2015.07.01. 2015.06.29. 2015.06.25. 2015.06.23. Uni Düsseldorf, Zentrum für informations- und Medientechnologie, Universitetätstraße 1, Düsseldorf IT living Gmbh, Flurstraße 57. Düsseldorf Mercedes Benz Werk Düsseldorf lektropower Gmbh Elektronikgeschäft Korthover Essen Fachhochschule Düsseldorf, Campus Derendorf Ratherstr. 24a, Düsseldorf meglátogatása. 2015.06.18. IT On.net Gmbh Wiesenstraße 21 Düsseldorf 2015.06.16. Secusmart Gmbh, Heinrichstraße 155 Düsseldorf
2015.06.14. Megérkezés Düsseldorfba 2015.06.15. 9:30 17:00 Servet tanár úr örömmel fogadott bennünket. Mindannyian bemutatkoztunk, majd ismertette velünk a gyakorlat menetét. Örömmel hallgattam, hogy a kitűzött tananyag egy részét már az iskolában is megtanultuk. Remélem ez majd segít a megértésben. 2015.06.16. 9:30 12:00 A Secumart céget látogattuk ma meg. Mobil és vezetékes telefonok lehallgatásának biztonságát biztosító rendszer fejlesztésével foglalkozik immáron 7 éve. Olyan mértékű fejlődésen ment keresztül e röpke 7 év alatt, hogy 70-re duzzadt alkalmazottainak a száma, akik között minden nemzet képviselteti magát. A cég bemutatása után végigvezettek bennünket a fejlesztői szinten, ahol számos munkatárssal találkoztunk, az egyik a beérkező levelekkel foglalkozott, többen szoftverfejlesztésen dolgoztak. A cég kutyusát is megsimogathattuk. A körbevezetés után a nemzetközi kapcsolatokért felelős ügyvezető tartott ízelítőt munkájáról. A cég termékének eladása ügyében sokat kell utaznia, megfelelően kell előkészítenie előadását, s nem utolsó sorban az érintettek érdeklődését kell felkeltenie a termék iránt. Terméküket a szövetségi hivatal is megvásárolta. 2015.06.16. 14:00 17:00 2015.06.17. 9:30 17:00 2015.06.18. 9:30 12:00 2015.06.18. 14:00 17:00 Írtunk egy rövid programot: #include <iostream> using namespace std; int main() cout << "Hello Erasmus+" << endl; return 0; A változók típusa lehet egyszerű és összetett, a C++ egyszerű típusai: int (long,short, insigned long,unsigned short),double,char,boolean,enum. A változó deklarálása a típusának és nevének megadásával történik Ma az IT On.net Gmbh céget látogattuk meg. A cég képviselője egy inteligens házat mutatot be nekük, ők ugyanis ezek tervezésével foglalkoznak. Az intelligens épület olyan épület, amely automatikusan, azaz emberi beavatkozás nélkül, vagy csak minimálisan szükséges emberi beavatkozással képes ellátni feladatait. Például a fűtés, riasztüberendezés, média, Iphone... Az új építésű házak beszerelését ajánlják, meg tejlesen új kábelezést azlalmaz ez a technológia. A kábeleken 30 V feszültség hald át. Az operátorokat több szempont alapján lehet csoportosítani. A csoportosítást elvégezhetjük az operandusok száma
szerint:egyoperandusú (unary) két operandusú (binary) operátorok. Egyoperandusú például n++;--n;-n; kétoperandusú például n1+n2; n2; 2015.06.19. 9:30 12:00 2015.06.22. 14:00 17:00 2015.06.23. 9:30 12:00 2015.06.23. 14:00 17:00 2015.06.24. 9:30 17:00 2015.06.25. 9:30 12:00 A C++ program vezérlő utasításokból épül fel. Ezekről esett szó a mai gyakorlaton. Megbeszéltük a szekvencia, az iteráció és a szelekció jelentőségét, kódolását. A mai gyakorlaton a kivételkezelésről esett szó. Megtudtuk, hogy kivételnek (exception) nevezzük azt a hibás állapotot vagy eseményt, melynek bekövetkezte esetén az alkalmazás további, szabályszerű futása már nem lehetséges. Ellátogattunk a düsseldorfi egyetemre, ahol a dékán fogadott bennünket. Először bemutatkozott, majd bemutatta az egyetemet. Ismertette velünk a szervezeti felépítést, majd 3 csoportra osztottak bennünket. Az én csoportom elsőként a biztonsági rendszert tekintette meg, majd a hálózati rendszer ill. a kommunikációs rendszer követkekezett. Érdekes volt látni az épületek kábelrendszerét, ill. szerverszoba biztonsági berendezését. Ma különböző típusú adatokat juttattunk a be a számítógépbe, s írattuk ki a képernyőre. Előfordultak mindazon típusok, melyeket az iskolában is használtunk. Kiírattuk a memória területüket is. Ebből egyértelműsödött számomra, miért is fontos a pontos típus megadás. Ma a tömb típusú változókról tanultunk.a tömb több azonos típusú elemből áll. A tömb elemekre egy sorszám (index) segítségével hivatkozhatunk. Léteznek statikus és dinamikus tömbök. Statikus tömb esetén a tömbben nem lehet a maximális elemszámtól több elemet tárolni. Dinamikus tömbből létezik változó méretű tömb, amelynél nem csak konstanssal adhatjuk meg a tömb elemszámát, hanem egy változó segítségével is, valamint létezik dinamikus tömb, amely képes szükség szerint növelni a helyfoglalását A szakmai partnerünket látogattuk ma meg. Nem düsseldorfi kirendeltségű a cég, ezért Essenbe utaztunk, hogy a cég vezetőjével találkozhassunk. Bemutatkozás után elmesélte nekünk a cég történetét, megtudhattuk azt, hogy egy internet kávézóból átalakult elektrotechnikai cég egyik boltjában tartózkodunk, amely hatalmas lehetőségeket aknáz ki a világháló segítségével, hisz elektrotechnikai cikkeit és szolgáltatásait elektronikus úton adja el, szerzi be. Forgalmaznak a világ minden területére. Megtudhattuk azt, hogy milyen szempontokat kell betartania egy e- kereskedőnek ahhoz, hogy vállalkozását fenntarthassa.
2015.06.25. 14:00 17:00 A mai szakmai gyakorlati napon ismét az összetett adatszerkezetekkel foglalkoztunk. A múlt órán megismert tömb típus is előkerült a rekord típus tárgyalása során. A rekord mezőkből épül fel, melyek mindegyike különböző típusú is lehet. A mezők típusa általában valamilyen egyszerű típus (int, double, stb.), de semmi akadálya annak, hogy a rekord valamely mezője pl. tömb típusú legyen. A mezőknek egyedi nevük van. Ez a típus a felhasználó által létrehozott típus, amit a későbbiek során adatok deklerálásánal alkalmazunk. A struct kulcsszóval vezettük be, s két kapcsos zárójelben adjuk meg a mezőket név és típus megadásával. 2015.06.26. 9:30 12:00 2015.06.29. 9:30 12:00 2015.06.29. 14:00 17:00 2015.06.30. 9:30 17:00 A függvényekről tanultunk. A C++ program főfüggvénye a main függvény, de számos függvényt hozhatunk létre, melynek deklarációját bárhol megadhatjuk. típus név ( paraméter1, paraméter2,...) törzs típus: a függvény visszatérési értékének a típusa név: ez a függvény elnevezése lesz, azaz így lehet meghívni. paraméter1, paraméret2,... (amennyi csak szükséges): minden paraméter tartalmaz egy alapvető típust Nagy hatással volt rám a mai gyakorlati nap. Délelőtt ugyanis a Mercedes gyárban jártunk. A cég bemutatása után 2 egységükön kalauzoltak végig bennünket. Tilos volt az üzemekben a fényképezés. Megtudtuk, hogy 6546 dolgozója van a cégnek, csak Düsseldorfban, de Stutgardban és Ludwigsfelde-ben is van kirendeltségük országon belül. Ezen kívül Spnyolország Victoria - ban és USA Charlestonban is van gyára a cégnek. A legnagyobb az, ahol mi jártunk. " üzeységet nézhettünk meg, egyikben műszakonkét 300 dolgozó és 500 robot végzi munkáját. Minden számítógéppel vezérelt. Lenyűgözött az a pontosság, ahogy a robotok végzik a feladatukat. 600 Sprinter készül el naponta. Elmesélték nekünk, hogy csak mgrendelésre gyártanak. Minden, a futószalagról lekerült gépjárműnek már van gazdája. Számos ellenőrző ponton keresik a hibát, természetesen számítógépekkel, hogy véletlenül se kerüljön ki hibás jármű a gyárból. Ma megismerkedtk az objektum-orientált témakör alapelemeivel. Ezek közé tartozik az osztály, objektum, példány, metódus. E néhány fogalom elég közel áll hozzánk, hisz a körülöttünk lévő dolgok és kapcsolatok leírása a cél. Megfogalmaztuk és elmélyítettük az objektum-orientált programozás elveit, melyek a bezárás, öröklés, polimorfizmus és az absztrakció. Az osztály és objektum fogalmakat vettük át bővebben. A C++ kétéle leheőséget nyújt a számunkra. A struct és a class szóval vezethetjük be. Mindkettő adattagokból és tagfüggvényekből épül fel.
Különbség köztük az, hogy a struct típusnál minden adattag nyilvános, míg a class típusnál lehet privát és publikus.a köv. osztályt alkottuk meg ma: class Alkalmazott private: int torzsszam; string nev; int ber; public: void BertEmel(int szaz) ber *= (1 + szaz/100); void Bevitel(int tsz, string n, int b) torzsszam = tsz; nev = n; ber = b; int Ber() const return ber; ; 2015.07.01. 9:30 17:00 2015.07.02. 9:30 12:00 A konstruktorokról és destrukturokról tanultunk ma. Érdekes téma, erről még az iskolában nem volt szó. Az osztályokat mi magunk hozzuk létre sztatikus és dinamikus helyfoglalással, de a programkörnyezet megengedi, hogy a fordító készítsen ideiglenes példányokat. Ezt a konstruktorok alkalmazásával tehetjük meg. Ez nem más, mint egy tagfüggvény, amit a deklarációban adhatunk meg. A destruktorok pedig megszüntetik ezt az ideiglene helyfoglalást. Ma egy 1965-ben alapított egyetem infomatika karát látogattuk meg.a teljes címe: Uni Düsseldorf, Zentrum für informations- und Medientechnologie, Universitetätstraße 1, Düsseldorf Az egyetem egyike a legfiatalabb egyetemeknek, s öt karral működik. Hatalmas könyvtára, botanikus kertje, amit mi már meglátogattunk és szerverszobája van. Ezt látogattuk ma meg a ZIM épületében található. Bent nem szabadott fényképezni, de kérdéseket tehettünk fel. Hatalmas adatforgalmat bonyolít le. Tartalmazza a világ 3. legnagyobb szerverét is.
Számos részét bérlik és mások működtetik. 3 évente újátják fel, hogy a legújabb technológiávaltudják tudják működtetni. 2015.07.02. 14:00 17:00 2015.07.03. 9:30 17:00 Ma beszélgettünk a polimorfizmus és öröklés fajtáiról, majd a fájlkezelés következett. Fájlból már olvastunk be a gyakorlati órán az iskolában, így ezek az ismeretek most jól jöttek. Könnyen megértettem miről van szó, s könnyen alkalmazni is tudtam. A gyakorlat során hoztunk létre fájlokat egyszerű szövegszerkesztővel, majd a fájlból beolvastuk az adatokat. Ügyelni kellett a fájl elérési útjának helyes megadására, sőt ellenőriztük is a megnyitás helyességét, majd egy while-os ciklus segítségével beolvastuk az adatokat, melyekkel azután dolgoztunk, s a végén még fájlba ki is írtuk az eredményeket. Örültem annak, hogy sikerül a feladatot a mi csoportunknak megoldani. A projekt lezárásan napja. Megbeszéltük, hogy mit tanultunk, felelevenítettük, hogy hol jártunk, kicseréltük tapasztalatainkat. Befejeztem a naplót.
Németország Düsseldorf 2015.06.14-07.04. MUNKANAPLÓ Mobilitási projekt 2014-1 - HU01 - KA102-000338 Készítette: Szabó Dániel
A szeminárium tananyaga (The seminar curriculum) 1. Bevezetés (Introduction) - jún.15 3. A szeminárium tananyag (The seminar curriculum) 4. A nyelv rövid története (A brief history of the language) 2. C++ programok készítése (Beginning with C++) - jún.16 1. Alapvető szabályok (Basic Rules) 2. Fordítás, futtatás (Translation, run) 3. C++ program felépítése (Structure C ++ program) 3. Alaptípusok, változók és konstansok (Basic types, variables and constants) - jún.17 1. C++ adatok csoportosítása C ++ Data Grouping 2. Változók definiálása (Define Variables) 3. Adattípusok áttekintése (Overview of Data Types) 4. Konstansok (Constants) 4. Alapműveletek és kifejezések (Basic Operations and Expressions - jún.18 1. Operátorok csoportosítása (Operators Grouping 2. Műveleti sorrend (precedence) 3. Matematikai kifejezések (Mathematical expressions) 4. Értékadás (Assignment) 5. Logikai műveletek (Logical Operations) 5. Vezérlő utasítások (iteration, sequence, selection - jún.19 6. Kivételkezelés (Exception Handling) - jún.22 1. Kivételek kiváltása (Exceptions replacement) 2. Kivételek szűrése (Exceptions Filters) 7. Konzol kezelése (Managing Console I/O Operations) - jún.23 8. Tömbök és stringek (arrays and strings) - jún.24 1. Egy dimenziós tömb (1 -dimensional array) 2. n-dimenziós tömb(1 -dimensional array) 3. Sztringek (strings) 9. Felhasználói típusok (User Types) - jún.25 6. Struktúra (struvture) 7. A class osztálytípus (class) 10. Függvények (Functions) - jún.26 1. Függvény definíciója, hívása, deklarációja (Function definition, Call, Declaration 2. Függvény visszatérési értéke (Function returns) 11. Függvényekről magasabb szinten (function at a higher level - jún.25 1. Beágyazott függvények (Embedded Functions) 2. Függvények átdefiniálása (Functions remapping) 12. Bevezetés az objektum orientált világba (OOSD Object Oriented Software Development) - jún.29-30. 1. Alapelemek (Basic Elements) 2. Alapvető elvek (Basic Principles) 13. Osztályok és objektumok (Classes and Objects) júl.01.
8. Adatok és műveletek(data&finctions) 9. Konstruktorok (Constructors) 10. Destruktor (Destructors) 14. Öröklés és polimorfizmus (Succession & Polymorphism - júl.02. 1. Osztályok származtatása (Deriving Classes) 2. Osztályok elérése (Accessing Classes) 3. Virtuális alaposztályok (Virtual Functions) 15. Fájlkezelés (Working with Files) - júl.03. Látogatásaink 2015.07.02. 2015.07.01. 2015.06.29. 2015.06.25. 2015.06.23. Uni Düsseldorf, Zentrum für informations- und Medientechnologie, Universitetätstraße 1, Düsseldorf IT living Gmbh, Flurstraße 57. Düsseldorf Mercedes Benz Werk Düsseldorf lektropower Gmbh Elektronikgeschäft Korthover Essen Fachhochschule Düsseldorf, Campus Derendorf Ratherstr. 24a, Düsseldorf meglátogatása. 2015.06.18. IT On.net Gmbh Wiesenstraße 21 Düsseldorf 2015.06.16. Secusmart Gmbh, Heinrichstraße 155 Düsseldorf
2015.06.14. Megérkezés Düsseldorfba 2015.06.15. 9:30 17:00 Az első gyakorlati napon megismerkedtünk a szeminárium vezetőjével, akinek valamennyien bemutatkoztunk. A mai nap folyamán megtudhattuk, hogy a 3 hét alatt foglalkozunk a C++ program felépítésével, alapműveleteivel, kifejezéseivel és vezérlő utasításaival. 2015.06.16. 9:30 12:00 Látogatást tettünk Secusmart cégnél, ami a mobiltelefonok lehallgatását megakadályozó rendszert fejlesztett ki. 7 éve alakult, s dinamikusan fejlődött. A cég bemutatása után megtekinthettük a fejlesztői részleget. A munkatársaknak kérdéseket tehettünk fel. A falon számos post it-tel teletűzdelt diagram volt található, ami a közös munka terveit tartalmazta. Az osztály kutyusát is megsimogattuk. Az IT szakemberek számítógépeik előtt ülve végezték munkájukat. Sajnos fényképeket nem készthettünk. A következő momentuma fogadásunknak a nemzetközi kapcsolatok kialakításáról szólt. Milyen attitűddel kell rendelkeznie egy szakembernek ahhoz, hogy munkáját elvégezze, s számos ügyfelet szerezzen a cégnek. Nekik pld. a kormányhivatal is az ügyfelük. 2015.06.16. 14:00 17:00 Írtunk egy rövid programot: #include <iostream> using namespace std; int main() cout << "Hello Servet tanar ur" << endl; return 0; 2015.06.17. 9:30 17:00 2015.06.18. 9:30 12:00 2015.06.18. 14:00 17:00 Gyakoroltuk a változók deklarálását, megbeszéltük a konstans és változó közötti különbséget. Egy érintőképernyős kijelzővel rendelkező server intelligenssé varázsolhatja otthonunkat. Az árnyékolástól a zenén át a fűtésig minden funkciót vezérel. Ezt mutatta be nekünk a az IT On.net Gmbh Düsseldorf cég képviselője. Egy ezzel a rendszerrel felszerelt szobát és a benne lévő berendezéseket próbálhattunk ki. Elmondták nekünk, hogy csak új építésű házakhoz ajánlják, mert az új technológia miatt egy régi ház teljes kábelezését ki kéne cserélni, amennyiben ilyen rendezrrel akarjuk ellátni. A kifejezések kiértékelése az elsőbbségi (precedencia) szabályok szerint történik, ezt matematikában is megtanultuk. Ha egy kifejezésben több művelet is előfordul, akkor a magasabb precedenciával rendelkező operátort tartlmazó részkifejezést értékelünk ki.
2015.06.19. 9:30 12:00 Servet úrral ma a vezerlési szerkezeteket tanultuk. Használtunk Mai napon megtudtam, programunkban hogy A elágazást C++ nyelv és számlálós lehetővé teszi, ciklust is. hogy a kivételeket különböző típussal azonosítva, a 2015.06.22. 14:00 17:00 hibakezelést akár egyetlen helyen is elvégezhető.. A kivételek kezelése a megszakításos (termination) modell alapján történik. 2015.06.23. 9:30 12:00 Az egyetemi hálózati, biztonsági és kommunikációs rendszerének megismerése volt a cél a mai gyakorlati napnak. Ezért ellátogattunk a düsseldorfi egyetem legújabb épületébe. Forgószínpas szerűen mindhárom csoportunknak ugyanazon érdekes dolgot mutatták meg. Számomra a legérdekesebb dologa szerverszoba volt, amely hatalmas biztonsági rendszerrel fog működni. Megtudtam, hogy közvetlen kapcsolat van a városi biztonsági szervezetekkel, hold. hgy probléma esetén azonnal ki tudjon vonulni pld. a tűzoltóság. 2015.06.23. 14:00 17:00 Az iostream direktíva alkalmazási lehetőségeit tekintettük át. Ha ezl beépítjük a programba, akkor a cout és cin parancsokat a main függvényn belül használhatjuk a be és kivitere. Egy rövidke programrészlet: Cout<<"Kérek egy számot"<<endl; cin>>szam; 2015.06.24. 9:30 17:00 A tömb típusról tanultunk. Az iskolában már tanultunk a statikus tömbökről, ezeket az ismereteket felelevenítettük, majd azt is megtanultuk, hogy dinamikus tömb is létezik. Ennél már változó segítségvel is megadhatjuk a z elemszámot. A statikus tömb feltöltése számlálós ciklussal történik. for(i=0;i<=elemszám-1;í++) i tömb[i]= 'A'; ez a ciklus A betűkkel tölti fel a tömb elemeit. 2015.06.25. 9:30 12:00 A szakmai pertnerünket látogattuk ma meg. A cég világhálón működteti rendszerét, vagyis tevékenységének nagy hányadát az e-kereskedelm teszi ki. A világhálón történő kereskedelem során számos szempontotra kell figyelmet fordítani. Melyek felölelik a technikai és szervezeti tényezőket. A cég vezetője ismertette velünk az e- kereskedelm problémáit, jogi szabályait. 2015.06.25. 14:00 17:00 A C++ újabb típusával találkoztunk a mai órán. Ez a rekord típus volt, ami az összetett adattípusok sorát gazdagítja. Míg a tömb azonos típusú elemeket tárol, addig ebben a típusban különböző adattípusú elemek is tárolódhatnak. Megadásának általános alakja: típus rekordtípus: rekord(
mező1 : típus1 mező2 : típus2 ) Ezek után már deklarálhatunk 2015.06.26. 9:30 12:00 2015.06.29. 9:30 12:00 2015.06.29. 14:00 17:00 változó rekordnév: rekordtípus változót. A következő mintát készítettük el : #include <iostream> using namespace std; int osszeadas (int a, int b) // ez lesz a függvény neve és ezek a paraméterek int r; // belső változó deklarálása r=a+b; return (r); // visszatérési érték megadása int main () // Itt kezdődik a fő-ág. int z; // deklaráció z = osszeadas (5,3); //Függvény meghívása cout << "Eredmeny: " << z; // Végeredmény kiírása return 0; Mercedes Benz Werk Düsseldorfnál jártunk a mai délelőtt folyamán. A cég képviselője fogadott bennünket, majd kis bemutatóval illusztrálta a cég hatalmas méreteit. Védőszemüveggel felszerelkezve indultunk a gyártósorokat megtekinteni. Nagy élmény volt látni, hogy az emberi kéz által végzett munkát miként egészíti ki a robotok munkája. Számítógépes progamokkal van minden vezérrelve. Előre 2 órát programoznak be percről percre minden munkafázist. Az ellenőrzés is számítógépekkel történik. A szenzorokka mért adatokat szoftverekkel kiértékelik, s ennek alapján eldöntik, hogy a folyamat megfelelően játszódott le vagy sem. Megtudtuk, hogy amennyiben a karoszériában találnak rossz összeillesztést, akkor nem szedik szét, hanem hibás termékként a kukába kerül. A másik hangárban készre szerelt autókat láthattunk. Itt az emberi kéz által végzett munka nagyobb arányú volt, mint a robotika. Ma az objektum-orientált programozásról taultunk, ami a dolgokat és köztük fennálló kapcsolatokat használja alkalmazásokhoz. Servet úr remek példákon keresztül mutatta be nekünk az osztályokat, objektumokat, példányokat. Mi számos példát hoztunk objektumokra- Megismerkedtünk z alapvető elvekkel, melyek a következők: -bezárás -öröklés -polimorfizmus
2015.06.30. 9:30 17:00 Az osztály egy új típus létrehozását jelenti a C++ nyelvben. Ezt a struct és a class kulcsszavakkal vezethetjük be. Az első esetben minden adat publikus, míg a második esetben megadható, hogy melyik legyen public avagy privat. Az objektum egy ilyen ttípussal rendelkező váltotó, mely magába foglalja az adatokat és a függvényeket egyaránt. A deklarálás során meg kell adni minden adat tíusát és nevét, ill. a tagfüggvények típusát és nevét. A tagfüggvények deklarálása történhet a class-on belül, de kívül is. Általános megadási mód: class OsztályNév public: típus4 Függvény1(paraméterlista1) típus3 Függvény3(paraméterlista3) private: típus1 adat11, adat12; típus2 adat2; ; 2015.07.01. 9:30 17:00 2015.07.02. 9:30 12:00 2015.07.02. 14:00 17:00 Ma megtanultuk, hogy nemcsak sztatikus és dinamikus helyfoglalással hozhatunk létre objektumokat, hanem a fordító futás közben is létrehozhat példányokat. Erre szolgálnak a konstruktorok. Ismerünk paraméteres, paraméter nélküli és másoló konstruktorokat. Ezek gyakorlatilag tagfüggvények. Kettővel alapból rendelkezik egy osztály: paraméter nélküli és másoló konstruktorral. Ma láttuk a világ 3. legnagyobb szerverét a Uni Düsseldorf, Zentrum für informations- und Medientechnologie, Universitetätstraße 1, Düsseldorf - n. A 1965 - ben alapított 5 karral rendelkező egyetemnek hatalmas könyvtára és általunk már meglátogatott botanikus kertje van. Mi a ZIM szerverszobáját látogattuk meg, ahol a tárlatvezetőnk számos érdekes adattal szo helyen lgát. PLd.,5 millió euró az értéke annak a szervernek, amit a világon 3lkalmaznak. A legújabb technológiákkal dolgoznak, amit a 3 évenkénti felújítás eredményez. Sokmagos processzorokkal és terra nagyságrendű tárhelyekkel ellátott rack-ek tárultak elénk, de fényképezni nem szabadott. A kurzus elején már beszéltünk az OOP programozás elveiről, most bővebb információkat kaptunk az öröklés és polimorfizmusról, s azok fajtáiról. A fájlkezelés műveleteiről kaptunk ízelítőt, majd csoportmunkában ki is próbáltuk azokat. Jegyzettömbbel hoztunk létre állományokat, majd a fájlmegnyitás, bezárás, beolvasás és kiírás műveleteit gyakoroltuk.
Használtuk az eof függvényt, s a beolvasott adatokkal műveleteket végeztünk. Számoltunk átlagot, kerestünk legnagyobb és legkisebb értéket. Végül az eredményeket kiírtuk állományba. Jó volt a mai gyakorlati óra, sok 2015.07.03. 9:30 17:00 mindent tanultam és sok sikerélményem volt. A lezárás napja. Befejeztem a naplót. A többiekkel megbeszéltük éményeinket, összefoglaltuk a tanulságokat és átismételtük a tanult ismereteket.
Németország Düsseldorf 2015.06.14-07.04. MUNKANAPLÓ Mobilitási projekt 2014-1 - HU01 - KA102-000338 Készítette: Kiss Levente
A szeminárium tananyaga (The seminar curriculum) 1. Bevezetés (Introduction) - jún.15 5. A szeminárium tananyag (The seminar curriculum) 6. A nyelv rövid története (A brief history of the language) 2. C++ programok készítése (Beginning with C++) - jún.16 1. Alapvető szabályok (Basic Rules) 2. Fordítás, futtatás (Translation, run) 3. C++ program felépítése (Structure C ++ program) 3. Alaptípusok, változók és konstansok (Basic types, variables and constants) - jún.17 1. C++ adatok csoportosítása C ++ Data Grouping 2. Változók definiálása (Define Variables) 3. Adattípusok áttekintése (Overview of Data Types) 4. Konstansok (Constants) 4. Alapműveletek és kifejezések (Basic Operations and Expressions - jún.18 1. Operátorok csoportosítása (Operators Grouping 2. Műveleti sorrend (precedence) 3. Matematikai kifejezések (Mathematical expressions) 4. Értékadás (Assignment) 5. Logikai műveletek (Logical Operations) 5. Vezérlő utasítások (iteration, sequence, selection - jún.19 6. Kivételkezelés (Exception Handling) - jún.22 1. Kivételek kiváltása (Exceptions replacement) 2. Kivételek szűrése (Exceptions Filters) 7. Konzol kezelése (Managing Console I/O Operations) - jún.23 8. Tömbök és stringek (arrays and strings) - jún.24 1. Egy dimenziós tömb (1 -dimensional array) 2. n-dimenziós tömb(1 -dimensional array) 3. Sztringek (strings) 9. Felhasználói típusok (User Types) - jún.25 11. Struktúra (struvture) 12. A class osztálytípus (class) 10. Függvények (Functions) - jún.26 1. Függvény definíciója, hívása, deklarációja (Function definition, Call, Declaration 2. Függvény visszatérési értéke (Function returns) 11. Függvényekről magasabb szinten (function at a higher level - jún.25 1. Beágyazott függvények (Embedded Functions) 2. Függvények átdefiniálása (Functions remapping) 12. Bevezetés az objektum orientált világba (OOSD Object Oriented Software Development) - jún.29-30. 1. Alapelemek (Basic Elements) 2. Alapvető elvek (Basic Principles) 13. Osztályok és objektumok (Classes and Objects) júl.01.
13. Adatok és műveletek(data&finctions) 14. Konstruktorok (Constructors) 15. Destruktor (Destructors) 14. Öröklés és polimorfizmus (Succession & Polymorphism - júl.02. 1. Osztályok származtatása (Deriving Classes) 2. Osztályok elérése (Accessing Classes) 3. Virtuális alaposztályok (Virtual Functions) 15. Fájlkezelés (Working with Files) - júl.03. Látogatásaink 2015.07.02. 2015.07.01. 2015.06.29. 2015.06.25. 2015.06.23. Uni Düsseldorf, Zentrum für informations- und Medientechnologie, Universitetätstraße 1, Düsseldorf IT living Gmbh, Flurstraße 57. Düsseldorf Mercedes Benz Werk Düsseldorf lektropower Gmbh Elektronikgeschäft Korthover Essen Fachhochschule Düsseldorf, Campus Derendorf Ratherstr. 24a, Düsseldorf meglátogatása. 2015.06.18. IT On.net Gmbh Wiesenstraße 21 Düsseldorf 2015.06.16. Secusmart Gmbh, Heinrichstraße 155 Düsseldorf
2015.06.14. Megérkezés Düsseldorfba 2015.06.15. 9:30 17:00 Eljött a gyakorlat első napja. Bemutatkozás után ismertették velünk a 3 hét menetét. Örömömre szolgált, hogy mindent megértettem, amiről szó volt. Megszerkesztettem a naplómat a Google drive-on, majd megosztottam tanárommal. 2015.06.16. 9:30 12:00 Egy világhírű céget kerestünk fel a mai gyakorlati napon, a Secusmart Düsseldrof-t. A telefonok lehallgatásának megakadályozására fejlesztettek ki egy chip-et, ami a hangot kódolja. Jelenleg a legbiztonságosabb rendszer a világon. Ezt használják a kormányhivtalok és a kancellár is. Megtudtuk, hogy a Blacberry felvásárolta a céget. A nemzetközi kapcsolatokért felelős munkatárs munkájáról és az üzleti életben való viselkedésmódot, előkészületeket ismertette velünk. A cég szoftverrészlegét tekinthettük meg, ahol az IT szakemberek dolgoznak. A cég munkatársainak száma 70, amit 7 év alatt duzzasztott ennyire. 2015.06.16. 14:00 17:00 Írtunk egy rövid programot: #include <iostream> using namespace std; int main() cout << "Hello Dusseldorf" << endl; return 0; 2015.06.17. 9:30 17:00 2015.06.18. 9:30 12:00 2015.06.18. 14:00 17:00 Egy változó deklarálása: típus változónév [=kezdőérték]; pld.: int szam; char kar; Az IT On.net Gmbh Düsseldorf cégél jártunk. Ez a vállalkozás új építésű házak inteligenssé varázslásának tervezésével foglalkozik. Teljesen emberi beavatkozás nélkül, vagy részben embei beavatkozást igénylő rendszerek ezek, mellyel a fűtéstől, szórakozáson át a riasztásig mindentautomatizálhatunk. Demonstrálták a sötétítést, a világítást és a megfigyelő rendszer automatizáló rendszerét. Ez a technológia új kábeleket alkalmaz, mely 30 V feszültséget juttat el a fogyasztókig. A kifejezések kiértékeléséről esett szó a mai gyakorlaton. Az (a+b)*(d-c)*e kifejezés feldolgozásának lépései: int a = 1, b = 2, c = 3, d = 4, e = 5; (a + b) 3 (d - c) 1 (a + b) * (d - c) 3 * 1 3 3* e 3 * 5 15
2015.06.19. 9:30 12:00 A mai szakmai gyakorlaton felelevenítettük a vezérlési szerkezetkről Akivételek kezelése: tanultakat. Az elágazásnál alkalmaztuk a tegnapi A try-catch ismereteinket. programstruktúra Örömömre egyetlen szolgált, try blokkot hogy a és feltételes ciklus tetszőleges alkalmazását számú catch is megértettem. blokkot tartalmaz: try 2015.06.22. 14:00 17:00 // kivételfigyelés alatt álló utasítások utasítások catch (kivétel1 deklaráció) // a kivétel1 kezelője utasítások1 2015.06.23. 9:30 12:00 2015.06.23. 14:00 17:00 2015.06.24. 9:30 17:00 2015.06.25. 9:30 12:00 Egy helyi hálózati rendszert ismehetünk meg a mai napon, amikor a düsseldorfi egyetemre látogattunk el. Megmutatták nekünk a kábelezés hibajavítását, ill. a biztonsági berendezéseket, majd a belső hálózat kommunikációs rendszerét. A dékán személyesen fogadott bennünket, akitől az egyetem szervezeti felépítését is megtudhattuk. Nem voltam még szerver szobában, így a mai nap rendkívüli élmény volt a számomra. A cout és cin utasításokat gyakoroltuk a mai órán. Megbeszéltük az igazítási lehetőségeket is, amelynek alkalmazása csak az iomanip direktíva hozzácsatolásával lehetséges. Cout<<"Kérek tőled egy karaktert"<<endl; A tömbök olyan összetett adatszerkezetek, amelyek statikus mérettel rendelkeznek. A tömbök lehetnek egydimenziósak, kétdimenziósak és többdimenziósak. A tömb típusú változók deklarálásakor meg kell adni a tömb alaptípusát, és dimenzióinak számát. Pl.: -int[] szam; egy int alaptípusú, egydimenziós szam nevű tömböt deklarál. -double[,] tomb; egy double alaptípusú, kétdimenziós tomb nevű mátrixot deklarál. A változókba értéket kell elhelyezni, melynek során a new kulcsszó segítségével memóriát foglalunk le egy tényleges tömbnek, megadva a tömb statikus méretét. Az e-kereskedelem volt a mai gyakorlat táméja. Felkerestük szakmai partnerünket Essenben. A cég egyik boltjában találkoztunk a cég vezetőjével, akitől sok mindnt tanultunk. Ismertette velünk az e-kereskedelel elemeit, melyek a következők : - webszerver,
- alkalmazás szerver - adatbázis szerver. Érdekes volt megtudni az e-kereskedelm jogi szabályait, ill. azt is hogy előnyei mellett számos hátránnyal, nehézséggel 2015.06.25. 14:00 17:00 2015.06.26. 9:30 12:00 2015.06.29. 9:30 12:00 rendelkezik. A rekord két vagy több egymástól eltérő típusú változót (mezőt) foglal egyetlen egységbe. A rekord mezői a memóriában szigorúan egymást követően foglalnak helyet a rekordban történő felsorolásuk sorrendjében. A rekord méretét a mezők és ezen kitöltő területek összege határozza meg. A struct kulcsszóval vezetjük be. pld. struct Crekord string nev; int szulev; string anyja_neve; A rekordra a nevével, mezőire pedig a rekordnév.mezőnévvelhivatkozunk. Néhány mintát adtunk a függvényekre. Leginkább az alapműveletekre, hogy mindenki megértse. Én most a szorzásra mutatok be egy példát #include <iostream> using namespace std; float szorzas (float x, float y) float eredmeny; eredmeny=x*y; return (eredmeny); int main () float z=1; for (int i=1; i<11;i++) szorzat= szorzas (z,2); //Függvény meghívása cout << "2^10 = " << z; // Végeredmény kiírása return 0; A Mercedes Benz Werk Düsseldorf gyárban jártunk ma délelőtt. A gyár képviselője bemutatta a düsseldorfi kirendeltséget, melyen kívül még 2 városban van kirendeltsége Németországban a cégnek. Kis számú munkatárssal működik az USA-beli cég, s valamivel több alkalmazottal rendelkezik a spanyol leányvállalat. Üzleti megfontolásból a tengeren túlra gyártott autókat a temgeri
utaztatás előtt alkatrészeire szerelik szét, s az USA-ban újra összeszerelésre kerül. A gyárban 3 műszakban dolgoznak a munkások, s az ő munkájukat segítik a robotok. A karosszériát összeszerelő részlegben 500 robot és 300 emberi munkaerő végzi a szerelést. A gyártás egy percre sem áll le. Naponta 600 autót gyártanak megrendelésre. 2015.06.29. 14:00 17:00 2015.06.30. 9:30 17:00 2015.07.01. 9:30 17:00 2015.07.02. 9:30 12:00 Minden számítógéppel vezérelt. Eljutottunk az objektum-orientált programozás tárgyalásához. Nagyon érdekesnek találtam, mert az életből vettünk példákat az oszály, objektum, példány fogalmak megértéséhez. Objektum lehet pld. Egy madár, annak alobjektumai a repülő és a nem repülő madarak. Minden objektum magába foglalja az adatokat és metódusokat, ez az objektum orientált programozás egyik elve. Szó volt még a többi elvről is, mint az öröklés (a repülő és nem repülő madarak is ugyanazokat az adatokat és metódusokat öröklik), s nem utolsó sorban a polimorfizmus, ami lehetővé teszi, hogyaz öröklés során bizonyos metódusokat más tartalommal töltsük meg. Az objektum orientált program új típusa az osztály, amit a struct és a class kulcsszavakkal vezethetünk be. Az iskolában is tanultunk már róla, de úgy érzem most értettem meg igazán. A class gyakorlatilag magában foglalja az adatokat és műveleteket, s a való világ egy objektumának absztrahálását jelenti. Megadásakor a privát és publik szavakkal láthatjuk el őket aszerint, hogy hozzáférhet -e bárki, vagy csak a megfelelő szlőobjektum, vagy függvény. Az class és a struct osztályok deklarációját a C++ programban bárhol elhelyezhetjük, ahol deklaráció szerepelhet, azonban a modul szintű megadás felel meg leginkább a modern programtervezésnek. A konstruktor olyan tagfüggvény, amelynek neve megegyezik az osztály nevével, és nincs visszatérési típusa. A konstruktor nem rendelkezik visszatérési értékkel, de különben ugyanúgy viselkedik, mint bármely más tagfüggvény. A konstruktorok mellett a destruktorok is szóba kerültek a mai gyakorlati órán. Miért is van szükség rájuk? A helyfogalalás dinamikusan történik, a fordító vlgzi, s úgy a helyes, ha a lefoglalt területet felszabadítjuk. A szerver vagy kiszolgáló az informatikában olyan számítógépet, vagy szoftvert jelent, ami más számítógépek számára a rajta tárolt vagy előállított adatok felhasználását teszi lehetővé. Sok ilyet láttunk ma az egyetem ZIM épületében. A biztonsági berendezések miatt csak rövid ideig lehet nyitva a szoba ajtaja, így két csoportra osztottak bennünket,
s mindkét csoport egymás után jutott be a világ egyki legnagyobb és legbiztonságosabb szerverét is tartalmazó szerverszobába. A ZIM IT szakembereinek vezetője kalauzolt bennünket, akinek kérdéseket is tettünk fel. Nagyon érdekelt bennünket az ár és az adatmennyiség. Elépesztő adatmennyiség tárolódik egyilye helyen. 2015.07.02. 14:00 17:00 2015.07.03. 9:30 17:00 A hűtőberendezés hatását testközelben is érezhettük. A fájlkezelés volt terítéken. Ez a téma már előkerült az iskolában is, így az alapokat már tudtam. Valószínűleg azért is sikerült minden gyakorlati feladatot megoldani. A megoldás során használtuk a C++ nyelv beépített fájlkezelő függvényeit: f.open() f.close() eof() A be- és kimeneti fájl fogalmát is megtárgyaltuk. A fájlmegnyitást mindig ellenőriztük, majd a beolvasást egy elöltesztelős ciklussal oldottuk meg. Miután a bemenő adelvégzetük a kijelölt feladatokat, kiírtuk az ereményt egy fájlba.atokkal Lezárás. Felelevenítettük a 3 hét alatt történt dolgokat. Befejeztem a naplót. Megbeszéltük a tapasztalatokat.
Németország Düsseldorf 2015.06.14-07.04. MUNKANAPLÓ Mobilitási projekt 2014-1 - HU01 - KA102-000338 Készítette: Pop Csenge
A szeminárium tananyaga (The seminar curriculum) 1. Bevezetés (Introduction) - jún.15 7. A szeminárium tananyag (The seminar curriculum) 8. A nyelv rövid története (A brief history of the language) 2. C++ programok készítése (Beginning with C++) - jún.16 1. Alapvető szabályok (Basic Rules) 2. Fordítás, futtatás (Translation, run) 3. C++ program felépítése (Structure C ++ program) 3. Alaptípusok, változók és konstansok (Basic types, variables and constants) - jún.17 1. C++ adatok csoportosítása C ++ Data Grouping 2. Változók definiálása (Define Variables) 3. Adattípusok áttekintése (Overview of Data Types) 4. Konstansok (Constants) 4. Alapműveletek és kifejezések (Basic Operations and Expressions - jún.18 1. Operátorok csoportosítása (Operators Grouping 2. Műveleti sorrend (precedence) 3. Matematikai kifejezések (Mathematical expressions) 4. Értékadás (Assignment) 5. Logikai műveletek (Logical Operations) 5. Vezérlő utasítások (iteration, sequence, selection - jún.19 6. Kivételkezelés (Exception Handling) - jún.22 1. Kivételek kiváltása (Exceptions replacement) 2. Kivételek szűrése (Exceptions Filters) 7. Konzol kezelése (Managing Console I/O Operations) - jún.23 8. Tömbök és stringek (arrays and strings) - jún.24 1. Egy dimenziós tömb (1 -dimensional array) 2. n-dimenziós tömb(1 -dimensional array) 3. Sztringek (strings) 9. Felhasználói típusok (User Types) - jún.25 16. Struktúra (struvture) 17. A class osztálytípus (class) 10. Függvények (Functions) - jún.26 1. Függvény definíciója, hívása, deklarációja (Function definition, Call, Declaration 2. Függvény visszatérési értéke (Function returns) 11. Függvényekről magasabb szinten (function at a higher level - jún.25 1. Beágyazott függvények (Embedded Functions) 2. Függvények átdefiniálása (Functions remapping) 12. Bevezetés az objektum orientált világba (OOSD Object Oriented Software Development) - jún.29-30. 1. Alapelemek (Basic Elements) 2. Alapvető elvek (Basic Principles) 13. Osztályok és objektumok (Classes and Objects) júl.01.
18. Adatok és műveletek(data&finctions) 19. Konstruktorok (Constructors) 20. Destruktor (Destructors) 14. Öröklés és polimorfizmus (Succession & Polymorphism - júl.02. 1. Osztályok származtatása (Deriving Classes) 2. Osztályok elérése (Accessing Classes) 3. Virtuális alaposztályok (Virtual Functions) 15. Fájlkezelés (Working with Files) - júl.03. Látogatásaink 2015.07.02. 2015.07.01. 2015.06.29. 2015.06.25. 2015.06.23. Uni Düsseldorf, Zentrum für informations- und Medientechnologie, Universitetätstraße 1, Düsseldorf IT living Gmbh, Flurstraße 57. Düsseldorf Mercedes Benz Werk Düsseldorf lektropower Gmbh Elektronikgeschäft Korthover Essen Fachhochschule Düsseldorf, Campus Derendorf Ratherstr. 24a, Düsseldorf meglátogatása. 2015.06.18. IT On.net Gmbh Wiesenstraße 21 Düsseldorf 2015.06.16. Secusmart Gmbh, Heinrichstraße 155 Düsseldorf
2015.06.14. Megérkezés Düsseldorfba 2015.06.15. 9:30 17:00 Az első gyakorlati napon megismerkedtünk Servet tanár úrral, aki a szemináriumot vezeti majd nekünk. Mindannyian bemutatkoztunk. Ismertette velünk a 3 hét programját. Az objektum orientált programozással foglalkozunk majd. 2015.06.16. 9:30 12:00 Ma az üzleti élet,termékeladás,managmenelésről is szó esett a Secusmart Gmbh-t felkerestük a Heinrichstraße 155 - ben. Egy biztonsági rendszert forgalmazó cég képviselőivel találkoztunk, akiktől sok mindent tanulhattunk. A cég bemutatása német nyelven folyt, a Blacberry képviselője pedig angol nyelven mutatkozott be, s tett fel néhány kérdést nekünk. A nmzetközi kapcsolatokért felelős munkatárs az üzleti tárgyalásokról, megjelensről, előkészületekről beszélt nekünk. Számos kérdést tett fel nekünk céljainkkal kapcsolatosan, s számos ötlettel állt előezek megvalósításához. Megtudtuk tőle, hogy a viág minden tájára forgalmaznak, s biztonsági rendszerüket alkalmazza a szövetségi hivatal is. 2015.06.16. 14:00 17:00 Írtunk egy rövid programot: #include <iostream> using namespace std; int main() cout << "Hello Pop Csenge" << endl; return 0; 2015.06.17. 9:30 17:00 Számos változót és konstanst deklaráltunk, megbeszéltük a kezdőérték fogalmát. 2015.06.18. 9:30 12:00 Egy központi vezérléssel ellátott redszert láttunk ma, amikor az IT On.net Gmbh céget látogattuk meg. Egész otthonunkat automatikusan működő rendszerrel varázsolhatjuk okossá. A cég a rendszer megtervezésével foglalkozik, a kivitelezésben csupán partnerek megtalálását ígéri. Nem minden villanyszerelő ismeri a technológiát, ezért fontos a jó kapcsolatteremtés. Egy éritő képernyővel irnyított rendszert láthattunk, amely a világítást, médiát, riasztó rendszert is magába foglalta. 2015.06.18. 14:00 17:00 A programozás során használt műveleteket két nagy csoportra osztjuk az operandusok száma alapján. Megkülönböztetünk egy és két operandusú műveleteket. A mai gyakorlaton számos kifejezést értékeltünk ki, s alakítottunk át. 2015.06.19. 9:30 12:00 A csoportunk egy olyan programot írt, ami feltöltött egy 2015.06.22. 14:00 17:00 tömböt Ma szó egész esett a számokkal, kivételek kiváltásáról. így a vezérlési A kivételkezelést szerkezetek közül a a számlálós ciklust alkalmazta.
programunk adott részén belül, lokálisan kell kialakítanunk 2015.06.23. 9:30 12:00 2015.06.23. 14:00 17:00 2015.06.24. 9:30 17:00 2015.06.25. 9:30 12:00 2015.06.25. 14:00 17:00 a try, a throw és a catch kulcsszavak felhasználásával. Az iskolában már csoportosítottuk a hálózatokat kiterjesztés szerint,s ma az egyik csoporttal, a helyi hálózattal ismerkedtünk meg, amikor ellátogattunk az egyetemre. A dékántól megtudtuk, hogy milyen szakokat tanulhat itt a közel 6000 diák. 3 csoportra osztottak bennünket. Az én csoportom először a szerver szoba biztonsági berendezéseit nézhette meg, ill. próbálhatta ki, majd a helyi rendszer hibakeresési módszerét mutatták meg nekünk, s végül az egyetem kommunikációs rendszerének működését illusztrálták egy hatalmas kivetítőn. Megtduhatta azt is hogy az IP telefonra milyen rendszer van ráépítve, s hogy mennyi mindent el tud egy egyetemi dolgozó intézni a telefonjával. Ma szó volt a különböző direktívák alkalmazásáról és a konzolkezelésről tanultunk. Használtuk a cout és cin parancsokat. A tömbökről tanultunk ma. Létezik egy, két- és többdimenziós. A kétdimenziós tömbök esetén egy konkrét elemre két sorszámmal hivatkozhatunk (sor és oszlop index). Ezen sorszán egy nxm elemű tömb esetén [0,n-1] ill. [0,m-1] intervallumból kerül ki (a mátrix sorainak és oszlopainak sorszámozása is 0-val kezdődik). Kezelését leggyakrabban két, egymásba ágyazott for ciklussal valósítjuk meg: for(int i=0;i<n;i++) for(int j=0;j<m;j++) tomb[i,j]=i*10+j; Az i értéke 0..n-1 mehet, mivel azt használjuk a sor azonosítására. A j értéke pedig 0..m-1 mehet, mivel azt használjuk az oszlop azonosítására. Ha olyan mátrixelemre hivatkozunk, amely nem létezik, úgy futás közbeni hibát fogunk kapni. Az e-kereskedelemmel foglalkozó vállalatot ismerhettünk meg ma Essenben. A cég vezetője a bemutatkozás után elmesélte a cég történetét, majd az e-kereskedelm szervezésiműködéséről, vásárló orientált működési tényezőkről beszélt nekünk. Megtudtam azt, hogy milyen elemekből épül fel egy ilyen rendszer, szükség van egy webszerverre, azt működtető felületre, s egy adatbázis szerverre, ami az alkalmazás szervert adatokkal látja el. A rekordok fontos feladatot látnak el, hiszen elemi adatokból építhetünk összetett adatszerkezeteket ily módon. A rekordok ezzel jobban modellezik a valós feladatok adatigényét. Többek között ezt is megtudhattuk Servet úrtól
a mai gyakorlati napon. Rekordokat deklaráltunk, ügyelve arra, hogy minden mező nevét és típusát megadjuk. Létrehoztunk egy Challgató rekord típust, amely 3 mezőt tartalmazott, majd ilyen típusú változót deklaráltunk, s kiírattuk a képernyőre a tartalmát. Nagyon tetszett a mai óra. 2015.06.26. 9:30 12:00 2015.06.29. 9:30 12:00 2015.06.29. 14:00 17:00 2015.06.30. 9:30 17:00 A mai gyakorlati napona függvényekről beszélgettünk, elmagyarzták mit jelentenek a paraméterek, s miként adható meg egy függvény deklarációja, majd magunk is hoztunk létre néhány függvényt. Sikerült a kivonás műveletét megírni. Remélem a mai anyag az objektum orientált programozást is elősegíti, mert az az iskolában kevésbé értettem meg. Mercedes Benz Werk Düsseldorf gyárban jártunk. A hatalmas Mercedes cég egyik legnagyobb gyára itt Németországban, közel 6500 dolgozóval, akik 3 műszakban dolgoznak napi 8 órában, s gyakran még szombatonként is. A szalag csak kivételes alkalmakkor, ill. a szabályok szerint járó szünetekben áll le. Lenyűgözött a tény, hogy némelyik részlegben több robot dolgozik, mint ember. Mindent számítógépekkel vezérelnek, s előre 2 órát tudnak beprogramozni. Az ellenőrzés során mért adatokat is számítógépes programokkal dolgozzák fel. Az USA-ba gyártott autókat tengerre szállás előtt darabjaira szerelik szét, aminek áfa vonzata kisebb, mint a kész terméké. A mai gyakorlaton felhívták a figyelmünket arra, hogy az OOP nyelvek általában csak eszközöket és támogatást nyújtanak az objektum-orientáltság elveinek megvhívtalósításáhozlent.ezen elvekről sok szó esett a mai órán. Megtanultam, hogy mit jelent a bezárás, absztrakció, öröklés és a polimorfizmus. A class és a struct kulcsszavakkal deklarált új típusokról tanultunk ma a gyakorlaton. Mindkettő magában foglalja ugyan az adatokat és függvényeket, csak az egyiknél minden adat publikus. Deklaráltunk osztályt, majd hoztunk létre az új típussal változót. class Dolgozo private: int azon; string nev; int ber; public: void Emel(int szlab) ber *= (1 + szlab/100);
void Bevitel(int tsz, string n, int b) azo = tsz;n nev = n; ber = b; ; 2015.07.01. 9:30 17:00 2015.07.02. 9:30 12:00 2015.07.02. 14:00 17:00 2015.07.03. 9:30 17:00 A mai gyakorlati nap egy részéban a konstruktorokról és destruktorokról tanultunk. Olyan témakör ez, amiről eddig én még nem hallottam. Érdeklődéssel figyelmet, hogy a következő évben információim legyenek róla. Megtanultam azt, hogy objektum létrehozásának egy módja ez, amikor is a fordító hoz létre új példányt, vagy esetleg szabadít fel helyet, így nem a programozónak kell helyet lefoglali a memóriában. Ez a tárhely használatot tudja lecsökkenteni, ami a mai programok esetén bizony fontos dolog. E két új fogalom gyakorlatilag nem is új, hisz tagfüggvényeket jelent, csak más a funkciójuk, és a deklarációjuk. Ma a Uni Düsseldorf, Zentrum für informations- und Medientechnologie, Universitetätstraße 1, Düsseldorf - jártunk. A környék ismerős volt, mert a botanikus kertet keresve már jártunk itt. Az egyetem az egyik legfiatalabbik egyetem Düsseldorfban, 5 karral rendelkezik: orvosi, jogi, közgazdasági, természettudományi és bölcsészettudományi karral. A ZIM épületében található a szerverszoba, ami hatalmas mennyiségű adatforgalmat boyolít le. Nem csak az egyetem informatika rendszerét szolgálja ki, hanem más vállalkozásoknak is bérbe adják. 3 évente fel kell újítani, hogy a legmodernebb technolgiával tudjanak dolgozni. A C++ - ban lehetőségünk va fájlok kezelésére. Erről tanultunk a mai gyakorlaton. Megkülönböztetünk be- és kimeneti állományokat, melyeket a programban az ifstream és ofstream típusokkal hozunk létre. Deklarálásuk a köv. képp történik: ifstream(f,"a létező fájl neve"); Ügyelni kell arra, hogy amennyiben nem a megfelelő könyvtárba helyeztük el a z állományt, akkor az elérési útvonalat is meg kell adni. A megnyitást az f.fail() függvénnyel ellenőrizhetjük. A projekt lezárásának napja. Tapasztalatok megbeszélése történt a mai napon.
Befejeztem a napló írását.
Németország Düsseldorf 2015.06.14-07.04. MUNKANAPLÓ Mobilitási projekt 2014-1 - HU01 - KA102-000338 Készítette: Klein Dániel
A szeminárium tananyaga (The seminar curriculum) 1. Bevezetés (Introduction) - jún.15 9. A szeminárium tananyag (The seminar curriculum) 10. A nyelv rövid története (A brief history of the language) 2. C++ programok készítése (Beginning with C++) - jún.16 1. Alapvető szabályok (Basic Rules) 2. Fordítás, futtatás (Translation, run) 3. C++ program felépítése (Structure C ++ program) 3. Alaptípusok, változók és konstansok (Basic types, variables and constants) - jún.17 1. C++ adatok csoportosítása C ++ Data Grouping 2. Változók definiálása (Define Variables) 3. Adattípusok áttekintése (Overview of Data Types) 4. Konstansok (Constants) 4. Alapműveletek és kifejezések (Basic Operations and Expressions - jún.18 1. Operátorok csoportosítása (Operators Grouping 2. Műveleti sorrend (precedence) 3. Matematikai kifejezések (Mathematical expressions) 4. Értékadás (Assignment) 5. Logikai műveletek (Logical Operations) 5. Vezérlő utasítások (iteration, sequence, selection - jún.19 6. Kivételkezelés (Exception Handling) - jún.22 1. Kivételek kiváltása (Exceptions replacement) 2. Kivételek szűrése (Exceptions Filters) 7. Konzol kezelése (Managing Console I/O Operations) - jún.23 8. Tömbök és stringek (arrays and strings) - jún.24 1. Egy dimenziós tömb (1 -dimensional array) 2. n-dimenziós tömb(1 -dimensional array) 3. Sztringek (strings) 9. Felhasználói típusok (User Types) - jún.25 21. Struktúra (struvture) 22. A class osztálytípus (class) 10. Függvények (Functions) - jún.26 1. Függvény definíciója, hívása, deklarációja (Function definition, Call, Declaration 2. Függvény visszatérési értéke (Function returns) 11. Függvényekről magasabb szinten (function at a higher level - jún.25 1. Beágyazott függvények (Embedded Functions) 2. Függvények átdefiniálása (Functions remapping) 12. Bevezetés az objektum orientált világba (OOSD Object Oriented Software Development) - jún.29-30. 1. Alapelemek (Basic Elements) 2. Alapvető elvek (Basic Principles) 13. Osztályok és objektumok (Classes and Objects) júl.01.