2012. március 7. Paulik Áron Prog szakkör.

Slides:



Advertisements
Hasonló előadás
Az előadásokon oldandók meg. (Szimulációs modell is tartozik hozzájuk)
Advertisements

Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
A C nyelv utasításai. Kifejezés+ ; Utasítás printf("Hello")printf("Hello"); a=b+ca=b+c; fuggveny(a,b)fuggveny(a,b); Blokkok: több utasítás egymás után,
Tűzfal beállítása Ubuntuban
Algoritmizálás, adatmodellezés tanítása 4. előadás
Programozási Nyelvek (C++) Gyakorlat Gyak 01.
Junit testing.
A számítógép alapegységei
Programozási alapismeretek 1. előadás
Az első program, avagy ismerkedés a nyelvvel
Amit a HTML-ről érdemes tudni
Bevezetés a Java programozásba
Bevezetés a Java programozásba
Fájlkezelés, IO Kivételkezelés Belső osztályok
Programozás II. 3. Gyakorlat C++ alapok.
Multimédiás technikák 1. kérdés Melyik diszkrét médium? a)hang b)videó c)animáció d)kép.
Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu.
Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1 Programozó matematikus szak 2003/2004-es tanév II. félév.
2012. február 22. Paulik Áron. Szintaxis: PROGRAM befajlos VÁLTOZÓK: bf: BEFÁJL, kf: KIFÁJL, sz: SZÖVEG MEGNYIT bf: "adatok.txt" BE bf: sz LEZÁR bf …
2012. augusztus Nyári Tanártovábbképzés.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
CISC - RISC processzor jellemzők
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Nem determinisztikusság és párhuzamosság. A nem determinisztikusság a párhuzamosságban gyökeredzik. Példa: S par  parbegin x:=0   x:=1   x:=2 parend;
ANY u WHERE u : seq(MININT..MAXINT) & size(u) = size(s) & #f.(f : 1..size(s) >->> 1..size(s) & !j.(j : 1..size(s) => s(f(j)) = u(j))) & !i.(i : 1..size(s)-1.
C++ alapok, harmadik óra
Operációs rendszerek gyakorlat Fájlműveletek.
Bevezetés a C++ programozási nyelvbe
Programozás alapismeretek
P ROGRAMOZÁS I/O műveletek. S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk.
A programozás alapjai A számítógép számára a feladat meghatá- rozását programozásnak nevezzük. Ha a processzor utasításait használjuk a feladat meghatározásához,
Mikrovezérlők, perifériák laboratóriumi gyakorlat 3. óra szeptember 18. Mingesz Róbert v
MOS integrált áramkörök Mikroelektronika és Technológia BME Elektronikus Eszközök Tanszéke 1999 október.
A számítógép alapegységei. A számítógép a belsőleg tárolt program segítségével automatikusan hajtja végre a programokat. A memória utasítások és adatok.
KÉSZÍTETTE: LENKES DÁNIEL Parancssori feladatok. Alapfeladat Ismerkedjünk meg az „alap” parancsokkal, standard input-, output- és errorral  ls  find.
2012. február 15. Paulik Áron. i:=0 CIKLUS AMÍG i
Programozási nyelvek Páll Boglárka.
ALGORITMUSOK.
Természetes és formális nyelvek Jellemzők, szintaxis definiálása, Montague, extenzió - intenzió, kategóriákon alapuló gramatika, alkalmazások.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
Készítette: Csíki Gyula
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Input – output, adatfolyamok
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
C++11. TÖRTÉNETI ÁTTEKINTŐ Bjarne Stroustrup, AT&T 1979 C with classes 1983 ipari alkalmazás 1998 első szabvány 2003 apróbb módosítások 2005 tr
A C++ nyelv.
2012. március 21. Paulik Áron.  Ha a függvényünk feladata olyan, hogy nem lenne értelme a visszatérési értéknek, vagy csak nincs rá szükség, void típusúként.
Marketing- és Reklámügyintéző – Számítástechnikai alapismeretek, fájlkezelés 1 A szoftverek Csoportosításuk, verziók.
Fájlkezelés Programozási tételek
Struktúrák a C nyelvben 1 Akkor használjuk, ha az egy egyedre jellemző különböző típusú adatokat együtt akarjuk tárolni. Lényegében típusdeklaráció. A.
PIC mikrokontroller.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Programozás III JPA.
Neumann elvű számítógép. Neumann János ► Neumann János december 28-án Budapesten született ► 1930-ban emigrált az USA-ba.
Programstruktúrák. Program A program utasítások olyan sorozata, amely a számítógépen önállóan képes megoldani egy feladatot. A program háttértáron futtatható.
Neumann elvek, a számítógép részei
Compiler illetve interpreter nyelvek
LINQ to Xml Xml kezelése Linq-val Zaklóczki Dávid
Az átlátható programok kellékei
Fájlkezelés C++ alatt – péntek Jordán Sándor.
Programozási nyelvek alapfogalmai
Fájlkezelés C++ alatt – péntek Jordán Sándor.
Programozási alapismeretek 2. előadás
Az átlátható programok kellékei
A Számítógépek hardver elemei
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
A „Programozási alapismeretek” 2. gyakorlat
C++ Standard Template Library
Clang tooling.
Előadás másolata:

