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

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r"

Átírás

1 Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r május 6.

2 Parancssori paraméterek Parancssorban történ programindításkor a program nevét követ en szóközökkel elválasztva paraméterek (command line arguments) adhatók meg, melyekkel a program m ködése befolyásolható. Könyvtár tartalmának listázása tömör formátum wajzy@wajzy-notebook:~/dokumentumok/gknb_intm021/el adások/ea13$ ls beolvas1.cpp ea13.log ea13.toc masol2 param2 param4.cpp beolvas2 ea13.nav guns.txt masol2.cpp param2.cpp beolvas2.cpp ea13.out kiir1 masolat.dat param2.o Könyvtár tartalmának listázása hosszú (long) formátum wajzy@wajzy-notebook:~/dokumentumok/gknb_intm021/el adások/ea13$ ls -l összesen rw-rw-r-- 1 wajzy wajzy 393 máj 5 12:13 beolvas1.cpp -rwxrwxr-x 1 wajzy wajzy máj 5 12:05 beolvas2 -rw-rw-r-- 1 wajzy wajzy 401 máj 5 12:13 beolvas2.cpp

3 Parancssori paraméterek Feladat: készítsünk programot, ami kilistázza saját paramétereit! Kimenet1 adások/ea13$./param1 egy ketto harom "szokozt tartalmaz" Az elinditott program neve:./param1 1. parameter: egy 2. parameter: ketto 3. parameter: harom 4. parameter: szokozt tartalmaz Kimenet2 adások/ea13$./param1 Az elinditott program neve:./param1 Nem adtak meg parametereket.

4 Parancssori paraméterek A main függvény paraméterei int main(int argc, char* argv[]) { /*... */ } int main(int argc, char** argv) { /*... */ } argc argv A paraméterek száma (argument count), beleszámolva az elindított programot is Paraméterek mutatótömbje (argument vector) 5 argc NULL argv "./param1" "egy" "ketto" "harom" "szokozt tartalmaz"

5 Parancssori paraméterek #i n c l u d e <i o s t r e a m > u s i n g namespace s t d ; i n t main ( i n t argc, c h a r a r g v [ ] ) { c o u t << "Az e l i n d i t o t t program neve : " << a r g v [ 0 ] << e n d l ; i f ( a r g c == 1) { c o u t << "Nem a d t a k meg p a r a m e t e r e k e t. \ n" ; } e l s e { f o r ( i n t i =1; i <a r g c ; i ++) { c o u t << i << ". p a r a m e t e r : " << a r g v [ i ] << e n d l ; } } r e t u r n 0 ; }

6 Parancssori paraméterek #i n c l u d e <i o s t r e a m > u s i n g namespace s t d ; i n t main ( i n t argc, c h a r a r g v ) { c o u t << "Az e l i n d i t o t t program neve : " << a r g v [ 0 ] << e n d l ; i f ( a r g c == 1) { c o u t << "Nem a d t a k meg p a r a m e t e r e k e t. \ n" ; } e l s e { f o r ( a r g v ++; a r g v!= NULL ; a r g v++) { c o u t << a r g v << e n d l ; } } r e t u r n 0 ; }

7 Parancssori paraméterek Feladat Két paraméterrel megadott, zárt intervallumba es véletlenszám el állítása Probléma A paraméterek típusa nem megfelel Megoldás1 A stringstream használata char* int konverzióhoz (rugalmasabb) Megoldás2 C függvény (atoi, ASCII to int) használata

8 Parancssori paraméterek 1 #i n c l u d e <i o s t r e a m > // c o u t 2 #i n c l u d e <c s t d l i b > // srand, rand 3 #i n c l u d e <ctime > // t i m e 4 #i n c l u d e <s s t r e a m > // s t r i n g s t r e a m 5 u s i n g namespace s t d ; 6 7 i n t main ( i n t argc, c h a r a r g v [ ] ) { 8 i f ( a r g c!= 3) { 9 c o u t << " H a s z n a l a t : " << a r g v [ 0 ] << " min max\n" ; 10 } e l s e { 11 s t r i n g s t r e a m s s ; 12 i n t min, max ; 13 s s << a r g v [ 1 ] << ' ' << a r g v [ 2 ] ; 14 s s >> min ; 15 s s >> max ;

