Pénzügyi algoritmusok

Hasonló dokumentumok
A C++ PROGRAMOZÁS ALAPJAI

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

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

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

Bevezetés a programozásba I.

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Bevezetés a programozásba I.

A C# programozási nyelv alapjai

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

Java programozási nyelv

Pénzügyi algoritmusok

1. Alapok. Programozás II

Java II. I A Java programozási nyelv alapelemei

Információs Technológia

Programozás C++ -ban

Szoftvertervezés és -fejlesztés I.

C++ programok fordítása

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

Bevezetés a programozásba I.

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Bevezetés a programozásba. 8. Előadás: Függvények 2.

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

A C# PROGRAMOZÁSI NYELV

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

Programozás C és C++ -ban

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

Alprogramok, paraméterátadás

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

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

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

Programozási Nyelvek (C++) Összefoglaló

Bevezetés Kiíratás Beolvasás Formázás Fájlkezelés Gyakorló feladatok C++ I/O. Bevezetés. Izsó Tamás február 20. Izsó Tamás C++ I/O / 1

Bevezetés a programozásba. 6. Előadás: C++ bevezető

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

Kifejezések. Kozsik Tamás. December 11, 2016

Maximum kiválasztás tömbben

Informatika terméktervezőknek

C vagy C++? Programozási Nyelvek és Fordítóprogramok Tanszék. Pataki Norbert. Programozási Nyelvek I.

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

Programozási nyelvek (ADA)

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

Alkalmazott modul: Programozás 2. fejezet. C++ alapismeretek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Programozási nyelvek JAVA EA+GY 1. gyakolat

Java II. I A Java programozási nyelv alapelemei

Szoftvertechnológia alapjai Java előadások

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

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

Készítette: Nagy Tibor István

Bevezetés a programozásba. 9. Előadás: Rekordok

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

117. AA Megoldó Alfréd AA 117.

Programozás II gyakorlat. 8. Operátor túlterhelés

Bevezetés a programozásba Előadás: A const

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

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r

Szelekció. Döntéshozatal

Óbudai Egyetem. C programozási nyelv

Kifejezések. Kozsik Tamás. December 11, 2016

Programozás C és C++ -ban

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

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

C programozási nyelv

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

C programozás. 1 óra Bevezetés

Vezérlési szerkezetek

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

Stack Vezérlés szerkezet Adat 2.

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

Programozás C++ -ban

Készítette: Nagy Tibor István

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

GYAKORLATIAS JAVA MINTA

INFORMATIKA tétel 2018

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Programozási Nyelvek: C++

B I T M A N B I v: T M A N

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

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

PROGRAMOZÁSI NYELVEK - CPP. ELŐADÁS JEGYZET

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

Programzás I gyakorlat

Programozási alapismeretek 1. előadás

3. Gyakorlat Ismerkedés a Java nyelvvel

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Programozás I. gyakorlat

Programozás C++ -ban 2007/1

Programozás alapjai II. (2. ea) C++

Programozás alapjai II. (2. ea) C++

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

Bevezetés a C++ programozásba

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.

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >;

Programozás alapjai II. (1. ea) C++

Programozás alapjai II. (1. ea) C++

Bevezetés a programozásba. 11. Előadás: Esettanulmány

Dinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése

Átírás:

Pénzügyi algoritmusok A C++ programozás alapjai Az Integrált Fejlesztői Környezet C++ alapok

Az Integrált Fejlesztői Környezet Visual Studio 2013 Community Edition

Kitekintés: fordítás Preprocesszor Fordító (Compiler) Linker Lehetővé teszi a kód előzetes feldolgozását, generálását, konfigurálását Az egyes forrásfájlokból gépi kódot generál, a többi fájlra hivatkozó részeket üresen hagyva A fordító által generált részeket összeköti, előállítva a végső futtatható állományt

C++ alapok

Hello World! #include <iostream> using namespace std; int main() cout << "Hello world!" << endl; return 0;

Hello World! #include <iostream> using namespace std; int main() Utasítás (statement) cout << "Hello world!" << endl; return 0; Az utasításokat pontosvessző zárja

Hello World! #include <iostream> using namespace std; int (kimeneti main() folyam) Character OUTput Idézőjelek között szöveges konstans END of Line cout << "Hello world!" << endl; return 0; Insert operátor Insert operátor

Hello World! #include A program fő függvénye <iostream> using namespace std; int main() cout << "Hello world!" << endl; return 0;

Hello World! #include A függvény fejléce <iostream> using namespace std; A függvény törzse int main() cout << "Hello world!" << endl; return 0;

Hello World! #include <iostream> using namespace std; A függvény visszatérési értéke (eredménye) int main() A függvény paraméterei (most üres) cout << "Hello world!" << endl; A függvény neve return 0;

Hello World! #include <iostream> using namespace std; A program belépési pontja, a kapcsos zárójelek int main() (brace) közötti kód fut le az.exe indításakor cout << "Hello world!" << endl; return 0;

Hello World! #include <iostream> using namespace std; int main() cout << "Hello world!" << endl; return 0; return : vége a fő függvénynek (programnak) 0 : nem történt hiba (egyezményes alapon)

Hello World! Kész programrészletek beemelése #include <iostream> using namespace std; <iostream>: beépített programkönyvtár - std::cout - std::cin - std::endl -... int main() cout << "Hello world!" << endl; return 0;