2012. március 7. Paulik Áron Prog szakkör

C++ bevezető Általános célú Magas szintű Tehát lényegében bármire használható  Magas szintű Könnyebben használható Platformfüggetlen: pl. Mac gépeken ugyanúgy használható, mint PC-n 1983 óta fejlesztik, megalkotója Bjarne Stroustrup Jelenleg a 4. legtöbbet használt nyelv

C++ bevezető Kódolás folyamata A leforduláshoz szükséges Szintaxis és Szemantika helyessége Megfelelő könyvtárak linkelése Fordításkor létrejön egy .exe fájl

Hello World! #include <iostream> Belinkeljük az iostream könyvtárat a fejlécének megnevezésével, amiben a bemenet-kimenet vezérlő utasítások találhatók, pl. a „cout” # szimbólum: az előfordítást jelzi i: input o: output stream: adatfolyam

Hello World! using namespace std; namespace: névtér, egy olyan halmaz, amiben egyedi nevek találhatóak std: a standard névtér Ha a fájl elején nem emeljük be (using), használhatjuk egyenként is: std::cout <<

Hello World! int main() { return 0; } Main: főfüggvény, a projekt fordításakor a vezérlés ezt értelmezi először, ez a belépési pont. Minden C++ programban kötelező! Return: visszatérés, jelen esetben 0-val. Ez jelzi az oprendszernek, hogy nem történt hiba.

Hello World! int main() { return 0; } függvény deklarációja int: visszatérési típus megjelölése main: függvény neve (): paraméterlista, jelenleg üres {…} programkód-blokk, a függvény törzse return x: a tényleges visszatérési érték

Hello World! cout << "Hello world!" << endl; cout: konzolra írás A kiíratás elemeit „<<” szimbólummal választjuk el endl: sortörés

C++ bevezető Szemantika Nevek nem kezdődhetnek számmal Case sensitive harmonika != Harmonika Kommentelés: // egy sor kikommentelése /// egy sor kikommentelése és kiemelése /* több sor kikommentelése */

Függvények A függvény a program egy saját működéssel rendelkező része (alprogramja), amely értéket ad vissza az őt meghívó utasításnak. A visszaadott érték a visszatérési érték, amelyet a return utasítással adunk meg, a függvény működése mindig leáll ennél a pontnál, ezért amit utána írunk, az nem kerül végrehajtásra.

Függvények Int main() { cout<<„ezt kiírja”; return 0; cout<<„ezt nem írja ki”; }