9 Parancssori paraméterek 16 s r a n d ( t i m e (NULL ) ) ; 17 c o u t << "A [ " << min << ", " << max 18 << " ] i n t e r v a l l u m b a " 19 << " e s o v e l e t l e n szam : " 20 << min + rand ()%(max min+1) << e n d l ; 21 } 22 r e t u r n 0 ; 23 } Kimenet wajzy@wajzy-notebook:~/dokumentumok/gknb_intm021/el adások/ea13$./param3 1 5 A [1, 5] intervallumba eso veletlen szam: 4

10 Parancssori paraméterek #i n c l u d e <i o s t r e a m > // c o u t #i n c l u d e <c s t d l i b > // s rand, rand, a t o i #i n c l u d e <ctime > // t i m e u s i n g namespace s t d ; i n t main ( i n t argc, char a r g v [ ] ) { i f ( a r g c!= 3) { c o u t << " H a s z n a l a t : " << a r g v [ 0 ] << " min max\n" ; } e l s e { i n t min = a t o i ( a r g v [ 1 ] ) ; i n t max = a t o i ( a r g v [ 2 ] ) ; s r a n d ( t i m e (NULL ) ) ; c o u t << "A [ " << min << ", " << max << " ] i n t e r v a l l u m b a " << " e s o v e l e t l e n szam : " << min + r a n d ()%(max min+1) << e n d l ; } r e t u r n 0 ; }

11 Referenciák A referencia tekinthet új név társításának egy létez változóhoz, vagy olyan mutatónak, amelyen automatikusan végrehajtásra kerül az indirekció. 4 i n t main ( ) { 5 i n t d a r a b = 1 ; // v a l t o z o 6 i n t mutdarab = &d a r a b ; // mutato 7 i n t& r e f D a r a b = d a r a b ; // r e f e r e n c i a 8 // i n t& r e f D a r a b ; // Mi az e r e d e t i v a l t o z o cime? 9 // i n t& r e f D a r a b = 5 ; // Konstansnak n i n c s cime 10 c o u t << " d a r a b=" << d a r a b 11 << " r e f D a r a b=" << r e f D a r a b 12 << " mutdarab=" << mutdarab 13 << " mutdarab=" << mutdarab << e n d l ;

12 Referenciák 15 d a r a b ++; 16 r e f D a r a b ++; 17 c o u t << " d a r a b=" << d a r a b 18 << " r e f D a r a b=" << r e f D a r a b 19 << " mutdarab=" << mutdarab 20 << " mutdarab=" << mutdarab << e n d l ; 21 r e t u r n 0 ; 22 } Kimenet darab=1 refdarab=1 mutdarab=0x7ffe641fbc0c *mutdarab=1 darab=3 refdarab=3 mutdarab=0x7ffe641fbc0c *mutdarab=3

13 Referenciák Készíthet referenciát fogadó függvény is 4 v o i d n e g y z e t E r t e k ( i n t a l a p ) { 5 a l a p = a l a p a l a p ; 6 } 7 8 v o i d n e g y z e t M u t a t o ( i n t a l a p ) { 9 a l a p = a l a p a l a p ; 10 } v o i d n e g y z e t R e f e r e n c i a ( i n t& a l a p ) { 13 a l a p = a l a p a l a p ; 14 }

