infix kifejezés a+b ab+ +ab postfix kifejezés prefix kifejezés a+b ab+ +ab a+b ab+ +ab Készítette: Szabóné Nacsa Rozália
|
|
- Magda Kocsisné
- 6 évvel ezelőtt
- Látták:
Átírás
1 infix kifejezés a+b ab+ +ab Készítette: Szabóné Nacsa Rozália postfix kifejezés prefix kifejezés a+b ab+ +ab a+b ab+ +ab 4
2 Lengyelforma J. Lukasewitz lengyel matematikus használta el ször. Példa: infix kifejezés a+bc-d ab+ +ab postfix kifejezés ab+cd- postfix kifejezés prefix kifejezés 5 6 El n A m veleti jelek olyan sorrendben követik egymást, amilyen sorrendben végre kell hajtani azokat. El n A m veleti jel operátor közvetlenül az operandusok után áll. infix forma: a+bc-d Infix forma a+bc-d Lengyelforma ab+cd- a b + op op m v c d - op op m v op op m v 7 8
3 Feladat: A standard bemeneten megadott, pontosveszz vel lezárt, szintaktikusan helyes, infix aritmetikai kifejezést alakítsunk át postfix kifejezésre lengyelformára. Példa: sorozat sorozat verem Az Az átalakításhoz két két sorozatot, és és egy vermet használunk. 9 0 sorozat sorozat verem verem Az x sorozatot balról jobbra haladva dolgozzuk fel. A sorozat végét ; jelzi. A következ szimbólum nyitózárójel. Tegyük a verembe!
4 A következ szimbólum operandus. Írjuk ki! ki! A következ szimbólum operátor... Legfeljebb a nyitózárójelig kivesszük a veremb l l az az operátornál kisebb prioritású operátorokat és és kiírjuk azokat, A következ szimbólum operátor... Legfeljebb a nyitózárójelig kivesszük a veremb l l az az operátornál kisebb prioritású operátorokat, és és kiírjuk azokat, majd majd.. ezt ezt az az operátort betesszük a verembe. A következ szimbólum operandus. Írjuk ki! 5 6 4
5 A következ szimbólum csukózárójel... Írjuk Írjuk ki ki a verem tetején lév lév elemeket egészen a nyitózárójelig,.... A következ szimbólum csukózárójel:. Írjuk ki a verem tetején lév elemeket egészen a nyitózárójelig, majd. vegyük ki a verem tetejér l a nyitózárójelet A következ szimbólum operátor:. Legfeljebb a nyitózárójelig kivesszük a veremb l az operandusnál kisebb prioritású operandusokat, és kiírjuk azokat,... 9 A következ szimbólum operátor:. Legfeljebb a nyitózárójelig kivesszük a veremb l az operandusnál kisebb prioritású operandusokat, és kiírjuk azokat, majd. Ezt az operandust betesszük a verembe. 0 5
6 A következ szimbólum nyitózárójel. Tegyük a verembe! A következ szimbólum operandus. Írjuk ki! A következ szimbólum operátor.. Legfeljebb a nyitózárójelig kivesszük a veremb l az operátornál kisebb prioritású operátorokat, és kiírjuk azokat,... A következ szimbólum operátor:. Legfeljebb a nyitózárójelig kivesszük a veremb l az operátornál kisebb prioritású operátorokat, és kiírjuk azokat, majd. ezt az operátort betesszük a verembe. 4 6
7 A következ szimbólum operandus. Írjuk ki! A következ szimbólum csukózáróje.. Írjuk ki a verem tetején lév elemeket egészen a nyitózárójelig, ; A következ szimbólum csukózárójel:. Írjuk ki a verem tetején lév elemeket egészen a nyitózárójelig, majd. vegyük ki a verem tetejér l a nyitózárójelet. Elértük a kifejezés végét. Írjuk ki a veremben lév összes elemet
8 Feladat: Határozzuk meg egy sorozatban elhelyezett, postfix lengyelformára hozott kifejezs értékét példa - A szimbólum operandus. Tegyük a verembe! A következ szimbólum operandus. Tegyük a verembe! A következ szimbólum operator.. Vegyük ki a veremb l a második operandust,... 8
9 A következ szimbólum operator:. Vegyük ki a veremb l a második operandust, majd. vegyük ki a veremb l az els operandust,... A következ szimbólum operator:. Vegyük ki a veremb l a második operandust, majd. vegyük ki a veremb l az els operandust, majd. Számítsuk ki az adott m veleti jellel a kifejezés értékét, A következ szimbólum operator:. Vegyük ki a veremb l a második operandust, majd. vegyük ki a veremb l az els operandust, majd. számítsuk ki az adott m veleti jellel a kifejezés értékét, majd 4. az így kapott eredményt tegyük a verembe. A következ szimbólum operandus. Tegyük a verembe! 5 6 9
10 A következ szimbólum operandus. Tegyük a verembe! A következ szimbólum operator.. Vegyük ki a veremb l a második operandust, A következ szimbólum operator.. Vegyük ki a veremb l a második operandust, majd. vegyük ki a veremb l az els operandust,... A következ szimbólum operator.. Vegyük ki a veremb l a második operandust, majd. vegyük ki a veremb l az els operandust, majd. számítsuk ki az adott m veleti jellel a kifejezés értékét,
11 A következ szimbólum operator.. Vegyük ki a veremb l a második operandust, majd. vegyük ki a veremb l az els operandust, majd. számítsuk ki az adott m veleti jellel a kifejezés értékét, majd 4. az így kapott eredményt tegyük a verembe. A következ szimbólum operator.. Vegyük ki a veremb l a második operandust, A következ szimbólum operator:. Vegyük ki a veremb l a második operandust, majd. vegyük ki a veremb l az els operandust,... A következ szimbólum operator:. Vegyük ki a veremb l a második operandust, majd. vegyük ki a veremb l az els operandust, majd. számítsuk ki az adott m veleti jellel a kifejezés értékét,
12 ; - - Elértük a kifejezés végét - - A következ szimbólum operator.. Vegyük ki a veremb l a második operandust, majd. vegyük ki a veremb l az els operandust, majd. számítsuk ki az adott m veleti jellel a kifejezés értékét, majd 4. az így kapott eredményt tegyük a verembe. Az eredmény a verem tetején van Kifejezés lengyelformára hozása Lengyelforma kiértékelése sx,dx,read; =0; creates; pushs,dx hiextdx sx = norm dx = operandus x = x = x = operator tops tops prectops precdx is_emptys hiextpops hiextpops sy,dy,read; z:=0; createv; sy = norm pushv,dy dy = operandus op = popv op = popv push v, op dy op sx,dx,read is_emptys hiextpops pops pushs,dx 47 sy,dy,read z:hiextpopv 48
13 sorozat sorozat verem v: verem sorozat Az x sorozat elemei szimbólumok és számok. sorozat sorozat verem v: verem Az y sorozat elemei szimbólumok és számok. Az x sorozat elemei szimbólumok és számok. A v veremben csak számok vannak. Token Operandus Operator ; 5 5
14 Token operator >>... operator << virtual...is_operand virtual...is_operator virtual...to_string Token Operand Operator Operandus Operator ; 5... is_operand evaluateint op, int op... is_operator value Token Operand... is_operand......value Token... operator >>... operator << virtual...is_operand virtual...is_operator virtual...to_string Operator... is_operator evaluateint op, int op.. 55 A Token osztál deklaráció class Token Token.h friend std::ostream& operator<<std::ostream&, Token&; friend std::istream& operator>>std::istream&, Token&; public: virtual ~Tokenvoid; virtual bool is_leftp return false;; virtual bool is_rightp return false;; virtual bool is_operand return false;; virtual bool is_operator return false;; virtual bool is_end return false;; virtual int priority return 0;; virtual string to_stringreturn "";; virtual string class_namereturn "Token:";; protected: Token; ; 56 4
15 Token osztál implementáció includes A Token osztál implementáció - kiíró operátor #include<iostream> #include <string> using namespace std; #include "Token.h" #include "LEFTP.h" #include "RIGHTP.h" #include "END.h" #include "Operand.h" #include "Operator.h" Token.cpp ostream& operator <<ostream& s, Token& t s << t->to_string; ; return s; Virtuális függvény Token.cpp Token osztál implementáció beolvasó operátor - istream& operator >> istream& s, Token& t char ch; int intval; s >> ch; switchch case '+': case '-':case '': case '/': t=new Operatorch; break; case '': t=new LEFTP; break; case '': t=new RIGHTP; break; case ';': t=new END; break; Token.cpp 59 Token osztál implementáció - beolvasó operátor - case '0':... case '9': s.putbackch; s >> intval; t=new Operandintval; break; default: cout << "Illegal element: " << ch << endl; s >> ch; return s; Token.cpp 60 5
16 Operandus Operand... is_operand value Token... operator >>... operator << virtual...is_operand virtual...is_operator virtual...to_string Operator... is_operator evaluateint op, int op.. Operand osztál deklaráció class Operand: public Token public: Operandint v val=v;; int value return val;; bool is_operand return true; ; string to_string; string class_name return "Operand: "; ; protected: int val; ; Operand.h 6 6 Operand osztál implementáció #include <string> using namespace std; #include "Token.h" #include "Operand.h" #include "Stack.h" string Operand::to_String string digit[0]="0","","","","4","5","6","7","8","9"; string s; Stack<string> v; ifval==0 v.push"0"; forint i=val;i!=0;i=i/0 v.pushdigit[i%0]; for;!v.empty;s=s+v.pop return s; ; Operand.cpp 6 Operator Operand... is_operand value Token... operator >>... operator << virtual...is_operand virtual...is_operator virtual...to_string Operator... is_operator evaluateint op, int op
17 Operator osztál deklaráció Operator osztál tostring class Operator: public Token public: Operatorchar o op=o;; bool is_operator return true; ; int priority; int evaluateconst int,const int; string to_string; string class_name return "Operator: "; ; Operator.h string Operator::to_String string ret; ret=op; return ret; ; Operator.cpp protected: char op; ; Operator osztál priority Operator osztál evaluate int Operator::priority switchop case'+': case'-': return ; case'': case'/': return ; default: return ; ; Operator.cpp int Operator::evaluateconst int a,const int b switchop case'+': returna+b; case'-': returna-b; case'': returnab; case'/': returna/b; Operator.cpp
18 RIGHTP osztál deklaráció + implementáció LEFTP osztál deklaráció + implementáció class RIGHTP: public Token public: bool is_rightp return true; ; string to_stringreturn ""; ; string class_name return "Right parenthesi"; ; ; RIGHTP.h class LEFTP: public Token public: bool is_leftp return true; ; string to_stringreturn ""; ; string class_name return "Left parenthesi"; ; ; LEFTP.h END osztál deklaráció + implementáció A Stack sablon osztály - class END: public Token public: bool is_end return true;; string to_stringreturn ";"; ; string class_name return "End of expression:"; ; ; END.h template <class Element> class Stack public: enum ExceptionsEMPTYSTACK; Stack:_top0; ~Stack; void pushconst Element&; Element top; Element pop; bool empty return _top == 0; Stack.h 7 7 8
19 A Stack sablon osztály - A Sequence sablon osztály - private: Stack.h Stackconst Stack<Element>&; Stack& operator=const Stack<Element>&; struct Node Element val; Node next; Nodeconst Element &v, Node n:valv,nextn ; Node _top; ; 7 template <class Element> class Sequence public: enum ExceptionsEMPTYSEQUENCE; Sequence:_first0,_last0,_current0 ; ~Sequence; void hiextconst Element&; Element lopop; void first _current = _first; void next _current = _current->next; Element current return _current->val; bool eol return _current == 0; bool empty return _first == 0; void print; Sequence.h 74 A Sequence sablon osztály - Modulszerkezet Token.h private: Sequenceconst Sequence<Element>&; Sequence.h Sequence& operator=const Sequence<Element>&; struct Node Element val; Node next; Node prev; Nodeconst Element &v, Node n, Node p:valv,nextn, prevp ; Node _first; Node _last; Node _current; ; LEFTP.h Operand.h Sequence.h Poland.cpp ENDP.h RIGHTP.h Stack.h Operator.h
20 Modulszerkezet LEFTP.h Operand.h Sequence.h TEMPLATE Token.h Poland.cpp ENDP.h RIGHTP.h Operator.h Stack.h TEMPLATE main.cpp - includes #include <string> using namespace std; #include "Token.h" #include "LEFTP.h" #include "RIGHTP.h" #include "END.h" #include "Operand.h" #include "Operator.h" #include "Stack.h" #include "Sequence.h" Token next_token; int main main.cpp kifejezés beolvasása //Egy szintaktikusan helyes infix kifejezés elemeinek beolvasása Sequence<Token> x; Sequence<Token> y; Stack<Token> s; Token t; t=next_token; while!t->is_end x.hiextt; t=next_token; main.cpp: átalakítás //A kifejezés átalakítása lengyelformára x.first; while!x.eol t=x.current; ciklusmag x.next; for;!s.empty;y.hiexts.pop y.print; x.print;
21 main.cpp: átalakítás - ciklusmag ift->is_operand y.hiextt; else if t->is_leftp s.pusht; else ift->is_rightp while!s.top->is_leftp y.hiexts.pop; s.pop; main.cpp: átalakítás - ciklusmag else if t->is_operator while!s.empty && s.top->priority <= t->priority &&!s.top->is_leftp y.hiexts.pop; s.pusht; else cout << "Szintaktikai hiba?" << endl; 8 8 main.cpp: kiértékelés //A lengyelforma kiértékelése Stack<int> v; y.first; while!y.eol t=y.current; if t->is_operand v.pushdynamic_cast<operand>t->value; else v.pushdynamic_cast<operator>t->evaluatev.pop,v.pop; y.next; cout << "A kifejezes erteke: " << v.pop << endl; main.cpp: tárterület felszabadítása //A dinamikusan lefoglalt tárterület felszabadítása for x.first;!x.eol; x.next delete x.current; 8 84
22 main.cpp: next_token Token next_token char ch; int intval; cin >> ch; Token t; switchch 87 88
23 main.cpp:next_token case '+': case '-': case '': case '/': t=new Operatorch; break; case '': t=new LEFTP; break; case '': t=new RIGHTP; break; case ';': t=new END; break; main.cpp:next_token case '0': case '':... case '9': cin.putbackch; cin >> intval; t=new Operandintval; break; default: cout << "Illegal element: " << ch << endl; cin >> ch; return t; 89 90
Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése
Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Készítette: Gregorics Tibor Szabóné Nacsa Rozália Alakítsunk át egy infix formájú aritmetikai kifejezést postfix
RészletesebbenAdatszerkezetek és algoritmusok
2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók
RészletesebbenObjektum elvű alkalmazások fejlesztése. Verem típus osztály-sablonja
Objektum elvű alkalmazások fejlesztése Verem típus osztály-sablonja Készítette: Gregorics Tibor Készítsünk olyan újra-felhasználható kódot, amellyel vermeket lehet létrehozni és használni. Egy verem-objektum
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é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é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észletesebben228. AA Default Konstruktor AA 228.
Programozás alapjai 2. (inf.) zárthelyi 2012.05.17. gyak. hiányzás: kzhpont: ABCDEF Q-II/107. nzh: Hftest: Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
RészletesebbenC# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem
C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real
RészletesebbenProgramozás II gyakorlat. 4. Öröklődés
Programozás II gyakorlat 4. Öröklődés Feladat Egy játékfejlesztő cég olyan programot fejleszt, amely nyilvántartja az alkalmazottai adatait. Tároljuk minden személy: Nevét (legfeljebb 50 karakter) Születési
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é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é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észletesebbenAritmetikai kifejezések lengyelformára hozása
Aritmetikai kifejezések lengyelformára hozása Készítették: Santák Csaba és Kovács Péter, 2005 ELTE IK programtervező matematikus szak Aritmetikai kifejezések kiértékelése - Gyakran felmerülő programozási
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 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é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é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észletesebben500. DD Megoldó Alfréd DD 500.
Programozás alapjai 2. (inf.) zárthelyi 2009.05.21. gyakorlat: / Érdemjegy: QBX734 () IB319/32. Hftest: Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
RészletesebbenRekurzió. Horváth Gyula. horvath@inf.elte.hu
1. ábra. Rekurzió Horváth Gyula horvath@inf.elte.hu 1. Feladat: Sorbaállítások száma Hány féleképpen lehet sorbaállítani az osztály tanulóit? Bemenet: a tanulók n száma. Kimenet: ahány félekeppen az n
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észletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. február 18. Minimum és maximumkeresés u s i n g n a m e s p a c e s t d ; i n t main ( ) { c o u t
RészletesebbenOAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.
OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Szimuláljuk különféle élőlények túlélési versenyét. A lények egy pályán haladnak végig, ahol váltakozó viszonyok vannak. Egy lénynek
RészletesebbenPROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET
PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET Szerkesztette: Balogh Tamás 2013. március 31. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! -
RészletesebbenBevezeté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
C++ I/O Bevezetés Izsó Tamás 2014. február 20. Izsó Tamás C++ I/O / 1 Section 1 Bevezetés Izsó Tamás C++ I/O / 2 Irodalom Izsó Tamás C++ I/O / 3 Paraméter illesztés függvénynév túlterhelés esetén 1 Pontos
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é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é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é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észletesebbenProgramozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,
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é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észletesebbenObjektumorientált programozás C# nyelven III.
Objektumorientált programozás C# nyelven III. Kivételkezelés Tulajdonságok Feladatok Készítette: Miklós Árpád Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és
Ré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észletesebbenPROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET
PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET Szerkesztette: Balogh Tamás 2013. április 12. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! -
Részletesebbenosztályok kapcsolata Származtatatás C++ Izsó Tamás 2014. március 19. Izsó Tamás Származtatatás/ 1
Származtatatás C++ Izsó Tamás 2014. március 19. Izsó Tamás Származtatatás/ 1 Dinamikus tagváltozó az osztályban class RVektor { i n t n ; R a c i o n a l i s p ; p u b l i c : RVektor ( i n t n=10 ) :
Részletesebben503.AA Megoldo Arisztid 503.A
Programozás alapjai 2. (inf.) 2. ZH 2017.04.27. gy./l. hiány: / ABCD123 Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de csak a feladatlapra írt megoldásokat értékeljük!
RészletesebbenSzoftvertervezés és -fejlesztés I.
Szoftvertervezés és -fejlesztés I. Operátorok Vezérlési szerkezetek Gyakorlás 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik.
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észletesebbenObjektum elvű alkalmazások fejlesztése Programozási tételek újrafelhasználása 1. Készítette: Gregorics Tibor
Objektum elvű alkalmazások fejlesztése Programozási tételek újrafelhasználása 1. Készítette: Gregorics Tibor Hozzunk létre a programozási tételeket általánosan leíró kódkönyvtárat (osztály-sablon könyvtárat),
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észletesebbenProgramozás II. ATM példa Dr. Iványi Péter
Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert
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észletesebbenTervminták II. (Híd, Bejáró, Gyártófüggvény) Halmaz és bejárása Osztály-sablonok
Tervminták II. (Híd, Bejáró, Gyártófüggvény) Halmaz és bejárása Osztály-sablonok 1.Feladat Készítsünk olyan kódot, amely segítségével természetes számokat tároló halmazok hozhatók létre. o Egy halmaz-objektum
RészletesebbenMit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,
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észletesebbenObjektum elvű alkalmazások fejlesztése Programozási tételek újrafelhasználása 1.
Objektum elvű alkalmazások fejlesztése Programozási tételek újrafelhasználása 1. Készítette: Gregorics Tibor Hozzunk létre a programozási tételeket általánosan leíró olyan kódkönyvtárat (osztály-sablon
Részletesebben2. Rekurzió. = 2P2(n,n) 2 < 2P2(n,n) 1
2. Rekurzió Egy objektum definícióját rekurzívnak nevezünk, ha a definíció tartalmazza a definiálandó objektumot. Egy P eljárást (vagy függvényt) rekurzívnak nevezünk, ha P utasításrészében előfordul magának
RészletesebbenProgramozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)
Programozás alapjai C nyelv 5. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.17. -1- Tömbök Azonos típusú adatok tárolására. Index
RészletesebbenC# osztályok. Krizsán Zoltán
C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC
Részletesebben0. Megoldó Manó 0. Programozás alapjai 2. (inf.) pót zárthelyi gyak. hiányzás: 2 n/kzhp: n/11,5. ABCDEF IB.028/2.
Programozás alapjai 2. (inf.) pót zárthelyi 2014.05.22. gyak. hiányzás: 2 n/kzhp: n/11,5 ABCDEF IB.028/2. Hftest: 4 (2,4p) Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot,
Részletesebbenfeladat pont min elért
NEPTUN kód: NÉV: Aláírás: Programozás 2. NZH, 2019. május 14. BME-TTK, fizika BSc Arcképes igazolvány hiányában nem kezdheted meg a ZH-t. A feladatok megoldására összesen 90 perc áll rendelkezésre. A feladatlapot
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észletesebbenElemi alkalmazások fejlesztése II. 2. Beadandó feladat Juhász Ádám
Feladat Készítsen egy zsák típust! Alkalmazzon osztályt! A zsákokat rendezett láncolt listával ábrázolja! Implementálja a szokásos műveleteket, egészítse ki az osztályt a kényelmes és biztonságos használat
RészletesebbenC++ Gyakorlat jegyzet 7. óra
C++ Gyakorlat jegyzet 7. óra A jegyzetet Umann Kristóf készítette Horváth Gábor gyakorlata alapján. (2018. április 30.) 0.1. Header fájlra és fordításra egységre szétbontás Ha egy darab header fájlban
RészletesebbenGlobális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
RészletesebbenAdatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája
Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból
RészletesebbenEAF II Feladat dokumentáció IV. feladat 4. házi feladathoz
EAF II Feladat dokumentáció IV. feladat 4. házi feladathoz Oldja meg az alábbi feladatokat úgy, hogy a programja csak EGYETLEN HELYEN TARTALMAZHAT CIKLUST az általános összegzést megvalósító osztály-sablon
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
Részletesebbenmul : S T N 1 ha t S mul(s, t) := 0 egyébként Keresés Ezt az eljárást a publikus m veletek lenti megvalósításánál használjuk.
Érdi Gerg EF II. 2/2. Feladat Készítsen egy zsák típust! lkalmazzon osztályt! zsákokat rendezett láncolt listával ábrázolja! Implementálja a szokásos m veleteket, egészítse ki az osztályt a kényelmes és
RészletesebbenProgramozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter
Programozás(A szakirány) II. beadandó feladat 2014.05.05. Farkas András HP6S15 fafee@fafeecorp.com 1. csoport Veszprémi Anna / Hudoba Péter Feladat: Egy szöveges állományban bekezdésekre tördelt szöveg
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é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é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 Minta programterv a 2. házi feladathoz 1.
Programozás Minta programterv a. házi feladathoz 1. Gregorics Tibor. beadandó/0.feladat 01. január 11. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy szöveges állományban bekezdésekre tördelt szöveg
RészletesebbenInformatikai Kar. 3. fejezet. alapismeretek. Giachetta Roberto
Informatikai Kar 3. fejezet alapismeretek Giachetta Roberto Actually I made up the term 'Object-Oriented', and I can tell you I did not have C++ in mind. (Alan Kay) adottak) 3:3 Feladat: Stack) adatszerkezetet
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás
Ré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észletesebbenINFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM
RészletesebbenSzámítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási
RészletesebbenKifejezések. Kozsik Tamás. December 11, 2016
Kifejezések Kozsik Tamás December 11, 2016 Kifejezések Lexika Szintaktika Szemantika Lexika azonosítók (változó-, metódus-, típus- és csomagnevek) literálok operátorok, pl. + zárójelek: (), [], {},
RészletesebbenProgramozás alapjai II. (4. ea) C++
Programozás alapjai II. (4. ea) C++ konstruktor és értékadás, dinamikus szerkezetek 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.03.01. -1-
Részletesebbenfélstatikus adatszerkezetek: verem, várakozási sor, hasítótábla dinamikus adatszerkezetek: lineáris lista, fa, hálózat
Listák félstatikus adatszerkezetek: verem, várakozási sor, hasítótábla dinamikus adatszerkezetek: lineáris lista, fa, hálózat A verem LIFO lista (Last In First Out) angolul stack, románul stivă bevitel
RészletesebbenOsztály és objektum fogalma
Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály
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észletesebbenList<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error
Generics Egyszerűbb példák (java.util csomagból): public interface List { void add(e x); Iterator iterator(); public interface Iterator { E next(); boolean hasnext(); E - formális típusparaméter,
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é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észletesebbenAlkalmazott modul: Programozás 9. előadás. Strukturált programozás: dinamikus adatszerkezetek
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 9. előadás Strukturált programozás: dinamikus adatszerkezetek Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Részletesebben1000.AA Megoldo Alfréd 1000.A
Programozás alapjai 2. (inf.) 2. PZH 2018.05.22. hiányzás:0+3 L4-R4P ZH: 27,5+26 ABCDEF IB.028/100. Sum:0 e:19 Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de
RészletesebbenObjektumok inicializálása
Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú
RészletesebbenMit ír ki? feladatok megoldásokkal
Mit ír ki? feladatok megoldásokkal A feladatgyűjtemény 2006 és 2015 között ZH feladatként kiadott C++ feladatokat és megoldásukat tartalmazza. A megoldásokat sárga kiemeléssel jelöltük. Tartalomjegyzék
RészletesebbenElemi alkalmazások fejlesztése III.
Elemi alkalmazások fejlesztése III. Memóriajáték 1. Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 memorygame Játék közben 2 memorygame Kártyák kiválasztása
RészletesebbenProgramozási tételek újrafelhasználása
Programozási tételek újrafelhasználása Cél Adott egy a programozási tételeket általánosan leíró kódkönyvtár (osztálysablon könyvtár), amely felhasználásával a visszavezetéssel tervezett programjainkat
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észletesebbenAz alábbi példában a Foo f(5); konstruktor hívása után mennyi lesz f.b értéke? struct Foo { int a, b; Foo(int c):a(c*2),b(c*3) {} };
A C++ kódokban lévő makrókat melyik egység dolgozza fel az alábbiak közül? preprocessor A szabványos C++-ban nem is írhatunk makrókat (csak C-ben) assembler linker Az alábbi példában a Foo f(5); konstruktor
RészletesebbenBevezetés a Programozásba II 12. előadás. Adatszerkezetek alkalmazása (Standard Template Library)
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 12. előadás (Standard Template Library) 2014.05.19. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char
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észletesebbenProgramozás II gyakorlat. 6. Polimorfizmus
Programozás II gyakorlat 6. Polimorfizmus Típuskonverziók C-ben: void * ptr; int * ptr_i = (int*)ptr; Ez működik C++-ban is. Használjuk inkább ezt: int * ptr_i = static_cast(ptr); Csak egymással
RészletesebbenProgramozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
Részletesebben- 1 - Konstansok használata. Döntsük el, van-e fordítási idejű hiba az alábbi programrészletekben! a) const char * str="zh"; str[0]++;
Az alábbi feladatokat a AUT.BME.HU tanszéki weboldalon fellelhető AUT C++ Példatárból másoltam ki. A feladatokat a Programozás alapjai 2. ZH-ra való felkészülés jegyében válogattam, a példák nagy részét
RészletesebbenTervminták a valósidejű gyakorlatban
Tervminták a valósidejű gyakorlatban Forrás Ezeknek a diáknak a forrása a Game Programming Patterns című könyv Online elérhető a szerző oldaláról: http://gameprogrammingpatterns.com/contents.htm Game Loop
RészletesebbenFejlett programozási nyelvek C++ Sablonok és adatfolyamok
Fejlett programozási nyelvek C++ Sablonok és adatfolyamok 11. előadás Antal Margit 2009 slide 1 Témakörök Sablonok Függvénysablon Osztálysablon Sablon metaprogramozás Adatfolyamok Operátorok és manipulátorok
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é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 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észletesebbenBevezetés a C++ programozási nyelvbe
Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C++ programozási nyelvbe Oktatási segédlet Összeállította: Ficsor Lajos 2001. 1. A C++ programozási nyelv története A C++ programozási nyelv
Részletesebben