Bevezetés a programozásba. 11. Előadás: Esettanulmány
|
|
- Zoltán Hajdu
- 7 évvel ezelőtt
- Látták:
Átírás
1 Bevezetés a programozásba 11. Előadás: Esettanulmány
2 ISMÉTLÉS Függvényhívás #include #include <iostream> <iostream> #include #include <cmath> <cmath> using using namespace namespace std; std; double double terulet(double terulet(double a, a, double double b, b, double double c) c) double double s = (a+b+c)/2.0; (a+b+c)/2.0; return return sqrt((s-a)*(s-b)*(s-c)*s); sqrt((s-a)*(s-b)*(s-c)*s); int int main() main() double double ha,hb,hc; ha,hb,hc; cin cin >> >> ha ha >> >> hb hb >> >> hc; hc; double double t = terulet(ha,hb,hc); terulet(ha,hb,hc); cout cout "terulet: "terulet: " t endl; endl; return return 0; 0;
3 ISMÉTLÉS Függvények double double terulet(double terulet(double a, a, double double b, b, double double c) c) Szignatúra: Visszatérési típus (a függvény típusának is nevezik) Függvény neve Zárójelben Paraméter 1, ha van Paraméter 2, ha van.. A szignatúrából minden kiderül arról, hogyan kell használni a függvényt
4 ISMÉTLÉS Strukturált programozás Programtervezési elv: a feladatot osszuk részfeladatokra, és függvényekben csoportosítsuk azokat dekompozíció, redukció int nagyonnehézfeladat(p1 P2 P3..) egyikkicsitkönnyebb(p2 P4..); másikkicsitkönnyebb(p1 P2..);... Top-down vagy Bottom-up felépítés 80-as évekig nagy szoftvereknél egyeduralkodó
5 ISMÉTLÉS PLanG: STL vector C++ [semmi] VÁLTOZÓK : t:egész[10] t[0] := 1 [ilyet PLanG-ban nem lehet csinálni] #include <vector> vector<int> t(10); vagy vector<int> t(10,0); t[0]=1 int osszeg(vector<int> t) int sum=0; for (int i=0;i<t.size() ;i++) sum+=t[i]; return sum; osszeg(t)
6 ISMÉTLÉS Érték szerinti paraméterátadás #include #include <iostream> <iostream> using using namespace namespace std; std; Másolat készül void void fv(double fv(double a) a) a=0; a=0; int int main() main() double double d; d; d=1; d=1; fv(d); fv(d); cout cout "eredmeny: "eredmeny: " d endl; endl; return return 0; 0; Az eredmény: 1
7 Referencia szerinti paraméterátadás ISMÉTLÉS #include #include <iostream> <iostream> using using namespace namespace std; std; Másolat készül void void fv(double fv(double & a) a) a=0; a=0; int int main() main() double double d; d; d=1; d=1; fv(d); fv(d); cout cout "eredmeny: "eredmeny: " d endl; endl; return return 0; 0; Az eredmény: 0
8 ISMÉTLÉS struct #include <iostream> using using namespace std; std; struct koord koord double x,y; x,y; ; ; int int main() koord koord k; k; k.x=1.0; k.y=1.0; cout cout "[" "[" k.x k.x "," "," k.y k.y "]" "]" endl; endl; return 0; 0;
9 ISMÉTLÉS struct structban struct ember string nev; string lakcim; int szuletesi_ev; ; ; struct diak ember e; e; vector<int> jegyek; ; ;
10 ISMÉTLÉS struct és függvények struct struct pont pont double double x,y; x,y; string string nev; nev; ; ; void void kiir(pont p) p) cout cout "[" "[" p.x p.x "," "," p.y p.y "," "," p.nev p.nev "]" "]" endl; endl; int int main() main() pont pont p; p; kiir(p); kiir(p); return return 0; 0;
11 ISMÉTLÉS Operátorok struct struct pont pont double double x,y; x,y; ; ; bool bool operator==(pont a, a, pont pont b) b) return return a.x==b.x a.x==b.x && && a.y a.y == == b.y; b.y; int int main() main() pont pont a=1.0,1.0, b=0.0,0.0; cout cout (a==b); (a==b); return return 0; 0;
12 ISMÉTLÉS Operátorok Megvalósítható alakú: + - * &! ~ operator@(a).. a@ alakú: operator@(a, int).. a@b alakú : + - * / % ^ & < > ==!= <= >= >> &&, operator@(a,b).. Az operátorok szerepét illik a nevükhöz és a szokásos jelentésükhöz igazodva használni. Alaptípusokra nem bírálhatjuk felül az operátort
13 ISMÉTLÉS Tervezési kérdések struct struct pont pont double double x,y; x,y; ; ; double double tav(pont tav(pont a, a, pont pont b) b) return return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); pont pont legtavolabbi(pont legtavolabbi(pont a, a, vector<pont> vector<pont> v) v) pont pont b=v[0]; b=v[0]; double double max=tav(a,b); max=tav(a,b); for for (int (int i=1;i<v.size();i++) i=1;i<v.size();i++) if if (tav(a,v[i])>max) (tav(a,v[i])>max) b=v[i]; b=v[i]; max=tav(a,b); max=tav(a,b); return return b; b;
14 ISMÉTLÉS Tervezési kérdések struct struct pont pont double double x,y,z; x,y,z; ; ; double double tav(pont tav(pont a, a, pont pont b) b) return return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+ sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+ (a.z-b.z)*(a.z-b.z)); (a.z-b.z)*(a.z-b.z)); pont pont legtavolabbi(pont legtavolabbi(pont a, a, vector<pont> vector<pont> v) v) pont pont b=v[0]; b=v[0]; double double max=tav(a,b); max=tav(a,b); for for (int (int i=1;i<v.size();i++) i=1;i<v.size();i++) if if (tav(a,v[i])>max) (tav(a,v[i])>max) b=v[i]; b=v[i]; max=tav(a,b); max=tav(a,b); return return b; b;
15 ISMÉTLÉS Tagfüggvény struct struct koord koord double double x,y; x,y; void void olvas(istream &be) &be) be be >> >> x >> >> y; y; ; ; int int main() main() koord koord a; a; a.olvas(cin); cout cout a.x a.x "," "," a.y a.y endl; endl; return return 0; 0;
16 Gyakorlatban Nézzünk meg egy példát Feladat: szöveges labirintusos játék A játékban helyszínek vannak, amikről a felhasználó rövid leírást kap Minden helyszín összeköttetésben állhat más helyszínekkel, amerre tovább lehet menni A felhasználó minden helyszínen megadhatja, hogy merre megy tovább Ha megérkezik a célba, nyer
17 Ahogy azt régen csináltuk volna #include <iostream> #include <iostream> using namespace std; using namespace std; int main() int main() int h=1; int h=1; while (h!=4) while (h!=4) if (h==1) if (h==1) cout "Otthon vagy. Mehetsz a parkba, vagy a bolthoz." endl; cout "Otthon vagy. Mehetsz a parkba, vagy a bolthoz." endl; if (h==2) if (h==2) cout "A parkban vagy. Mehetsz a suliba, vagy haza." endl; cout "A parkban vagy. Mehetsz a suliba, vagy haza." endl; if (h==3) if (h==3) cout "A boltnál vagy. Mehetsz a suliba, vagy haza." endl; cout "A boltnál vagy. Mehetsz a suliba, vagy haza." endl; cout "Hova mész? (1:haza, 2:park, 3:bolt, 4:suli) : "; cout "Hova mész? (1:haza, 2:park, 3:bolt, 4:suli) : "; cin >> h; cin >> h; cout "Megérkeztél a suliba, éljen." endl; cout "Megérkeztél a suliba, éljen." endl;
18 Ahogy azt régen csináltuk volna #include <iostream> #include <iostream> using namespace std; using namespace std; Gyanúsan repetitív kód int main() int main() int h=1; int h=1; while (h!=4) while (h!=4) if (h==1) if (h==1) cout "Otthon vagy. Mehetsz a parkba, vagy a bolthoz." endl; cout "Otthon vagy. Mehetsz a parkba, vagy a bolthoz." endl; if (h==2) if (h==2) cout "A parkban vagy. Mehetsz a suliba, vagy haza." endl; cout "A parkban vagy. Mehetsz a suliba, vagy haza." endl; if (h==3) if (h==3) cout "A boltnál vagy. Mehetsz a suliba, vagy haza." endl; cout "A boltnál vagy. Mehetsz a suliba, vagy haza." endl; cout "Hova mész? (1:haza, 2:park, 3:bolt, 4:suli) : "; cout "Hova mész? (1:haza, 2:park, 3:bolt, 4:suli) : "; cin >> h; cin >> h; cout "Megérkeztél a suliba, éljen." endl; cout "Megérkeztél a suliba, éljen." endl; Lehet csalni
19 1.1 #include <iostream> #include <iostream> using namespace std; using namespace std; int main() int main() int h=1; int h=1; while (h!=4) while (h!=4) if (h==1) if (h==1) cout "Otthon vagy. Mehetsz a parkba, vagy a bolthoz." endl; cout "Otthon vagy. Mehetsz a parkba, vagy a bolthoz." endl; if (h==2) if (h==2) cout "A parkban vagy. Mehetsz a suliba, vagy haza." endl; cout "A parkban vagy. Mehetsz a suliba, vagy haza." endl; if (h==3) if (h==3) cout "A boltnál vagy. Mehetsz a suliba, vagy haza." endl; cout "A boltnál vagy. Mehetsz a suliba, vagy haza." endl; cout "Hova mész? (1:haza, 2:park, 3:bolt, 4:suli) : "; cout "Hova mész? (1:haza, 2:park, 3:bolt, 4:suli) : "; int hova; int hova; cin >> hova; cin >> hova; if (h==1 && (hova==2 hova==3) if (h==1 && (hova==2 hova==3) h==2 && (hova==1 hova==4) h==2 && (hova==1 hova==4) h==3 && (hova==1 hova==4)) h==3 && (hova==1 hova==4)) h=hova; h=hova; else else cout "Arra nem lehet menni innen." endl; cout "Arra nem lehet menni innen." endl; cout "Megérkeztél a suliba, éljen." endl; cout "Megérkeztél a suliba, éljen." endl;
20 1.1 #include <iostream> #include <iostream> using namespace std; using namespace std; Ez még mindig int main() int main() int h=1; repetitív int h=1; while (h!=4) while (h!=4) if (h==1) if (h==1) cout "Otthon vagy. Mehetsz a parkba, vagy a bolthoz." endl; cout "Otthon vagy. Mehetsz a parkba, vagy a bolthoz." endl; if (h==2) if (h==2) cout "A parkban vagy. Mehetsz a suliba, vagy haza." endl; cout "A parkban vagy. Mehetsz a suliba, vagy haza." endl; if (h==3) if (h==3) cout "A boltnál vagy. Mehetsz a suliba, vagy haza." endl; cout "A boltnál vagy. Mehetsz a suliba, vagy haza." endl; cout "Hova mész? (1:haza, 2:park, 3:bolt, 4:suli) : "; cout "Hova mész? (1:haza, 2:park, 3:bolt, 4:suli) : "; int hova; int hova; cin >> hova; cin >> hova; if (h==1 && (hova==2 hova==3) if (h==1 && (hova==2 hova==3) Nehéz változtatni h==2 && (hova==1 hova==4) h==2 && (hova==1 hova==4) h==3 && (hova==1 hova==4)) a térképet, ez túl h==3 && (hova==1 hova==4)) h=hova; bonyolult h=hova; else else cout "Arra nem lehet menni innen." endl; cout "Arra nem lehet menni innen." endl; cout "Megérkeztél a suliba, éljen." endl; cout "Megérkeztél a suliba, éljen." endl;
21 1.2 #include <iostream> #include <iostream> #include <vector> #include <vector> using namespace std; using namespace std; int main() int main() vector<string> terkep(4); vector<string> terkep(4); terkep[0]="otthon vagy. Mehetsz a parkba, vagy a bolthoz."; terkep[0]="otthon vagy. Mehetsz a parkba, vagy a bolthoz."; terkep[1]="a parkban vagy. Mehetsz a suliba, vagy haza."; terkep[1]="a parkban vagy. Mehetsz a suliba, vagy haza."; terkep[2]="a boltnál vagy. Mehetsz a suliba, vagy haza."; terkep[2]="a boltnál vagy. Mehetsz a suliba, vagy haza."; terkep[3]="megérkeztél a suliba, éljen."; terkep[3]="megérkeztél a suliba, éljen."; int h=0; int h=0; cout terkep[h] endl; cout terkep[h] endl; while (h!=3) while (h!=3) cout "Hova mész? (0:haza, 1:park, 2:bolt, 3:suli) : "; cout "Hova mész? (0:haza, 1:park, 2:bolt, 3:suli) : "; int hova; int hova; cin >> hova; cin >> hova; if ( if ( h==0 && (hova==1 hova==2) h==0 && (hova==1 hova==2) h==1 && (hova==0 hova==3) h==1 && (hova==0 hova==3) h==2 && (hova==0 hova==3) h==2 && (hova==0 hova==3) ) ) h=hova; h=hova; else else cout "Arra nem lehet menni innen." endl; cout "Arra nem lehet menni innen." endl; cout terkep[h] endl; cout terkep[h] endl;
22 #include <iostream> #include <iostream> #include <vector> #include <vector> using namespace std; using namespace std; 1.2 int main() int main() vector<string> terkep(4); vector<string> terkep(4); terkep[0]="otthon vagy. Mehetsz a parkba, vagy a bolthoz."; terkep[0]="otthon vagy. Mehetsz a parkba, vagy a bolthoz."; terkep[1]="a parkban vagy. Mehetsz a suliba, vagy haza."; terkep[1]="a parkban vagy. Mehetsz a suliba, vagy haza."; terkep[2]="a boltnál vagy. Mehetsz a suliba, vagy haza."; terkep[2]="a boltnál vagy. Mehetsz a suliba, vagy haza."; terkep[3]="megérkeztél a suliba, éljen."; terkep[3]="megérkeztél a suliba, éljen."; int h=0; int h=0; cout terkep[h] endl; cout terkep[h] endl; while (h!=3) while (h!=3) cout "Hova mész? (0:haza, 1:park, 2:bolt, 3:suli) : "; cout "Hova mész? (0:haza, 1:park, 2:bolt, 3:suli) : "; int hova; int hova; cin >> hova; cin >> hova; if ( if ( h==0 && (hova==1 hova==2) h==0 && (hova==1 hova==2) h==1 && (hova==0 hova==3) h==1 && (hova==0 hova==3) h==2 && (hova==0 hova==3) h==2 && (hova==0 hova==3) ) ) h=hova; h=hova; else else cout "Arra nem lehet menni innen." endl; cout "Arra nem lehet menni innen." endl; cout terkep[h] endl; cout terkep[h] endl; Ez még mindig túl merev szerkezet
23 Bedrótozott adat Azt nevezzük bedrótozott -nak, ami a programkódban fixen le van írva, pedig jobb lenne, ha nem így lenne Adott esetben egy olyan program, ami a térképet fájlból olvasná be Általában cél, hogy a végleges programban már ne legyen olyan bedrótozott adat, ami a feladatban megváltozhat Ez viszont sokszor nem túl egyszerű, kicsit gondolkodni kell hozzá
24 Jön a struct Azt láttuk, hogy ha szeretnénk kiemelni a bedrótozott adatot, akkor kezelni kell a következőket tájékoztató szöveg kiírása az egyes helyszíneken az összeköttetések a helyszínek között esetleg a helyszínek neve Ezek közül az összeköttetések kezelése a legnehezebb
25 std::vector Azon túl, hogy a primitív tömbnél jobb paraméterátadásnál kezdeti értékben méretnek változót is kaphat, nem csak konstanst Néhány további hasznos szolgáltatás push_back(elem) : a tömb végére új elemet tehetünk resize(újméret) : átméretezhető bármikor
26 A helyszín reprezentációja struct hely hely string nev; nev; string leiras; vector<int> hova; ; ; A név és a leírás szöveges változóval megoldható Az összeköttetéseket tömbben reprezentáljuk, aminek az elemei az innen elérhető helyszínek kódjai
27 2.0 #include <iostream> #include <iostream> #include <vector> #include <vector> using namespace std; using namespace std; struct hely struct hely string nev; string nev; string leiras; string leiras; vector<int> hova; vector<int> hova; ; ; int main() int main() vector<hely> terkep(4); vector<hely> terkep(4); terkep[0].nev="otthon"; terkep[0].nev="otthon"; terkep[0].leiras="otthon vagy. Mehetsz a parkba, vagy a bolthoz."; terkep[0].leiras="otthon vagy. Mehetsz a parkba, vagy a bolthoz."; terkep[0].hova.push_back(1); terkep[0].hova.push_back(1); terkep[0].hova.push_back(2); terkep[0].hova.push_back(2); terkep[1].nev="park"; terkep[1].nev="park"; terkep[1].leiras="a parkban vagy. Mehetsz a suliba, vagy haza."; terkep[1].leiras="a parkban vagy. Mehetsz a suliba, vagy haza."; terkep[1].hova.push_back(0); terkep[1].hova.push_back(0); terkep[1].hova.push_back(3); terkep[1].hova.push_back(3); terkep[2].nev="bolt"; terkep[2].nev="bolt"; terkep[2].leiras="a boltnál vagy. Mehetsz a suliba, vagy haza."; terkep[2].leiras="a boltnál vagy. Mehetsz a suliba, vagy haza."; terkep[2].hova.push_back(0); terkep[2].hova.push_back(0); terkep[2].hova.push_back(3); terkep[2].hova.push_back(3); terkep[3].nev="suli"; terkep[3].nev="suli"; terkep[3].leiras="megérkeztél a suliba, éljen."; terkep[3].leiras="megérkeztél a suliba, éljen.";
28 2.0 terkep[3].nev="suli"; terkep[3].nev="suli"; terkep[3].leiras="megérkeztél a suliba, éljen."; terkep[3].leiras="megérkeztél a suliba, éljen."; int h=0; int h=0; cout terkep[h].leiras endl; cout terkep[h].leiras endl; while (h!=3) while (h!=3) cout "Hova mész?" endl; cout "Hova mész?" endl; for (int i=0;i<terkep[h].hova.size();i++) for (int i=0;i<terkep[h].hova.size();i++) cout i+1 ":" terkep[terkep[h].hova[i]].nev endl; cout i+1 ":" terkep[terkep[h].hova[i]].nev endl; int melyik; int melyik; cin >> melyik; cin >> melyik; if (melyik > 0 && melyik <= terkep[h].hova.size()) if (melyik > 0 && melyik <= terkep[h].hova.size()) h=terkep[h].hova[melyik-1]; h=terkep[h].hova[melyik-1]; else else cout "Hibás válasz." endl; cout "Hibás válasz." endl; cout terkep[h].leiras endl; cout terkep[h].leiras endl;
29 2.0 terkep[3].nev="suli"; terkep[3].nev="suli"; terkep[3].leiras="megérkeztél a suliba, éljen."; terkep[3].leiras="megérkeztél a suliba, éljen."; int h=0; int h=0; cout terkep[h].leiras endl; cout terkep[h].leiras endl; while (h!=3) while (h!=3) cout "Hova mész?" endl; cout "Hova mész?" endl; for (int i=0;i<terkep[h].hova.size();i++) for (int i=0;i<terkep[h].hova.size();i++) cout i+1 ":" terkep[terkep[h].hova[i]].nev endl; cout i+1 ":" terkep[terkep[h].hova[i]].nev endl; int melyik; int melyik; menü cin >> melyik; cin >> melyik; if (melyik > 0 && melyik <= terkep[h].hova.size()) if (melyik > 0 && melyik <= terkep[h].hova.size()) h=terkep[h].hova[melyik-1]; h=terkep[h].hova[melyik-1]; else else cout "Hibás válasz." endl; cout "Hibás válasz." endl; cout terkep[h].leiras endl; cout terkep[h].leiras endl;
30 2.0 értékelés Sikeresen szeparáltuk a konkrét adatokat az általános működéstől Felkészültünk arra, hogy fájlból töltsük be a konkrét adatokat Ezt azzal értük el, hogy azonosítható helyszíneket használtunk a helyszínek tulajdonságainak összetartozását is kifejeztük Így végül a főprogram lényegi része független lett az aktuális térképtől
31 2.1 adatok.txt otthon otthon Otthon Otthon vagy. vagy. Mehetsz Mehetsz a parkba, parkba, vagy vagy a bolthoz. bolthoz park park A parkban parkban vagy. vagy. Mehetsz program Mehetsz a suliba, suliba, vagy vagy haza. haza bolt bolt void void betolt(ifstream betolt(ifstream &be, &be, hely hely & mit) mit) A boltnál boltnál vagy. vagy. Mehetsz Mehetsz be be >> a >> suliba, ws; suliba, ws; vagy vagy haza. haza getline(be, getline(be, mit.nev); mit.nev); suli suli getline(be, getline(be, mit.leiras); mit.leiras); Megérkeztél Megérkeztél a suliba, suliba, int int éljen. éljen. lsz,h; lsz,h; 0 be be >> >> lsz; lsz; for for (int (int i=0;i<lsz;i++) i=0;i<lsz;i++) be be >> >> h; h; mit.hova.push_back(h); mit.hova.push_back(h);
32 2.1 adatok.txt otthon otthon Otthon Otthon vagy. vagy. Mehetsz Mehetsz a parkba, parkba, vagy vagy a bolthoz. bolthoz park park A parkban parkban vagy. vagy. Mehetsz program Mehetsz a suliba, suliba, vagy vagy haza. haza bolt bolt Ha esetleg void void betolt(ifstream betolt(ifstream &be, &be, hely hely & mit) mit) A boltnál még boltnál vagy. az előző vagy. Mehetsz Mehetsz be be >> a >> suliba, ws; suliba, ws; vagy vagy haza. haza sor végén getline(be, getline(be, mit.nev); állunk mit.nev); suli suli getline(be, getline(be, mit.leiras); mit.leiras); Megérkeztél Megérkeztél a suliba, suliba, int int éljen. éljen. lsz,h; lsz,h; 0 be be >> >> lsz; lsz; for for (int (int i=0;i<lsz;i++) i=0;i<lsz;i++) be be >> >> h; h; mit.hova.push_back(h); mit.hova.push_back(h);
33 2.1 int int main() main() ifstream ifstream f("adatok.txt"); f("adatok.txt"); int int hsz, hsz, cel; cel; f f >> >> hsz hsz >> >> cel; cel; vector<hely> vector<hely> terkep(hsz); terkep(hsz); for for (int (int i=0;i<hsz;i++) i=0;i<hsz;i++) betolt(f,terkep[i]); betolt(f,terkep[i]); int int h=0; h=0; cout cout terkep[h].leiras terkep[h].leiras endl; endl; while while (h!=cel) (h!=cel) cout cout "Hova "Hova mész?" mész?" endl; endl; for for (int (int i=0;i<terkep[h].hova.size();i++) i=0;i<terkep[h].hova.size();i++) cout cout i+1 i+1 ":" ":" terkep[terkep[h].hova[i]].nev terkep[terkep[h].hova[i]].nev endl; endl; int int melyik; melyik; cin cin >> >> melyik; melyik; if if (melyik (melyik > > 0 0 && && melyik melyik <= <= terkep[h].hova.size()) terkep[h].hova.size()) h=terkep[h].hova[melyik-1]; h=terkep[h].hova[melyik-1]; else else cout cout "Hibás "Hibás válasz." válasz." endl; endl; cout cout terkep[h].leiras terkep[h].leiras endl; endl;
34 További lehetőségek A Térkép fogalmának bevezetése fájlnévből teljes térkép betöltés összeköttetések kezelése Néhány lehetséges változás a feladatban tárgyak kezelése, pl. csak akkor lehet egy összeköttetést használni, ha van nálunk kulcs Tárgy és Összeköttetés típusok bevezetésével, a főprogram ciklusának érintése nélkül megoldható grafikus megjelenítés A Hely mezőinek kibővítésével megoldható egyes helyszínek eltérő képe
35 Áttekintés Egy átlagos játékprogramon kevés programozó dolgozik, és nagyon sok designer Nem lehet bedrótozni semmit Szét kell választani a konkrét adatokat az általános működéstől Az általános működés megfogalmazásához jó, ha magasabb szintű fogalmakat használhatunk Megoldástér Problématér Ebben segít a struct és a függvények......vagyis a saját típusaink, és azok műveletei
Bevezetés a programozásba. 9. Előadás: Rekordok
Bevezetés a programozásba 9. Előadás: Rekordok ISMÉTLÉS Függvényhívás #include #include #include #include using using namespace namespace std; std; double double terulet(double
RészletesebbenBevezetés a programozásba. 8. Előadás: Függvények 2.
Bevezetés a programozásba 8. Előadás: Függvények 2. ISMÉTLÉS Helló #include using namespace std; int main() cout
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 9. gyakorlat Intelligens tömbök, mátrixok, függvények Surányi Márton PPKE-ITK 2010.11.09. C++-ban van lehetőség (statikus) tömbök használatára ezeknek a méretét fordítási időben
RészletesebbenProgramozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
RészletesebbenBevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum
Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout
RészletesebbenSzámítógép és programozás 2
Számítógép és programozás 2 3. Előadás Típuskonstrukciók http://digitus.itk.ppke.hu/~flugi/ ISMÉTLÉS Programkonstrukciók Elágazás kell, ha más kódra van szükség egyes esetekben Ciklus kell, ha ismételni
RészletesebbenProgramozá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észletesebbenBevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 10. gyakorlat C++: alprogramok deklarációja és paraméterátadása 2011.11.22. Giachetta Roberto groberto@inf.elte.hu
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk
Részletesebben1. Alapok. Programozás II
1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph
RészletesebbenA C++ Standard Template Library rövid összefoglalás
A C++ Standard Template Library rövid összefoglalás 2016-17. 1 Miről is van szó Alább összefoglaljuk, amely ismeretét feltesszük a félév során. Mivel mint megszokott az egyes verziók több-kevesebb mértékben
RészletesebbenMaximum kiválasztás tömbben
ELEMI ALKALMAZÁSOK FEJLESZTÉSE I. Maximum kiválasztás tömbben Készítette: Szabóné Nacsa Rozália Gregorics Tibor tömb létrehozási módozatok maximum kiválasztás kódolása for ciklus adatellenőrzés do-while
RészletesebbenProgramozá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észletesebbenBevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
RészletesebbenAlgoritmizá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észletesebbenProgramozá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észletesebbenBevezetés a programozásba Előadás: A const
Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout
RészletesebbenProgramozás II gyakorlat. 8. Operátor túlterhelés
Programozás II gyakorlat 8. Operátor túlterhelés Kezdő feladat Írjunk egy Vector osztályt, amely n db double értéket tárol. A konstruktor kapja meg az elemek számát. Írj egy set(int idx, double v) függvényt,
RészletesebbenBevezetés a programozásba I 8. gyakorlat. C++: szövegfolyamok, intelligens tömbök
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 8. gyakorlat C++: szövegfolyamok, intelligens tömbök 2011.11.08. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenProgramozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte.
Programozási alapismeretek :: beadandó feladat Készítő adatai Név: Molnár Tamás EHA: MOTIABT.ELTE E-mail cím: motiabt@inf.elte.hu Gyakorlatvezető: Horváth László Feladat sorszáma: 23. Felhasználói dokumentáció
RészletesebbenBevezetés a programozásba I 8. gyakorlat. C++: szövegfolyamok, intelligens tömbök. Adatfolyamok Hibalehetőségek
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 8. gyakorlat C++: szövegfolyamok, intelligens tömbök 2011.11.08. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenProgramozási alapismeretek 2009/2010
Szlávi-Zsakó: Programozási alapismeretek 7. előadás 1 Szlávi-Zsakó: Programozási alapismeretek 7. előadás 2 Szlávi-Zsakó: Programozási alapismeretek 7. előadás 3 Ennek a játék a betűkkel -szerű absztrakciónak
RészletesebbenBevezetés a programozásba 2
Bevezetés a programozásba 2 7. Előadás: STL konténerek, sablonok http://digitus.itk.ppke.hu/~flugi/ Vector int int main() { vector v(10); int int sum=0; for for (int i=0;i
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 5. gyakorlat Surányi Márton PPKE-ITK 2010.10.05. C++ A C++ egy magas szint programozási nyelv. A legels változatot Bjarne Stroutstrup dolgozta ki 1973 és 1985 között, a C nyelvb
RészletesebbenBevezeté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észletesebbenProgramozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1
Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1 Készítette: Gipsz Jakab Neptun-azonosító: A1B2C3 E-mail: gipszjakab@vilaghalo.hu Kurzuskód: IP-08PAED Gyakorlatvezető
Részletesebben1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket.
1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket. // változó deklaráció int number1; // első szám int number2; // második szám int sum; // eredmény std::cout
RészletesebbenTartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!
Tartalomjegyzék Általános Információ! 2 Felhasználói dokumentáció! 3 Feladat! 3 Környezet! 3 Használat! 3 Bemenet! 3 Példa! 3 A program eredménye! 3 Példa! 3 Hibalehetőségek! 3 Példa! 3 Fejlesztői dokumentáció!
RészletesebbenBevezetés a programozásba. 6. Előadás: C++ bevezető
Bevezetés a programozásba 6. Előadás: C++ bevezető ISMÉTLÉS PLanG features Utasítások Értékadás, KI:, BE: Programkonstrukciók Elágazás Ciklus Típusok Egész, valós, logikai, szöveg, karakter, fájl Típuskonstrukciók
RészletesebbenSzerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód:
Szerző Név: Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: vp.05@hotmail.com Kurzuskód: IP-08PAEG/27 Gyakorlatvezető neve: Kőhegyi János Feladatsorszám: 20 1 Tartalom Szerző... 1 Felhasználói dokumentáció...
RészletesebbenPénzügyi algoritmusok
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ó
Részletesebben3. Osztályok II. Programozás II
3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt
RészletesebbenProgramozás II. 6.Öröklés Dr. Iványi Péter
Programozás II. 6.Öröklés Dr. Iványi Péter 1 Öröklés Programozók lusta emberek, nem szeretnék valamit kétszer leírni Miért veszélyes? Nem hatékony Újra kell tárolni a kódot, újra le kell fordítani Karbantartás
RészletesebbenSzámítógép és programozás 2
Számítógép és programozás 2 10. Előadás Öröklődés http://digitus.itk.ppke.hu/~flugi/ Tagfüggvény struct Particle { int x,y; unsigned char r,g,b; void rajzol() { gout
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 8. gyakorlat Fájlkezelés Surányi Márton PPKE-ITK 2010.11.02. Fájlkezelés C++-ban C++-ban van lehet ségünk fájlok kezelésére. Itt már tényleges fájlokkal dolgozunk, nem pedig
Részletesebben11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.
11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;
RészletesebbenBevezetés a C++ programozásba
Bevezetés a C++ programozásba A program fogalma: A program nem más, mint számítógép által végrehajtható utasítások sorozata. A számítógépes programokat különféle programnyelveken írhatjuk. Ilyen nyelvek
RészletesebbenGregorics Tibor Tanácsok modularizált programok készítéséhez 1
Gregorics Tibor Tanácsok modularizált programok készítéséhez 1 Modularizált programon azt értjük, amely több, jól körülhatárolható részfeladat megoldásaiból épül fel. Egy-egy részfeladat gyakran szabványos
RészletesebbenTorna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.
Torna A pekingi olimpián tornából hat versenyszámban mérettetik meg magukat a versenyzők. Ennek a versenynek az eredményeit kell feldolgoznia ebben a feladatban. A megoldás során vegye figyelembe a következőket:
Részletesebben117. AA Megoldó Alfréd AA 117.
Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
Részletesebben500. AA Megoldó Alfréd AA 500.
Programozás alapjai 2. NZH 2010.05.13. gyakorlat: / Hiány:0 ZH:0 MEGOLD IB.027/51. Hftest: 0 Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti, hogy minden
RészletesebbenInformatika 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észletesebbenProgramozá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észletesebben128. AA Megoldó Alfréd AA 128.
Programozás alapjai 2. PótZH 2010.05.20. gyakorlat: Hiány:0 ZH: MEGOLD SEHOL/5. Hftest: 0 ZHp: Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti, hogy minden
Részletesebben4. Öröklődés. Programozás II
4. Öröklődés Programozás II Mielőtt belevágunk Egy Tárgy típusú objektumokat tároló tömb i. elemében tároljunk el egy új tárgyat Rossz módszer: tomb[i].setnev( uj.getnev() ); tomb[i].setertek( uj.getertek()
RészletesebbenAlgoritmizá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, az Algoritmusok és adatszerkezetek c. tárgyban
RészletesebbenAlprogramok, 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észletesebbenSTL 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észletesebbenProgramozás C++ -ban
Programozás C++ -ban 4. Bevezetés az osztályokba 4.1 Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több
Részletesebben.AA Megoldó Alfréd AA.
Programozás alapjai 2. (inf.) pót zárthelyi 2013.05.23. gyak. hiányzás: kzh: ZH:0 ABCDEF MEG/200. Hftest: (p) Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
Részletesebben500. CC Megoldó Alfréd CC 500.
Programozás alapjai 2. PótZH 2010.05.20. gyakorlat: G1/IB.146 Hiány:3 ZH:7,71 MEGOLD SCH/500. Hftest: 0 ZHp: Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
Részletesebben7. fejezet: Mutatók és tömbök
7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata
RészletesebbenISA 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észletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért
RészletesebbenProgramozási alapismeretek 1. előadás
Programozási alapismeretek 1. előadás Tartalom A problémamegoldás lépései programkészítés folyamata A specifikáció Az algoritmus Algoritmikus nyelvek struktogram A kódolás a fejlesztői környezet 2/33 A
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 5. előadás Tömbök átméretezése public static void Resize( ref T[] array, int newsize ) Példa: int[] a=new int[20]; Array.Resize(ref a, 22); 2016. 10. 19.
RészletesebbenProgramozás C++ -ban 2007/1
Programozás C++ -ban 2007/1 1. Különbségek a C nyelvhez képest Több alapvető különbség van a C és a C++ programozási nyelvek szintaxisában. A programozó szempontjából ezek a különbségek könnyítik a programozó
RészletesebbenSTL. Algoritmus. Iterátor. Tároló. Elsődleges komponensek: Tárolók Algoritmusok Bejárók
STL Elsődleges komponensek: Tárolók Algoritmusok Bejárók Másodlagos komponensek: Függvény objektumok Adapterek Allokátorok (helyfoglalók) Tulajdonságok Tárolók: Vektor (vector) Lista (list) Halmaz (set)
RészletesebbenHORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
Részletesebbenhiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget
Hiányzások Ebben a feladatban egy általános iskola 2017 szeptemberi hiányzásai tartalmazó szövegfájlt kell feldolgoznia. Az adatok a szeptember.csv állomány tartalmazza. Az állomány egy sorában egy tanuló
RészletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
RészletesebbenA feladat lényege egy felhasználói típusnak a zsák típusnak a megvalósítása.
Feladat Készítsen egy egész számokat tartalmazó zsák típust! A zsákot dinamikusan lefoglalt tömb segítségével ábrázolja! Implementálja a szokásos műveleteket (elem betevése, kivétele, üres-e a halmaz,
RészletesebbenA C programozási nyelv II. Utasítások. A függvény.
A C programozási nyelv II. Utasítások. A függvény. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv II (Utasítások, fuggvények) CBEV2 / 1 Kifejezés utasítás Kifejezés utasítás, blokk
RészletesebbenProgramozás alapjai II. (1. ea) C++
Programozás alapjai II. (1. ea) C++ C++ kialakulása, nem OO újdonságok: Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2019.02.05.
RészletesebbenProgramozás alapjai II. (1. ea) C++
Programozás alapjai II. (1. ea) C++ C++ kialakulása, nem OO újdonságok: Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2019.02.05.
RészletesebbenProgramozás C és C++ -ban
Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új
RészletesebbenProgramozás C++ -ban 2007/7
Programozás C++ -ban 2007/7 1. Másoló konstruktor Az egyik legnehezebben érthető fogalom C++ -ban a másoló konstruktor, vagy angolul "copy-constructor". Ez a konstruktor fontos szerepet játszik az argumentum
RészletesebbenProgramozás C++ -ban 2007/4
Programozás C++ -ban 2007/4 1. Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több szempontból is hasznos
RészletesebbenA 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észletesebbenProgramozás C++ -ban
Programozás C++ -ban 6. Konstansok A C nyelvben konstansokat makróval is deklarálhatunk. Ebben az esetben mindenhol ahol a makró előfordul a fordító a definiált értéket behelyettesíti a makró helyére.
Részletesebben2. Alapfeltevések és a logisztikus egyenlet
Populáció dinamika Szőke Kálmán Benjamin - SZKRADT.ELTE 22. május 2.. Bevezetés A populációdinamika az élőlények egyedszámának és népességviszonyainak térbeli és időbeli változásának menetét adja meg.
RészletesebbenC++ Standard Template Library (STL)
Programozási Nyelvek és Fordítóprogramok Tanszék Programozási Nyelvek I. Témák 1 STL alapok 2 STL fogalmak 3 Konténerek 4 Iterátorok 5 Funktorok C++ STL Ne fedezzük fel újra spanyolviaszt! Sok adatszerkezet/algoritmus
RészletesebbenA programozás alapjai 1 Rekurzió
A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder
RészletesebbenKörkörös listák. fej. utolsó. utolsó. fej
Körkörös listák fej utolsó fej utolsó Példa. Kiszámolós játék. Körben áll n gyermek. k-asával kiszámoljuk őket. Minden k-adik kilép a körből. Az nyer, aki utolsónak marad. #include using namespace
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenSzerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó
Szerző Név: Lővei Péter ETR-azonosító: LOPSAAI.ELTE Drótposta-cím: petyalovei@gmail.com Kurzuskód: IP-08PAEG/25 Gyakorlatvezető neve: Daiki Tennó Feladatsorszám: 11 1 Tartalom Szerző... 1 Tartalom... 2
RészletesebbenC++ függelék. Tartalom
Jelen dokumentumra a Creative Commons Nevezd meg! Ne add el! Ne változtasd meg! 3.0 Unported licenc feltételei érvényesek: a művet a felhasználó másolhatja, többszörözheti, továbbadhatja, amennyiben feltünteti
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 33
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenINFORMATIKA tétel 2019
INFORMATIKA tétel 2019 ELIGAZÍTÁS: 1 pont hivatalból; Az 1-4 feladatokban (a pszeudokód programrészletekben): (1) a kiír \n utasítás újsorba ugratja a képernyőn a kurzort; (2) a / operátor osztási hányadost
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Folyamok kezelése Fájlok írása/olvasása Folyamok kezelése Szabvány folyamok Eddig Kiírás a szöveges konzolra:
RészletesebbenProgramozás alapjai 9.Gy: Struktúra 2.
Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).
RészletesebbenFelhaszná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észletesebbenProgramozás alapjai II. (2. ea) C++
Programozás alapjai II. (2. ea) C++ C++ kialakulása, nem OOP újdonságok: Szeberényi Imre BME IIT M Ű E G Y T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2011.02.15. -1- C++ kialakulása
RészletesebbenProgramozás alapjai II. (2. ea) C++
Programozás alapjai II. (2. ea) C++ C++ kialakulása, nem OOP újdonságok: Szeberényi Imre BME IIT Veszélyforrások csökkentése C + javítások C++ kialakulása C++ Objektum orientált szemlélet
RészletesebbenBevezetés a programozásba II 1. gyakorlat. A grafikus könyvtár használata, alakzatok rajzolása
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba II 1. gyakorlat A grafikus könyvtár használata, alakzatok rajzolása 2014.02.10. Giachetta Roberto groberto@inf.elte.hu
Részletesebben3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai
Kémiai elemek felfedezése A kémiai elemek kémiailag tovább már nem bontható, egyszerű anyagok. Jelenleg 118 különböző kémiai elemet ismerünk, közüliik a Földön 94 található meg a természetben, ezeket természetes
RészletesebbenProgramozás. C++ típusok, operátorok. Fodor Attila
Programozás C++ típusok, operátorok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. március 4. Deklaráció és definíció C++
RészletesebbenProgramozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia
Öröklés ism. Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Szeberényi Imre BME IIT Egy osztályból olyan újabb osztályokat származtatunk, amelyek rendelkeznek
RészletesebbenBevezetés a programozásba előadás: Öröklődés
Bevezetés a programozásba 2 5. előadás: Öröklődés emlékeztető Tagfüggvény struct koord { double x,y,r; void set(double ux, double uy) { x=ux; y=uy; r=sqrt(x*x+y*y); } Használat: koord k; k.set(4,5); Egységbezárás
RészletesebbenC++ programozási nyelv Konstruktorok-destruktorok
C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenBevezeté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észletesebbenA lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába
A lista eleme 0 adat rész mutató rész Listaelem létrehozása p: Node 0 0 3 0 Az elemet nekünk kell bef zni a listába Deklarálás struct Node { int int value; Node* next; next; adattagok Létrehozás Node*
RészletesebbenFelvételi vizsga mintatételsor Informatika írásbeli vizsga
BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív
RészletesebbenA szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok
A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)
RészletesebbenA függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük.
Függvények A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük. Mint egy dzsinn: Hogyan is "használunk" egy dzsinnt? megszólítjuk megmondjuk,
RészletesebbenDinamikus 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
FEJLETT PROGRAMOZÁSI NYELVEK, 2009 2. GYAKORLAT - Linux alatti C/C++ programozás Cél: 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
RészletesebbenFüggvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok
RészletesebbenProgramozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből
RészletesebbenBevezetés a Programozásba II 2. előadás. Adattípusok megvalósítása egységbe zárással. Adattípusok megvalósítása egységbe zárással
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 2. előadás Adattípusok megvalósítása egységbe zárással 2014.02.17. Giachetta Roberto groberto@inf.elte.hu
RészletesebbenProgramozás Minta programterv a 1. házi feladathoz 1.
Programozás Minta programterv a 1. házi feladathoz 1. Gregorics Tibor 1. beadandó/0.feladat 2008. december 6. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy osztályba n diák jár, akik m darab tantárgyat
Részletesebben