14 Referenciák Készíthet referenciát fogadó függvény is 16 i n t main ( ) { 17 i n t szam = 2 ; 18 c o u t << " Kezdetben : szam=" << szam ; 19 n e g y z e t E r t e k ( szam ) ; 20 c o u t << ", n e g y z e t E r t e k ( ) utan : szam=" << szam ; 21 n e g y z e t M u t a t o (&szam ) ; 22 c o u t << "\ nnegyzetmutato ( ) utan : szam=" << szam ; 23 n e g y z e t R e f e r e n c i a ( szam ) ; 24 c o u t << ", n e g y z e t R e f e r e n c i a ( ) utan : szam=" 25 << szam << e n d l ; 26 // n e g y z e t R e f e r e n c i a ( 5 ) ; // Konstansnak n i n c s cime 27 r e t u r n 0 ; 28 } Kimenet Kezdetben: szam=2, negyzetertek() utan: szam=2 negyzetmutato() utan: szam=4, negyzetreferencia() utan: szam=16

15 Referenciák Referenciával visszatér fv. 4 i n t szam = 5 ; 5 6 i n t& v i s s z a ( i n t param ) { 7 // r e t u r n 1 ; // k o n s t a n s n a k n i n c s cime 8 i n t l o k a l i s ; 9 // r e t u r n l o k a l i s ; // f e l s z a b a d u l, m i r e h a s z n a l n a n k 10 // r e t u r n param ; // d e t t o 11 r e t u r n szam ; 12 } i n t main ( ) { 15 i n t n = v i s s z a ( 4 2 ) 2 ; 16 cout << "n=" << n ; 17 v i s s z a ( 4 2 ) = 3 ; 18 v i s s z a (42)++; 19 c o u t << "\ nszam=" << szam ; 20 r e t u r n 0 ; 21 } Kimenet n=10 szam=4

16 Magas szint be- és kimenet Feladat Írjunk programot, ami a paraméterként adott szövegfájl tartalmát kiírja! Megoldás Magas B/K (high-level I/O) használata (operációs rendszert l független, hordozható megoldás, de csak a legfontosabb szolgáltatások érhet ek el) Fájlkezelés lépési: 1 (Megfelel típusú folyam) megnyitása 2 B/K m veletek elvégzése 3 Folyam (stream) lezárása A folyamok hasonlítanak a cin/cout pároshoz, de azok automatikusan nyílnak/zárulnak!

17 Magas szint be- és kimenet Beolvasás karakterenként #i n c l u d e <i o s t r e a m > #i n c l u d e <f s t r e a m > // i f s t r e a m u s i n g namespace s t d ; i n t main ( i n t argc, char a r g v [ ] ) { i f ( a r g c!= 2) { c o u t << " H a s z n a l a t : " << a r g v [ 0 ] << " f a j l n e v \n" ; } e l s e { i f s t r e a m f ( a r g v [ 1 ] ) ; i f ( f. is_open ( ) ) { char c ; w h i l e ( f. g e t ( c ),! f. e o f ( ) ) c o u t << c ; f. c l o s e ( ) ; } e l s e { c e r r << " F a j l n y i t a s i h i b a. \ n" ; } } r e t u r n 0 ; }

18 Magas szint be- és kimenet ifstream f(argv[1]); ifstream: bemeneti folyam típusa (osztály) f: a folyamváltozó neve argv[1]: a folyam forrása, ebb l fog olvasni f.is_open() Ellen rzi a megnyitás sikerességét (Létezik a fájl? Van jogunk olvasni?... ) (Az ifstream osztály tagfüggvénye) f.get(c) Beolvas egyetlen karaktert a c változóba (istream& get (char& c);) f.eof() Ellen rzi, hogy a fájl végének (end of file) elérését mutató jelz bit (ag) magas érték -e Csak az els túlolvasási kísérlet után lesz a bit magas érték! f.close() Folyam lezárása

19 Magas szint be- és kimenet Programunk kimenete adások/ea13$./beolvas1 guns.txt She's got a smile it seems to me Reminds me of childhood memories Where everything Was as fresh as the bright blue sky Now and then when I see her face cat (concatenate les and print) kimenete wajzy@wajzy-notebook:~/dokumentumok/gknb_intm021/el adások/ea13$ cat guns.txt She's got a smile it seems to me Reminds me of childhood memories Where everything Was as fresh as the bright blue sky Now and then when I see her face

20 Magas szint be- és kimenet Minden szó külön stringben 5 i n t main ( i n t argc, char a r g v [ ] ) { 6 i f ( a r g c!= 2) { 7 c o u t << " H a s z n a l a t : " << a r g v [ 0 ] 8 << " f a j l n e v \n" ; 9 } e l s e { 10 i f s t r e a m f ( a r g v [ 1 ] ) ; 11 i f ( f. is_open ( ) ) { 12 s t r i n g s ; 13 w h i l e ( f >> s,! f. e o f ( ) ) 14 c o u t << s << e n d l ; 15 f. c l o s e ( ) ; 16 } e l s e { 17 c e r r << " F a j l n y i t a s i h i b a. \ n" ; 18 } 19 } 20 r e t u r n 0 ; 21 } Kimenet She's got a smile it seems to me Reminds me of childhood memories Where everything Was as fresh as

21 Magas szint be- és kimenet Teljes sorok olvasása 5 i n t main ( i n t argc, c h a r a r g v [ ] ) { 6 i f ( a r g c!= 2) { 7 c o u t << " H a s z n a l a t : " << a r g v [ 0 ] << " f a j l n e v \n" ; 8 } e l s e { 9 i f s t r e a m f ( a r g v [ 1 ] ) ; 10 i f ( f. is_open ( ) ) { 11 s t r i n g s ; 12 w h i l e ( g e t l i n e ( f, s ),! f. e o f ( ) ) { 13 c o u t << s << e n d l ; 14 } 15 f. c l o s e ( ) ; 16 } e l s e { 17 c e r r << " F a j l n y i t a s i h i b a. \ n" ; 18 } 19 } 20 r e t u r n 0 ; 21 }

22 Magas szint be- és kimenet Sorok írása 1 #i n c l u d e <i o s t r e a m > 2 #i n c l u d e <f s t r e a m > // o f s t r e a m 3 u s i n g namespace s t d ; 4 5 i n t main ( i n t argc, c h a r a r g v [ ] ) { 6 i f ( a r g c!= 2) { 7 c o u t << " H a s z n a l a t : " << a r g v [ 0 ] << " f a j l n e v \n" ; 8 } e l s e { 9 o f s t r e a m f ( a r g v [ 1 ] ) ; // a l a p é r t e l m e z e s : f e l u l i r a s 10 i f ( f. is_open ( ) ) { // ( t r u n c a t e ) 11 s t r i n g d a l [ ] = { 12 " She ' s g o t a s m i l e i t seems t o me", 13 " Reminds me o f c h i l d h o o d memories ",

23 Magas szint be- és kimenet Sorok írása 18 "And i f I ' d s t a r e t o o l o n g ", 19 " I ' d p r o b a b l y b r e a k down and c r y " 20 } ; 21 f o r ( unsigned i =0; 22 i <s i z e o f ( d a l )/ s i z e o f ( d a l [ 0 ] ) ; 23 i ++) { 24 f << d a l [ i ] << e n d l ; 25 } 26 f. c l o s e ( ) ; 27 } e l s e { 28 c e r r << " F a j l n y i t a s i h i b a. \ n" ; 29 } 30 }