Kitekintés: Nevek és Névterek A programkódban mindennek neve van Típusok, függvények, stb. Lehet két különböző dolognak ugyanaz a neve? A teljes név a névterekből és a saját névből áll: corvinus::derivative::helloworld::myfunction névtér névtér névtér függvénynév corvinus derivative helloworld MyFunction homework MyFunction

Hello World! #include <iostream> using namespace std; int main() Teljes névtér beemelése, hogy ne kelljen kiírni a teljes nevet: cout << "Hello world!" << endl; std::cout helyett cout írható return 0;

Utasítások és utasításblokkok Program: utasítások sorozata Utasítás (statement): (Többnyire) egyetlen parancs Pontosvesszővel zárva! return 0; Utasításblokk (code block): Több utasítás együttese Kapcsos zárójelek között cout << "Bye!"; return 0;

Változók Változó (variable): Egy névvel ellátott memóriaszelet Adatot tárolhat, ami futás közben változhat Típusa van A foglalt memória mérete és használata a típustól függ Változók deklarálása: A változó típusa, neve, esetleg kezdeti értéke Pl. int a = 1; A változó a deklarálás után használható De csak az adott utasításblokkon vagy függvényen belül A main függvényen kívül deklarált változó mindenhol használható ( globális változó )

Típusok Karakter típusok Character types Egész típusok (előjeles) Integer types (signed) Egész típusok (előjel nélküli) Integer types (unsigned) Lebegőpontos típusok Floating-point types Logikai (Bool) típus Boolean type Üres típus Void type char char16_t char32_t wchar_t signed char signed short int signed int signed long int signed long long int unsigned char unsigned short int unsigned int unsigned long int unsigned long long int float double long double bool void Exactly one byte in size. At least 8 bits. Not smaller than char. At least 16 bits. Not smaller than char16_t. At least 32 bits. Can represent the largest supported character set. Same size as char. At least 8 bits. Not smaller than char. At least 16 bits. Not smaller than short. At least 16 bits. Not smaller than int. At least 32 bits. Not smaller than long. At least 64 bits. (same size as their signed counterparts) Precision not less than float. Precision not less than double. no storage

Konstansok Literál (literal): A kódban megjelenő szövegek (idézőjelben) és számok Preprocesszor szimbólum: Fordítás előtt a definiált értékre cserélődnek Pl. #define MAX 10 Ahol a kódban MAX szerepel, ott a fordító 10-et fog látni. Konstans változó (constant variable): Bármilyen változó, ha a deklaráció elé a const módosítót írjuk A változó értéke az inicializálás után nem módosítható

Kifejezések Kifejezés (expression): Minden, ami kiértékelhető eredményt ad Tehát egyetlen változó vagy konstans is A kifejezés önmagában is utasítás money * (1 + rate) De leggyakrabban utasítások része Az összetett kifejezések operátorokat tartalmaznak Egy, kettő vagy három kifejezés eredményéből előállítanak egy új eredményt Kiértékelésük sorrendjét a precedencia határozza meg Értékadó (assignment) operátor bal oldalán csak változó állhat

Operátorok (kivonat) Level Precedence group Operator Description Grouping 1 Scope :: scope qualifier Left-to-right 2 Postfix (unary) ++ -- postfix increment / decrement () functional forms Left-to-right ++ -- prefix increment / decrement + - unary prefix 3 Prefix (unary) & * reference / dereference new delete allocation / deallocation Right-to-left sizeof parameter pack (type) C-style type-casting 5 Arithmetic: scaling * / % multiply, divide, modulo Left-to-right 6 Arithmetic: addition + - addition, subtraction Left-to-right 8 Relational < > <= >= comparison operators Left-to-right 9 Equality ==!= equality / inequality Left-to-right 13 Conjunction && logical AND Left-to-right 14 Disjunction logical OR Left-to-right 15 Assignment-level = *= /= %= += -= assignment / compound assignment expressions?: conditional operator Right-to-left 16 Sequencing, comma separator Left-to-right

Elágazás (branching) Elágazás (branching): Döntési pontok a kódban Logikai változókkal vagy kifejezésekkel Legegyszerűbb formája: if szerkezet A következő utasítás vagy blokk akkor fut le, ha a feltétel igaz Hamis érték esetén az opcionális else kulcsszó utáni utasítás vagy blokk fut le Több feltétel is kiértékelhető az else if összetétellel if (expr) stmt; else if (expr) stmt; else stmt;... stmt;

While ciklus Elöltesztelő ciklus: A következő utasítás vagy blokk akkor fut le, ha a feltétel igaz A végrehajtás után visszatérünk a ciklus elejére while (expr) stmt;... stmt;

For ciklus Három részből áll Inicializálás (utasítás) Feltétel kiértékelés (logikai kifejezés) Ciklus végi utasítás (utasítás) Belépéskor megtörténik az inicializálás Minden végrehajtás előtt kiértékelődik a feltétel A ciklus végén végrehajtódik az utasítás, majd visszatérünk a ciklus elejére for (stmt; expr; stmt)...

Do While ciklus Hátultesztelő ciklus: A következő utasítás vagy blokk mindenképp lefut egyszer A végrehajtás után akkor térünk vissza a ciklus elejére, ha a feltétel igaz do stmt;... stmt; while (expr);

Köszönöm a figyelmet!