Vezérlési szerkezetek – elágazás A függvények többféle visszatérési érték közül választhatnak int main() { … if (…) { // elágazás, ha történik valami hiba return 1; // adjunk vissza 1-es kódot } else { // különben return 0; // adjunk vissza 0-s kódot }

Vezérlési szerkezetek – elágazás if (<logikai kifejezés>) { utasítás1; utasítás2; } VAGY if (<logikai kifejezés>) utasítás;

Vezérlési szerkezetek – while ciklus while (<feltétel>) { <utasítások> } do

Vezérlési szerkezetek – for ciklus for (<számláló kezdőérték>; <számláló feltétele>; <számláló inkrementálás>) { <utasítások> } Tehát pl: for (int i=0; i<10; i++) cout << i << endl;

Operátorok Értékadás összeadás (+) kivonás (–) szorzás (*) osztás (/), b = 3 összeadás (+) kivonás (–) szorzás (*) osztás (/), maradékképzés (modulo) (%) inkrementálás (++), dekrementálás (--)

Operátorok Logikai operátorok egyenlőségvizsgálat (==) különbségvizsgálat (!=) kisebb (<) nagyobb (>) kisebb, vagy egyenlő (<=) nagyobb, vagy egyenlő (>=) tagadás (!) és (&&) vagy (||)

Könnyítő megoldások „a = a + b” ugyanaz, mint „a += b” Ugyanígy használható a -=, *=, /=, %=

Indexelés Tömb, string indexelése: T[2] S[3] Mint Plangban

Változók Bárhol deklarálhatók, nem csak a program elején! Ha függvényen kívül hozzuk létre: globális változó (nem szerencsés, hibákat okozhat) int x; int main() { … }

Változók Programblokkban, függvényben deklarálva: lokális változó A blokk végére érve megszűnnek létezni változó deklaráció: <típus> <változónév>; lehetőségünk van kezdőértéket is adni a változónak: <típus> <változónév> = <kezdőérték>;

Változók Tehát: double x; char c = ’é’; string f,g,h; bool log = false; int a[10];

Beolvasás cin kulcsszóval: int a; std::cin >> a; // a bekérése std::cout << „A értéke: ” << a; // kiíratása figyelem: cin >> és cout <<

Programok fordítása Projekt a Code::Blocksban Forrásfájlok kiterjesztése: .cpp Fordítási üzenetek: Error: a kód nem fordítható, javítani kell Warning: fordítható, de lehetséges, hogy futás közben hiba lesz

Feladatok Írjuk ki egy egész szám rákövetkezőjét! kell egy egész típusú változó, legyen a neve ‘a’ az értékét inkrementálással megnöveljük használjuk a konzolról való bekérést és kiíratást, tehát szükségünk van az iostream-re Specifikáció: bemenet: egész szám (a) kimenet: a + 1

Feladatok Feladat: olvassunk be egy egész és egy valós számot, és írjuk ki a hányadosukat. Egy egész és egy valós számot olvasunk be egymás után, az első számot osztjuk a másodikkal, az eredményt egy harmadik valós számba tesszük Specifikáció: bemenet: egy egész szám (a) és egy valós szám (b) kimenet: a két szám hányadosa a harmadik (c) számban

Feladatok Feladat: döntsük el egy egész számról, hogy páros-e. a bekérés előtt írassuk ki a képernyőre, hogy mit kérünk be elágazás segítségével szövegesen adjuk meg a választ párosság eldöntése: 2-vel való osztás maradéka Specifikáció: bemenet: egész szám (szam) kimenet: „A szám páros”, ha szam páros, „A szám páratlan”, ha szam nem páros

Feladatok Feladat: írjunk ki N darab * jelet a képernyőre. N értékét bekérjük a felhasználótól egy számláló ciklusban minden lépésben kiírunk egy csillagot, legyen a ciklusváltozó i Specifikáció: bemenet: egész szám (n) kimenet: n db csillag

További feladatok Feladatgyűjtemény C++ adatbázis: cppreference.org Kifejezések 4-7 Vegyes 3, 4 C++ adatbázis: cppreference.org A Google a barátod 