24 Magas szint be- és kimenet Másolás karakterenként 5 i n t main ( i n t argc, char a r g v [ ] ) { 6 i f ( a r g c!= 3) { 7 c o u t << " H a s z n a l a t : " << a r g v [ 0 ] 8 << " f o r r a s c e l \n" ; 9 } e l s e { 10 i f s t r e a m be ( a r g v [ 1 ] ) ; 11 i f ( be. is_open ( ) ) { 12 o f s t r e a m k i ( a r g v [ 2 ] ) ; 13 i f ( k i. is_open ( ) ) { 14 char c ; 15 w h i l e ( be. g e t ( c ),! be. e o f ( ) ) { 16 k i << c ; 17 }

25 Magas szint be- és kimenet Másolás karakterenként 18 k i. c l o s e ( ) ; 19 } e l s e { 20 c e r r << " M e g n y i t a s i h i b a : " 21 << a r g v [ 2 ] << e n d l ; 22 } 23 be. c l o s e ( ) ; 24 } e l s e { 25 c e r r << " M e g n y i t a s i h i b a : " 26 << a r g v [ 1 ] << e n d l ; 27 } 28 } 29 r e t u r n 0 ; 30 }

26 Magas szint be- és kimenet Másolás blokkonként 1 #i n c l u d e <i o s t r e a m > 2 #i n c l u d e <f s t r e a m > 3 u s i n g namespace s t d ; 4 #d e f i n e MERET i n t main ( i n t argc, c h a r a r g v [ ] ) { 7 i f ( a r g c!= 3) { 8 c o u t << " H a s z n a l a t : " << a r g v [ 0 ] 9 << " f o r r a s c e l \n" ; 10 } e l s e { 11 i f s t r e a m be ( a r g v [ 1 ], i o s : : b i n a r y ) ; 12 i f ( be. is_open ( ) ) { 13 o f s t r e a m k i ( a r g v [ 2 ], i o s : : b i n a r y ) ; 14 i f ( k i. is_open ( ) ) { 15 c h a r p u f f e r = new c h a r [MERET ] ; 16 i n t b e o l v a s v a ;

