2. modul Python bevezetés
|
|
- Virág Király
- 7 évvel ezelőtt
- Látták:
Átírás
1 2. modul Python bevezetés Horváth Árpád március 4. A modul célja A hallgatók ismerjék meg a Python nyelv alapjait olyan szinten, hogy a hálózatok vizsgálatára szolgáló függvényeket képesek legyenek írni. A hallgatók ismerjék a hálózatok éllistás megadását. 1. lecke A használt szoftverek bemutatása Tervezett id tartam 90 perc. Követelmények: A hallgató tudja felsorolni és elmagyarázni a Python négy f jellemz jét, párosítani tudja, hogy melyik programozási nyelv illetve programcsomag mire való: Python, pylab, matplotlib, numpy, igraph, ismerje az alábbiak szoftverek használatának jogi feltételeit: Debian, Python, matplotlib, numpy, igraph, tudja felsorolni a Python nyelv legalább három alkalmazási területét, képes telepíteni a VirtualBox alá a tanuláshoz szükséges Debiant, és azt elindítani, szabályosan leállítani, ismeri a python3, ipython3 és IDLE3 parancsértelmez k alapvet jellemz it, képes használni az ipython3 parancsértelmez t, képes a Python oktató példáit lefuttatni benne, képes használni az IDLE3 fájlszerkeszt jét vagy a Vim (gvim) szövegszerkeszt t Python programok szerkesztésére. A Python programozási nyelv 4 f jellemz je Objektumorientált Dinamikusan típusos A változóneveket nem kell külön bevezetni, és típust rendelni hozzá. Az értékadáskor lesz az adott változónak konkrét típusa, és ez a típus kés bb az értékkel együtt változhat. Interpretált Nem szükséges külön fordítás. A Python platformfüggetlen bytekódot készít a forrásból, és minden futtatáskor vizsgálja, hogy a forráskód nem frisebb-e mint a bytekód. Ha frisebb újra fordít. (Forráskód nélkül csak a bytekód is futtatható.) Platformfüggetlen A Python értelmez számos operációs rendszerhez elérhet lényegében azonos lehet ségekkel. A Python pár modulja numpy els sorban tömb és mátrixm veleteket végz modul, mivel a m veletek C-nyelven hajtódnak végre, gyorsak, matplotlib függvények kirajzolására használható modul. A függvények képerny n is megjeleníthet k és el is menthet k különböz formátumokban. A numpy-ra épül. pylab A matplotlib csomag telepítésekor hívható a matplotlib és a pylab csomag is. A pylab modul betöltésekor a MATLAB-éhoz hasonló függvényeket használhatunk, ahhoz hasonló módon rajzoltathatunk ki függvényeket. igraph Egy hálózatkezel modul, amely gyors, mivel C függvényeket hívogat. 1
2 Szoftverjog Szabad szoftvernek (Free Software) nevezzük azt a szoftvert, amely szabadon használható, tanulmányozható és módosítható, és a módosított változat is szabadon továbbadható. Ezekhez szükséges a forráskód ismerete. Nyílt forráskódúnak nevezzük azokat a programokat amelyeknél a forrás tanulmányozható, de nem feltétlenül teljesül a többi kikötés. A Debian, a Python, a pylab, a matplotlib, az igraph, az ipython parancsértelmez (és a kés bb használandó cxnet), nyílt forrású szoftverek. A Debian, az igraph és a cxnet szabad szoftverek, de a többi is szabadon használható még kereskedelmi célokra is. VirtualBox A félév során használhatnak egy Debian rendszert, amelyre az félév összes szükséges szoftvere telepítésre került. Ez a rendszert VirtualBox alá lehet telepíteni. Természetesen használhatnak saját telepítés rendszert (Ubuntu vagy Debian ajánlott) is. Nézze meg a VirtualBox használatáról szóló videót! Elérhet az elearning oldalon a kurzus az els blokkban (az 1. modul felett)! Python parancsértelmez k A Python nyelv kényelmesen használható parancssorból, azaz olyan felületr l, amelyben minden egyes parancs a begépelése után rögtön végrehajtódik, hasonlóan a Linux/Unix parancsértelmez ihez. A parancsértelmez t másképpen shellnek is hívják. A Pythonnak van egy hivatalos parancsértelmez je, amelyet legalábbis az általunk használt 3-as verzióét a python3 paranccsal indíthatunk. Ennél fejlettebb az IPython értelmez. Mindkett t lehet Linux/Unix/Windows parancssorból indítani. Az IDLE3 parancsértelmez ként is szolgáló integrált fejleszt eszköz. ok Nézze meg a parancsértelmez kr l és a Python-oktató használatáról szóló kisvideókat! A 2. modulban találhatóak. A video alapján futtasson le az oktatóban található programkódokat az ipythonban illetve az IDLE3- ban! A továbbiakban gyakran fogunk forráskódot szerkeszteni. Az IDLE3 használata egyszer bb, de a Vim illetve gvim különösen ahogy a Debian alatt be van állítva sok hasznos tulajdonsággal rendelkezik a Python-fájlok szerkesztéséhez. A Vim a parancssorból a vim parancsal indítható. A gvim a Debian alatt a felül található tálcáról elérhet. Használata tanulás nélkül nem könny, de a vimtutor paranccsal elindítva a f bb dolgokat meg lehet tanulni. Számunkra az IDLE3 használata is megfelel. Oldja meg az elearning oldalon található tesztet, amely ehhez a leckéhez tartozik. 2. lecke A Python nyelv alapjai Tervezett id tartam 90 perc. 2
3 Követelmények: A hallgató képes megjegyzést adni a programhoz, parancssorhoz, képes karakterláncokat létrehozni, összevonni, indexelni, szeletelni, képes létrehozni int és float típusú számokat, képes alkalmazni a 4 alapm velet és a // és ** és % m veleteket, képes használni az alulvonás _ változót, képes létrehozni karakterláncokat, képes alkalmazni a karakterláncok összef zésének lehet ségeit, a nyers karakterláncokat és a háromszoros idéz jeles formát, képes a karakterláncok indexelésére, szeletelésére, képes listák létrehozására, indexelésére, szeletelésére, összef zésére, Követelmények (folytatás): A hallgató képes listák adott index elemének és adott szeletének megváltoztatására értékadással, meg tudja magyarázni, hogy mit jelent, hogy a listák megváltoztathatóak, a karakterláncok pedig nem, képes a listák append és count metódusainak használatára, képes a print kulcsszavas paramétereinek (end, sep) használatára. képes feltételes elágazás létrehozására, az elif és else ágak használatára, képes while és for ciklus értelmezésére és létrehozására, akár break és continue utasítások használatával is, képes a range() függvény használatára for-ciklusban. ok Mint láthatja, ebben a leckében rengeteg apró dolgot kell megtanulnia a Python nyelvr l! PyOkt Ezek nagy része az oktató 3. és 4. fejezetében található. Olvassa el gyelmesen az oktató magyar vagy angol változatának alább megadott fejezeteit, és bátran kísérletezzen az ipython3-ban vagy az IDLE3-ban. A itt leírtak nagy része lépten-nyomon el fog fordulni a félév anyagában. Megtanulandók a 3. fejezet, a 4. fejezet de a 4.6-os és utána lév már nem kell egyel re. Az 5.1. fejezetben találhatóak a listák metódusai, amelyek közül az append és count metódusok ismerete fontos. A print utarítás két kulcsszavas argumentumát a következ kben magyarázzuk el. A print kulcsszavas argumentumai Alapból a print utasítás minden felsorolt argumentuma között egy szóközt kihagy, és a sor végén sort emel. Ez a viselkedés megváltoztatható a sep és end kulcsszavas argumentumokkal. A sep alapesetben szóköz, az end értéke soremelés. Az alábbi példában az elválasztó " + " (szóköz+plusz+szóköz) lesz, a sor végét " =" (szóköz+egyenl ) fogja zárni, és nem lesz soremelés. print(1,5,3,7,3, sep=" + ", end=" =") Hogyan lehetne úgy kiíratni ugyenezt, hogy ezen kívül még két soremelés legyen? Hogyan lehetne úgy kiíratni ugyenezeket a számokat, hogy mindegyik külön sorban legyen, és legalul a sort egy - (minusz) jel zárja? Megoldások print(1,5,3,7,3, sep=" + ", end=" =\n\n") print(1,5,3,7,3, sep="\n", end=" =\n-") Egyéb argumentumok, ajánlott feladat A további kérdéseket gyakorlásképp megoldhatja, de nyugodtan áttérhet a következ leckére. Milyen kulcsszavas argumentumai vannak még a print-nek? Próbálja meg kideríteni az ipython3 segítségével! 3
4 Megoldás ipython3-ban a print? beírásával, IDLE3-ban a help(print) utasítással vagy ha várunk egy kicsit a print( beírása után: In [1]: print? (...) print(value,..., sep=' ', end='\n', file=sys.stdout) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. Van tehát egy argumentum, ami fájl, vagy fájl-szer objektum lehet. Meg lehet tehát adni, hogy ne a képerny re, hanem fájlba írjon a print. (3.3-tól van egy ush is.) Ajánlott feladat Hogyan lehet olyan ciklust készíteni, amelyben a evszazad változó végig megy 900-tól 2000-ig százasával, és ki is írja a változót úgy, hogy az egymás utáni értékek vessz vel lesznek elválasztva? Megoldás for evszazad in range(300, 2001, 100): print(evszazad, end=",") 2001 helyett bármilyen egész lehet 2001 és 2100 között. Oldja meg az elearning oldalon található tesztet, amely ehhez a leckéhez tartozik. 3. lecke Az éllista Tervezett id tartam 90 perc. Követelmények: A hallgató el tudja magyarázni, hogyan tárolhatóak irányítatlan és irányított hálózatok éllistában, létre tud hozni egyszer bb függvényeket a return utasítás helyes használatával és dokumentációs karakterlánccal, tesztelni tudja assert utasítással függvények visszatérési értékeit, létre tud hozni olyan függvényeket, amelyek éllistából meghatározza a hálózat éleinek számát, egy csúcs fokszámát, egy csúcs szomszédainak a számát. Éllisták A hálózatokat többféle módon tárolhatjuk a számítógépen. Ezek egyike az éllista. Ebben az esetben az éleket soroljuk fel olyan módon, hogy az éleket a végpontjaival azonosítjuk. Mi a továbbiakban az csúcsok azonosítására egész számokat fogunk használni. Ha N csúcsa van a hálózatnak, akkor az csúcsokat 0 és N 1 közé es egészek fogják jelölni. Az éllista elemei tehát számpárok lesznek. 4
5 ok Megtudható-e egy éllistából a hálózat csúcsainak a száma? Lehet-e éllistában hurokéleket és többszörös éleket tárolni? 2 1 hurokél 0 többszörös él Megoldások Az alábbi esetben nem tudható meg az éllistából, hogy három csúcs van. Legalább két csúcsnak lennie kell, de lehetne akár ezer is Többszörös éleket úgy lehet tárolni, hogy többször felsorolom az adott élt, hurokéleket pedig úgy, hogy a számpár kétszer tartalmazza ugyanazt a számot. Élek megadása Csúcspárokat a listához hasonló adatszerkezetben, a kés bb részletezett tuple-okban tároljuk. Lényegében attól tér el a listától, hogy módosíthatatlan: nem lehet hozzáf zni, elemét módosítani... Az el z feladatban szerepl hálózat éllistája így a következ lesz: edge_list = [(0,1), (0,1), (0,2), (1,2), (1,1)] PyOkt Olvassa el a Python-oktató 4. fejezetének 4.6 Függvények deniálása alfejezetét! Meghatározható-e a csúcsok fokszáma az éllistából? Írjon olyan függvényt, amely éllistát kapva az élek számával tér vissza! Megoldások A fokszámok meghatározhatóak az éllistából. Kivéve esetleg néhány nullás fokszámú csúcsot, mert nem tudjuk, hogy van-e olyan nagy index csúcs.. Alább (az igraph jelöléséhez igazodva ecount-tal (edge count) jelölve) megadtam az élszámot megadó függvényt. A függvényt elég könnyen létrehozhatjuk: def ecount(edge_list): return len(edge_list) print(ecount([(0,1), (0,1), (0,2), (1,2), (1,1)])) A fenti példában meg is hívtam a függvényt, és kiirattam a visszatérési értékét. Ebben a példában 5-öt ír ki. 5
6 Az assert utasítás A programok tesztelésére és argumentumainak vizsgálatára alkalmas az assert utasítás. Ha utána egy feltételt írok, akkor igaz érték esetén változatlanul megy tovább a program, hamis érték esetén pedig egy AssertionError kivétel lép fel. A feltétel után még vessz vel elválasztva írhatunk egy szöveget is, amit kiír a program az AssertionError kiírásával együtt. Például szeretnénk egy fokszámot visszaadó függvényt készíteni, akkor többek között a következ vizsgálatot írhatjuk hozzá: assert degree(0, [(0,1), (2,0)]) == 2, "hibás a fokszám" Hálózatos nyelvlecke A programok fejlesztése során az angol nyelvet fogjuk használni a saját változóink elnevezésére is. Pár szó angolul, amire hamarosan szükségünk lesz. magyar angol csúcs vertex, többes száma vertices él edge fokszám degree gráf graph hálózat network hurokél loop A csúcs másik angol neve a node, de mi az igraph-hoz igazodva a vertexet használjuk. Típusvizsgálat A Python nyelvben egy változó típusának szoktuk nevezni, hogy melyik osztály példányai. Pythonban minden érték valamilyen osztályból származik, az egész típus is. A típus megvizsgálására az isinstance függvény szolgál. Els paramétere a kifejezés, aminek a típusát vizsgáljuk, a második argumentuma egy osztály vagy több osztály tuple-ként. Nevezzük a degree függvény két paraméterét a következ képpen: vertex és edge_list. Az edge_list esetén engedjük meg a lista mellett a tuple alakot is. Ekkor a következ képpen vizsgálhatjuk meg a függvényen belül, hogy helyes típusú értéket kaptunk-e: assert isinstance(vertex, int), "vertex must be integer" assert isinstance(edge_list, (list, tuple)) Tesztelés A programok tesztelését egyel re assert utasítással fogjuk végezni. A teszteket egy test nev függvénybe gy jtjük össze, majd teszteléskor meghívjuk ezt a függvényt. def test(): assert degree(0, [(0,1), (2,0), (2,3)]) == 2 assert degree(1, [(0,1), (2,0), (2,3)]) == 1 assert degree(2, [(0,1), (2,0), (2,3)]) == 2 assert degree(3, [(0,1), (2,0), (2,3)]) == 1 print("a tesztek sikerültek") test() ok Hogyan lehetne rövidebben írni az el z test függvényt? Egészítse ki a test függvényt további feltételvizsgálatokkal! 6
7 Megoldás A két feladat megoldását összevontan mutatom meg. A példa második fele persze csak egy lehet ség a sok közül. def test(): edge_list = [(0,1), (2,0), (2,3)] degrees = [2,1,2,1] for i in range(4): assert degree(i, edge_list) == degrees[i] assert degree(20, edge_list) == 0 for i in range(3): assert degree(i, [(0,1), (0,2), (1,2)]) == 2 print("a tesztek sikerültek") Másolja be egy fájlba a teszteket és hozza létre a degree függvényt, hogy helyesen m ködjön! A létrehozott fájlt (benne a m köd függvénnyel) töltse fel az elearning oldalra! A következ feladat egy olyan neighbors függvény létrehozása, amely egy csúcs esetén a csúcs szomszédaival (egészek halmazával) tér vissza. A függvény m ködjön hurokélekre is, ilyenkor a csúcs legyen saját szomszédja. El ször hozzon létre egy fájlban teszteket! Hozza létre a függvényt, hogy helyesen m ködjön! A létrehozott fájlt (benne a tesztekkel és a m köd függvénnyel) elküldheti a kurzus oktatójának, aki szívesen ellen rzi és javaslatokat ad esetleges változtatásokra! Irányított hálózat éllistája Vajon hogyan lehet megadni éllistával egyirányított hálózatot? Az élek esetén mindig gyelünk rá, hogy elöl legyen az él forrása, és másodiknak szerepeljen a célja (ahol a nyíl van). 4. lecke A Python adatszerkezetei Tervezett id tartam 90 perc. Követelmények: A hallgató használni tudja a listaértelmezést, feltételekkel is és tuple-ekb l álló listák létrehozására is, képes gyakorlatban alkalmazni a tuple-ok és általában a sorozatok általános tulajdonságait, alkalmazni tudja a sorozatok szétpakolását, képes létrehozni halmazokat (üreset is), ellen rizni tudja, hogy egy objektum benne van-e a halmazban, létrehozni tudja hozni két halmaz különbségét, metszetét, unióját, alkalmazni tudja a halmazértelmezést, képes függvényt írni egy éllistában szerepl csúcsok számának meghatározására, ismeri a tanult típusokhoz tartozó osztályok neveit. PyOkt Olvassa el a Python-oktató 5. Adatszerkezetek cím fejezetét az Listaértelmezés fejezett l az 5.6. Ciklustechnikák fejezetig (azt is beleértve). A Python hasznos adatszerkezeteivel ismerkedhet meg, és egy hasznos nyelvi elemmel (listaértelmezés, halmazértelmezés, szótárértelmezés). Megismerkedik a listák nem-módosítható párjával, a tuple-lal. A nem-módosítható objektumok hasznosak lesznek számunkra, mert olyan helyeken, ahol gyorsan meg kell keresnünk elemeket egy sokaságból, ott olyan adatszerkezeteket használunk, amelyekhez egy számot (hash érték) lehet rendelni, és ezalapján sorbarakni. Ilyenek a halmazok és a szótárak kulcsai. Egy 7
8 halmazban általában sokkal hamarabb meg lehet találni, hogy egy elem benne van-e, mint egy azonos elemszámú listában. Fontosabb típusok összesítve Az egyes blokkokban a számtípusok, a sorozattípusok és a gy jteményes típusok találhatóak. Az utolsó oszlopban az argumentum nélkül példányosított érték található. Például a dict() az üres {} szótárpéldánnyal tér vissza. int egész 0 oat lebeg pontos 0.0 complex komplex szám 0j str karakterlánc, sztring "" list lista [] tuple tuple (nem megváltoztatható lista) () set halmaz set() frozenset nem megváltoztatható halmaz frozenset() dict szótár {} Értékek logikai értékei A Pythonban a feltételek helyén nem csak logikai érték állhat, hanem az el z oldalon szerepl osztályból származó adatok is. A táblázat utolsó oszlopa azért is fontos, mert az ott szerepl értékeket a Python hamisnak tekinti, a többit igaznak. lista = [] if lista: print("van eleme.") else: print("nincs eleme.") Azt írja ki, hogy Nincs eleme. 5. lecke Szótárak, függvények b vebben Tervezett id tartam 90 perc. Követelmények: A hallgató létre tud hozni szótárakat hagyományos módon, szótárértelmezéssel és kulcsszavas argumentumokkal, ellen rizni tudja, hogy egy kulcs szerepel-e a szótárban, meg tudja változtatni adott kulcsú elemek értékét, képes végigmenni for ciklussal egy szótár kulcsain, illetve kulcs-érték párjain, képes meghatározni egy szótár kulcsainak a számát, képes függvényt írni a legnagyobb fokszámú csúcs meghatározására, meg tud adni alapértelmezett értékeket a függvény argumentumlistájában, használni tudja a kulcsszavas argumentumokat, létre tud hozni függvényt a tetsz leges hosszúságú argumentumlistákkal. PyOkt Olvassa el a Python-oktató fejezeteit a függvények deniálásáról, valamint az 5.5. Szótárak és 5.6. Ciklustechnikák fejezeteket, valamint a következ kiegészítéseket. A végén a követelmények, a következ feladatok és a teszt segítségével ellen rizze, hogy sikerült-e mindent megértenie. 8
9 Írjon egy olyan függvényt, amely meghatározza egy éllistában egy csúcs fokszámát! Pár teszt: edge_list = [(2,3), (1,2), (0,2)] assert degree(edge_list, 1) == 1 assert degree(edge_list, 2) == 3 assert degree(edge_list, 3) == 1 assert degree(edge_list, 4) == 0 Találjon ki további teszteket a függvény megírása el tt, vagy írjon tömörebb tesztkódot! M Megoldás jön! Lapozás el tt próbálja megoldani a feladatot! Megoldás (egy lehet ség) def degree(edge_list, vertex): degree = 0 for edge in edge_list: if vertex == edge[0]: degree += 1 if vertex == edge[1]: degree += 1 return degree A függvényen belül a változó értéke megegyezhet a függvény nevével (más névtérben vannak). Célszer lehet a visszatérési érték nevét a függvény nevével azonosnak választani. Megoldás: a tesztesetek egyszer sítése A sok hasonlóság miatt a teszteseteket jelent en átalakíthatjuk, és így könnyebben b víthetjük is. Az eredeti 4 esettel szemben itt hatot vizsgál. Természetesen lehetne több éllistára is vizsgálni egy dupla for-ciklussal. edge_list = [(2,3), (1,2), (0,2)] degrees = [1, 1, 3, 1, 0, 0] for vertex in range(len(degrees)): assert degree(edge_list, vertex) == degrees[vertex] Kulcsszavas paraméterek Kiegészítések A kulcsszavas paraméterek használata akkor praktikus, ha egy függvénynek rengeteg paramétere van, és azokat nem akarjuk mindet megadni függvényhíváskor, csak azokat, amelyek eltérnek az alapértelmezett l. Hasznosak azért is, mert ekkor nem kell tudni a paraméterek sorrendjét, és könnyebben módosítható a függvény úgy, hogy a függvényt felhasználó korábbi kódok érvényesek maradnak. Látjuk majd, hogy a függvények és gráfok kirajzolásakor a grakon és a gráf rengeteg paraméterét fogjuk tudni befolyásolni kulcsszavas paraméterrel. A kulcsszavas paramétereket ahogy a következd oldalon látjuk összegy jthetjük egy szótárban, a függvényünkben feldolgozhatjuk egy részüket, és a maradékot átadhatjuk más függvényeknek. Függvények csillagos paraméterei Kiegészítések Ha egy függvénydeníció els sora ez: def fv(x, *y, **z): akkor az els megadott paraméter az x változóba kerül, a többi kulcsszó nélküli paraméter az y nev tuple-ba, a kulcsszavas argumentumok pedig a z nev szótárba. 9
10 Kiegészítések Az el bb deniált függvényt ha így hívjuk meg: fv(1,2,3,4, color="red", width=5) akkor az x, y és z paraméterek értékei a következ ek lesznek: x = 1 y = (2,3,4) z = {"color": "red", "width": 5} Csillagok a függvényhívásban Kiegészítések A kulcsszó nélküli paramétereket (vagy azok egy részét) kicsomagolhatjuk listából vagy tuple-b l a * el ttaggal, a kulcsszavasakat pedig szótárból a ** el taggal. A fenti függvényhívással egyeznek a következ ek is: L = [1,2,3,4] d = {"color": "red", "width": 5} fv(*l, **d) fv(1, 2, *(3,4), **{"color": "red", "width": 5}) ok Mik lesznek az egyes paraméterek értékei az fv függvényt alábbi hívásai esetén? fv("alma", 2, 4, start=2, stop=5) fv(2, size=2, width=5) fv(2) ok fv("alma", 2, 4, start=2, stop=5) esetén x="alma" y=(2,4), z={"start":2, "stop":5} fv(2, size=2, width=5) esetén x=2, y=(), z={"size":2, "width":5} azaz y üres tuple lesz fv(2) esetén x=2, y üres tuple, z üres szótár lesz ok Legyen az esemenyek a következ képp létrehozva: esemenyek = {1421:'muhi csata', 1456:'nándorfehérvári viadal', 1848:'szabadságharc kezdete', 1956:'forradalom', } Határozza meg egy kifejezéssel a szótár kulcsainak számát! Írassa ki kétféleképpen az értékpárokat: (a) a kulcsokon menjen végig a ciklussal, (b) az értékpárokon menjen végig a ciklussal! Hozzon létre üres szótárat és üres halmazt. 10
11 Megoldások len(esemenyek) vagy len(esemenyek.keys()) for ev in esemenyek: print(ev, esemenyek[ev]) for ev, esemeny in esemenyek: print(ev, esemeny) Üres szótár: {} vagy dict() Üres halmaz: set() Jó módszer Az alábbi szótárban az utolsó elem után is áll egy vessz. esemenyek = { 1848:'szabadságharc kezdete', 1956:'forradalom', } Ez felesleges, de ha tovább akarom folytatni a szótárat, akkor egyszer bb, mert rögtön a következ sorban kezdhetem. Ugyanez m ködik listával, tuple-lel és halmazzal is. edge_list = [ (0, 1), (0, 3), ] Válassza ki, mi lehet kulcs egy szótárban az alábbiak közül? 1 "alma" [1,2] (1,2) {1,2} {1:0, 2:1} Megoldás Megváltoztatható objektumok nem lehetnek. 1 lehet "alma" lehet [1,2] nem lehet (van append metódusa) (1,2) lehet {1,2} nem lehet (van add metódusa) {1:0, 2:1} nem lehet (új kulcs-érték párt adhatunk hozzá) A halmazoknak is van egy nem megváltoztatható változata, ami lehet kulcs: frozenset({1, 2}) frozenset("alma") 11
12 Az alább létrehozunk egy függvényt, majd a függvényt többször meghívjuk, melyik lesz helyes, mit ír ki akkor? def szorzat(eredmeny, *tenyezok, **szotar): print(*tenyezok, sep=' * ', end=' = ') print(eredmeny) print(set(szotar)) szorzat(10, 5, 2, x=10) szorzat(10) szorzat(10, x=10, 5, 2) szorzat(10, *(5, 2), primtenyezok=true) szorzat(10, 5, 2, eredmeny=10) szorzat(10, 5, 2, **dict(alma=7)) Megoldás szorzat(10, 5, 2, x=10) ezt írja: 5 * 2 = 10 {"x"} szorzat(10) ezt írja: = 10 set() szorzat(10, x=10, 5, 2) hibás, kulcsszavasoknak a végén kell állniuk szorzat(10, *(5, 2), primtenyezok=true) ezt írja: 5 * 2 = 10 {"primtenyezok"} szorzat(10, 5, 2, eredmeny=10) hibás, eredmeny-nek két értéke van szorzat(10, 5, 2, **dict(alma=7)) ezt írja: 5 * 2 = 10 {"alma"} Gratulálunk! Ezzel a modul leckéit sikeresen teljesítette. Ami még modulzáró feladatként hátra van: a modulzáró teszt megoldása és a Python alkalmazási területei fórumfeladat. 12
Az Összetett hálózatok vizsgálata elektronikus tantárgy részletes követeleményrendszere
Az Összetett hálózatok vizsgálata elektronikus tantárgy részletes követeleményrendszere Horváth Árpád 2014. február 7. A tárgy célja: Az összetett hálózatok fogalomrendszerének használata a tudomány több
RészletesebbenA Python alapjainak áttekintése
A Python alapjainak áttekintése 2016. február 29. Vázlat 1 A Python adatszerkezetei A Python vezérlési szerkezetei 2 Modulok kezelése Példák modulokra Vázlat 1 A Python adatszerkezetei A Python vezérlési
RészletesebbenPython 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észletesebbenAdattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.
Informatika 1 2011 Második előadás, vezérlési szerkezetek Szabó Adrienn 2011. szeptember 14. Tartalom Algoritmusok, vezérlési szerkezetek If - else: elágazás While ciklus For ciklus Egyszerű típusok Összetett
RészletesebbenMi a Python? A Python alapjainak áttekintése. Példaprogram feladatkit zés. Példaprogram megvalósítás
Mi a Python? A Python alapjainak áttekintése Általános célú programnyelv rengeteg beépített és egyéb modullal. 2016. február 29. Dinamikusan típusos (egyszer egész másszor lista) Objektumorientált (adattípusoknak
RészletesebbenSzkriptnyelvek. 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észletesebbenProgramozási nyelvek Python
Programozási nyelvek Python A nyelv története és jellemzői 2 A nyelv története Tervező Guido van Rossum (1956, Hollandia) Befolyásoló nyelvek ABC (pl. blokkok jelölése behúzással); Modula-3; C; C++; Unix
RészletesebbenImperatív programozás
Imperatív programozás 2. Előadás Python alapok Elérhetőség Tejfel Máté Déli épület, 2.616 matej@elte.hu http://matej.web.elte.hu Python Script nyelv Értelmezett (interpretált) Dinamikus típusrendszer Gyors
RészletesebbenPYTHON. Avagy hosszú az út a BioPythonig
PYTHON Avagy hosszú az út a BioPythonig Miért a Python? Mert ez áll a legközelebb az ember által beszélt nyelvhez. Mert ez a leggyorsabb az ismert script nyelvek közül Mert rengeteg modul érhető el hozzá
RészletesebbenMatematikai programok
Matematikai programok Mátrixalapú nyelvek octave Wettl Ferenc Algebra Tanszék B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Wettl
RészletesebbenBASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
RészletesebbenMatematikai programok
Matematikai programok Mátrixalapú nyelvek MatLab Wettl Ferenc diái alapján Budapesti M szaki Egyetem Algebra Tanszék 2017.11.07 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 1 /
RészletesebbenMutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában
Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
Részletesebben1. 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észletesebbenProgramozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
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észletesebbenA Python programozási nyelv
A Python programozási nyelv Takács Gábor Széchenyi István Egyetem Matematika és Számítástudomány Tanszék 1 / 47 Jellemzők + értelmezett nyelv + típusai dinamikusak + szintaxisa tömör,
RészletesebbenIsmerkedés a Python programnyelvvel. és annak micropython változatával
Ismerkedés a Python programnyelvvel és annak micropython változatával A Python programozási nyelv története Az alapötlet 1980-ban született, 1989 decemberében kezdte el fejleszteni Guido van Rossum a CWI-n
RészletesebbenS 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észletesebbenFlex 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észletesebben2018, Diszkrét matematika
Diszkrét matematika 3. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? számtartományok: természetes
RészletesebbenAWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa
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észletesebbenPython bevezető foglalkozás Python bevezető foglalkozás
Python bevezető foglalkozás program, programozás, programnyelvek a Python nyelv és az IDLE környezet változók és adattípusok konzol input és output (input(), print()) vezérlési szerkezetek (if/else, while)
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észletesebbenImperatív programozás
Imperatív programozás 6. Előadás Python típusok (folytatás) Függvények Típusok + műveleteik Listák - mutable (változtatható) - heterogén lista >>> lista = ["szo", 12, 3.5] >>> lista[1] 12 >>> lista[1:3]
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 18. 2. El adás Komplex szám public class Complex { private float repart_; private float impart_; public Complex() { repart_ = 0; impart_ = 0; public Complex(float
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észletesebbenMi a Python? A Python alapjainak áttekintése. Példaprogram feladatkit zés. Példaprogram megvalósítás
Mi a Python? A Python alapjainak áttekintése Általános célú programnyelv rengeteg beépített és egyéb modullal. Óbudai Egyetem Alba Regia Egyetemi Központ (AREK) Székesfehérvár 2011. szeptember 16. Objektumorientált,
Részletesebbenvan neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk
függvények ismétlése lista fogalma, használata Game of Life program (listák használatának gyakorlása) listák másolása (alap szintű, teljes körű) Reversi 2 Emlékeztető a függvények lényegében mini-programok,
RészletesebbenProgramozá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észletesebbenFordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs
Fordított és szkript nyelvek összehasonlító elemzése Sergyán Szabolcs IEEE: The 2016 Top Programming Languages IEEE: The 2016 Top Programming Language (Enterprise) Kutatás-fejlesztésben használt nyelvek
RészletesebbenVáltozók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
RészletesebbenHálózatok építése és üzemeltetése
Hálózatok építése és üzemeltetése Python 1 Python nyelv Alapok 2 Általános jellemzők A Python programozási nyelv egy általános célú magas szintű nagyon széles körben elterjedt ingyenes program nyelv, amely
RészletesebbenTömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
Részletesebben2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
Részletesebben22. GRÁFOK ÁBRÁZOLÁSA
22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is
RészletesebbenAWK 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Összetett hálózatok vizsgálata november 1.
4. modul Az igraph és a pylab modulok használata Összetett hálózatok vizsgálata Horváth Árpád Óbudai Egyetem Alba Regia M szaki Kar (AMK) Székesfehérvár 2016. november
RészletesebbenPHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv
PHP A PHP rövidítés jelentése hivatalosan: PHP Hypertext Preprocessor. Ez egy kiszolgáló-oldali parancsnyelv, amit jellemzően HTML oldalakon használnak. A különbség a két nyelv között az, hogy a kiszolgáló
RészletesebbenProgramozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
RészletesebbenSmalltalk 2. Készítette: Szabó Éva
Smalltalk 2. Készítette: Szabó Éva Blokkok Paraméter nélküli blokk [műveletek] [ x := 5. 'Hello' print. 2+3] Kiértékelés: [művelet] value az értéke az utolsó művelet értéke lesz, de mindet kiírja. x :=
RészletesebbenOperációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Reguláris kifejezések - alapok, BASH Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor
RészletesebbenBevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 8. Gyakorlat modulok random számok (utolsó módosítás: 2017. aug. 3.) Szathmáry László Debreceni Egyetem Informatikai Kar 2017-2018, 1. félév Modulok Amint a programunk
RészletesebbenII. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK
Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot
RészletesebbenProgramozá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észletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. november 20. 10. El adás SQLite SQLite: Adatbázis kezel rendszer SQL standardokat nagyrészt követi Nagyon elterjedt, pl böngész kben is használt Nehéz olyan programnyelvet
RészletesebbenA C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
RészletesebbenAdatszerkezetek és algoritmusok
2012. október 18. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek Adatok ábrázolása a memóriában Vezérlési szerkezetek Függvények Osztályok, objektumok Paraméterátadás
RészletesebbenApple Swift kurzus 3. gyakorlat
Készítette: Jánki Zoltán Richárd Dátum: 2016.09.20. Apple Swift kurzus 3. gyakorlat Kollekciók: Tömb: - let array = [] - üres konstans tömb - var array = [] - üres változó tömb - var array = [String]()
RészletesebbenProgramozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
RészletesebbenA C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
RészletesebbenA Python programozási nyelv
A Python programozási nyelv Takács Gábor Széchenyi István Egyetem Matematika és Számítástudomány Tanszék 1 / 1 Jellemzők + értelmezett nyelv + típusai dinamikusak + szintaxisa tömör, elegáns
RészletesebbenOperá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észletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
RészletesebbenProgramozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
RészletesebbenWebprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
RészletesebbenA 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észletesebbenVezérlési szerkezetek Vezérlési szerkezetek: feltételes elágazás és ciklusok
: feltételes elágazás és ciklusok töbszörös elágazás (if-elif-else) kilépés while ciklusból (break), ciklus folytatása (continue), és a while ciklus feltételéhez tartozó else ág a for ciklus és a range()
RészletesebbenC programozás. 1 óra Bevezetés
C programozás 1 óra Bevezetés A C nyelv eredete, fő tulajdonságai 1. Bevezető C nyelv alapelemei többsége a BCPL (Basic Combined Programming Language {1963}) Martin Richards B nyelv Ken Thompson {1970}
RészletesebbenOperá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észletesebbenSzkriptnyelvek II. Perl programok
Szkriptnyelvek II. Perl programok Perl Practical Extraction and Report Language Interpreteres nyelv alkalmas szövegfeldolgozó alklmazások készítésére strukturált programszerkezet Szubrutinok támogatása
RészletesebbenJava programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
RészletesebbenFüggvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r
Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti
RészletesebbenSQL*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észletesebbenSzoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
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észletesebbenBASH 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észletesebbenAdatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17
Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez
RészletesebbenGyakorló feladatok Gyakorló feladatok
Gyakorló feladatok előző foglalkozás összefoglalása, gyakorlató feladatok a feltételes elágazásra, a while ciklusra, és sokminden másra amit eddig tanultunk Változók elnevezése a változók nevét a programozó
Részletesebben2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér
Funkcionális programozás 2. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? Követelmények, osztályozás Programozási
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észletesebbenA 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é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észletesebbenBisonc++ tutorial. Dévai Gergely. A szabály bal- és jobboldalát : választja el egymástól. A szabályalternatívák sorozatát ; zárja le.
Bisonc++ tutorial Dévai Gergely A Bisonc++ egy szintaktikuselemz -generátor: egy környezetfüggetlen nyelvtanból egy C++ programot generál, ami egy tokensorozat szintaktikai helyességét képes ellen rizni.
RészletesebbenListá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észletesebbenAWK programozás Bevezetés
09 AWK programozás Bevezetés AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa és feldolgozhatóvá
Részletesebbenfile./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észletesebbenKeresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala
RészletesebbenOperációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED BASH recap, reguláris kifejezések Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor
RészletesebbenGráfelméleti feladatok. c f
Gráfelméleti feladatok d e c f a b gráf, csúcsok, élek séta: a, b, c, d, e, c, a, b, f vonal: c, d, e, c, b, a út: f, b, a, e, d (walk, lanţ) (trail, lanţ simplu) (path, lanţ elementar) 1 irányított gráf,
RészletesebbenImperatív programozás
Imperatív programozás 7. Előadás Függvények, láthatóság (folytatás) Modulok Kivételkezelés Beágyazott függvény def lnko(x, y): def kivon(m, n): return m - n while not (x == y) : if x > y : x = kivon(x,y)
RészletesebbenProgramozá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észletesebben7. 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észletesebbenHardver és szoftver követelmények
Java-s Nyomtatványkitöltő Program Súgó Telepítési útmutató Hardver és szoftver követelmények A java-s nyomtatványkitöltő program az alábbi hardverigényt támasztja a számítógéppel szemben: 400 MHz órajelű
RészletesebbenMechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
Részletesebben2018, Diszkrét matematika
Diszkrét matematika 5. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? Python alapfogalmak:
RészletesebbenTartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.
Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
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észletesebben1. Egyszerű (primitív) típusok. 2. Referencia típusok
II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget
RészletesebbenProgramozá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észletesebbenAdatszerkezetek II. 1. előadás
Adatszerkezetek II. 1. előadás Gráfok A gráf fogalma: Gráf(P,E): P pontok (csúcsok) és E P P élek halmaza Fogalmak: Irányított gráf : (p 1,p 2 ) E-ből nem következik, hogy (p 2,p 1 ) E Irányítatlan gráf
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észletesebbenGráfelméleti alapfogalmak
1 Gráfelméleti alapfogalmak Gráf (angol graph= rajz): pontokból és vonalakból álló alakzat. pontok a gráf csúcsai, a vonalak a gráf élei. GRÁ Irányítatlan gráf Vegyes gráf Irányított gráf G H Izolált pont
RészletesebbenObjektumorientált Programozás VI.
Objektumorientált Programozás Metódusok Paraméterek átadása Programozási tételek Feladatok VI. ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő
RészletesebbenA programozás alapjai
A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,
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é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észletesebbenRekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
Részletesebben