27 Magas szint be- és kimenet Másolás blokkonként 17 do { 18 be. r e a d ( p u f f e r, MERET ) ; 19 b e o l v a s v a = be. gcount ( ) ; 20 k i. w r i t e ( p u f f e r, b e o l v a s v a ) ; 21 } w h i l e ( b e o l v a s v a == MERET ) ; 22 d e l e t e [ ] p u f f e r ; 23 k i. c l o s e ( ) ; 24 } e l s e { 25 c e r r << " M e g n y i t a s i h i b a : " << a r g v [ 2 ] << e n d l ; 26 } 27 be. c l o s e ( ) ; 28 } e l s e { 29 c e r r << " M e g n y i t a s i h i b a : " << a r g v [ 1 ] << e n d l ; 30 } 31 } 32 r e t u r n 0 ; 33 }

28 Magas szint be- és kimenet Folyamok egy-egy felültöltött konstruktora explicit ifstream (const char* lename, ios_base::openmode mode = ios_base::in); explicit ofstream (const char* lename, ios_base::openmode mode = ios_base::out); Megnyitási mód konstansok: (kombinálhatók bitenkénti vagy operátorral, vagy összeadással) in (input) Megnyitás olvasásra out (output) Megnyitás írásra binary Bináris üzemmód (karakteres helyett = nincs transzláció) ate (at end, append) Hozzáf zés (fájlmutató a fájl végére mozdul) trunc (truncate) Meglév tartalom törlése

29 Magas szint be- és kimenet Másolás karakterenként time./masol1 nagyfajl.dat masolat.dat real 5m33.072s user 4m54.301s sys 0m19.405s Másolás blokkonként time./masol2 nagyfajl.dat masolat.dat real 0m53.501s user 0m0.212s sys 0m12.795s Másolás az OS segédprogramjával time cp nagyfajl.dat masolat.dat real 0m50.821s user 0m0.102s sys 0m12.247s

Pénzügyi algoritmusok

Pé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észletesebben

Bevezetés a programozásba I.

Bevezeté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észletesebben

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

Bevezetés 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észletesebben

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. április 4. Számok rendezése Feladat: Fejlesszük tovább úgy a buborék rendez algoritmust bemutató példát, hogy a felhasználó adhassa meg a

Részletesebben

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

Programozá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észletesebben

A C programozási nyelv VI. Parancssori argumentumok File kezelés

A C programozási nyelv VI. Parancssori argumentumok File kezelés A C programozási nyelv VI. Parancssori argumentumok File kezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv VI. (Parancssori argumentum, file kezelés) CBEV6 / 1 Parancssori

Részletesebben

Fejlett programozási nyelvek C++ Sablonok és adatfolyamok

Fejlett 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észletesebben

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7. Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Dinamikus memóriakezelés Dinamikus tömbök Dinamikus stringek Program kapcsolata a

Részletesebben

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

Programozás 6. Dr. Iványi Péter Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak

Részletesebben

1. Alapok. Programozás II

1. 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észletesebben

Szövegek C++ -ban, a string osztály

Szövegek C++ -ban, a string osztály Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string

Részletesebben

A C++ nyelvben a függvény nevek túlterhelésével biztonságosabbá tehetnénk az adatok kiírását és beolvasását.

A C++ nyelvben a függvény nevek túlterhelésével biztonságosabbá tehetnénk az adatok kiírását és beolvasását. 1. Motiváció C nyelvben a printf és a scanf függvények használata a programozótól nagy körültekintést igényel. A változó számú argumentum miatt a fordító nem tudja ellenőrizni, hogy a formátum mezőben

Részletesebben

S z á m í t ó g é p e s a l a p i s m e r e t e k

S z á m í t ó g é p e s a l a p i s m e r e t e k S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami

Részletesebben

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

Programozá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észletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

Globális operátor overloading

Globá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észletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java 9. gyakorlat Fájlkezelés A fájlkezelés Java-ban különböző osztályok összekapcsolásával történik. Minden egyes osztály valamilyen minimális szolgáltatást tesz hozzá a többihez.

Részletesebben

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. szeptember 27. Háromszög szerkeszthet ségének ellen rzése ANSI C (C89) megvalósítás #i n c l u d e i n t main ( v

Részletesebben

Bevezetés a programozásba I.

Bevezeté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észletesebben

7. gyakorlat Sorozatok, Fájlkezelés

7. gyakorlat Sorozatok, Fájlkezelés 7. gyakorlat Sorozatok, Fájlkezelés Házi ellenőrzés - f0124 Írj programot, amelyben a felhasználónak egy, a program által meghatározott számot kell kitalálnia! A felhasználó tippjét a program vagy elfogadja,

Részletesebben

Operációs rendszerek 1.

Operációs rendszerek 1. Operációs rendszerek 1. Szűrőprogramok Balla Tibor balla.tibor@inf.unideb.hu Standard bemenet és kimenet Standard bemenet (stdin,0) Standard kimenet (stdout,1) Standard hibakimenet (stderr,2) Átirányítás

Részletesebben

Bevezeté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. 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észletesebben

Elemi alkalmazások fejlesztése I. Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely

Elemi alkalmazások fejlesztése I. Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely 1.feladat (max02a) Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely maximális elemét. A tömb hosszát a fájl els ı eleme tartalmazza.a fájl nevét a szabványos bemeneten kérjük

Részletesebben

8. Gyakorlat. Rövid elméleti összefoglaló: Fájlkezelés

8. Gyakorlat. Rövid elméleti összefoglaló: Fájlkezelés Rövid elméleti összefoglaló: Fájlkezelés 8. Gyakorlat Karakter írása és olvasása szükséges a fájlkezelő függvények használatához. Állomány nyitása írásra, például: ofstream Fir; Fir.open("adatok.dat");

Részletesebben

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

Bevezeté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észletesebben

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 7. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? összefésüléses rendezés (merge

Részletesebben

BASH SCRIPT SHELL JEGYZETEK

BASH SCRIPT SHELL JEGYZETEK BASH SCRIPT SHELL JEGYZETEK 1 TARTALOM Paraméterek... 4 Változók... 4 Környezeti változók... 4 Szűrők... 4 grep... 4 sed... 5 cut... 5 head, tail... 5 Reguláris kifejezések... 6 *... 6 +... 6?... 6 {m,n}...

Részletesebben

Országzászlók (2015. május 27., Sz14)

Országzászlók (2015. május 27., Sz14) Országzászlók (2015. május 27., Sz14) Írjon programot, amely a standard bemenetről állományvégjelig soronként egy-egy ország zászlójára vonatkozó adatokat olvas be! Az egyes zászlóknál azt tartjuk nyilván,

Részletesebben

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó 7. gyakorlat Fájlkezelés IO haladó Függvények haladó Fájlkezelés A C-ben a fájlkezelés ún. fájlstream-eken keresztül történik, melyek puffereltek ha valamit a streamre küldünk, nem biztos, hogy rögtön

Részletesebben

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Bevezeté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észletesebben

Programozás C++ -ban 2007/1

Programozá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észletesebben

Programozás C++ -ban 2007/4

Programozá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észletesebben

Informatika terméktervezőknek

Informatika 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észletesebben

Programozá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 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

main int main(int argc, char* argv[]) { return 0; } main return 0; (int argc, char* argv[]) main int int int main main main

main int main(int argc, char* argv[]) { return 0; } main return 0; (int argc, char* argv[]) main int int int main main main main int main(int argc, char* argv[]) { return 0; main main int int main int return 0; main (int argc, char* argv[]) main #include #include int main(int argc, char* argv[]) { double

Részletesebben

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

Programozá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észletesebben

Programozá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) 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észletesebben

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

Mit 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észletesebben

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r

Részletesebben

Alkalmazott modul: Programozás 2. előadás. Procedurális programozás: adatfolyamok, adatsorok kezelése

Alkalmazott modul: Programozás 2. előadás. Procedurális programozás: adatfolyamok, adatsorok kezelése Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 2. előadás Procedurális programozás: adatfolyamok, adatsorok kezelése 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Programozá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. 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észletesebben

Programozás C++ -ban

Programozá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

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

Programozá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észletesebben

Bevezeté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 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észletesebben

Bevezetés a programozásba I.

Bevezeté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észletesebben

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. 7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while, select, case,

Részletesebben

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

Mintavé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észletesebben

Programozás I. gyakorlat

Programozás I. gyakorlat Programozás I. gyakorlat 1. gyakorlat Alapok Eszközök Szövegszerkesztő: Szintaktikai kiemelés Egyszerre több fájl szerkesztése pl.: gedit, mcedit, joe, vi, Notepad++ stb. Fordító: Szöveges file-ban tárolt

Részletesebben

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben

C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat

C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat 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/12 Input-output

Részletesebben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:

Részletesebben

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >> I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >

Részletesebben

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Programozás alapjai 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Háziellenőrzés Egészítsd ki úgy a simplemaths.c programot, hogy megfelelően működjön. A program feladata az inputon soronként megadott

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java 2. gyakorlat Függvények Általános prototípus Módosítószavak Láthatóság: public, protected, private. Ha nem definiált, akkor úgynevezett package-private láthatóság. Lehet abstract

Részletesebben

C# 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. 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észletesebben

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

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

Programozá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észletesebben

Python tanfolyam Python bevezető I. rész

Python tanfolyam Python bevezető I. rész Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények

Részletesebben

Programozás C és C++ -ban

Programozás C és C++ -ban Programozás C és C++ -ban 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észletesebben

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

Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE 2015-16 1 POINTEREK ismétlés double x = 3.14, *px = &x; unsigned char *p, *p1, *p2; p1 = (unsigned char*)px; p2 = p1 + sizeof(double); for ( p = p2-1 ;

Részletesebben

Bevezetés a programozásba I 7. gyakorlat. C++: szövegkezelés, szekvenciális fájlkezelés. Szövegkezelés Karakterkezelés

Bevezetés a programozásba I 7. gyakorlat. C++: szövegkezelés, szekvenciális fájlkezelés. Szövegkezelés Karakterkezelés Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 7. gyakorlat C++: szövegkezelés, szekvenciális fájlkezelés 2011.10.25. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a

Részletesebben

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő

Részletesebben

Bevezetés a programozásba I 8. gyakorlat. C++: szövegfolyamok, intelligens tömbök. Adatfolyamok Hibalehetőségek

Bevezeté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észletesebben

Felhasználói dokumentáció

Felhasználói dokumentáció Programozás Beadandó Tanuló adatai Név: Berezvai Dániel ETR-azonosító: BEDTACI.ELTE E-mail: 3ice@3ice.hu Kurzuskód: IP-08PAEG/18 Gyakorlatvezető neve: Menyhárt László Feladatsorszám: 35 Feladat szövege:

Részletesebben

Bevezetés a C++ programozásba

Bevezeté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észletesebben

Bevezetés a programozásba I 8. gyakorlat. C++: szövegfolyamok, intelligens tömbök

Bevezeté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észletesebben

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 31. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 31. Városok közötti távolság Feladat: két város nevének beolvasása, városok közötti távolság megjelenítése. Kilépés azonos városok

Részletesebben

Programozás C++ -ban 2007/7

Programozá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észletesebben

Operációs rendszerek I. IIII. gyakorlat

Operációs rendszerek I. IIII. gyakorlat Operációs rendszerek I. IIII. gyakorlat o who o w o last o users o finger o talk o write o mesg o clear III. gyakorlat o alias/unalias o passwd o pwgen o ls o mkdir o cd o rm / rmdir o tree o pwd 2 finger

Részletesebben

Operációs Rendszerek II. labor. 2. alkalom

Operációs Rendszerek II. labor. 2. alkalom Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,

Részletesebben

Programozási nyelvek II.: JAVA

Programozási nyelvek II.: JAVA Programozási nyelvek II.: JAVA 5. gyakorlat 2017. október 9-13. 5. gyakorlat Programozási nyelvek II.: JAVA 1 / 34 Az 5. gyakorlat tematikája Kivételkezelés alapjai Be és kimenet BufferedReader, Scanner

Részletesebben

Operációs rendszerek 2 1. óra: Linux alapok Ismétlés. Windisch Gergely félév

Operációs rendszerek 2 1. óra: Linux alapok Ismétlés. Windisch Gergely félév Operációs rendszerek 2 1. óra: Linux alapok Ismétlés Windisch Gergely windisch.gergely@nik.uni-obuda.hu 2011-2012 2. félév Féléves követelmények Kéthetente 2 óra, hetek paritása alapján egy elmaradó alkalom

Részletesebben

Flex tutorial. Dévai Gergely

Flex tutorial. Dévai Gergely Flex tutorial Dévai Gergely A Flex (Fast Lexical Analyser) egy lexikáliselemz -generátor: reguláris kifejezések sorozatából egy C/C++ programot generál, ami szövegfájlokat képes lexikai elemek sorozatára

Részletesebben

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek Linux alapok Parancsok általános alakja parancs kapcsolók paraméterek Könyvtárszerkezet abszolút útvonal útvonal megadása a gyökérből kiindulva / gyökérkönyvtár relatív útvonal útvonal megadása az aktuális

Részletesebben

500. CC Megoldó Alfréd CC 500.

500. 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észletesebben

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1

STL 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észletesebben

1. 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 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észletesebben

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor. Függvény pointer Több feladat közül futási időben döntöm el, hogy melyiket hajtom végre. A függvényre mutató pointer a függvény kódjának a címére mutat, azon keresztül meghívhatom a függvényt. A pointernek

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 9. gyakorlat Sztringkezelés, mutatók Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 2, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

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

Bevezeté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észletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁ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észletesebben

500. AA Megoldó Alfréd AA 500.

500. 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észletesebben

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

Programozá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észletesebben

Listák, szótárak, fájlok Listák, szótárak, fájlok

Listák, szótárak, fájlok Listák, szótárak, fájlok lista fogalma, használata listák másolása (alap szintű, teljes körű) szótárak fogalma, használata adatbázis alkalmazás fejlesztése műveletek fájlokkal (megnyítás, írás, olvasás, lezárás) rejtjelező alkalmazás

Részletesebben

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés Bevezetés az informatikába, második gyakorlat Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés Bevezetés Parancsértelmező (bash) Utasítások man Szövegszerkesztők Bash Különféle

Részletesebben

osztályok kapcsolata Származtatatás C++ Izsó Tamás 2014. március 19. Izsó Tamás Származtatatás/ 1

osztá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észletesebben

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás - Pál László 12. ELŐADÁS Állomány-kezelés 2 Objektumorientált programozás - Pál László Mi a

Részletesebben

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Algoritmusok Tervezése 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Bevezetés A BASIC (Beginner s All-purpose Symbolic Instruction Code) programnyelvet oktatási célokra hozták létre 1964-ben. Az általános

Részletesebben

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT alapjai, bevezetés Vincze Dávid Miskolci Egyetem, IIT vincze.david@iit.uni-miskolc.hu PHP Personal Home Page (Tools) Script nyelv -> interpretált Elsősorban weboldal (dinamikus) tartalmak előállítására

Részletesebben

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

Programozá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észletesebben

LINUX PMB2506-2 LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

LINUX PMB2506-2 LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB LINUX PMB2506-2 LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB LINUX PARANCSOK ÉS HASZNÁLATUK ls: listázás -l részletes lista -a rejtett fájlok megjelenítése cp: fájlok másolása -i Már létező cél felülírása előtt

Részletesebben

ORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

ORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók Oracle SQL*Plus SQL ORACLE Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható

Részletesebben

Felhasználó által definiált adattípus

Felhaszná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észletesebben

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás

Részletesebben

Fejlett programozási nyelvek C++ Iterátorok

Fejlett programozási nyelvek C++ Iterátorok Fejlett programozási nyelvek C++ Iterátorok 10. előadás Antal Margit 2009 slide 1 Témakörök I. Bevezetés II. Iterátor definíció III. Iterátorok jellemzői IV. Iterátorkategóriák V. Iterátor adapterek slide

Részletesebben

7. Laboratóriumi gyakorlat, 1. rész : Vezérlési szerkezetek II.

7. Laboratóriumi gyakorlat, 1. rész : Vezérlési szerkezetek II. 7. Laboratóriumi gyakorlat, 1. rész : Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while,

Részletesebben

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

Bevezeté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észletesebben