Internet programozása 1. előadás Áttekintés

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

Download "Internet programozása 1. előadás Áttekintés"

Átírás

1 Mi a PHP? A PHP fejlődése A PHP 4 újdonságai Miért pont PHP? A programfejlesztés eszközei 1. Mi a PHP? Andrikó Imre Internet programozása c. tárgy előadásain Internet programozása 1. előadás Áttekintés (17/1) Egy makrókészlet volt, amely személyes honlapok karbantartására készült. (Personal Home Page Tools) Később a PHP képességei kibővültek, így egy önállóan használható programozási nyelv alakult ki februárjában még csak 1,4 millió kiszolgálón használták októberére ez a szám 3,3 millióra ugrott. ( Jelenleg hivatalosan a Hypertext Prepocessor az elnevezése. Szerver (kiszolgáló) oldali programozási nyelv. 2. A PHP fejlődése A PHP első változatát - amely néhány webalkalmazás-készítést segítő makrót tartalmazott - Rasmus Lerdorf készítette 1994-ben. (Personal Home Page Tools) Később új elem került a csomagba, a Form Interpreter (Űrlapfeldolgozó), ezután PHP/FI lett a neve. PHP 3, ezt egy csapat fejlesztette. A teljes feldolgozó egység újjá lett alkotva, Zeev Zuraski és Andi Gutmans nevéhez fűződik. Apache és MySQL támogatás

2 3. A PHP 4 újdonságai Andrikó Imre Internet programozása c. tárgy előadásain (17/2) Új foreach vezérlési szerkezet, ami leegyszerűsíti a tömbökön végrehajtandó ciklusok készítését. Boolean (logikai) adattípus. A PHP 3-ban, a HRML űrlap elemeit tömbnevekkel láthattuk el, ez a szolgáltatás a többdimenziós tömbök támogatásával bővült. Fejlesztés az objektumközpontú programozásban. Felhasználói munkamenetek támogatása. (session) Két új összehasonlító operátor bevezetése (=== és!==), ezekkel értékek és típusok egyezését ill. nem egyezését ellenőrizhetjük. Beépített támogatás Java és XML nyelvekhez. A Zend Engine A programokat futtató mag elnevezése. A teljesítmény növelésére fejlesztették ki. PHP kódok fordítását teszi lehetővé. A PHP folyamatosan a memóriában van. Hihehetlenül gyors és hatékony. 4. Miért pont PHP? A fejlesztés sebessége (kódolási, tervezési, összeállítási szakasz elválasztása) Nyílt forráskódú Ingyenes Teljesítmény Hordozhatóság 4. Miért pont PHP? A szerveroldali szkriptek fejlesztése teljesen független a felhasználó által alkalmazott böngészőtől. A szerveroldali szkriptek forrásnyelvi változata nem olvasható a felhasználó böngészőjében. A letöltendő HTML dokumentum mérete csökken. A szerveroldalról leküldött HTML dokumentum a kliens gép környezetére alakítható. ZDNet ( sebességteszt eredményei, 1 másodperc alatt előállított oldalak számát tekintve: PHP 47 oldal ASP 43 oldal SUN Java JSP 13 oldal 5. A programfejlesztés eszközei PHP értelmező Szövegszerkesztő Webböngésző Webkiszolgáló Adatbáziskezelő PHP értelmező Az operációs rendszerünkhöz megfelelő PHP értelmező beszerzése. PHP hivatalos webhelye: Ingyenesen letölthető. Szövegszerkesztő A PHP forrásprogram szerkesztésére szolgál, bármely szövegszerkesztő megfelelő hozzá: Jegyzettömb (Notepad) Ingyenes kódszerkesztők, melyek rendelkeznek kódszinezéssel és kifejezés-szerkesztővel.

3 pl.: ConText Nagyobb webfejlesztő rendszerek. pl.: Macromedia Dreamweawer Andrikó Imre Internet programozása c. tárgy előadásain (17/3) Webböngésző A PHP programok kimenetének a kliens gépen való megjelenítésére szolgál. Webböngészők: Microsoft Internet Explorer Opera Mozilla Firefox Netscape Navigator Webkiszolgáló Az Apache webkiszolgáló a legnépszerűbb nyílt forráskódú és platformfüggetlen webkiszolgáló. Ha saját számítógépünkre telepítjük, akkor a számítógépünk IP címe: Neve: localhost Adatbáziskezelő Legelterjettebb adatbáziskezelő program a nyílt forráskódú, gyors és egyszerűen kezelhető: MySQL Az adatbázisrendszer webcíme: Az webalapú adatbáziskezelő rendszer neve: phpmyadmin Ingyenes szolgáltatók PHP-hez PHP programok futtatására alkalmas, ingyenes szolgáltatók: Apache PHP - MySQL Vannak olyan programcsomagok, melyek egyben tartalmazzák a webkiszolgálót, a PHP értelmezőt és az adatbázisrendszert. appserv ai utolsó verziója es.

4 Internet programozása 2. előadás Áttekintés (17/4) Mik a változók és hogyan használjuk azokat? Változók létrehozása és elérése. Adattípusok. Leggyakrabban használt műveletek. Kifejezések létrehozása műveleti jelek segítségével. Állandók meghatározása és használata. 1. Változók 01 A változók olyan tárolók, amelyeket abból a célból hoztunk létre, hogy értéket helyezzünk el bennük. A változók egy $ -ből és egy tetszőlegesen választott névből tevődnek össze. A név betűket, számokat, és aláhúzás karaktereket tartalmazhat (_), számmal azonban nem kezdődhet. Pl: $a $atmeneti $a_legkisebb_oszto 1. Változók 02 A változók adatokat számokat, karakterláncokat, objektumokat, tömböket, vagy logikai értékeket tárolnak, tartalmuk bármikor módosítható. Változó létrehozásához (deklarálásához) csak be kell írni azt a programunkba. Általában rögtön értéket is szoktunk adni nekik. Pl: $szam1 = 123; $szam2 = 4567; 2. Dinamikus változók A változó nevét is tárolhatjuk változóban. Pl: $felhasznalo = Kitti ; ez megegyezik ezzel: $tarolo = felhasznalo ; $$tarolo = Kitti ; A dinamikus változók elérése ugyanúgy történik, mint a hagyományos változóké. 3. Hivatkozás a változókra A PHP alapértelmezés szerint értékadáskor a változók értékeit használja, azaz ha az A változót hozzárendeljük egy B változóhoz, akkor a B változóba az A változó értékének másolata kerül. Az A változó tartalmának későbbi módosítása nincs semmiféle hatással a B változóra. PHP 4-ben ezt a viselkedésmódot megváltoztathatjuk. Kikényszeríthetjük, hogy a B változóba ne az A értéke kerüljön, hanem egy hivatkozás, amely az A változóra mutat. Jele: & 4. Adattípusok 01 A PHP 4 gyengén típusos nyelv, az adattípusokat úgy kezeli, mintha a típus az adathoz rendelt kiegészítő információ lenne. A PHP vegyes megközelítést használ, a változók rugalmasan használhatók, lehet bennük egyszer szám, másszor esetleg karakterlánc. De ez zavaró is lehet.

5 (17/5) 4. Adattípusok Adattípusok 03 A változók típusának meghatározására a PHP 4 beépített gettype() függvényét használhatjuk. A változó típusának a módosítására pedig a settype() függvényt. Típus módosítása típusátalakítással: a változó neve elé zárójelbe írt adattípus segítségével érhetjük el. A settype() függvény és a típusátalakítás közötti különbség az, hogy az átalakítás során az eredeti változó típusa és értéke változatlan marad. 5. Műveleti jelek és kifejezések 01 A műveleti jelek (operátorok) olyan jelek, amelyek azon műveleteket jelzik, melyek lehetővé teszik, hogy egy vagy több értékből egy új értéket hozzunk létre. Az értéket, amellyel a műveletet végezzük, operandusnak hívjuk. Egy operátorhoz általában két operandus tartozik. Pl: Az operandusok és operátorok együttesét kifejezésnek hívjuk. A PHP mindent, ami értéket határoz meg, kifejezésnek tekint. Pl: 123; $felhasznalo gettype() 5. Műveleti jelek és kifejezések 02 Hozzárendelés (=) Pl: $nev = Kis Kitti ; Aritmetikai műveletek:

6 (17/6) 5. Műveleti jelek és kifejezések 03 Összefűzés: jele a pont (.) Pl: Teszt. Elek a kifejezés értéke: Teszt Elek Az elemek típusuktól függetlenül karakterláncként értékelődnek ki és az eredmény is mindig karakterlánc. 5. Műveleti jelek és kifejezések 04 Összetett hozzárendelő operátorok Hozzárendelő (=) műveleti jelet minden aritmetikai és összefűző jelhez kapcsolhatunk. 5. Műveleti jelek és kifejezések 05 Összehasonlítás Az összehasonlító műveletek az operandusokon vizsgálatokat végeznek. Logikai értékkel térnek vissza. (true vagy false) Pl: $x = 4;

7 5. Műveleti jelek és kifejezések 06 Bonyolultabb összehasonlító kifejezések létrehozása logikai műveletek segítségével. Logikai műveletek: vagy or vagy xor kizáró vagy && és and és! tagadás (17/7) 5. Műveleti jelek és kifejezések 07 Egész típusú változók értékének növelése és csökkentése $x++; ugyanaz, mint: $x = $x + 1; vagy $x += 1; $x--; ugyanaz, mint: $x = $x - 1; vagy $x -= 1; Ha a növelő vagy csökkentő operátort feltételes kifejezésen belül használjuk, fontos, hogy az oprandus értéke csak a feltétel kiértékelése után változik meg: Pl: $x = 3; $x++ < 4; // igaz lesz 5. Műveleti jelek és kifejezések 08 Arra is szükség lehet, hogy a változó értéke kiértékelés előtt csökkenjen vagy nőjjön. ++$x; // $x értéke eggyel nő --$x; // $x értéke eggyel csökken A változó értékének módosítása a vizsgálat előtt történik meg: Pl: $x = 3; ++$x < 4; // hamis lesz 5. Műveleti jelek és kifejezések 09 A műveletek kiértékelési sorrendje! (típusátalakítás) / * % + -. < <= >= > == ===!=!== && = += -= /= %=.= and xor or 6. Állandók Ha azt szeretnénk, hogy egy adott név alatt tárolt érték ne változzon a program futása során, létrehozhatunk állandókat (konstansokat) is. Ezt a PHP beépített define() függvénye segítségével tehetjük meg. Miután az állandót létrehoztuk, annak értékét nem tudjuk megváltoztatni. Pl: define( ALLANDO_NEVE, 234 ); Az állandó értéke lehet szám, karakterlánc vagy logikai típus. Nagybetűkkel szokás jelezni őket. A nevük nem tartalmaz dollárjelet ($).

8 Internet programozása 3. előadás Áttekintés (17/8) Hogyan használjuk az if szerkezetet arra, hogy bizonyos sorok csak adott feltételek teljesülése mellett hajtódjanak végre? Hogyan adhatunk meg csak bizonyos feltételek nem teljesülése esetén végrehajtandó műveleteket? A switch utasítás használata. A while utasítás. Ciklusok készítése a for utasítás segítségével? Hogyan lépjünk ki a ciklusokból? Hogyan ágyazzuk egymásba a ciklusokat? 1. Elágazások 01 Az if utasítás kiértékeli a zárójelek közötti kifejezést. Ha a kifejezés értéke igaz, az utasításhoz tartozó programrész végrehajtódik. Ha a kifejezés hamis, a blokk egyszerűen figyelmen kívül marad, és az else ág alatti utasítások hajtódnak végre. if ( kifejezés ) { utasítások; else { utasítások; 1. Elágazások 02 Az if utasítás elseif ága Mielőtt az else ágban alternatív kódrészt adnánk meg, több kifejezés értékétől függően, az if - elseif else szerkezet segítségével, a programmal mást és mást végeztethetünk. if ( feltétel ) { // ez a rész akkor fut le, ha a feltétel igaz elseif ( másik feltétel ) { // ez a rész akkor fut le, ha a másik feltétel // igaz, és minden előző feltétel hamis // itt még tetszőleges számú elseif rész következhet else { // ez a rész akkor kerül végrehajtásra, // ha egyik feltétel sem volt igaz 1. Elágazások 03 A switch utasítás egy lehetséges módja annak, hogy egy kódrészletet egy kifejezés értékétől függően hajtsunk végre. A program csak egy kifejezést vizsgál meg és annak értékétől függően különböző sorokat futtat. A kifejezésnek egyszerű típusnak kell lennie (szám, karakterlánc vagy logikai érték). switch ( kifejezés ) { case érték1: // ha a kifejezés értéke érték1 break; case érték2:

9 default: Andrikó Imre Internet programozása c. tárgy előadásain // ha a kifejezés értéke érték2 break; // ha a kifejezés értéke egyik felsorolt értékkel sem egyezett meg break; (17/9) 1. Elágazások 04 A?: operátor, háromoperandusú műveletjel. Egy olyan if utasításhoz hasonlít, amely értéket is képes visszaadni. A visszaadott értéket a vizsgált feltétel határozza meg: (feltétel)? érték1 : érték2 ; 2. Ciklusok 01 Segítségükkel elérhetjük, hogy egyes programrészletek ismétlődjenek. Szinte kivétel nélkül igaz, hogy egy ciklus addig fut, amíg egy feltétel teljesül, vagy meg nem mondjuk, hogy fejeződjön be az ismétlés. A while ciklus while ( feltétel ) { // valamilyen tevékenység Amíg a while feltétele igaz, a hozzá tartozó programrész újból és újból végrehajtódik. A programrészen belül általában megváltoztatunk valamit, ami hatással lesz a while feltételére; ha ezt nem tesszük meg, a ciklusunk a végtelenségig futni fog. 2. Ciklusok 02 A do..while ciklus Ebben a szerkezetben először hajtódik végre a kód és csak azután értékelődik ki a feltétel. do { // végrehajtandó programrész while ( feltétel ); Ez a ciklus akkor lehet hasznos, ha mindenképpen szeretnénk, hogy a ciklushoz tartozó programrész még akkor is legalább egyszer lefusson, ha a feltétel már az első végrehajtáskor hamis. 2. Ciklusok 03 A for ciklus for ( változó_hozzárendelése; feltétel; számláló_növelése) { // a végrehajtandó programblokk Az ezt megvalósító egyenértékű while: változó_hozzárendelése; while ( feltétel ) { // a végrehajtandó programblokk számláló_növelése; 2. Ciklusok 04 A for ciklusnál a zárójelekben levő kifejezéseket pontosvesszővel kell elválasztanunk egymástól. Az első kifejezés rendszerint egy számlálónak ad kezdeti értékét, a második egy feltétel, ami alapján eldől, hogy folytatódik-e a ciklus, a harmadik egy számlálót növelő utasítás. A for ciklus fejéből bármelyik kifejezés elhagyható, de figyelnünk kell arra, hogy a pontosvesszőket mindig kiírjuk.

10 2. Ciklusok 05 Ciklus elhagyása a break utasítás segítségével A while és for ciklusok lehetőséget biztosítanak arra, hogy egy beépített feltételes kifejezés segítségével kilépjünk belőlük. A break utasítás lehetővé teszi, hogy más feltételektől függően megszakítsuk egy ciklus futását. Következő ismétlés azonnali elkezdése a continue utasítás segítségével A continue utasítás segítségével az éppen folyó ismétlést befejezhetjük, mégpedig úgy, hogy ez ne eredményezze az egész ciklusból való kilépést, csak a következő ismétlés kezdetét jelentse. 2. Ciklusok 06 Egymásba ágyazott ciklusok A ciklusok törzsében is lehetnek ciklusok. Ez a lehetőség különösen hasznos, ha futási időben előállított HTML táblázatokkal dolgozunk. (17/10)

11 Internet programozása 4. előadás Áttekintés (17/11) Függvények létrehozása. Hogyan adjunk át a függvényeinknek értékeket és hogyan kapjuk meg tőlük az eredményt? Hogyan hívjunk meg függvényeket dinamikusan, változóban tárolt karakterlánc segítségével? Hogyan érjük el a függvényekből a globális változókat? Hogyan érjük el, hogy függvényeinknek emlékezete legyen? Hogyan adjunk át a függvényeknek hivatkozásokat? A függvény értékeket vesz át tőlünk, feldolgozza azokat és végez velük valamit (például kiírja az eredményt a böngészőbe) vagy visszaad egy értéket, esetleg mindkettőt. A függvény valójában egy zárt, önálló kódrészlet, melyet programunkból meghívhatunk. Amikor meghívjuk, a függvény törzse lefut. A függvénynek feldolgozás céljából értékeket adhatunk át. Amikor a függvény véget ér, a hívónak egy értéket ad vissza. A függvények lehetnek beépítettek vagy felhasználó által megadottak. Függvények hívása A PHP 4-ben rengeteg beépített függvény van. Pl: print ("Hello Web!"); vagy print "Hello Web!"; A paraméter a függvénynek átadott érték. A paramétereket a függvényhívás zárójelén belülre kell írnunk. Ha több paramétert kell átadnunk, az egyes paramétereket vesszővel kell elválasztanunk egymástól. A paraméterek a függvényeken belül helyi (lokális) változóként érhetők el. valamilyen_fuggveny ( $elso_parameter, $masodik_parameter ); Függvények létrehozása Függvényt a function kulcsszó segítségével hozhatunk létre: funcion valamilyen_fuggveny( $parameter1, $parameter2 ) { // itt van a függvény törzse A zárójelpárt akkor is ki kell írni, ha a függvény nem vesz át paramétereket. Függvények visszatérési értéke 01 A függvényeknek visszatérési értéke is lehet, ehhez a return utasításra van szükség. A return befejezi a függvény futtatását és az utána írt kifejezést küldi vissza a hívónak. A return segítségével értéket és objektumot is visszaadhatunk, vagy esetleg semmit. Ha semmit sem adunk meg a return után, az csak a függvény futtatásának befejezését eredményezi. Függvények visszatérési értéke 02 A visszatérési érték átadásának módja többféle lehet. Az érték lehet előre beégetett: PL: return 4; de lehet kifejezés eredménye: PL: return ( $a / $b );

12 vagy akár egy másik függvény visszatérési értéke is: Pl: return ( masik_fuggveny( $parameter ) ); (17/12) Dinamikus függvényhívások Lehetőségünk van rá, hogy karakterláncba tegyük egy függvény nevét és ezt a változót pontosan úgy tekintsük, mint ha maga a függvény neve lenne. A dinamikus függvényhívás akkor igazán hasznos, ha a program folyását bizonyos körülményektől függően változtatni szeretnénk. Például szeretnénk mást és mást csinálni egy URL-kérés paraméterétől függően. Ezt a paramétert feldolgozhatjuk és értékétől függően más és más függvényt hívhatunk meg. Változók hatóköre 01 A függvényben használt változók az adott függvényre nézve helyiek maradnak. Más szavakkal: a változó a függvényen kívülről vagy más függvényekből nem lesz elérhető. Hozzáférés változókhoz a global kulcsszó segítségével: Minden függvényben, amely globális változót szeretne elérni, használnunk kell a global kulcsszót. Ha a globális változót a függvényen belül megváltoztatjuk, annak a program egészére hatása lesz. Változók hatóköre 02 Állapot megőrzése a függvényhívások között a static kulcsszó segítségével: Ha egy függvényen belül egy változót a static kulcsszóval hozunk létre, a változó az adott függvényre nézve helyi marad. Másrészt a függvény hívásról hívásra emlékszik a változó értékére. Paraméterek további tulajdonságai 01 Paraméterek alapértelmezett értéke: A PHP nyelv remek lehetőséget biztosít számunkra rugalmas függvények kialakításához. Eddig azt mondtuk, hogy a függvények többsége paramétert igényel. Néhány paramétert elhagyhatóvá téve függvényeink rugalmasabbá válnak. Annyi elhagyható paramétert adhatunk meg, ahányat csak akarunk, de arra vigyáznunk kell, hogy az elhagyható paramétereknek a paraméterlista végén kell szerepelniük. Paraméterek további tulajdonságai 02 Hivatkozás típusú paraméterek: Amikor a függvényeknek paramétereket adunk át, a helyi paraméter-változókba a paraméterek értékének másolata kerül. Az e változókon végzett műveleteknek a függvényhívás befejeződése után nincs hatásuk az átadott paraméterekre. Lehetőségünk van arra is, hogy ne a változó értékét, hanem arra mutató hivatkozást adjunk át. Ezt cím szerinti paraméterátadásnak is hívják. Paraméterek további tulajdonságai 03 Ez azt jelenti, hogy a változóra mutató hivatkozással dolgozunk a függvényben és nem a változó értékének másolatával. A paraméteren végzett bármilyen művelet megváltoztatja az eredeti változó értékét is. Hivatkozásokat függvényeknek úgy adhatunk át, hogy az átadandó változó vagy a paraméter neve elé egy & jelet teszünk.

13 Internet programozása 5. előadás Áttekintés (17/13) Mik a tömbök, hogyan hozhatók létre? Hogyan érhetjük el a tömbökben tárolt adatokat? Hogyan rendezhetjük a tömbökben tárolt adatokat? Mi a tömb? A tömb változók listája. Több változót tartalmaz, amelyeket számok vagy karakterláncok segítségével azonosíthatunk, így a különböző értékeket egyetlen névvel tárolhatjuk, rendezhetjük és érhetjük el. A tömb elemeit az index segítségével könnyen elérhetjük. Az index lehet szám, de akár karakterlánc is. Alapértelmezés szerint a tömböket számokkal indexeljük, mégpedig úgy, hogy az első elem indexe 0. Ebből az következik, hogy az utolsó tömbelem indexe mindig eggyel kisebb a tömb méreténél. Tömbök létrehozása 01 A tömbök alapértelmezés szerint értékek számmal indexelt listái. Értéket egy tömbhöz kétféleképpen is rendelhetünk: Az egyik mód az array() függvény, a másik a tömbazonosító használata szögletes zárójelekkel ([]). Tömbök létrehozása 02 Az array() függvény akkor hasznos, ha egyszerre több értéket szeretnénk egy tömbhöz rendelni. $felhasznalok = array ("Berci", "Mariska", "Aladár", "Eleonóra"); print $felhasznalok[2]; Tömbök létrehozása 03 Tömböket úgy is létrehozhatunk, illetve meglevő tömbökhöz új elemeket adhatunk, ha a tömb neve után olyan szögletes zárójelpárt írunk, amelynek belsejében nincs index. $felhasznalok[] = "Berci"; $felhasznalok[] = "Mariska"; $felhasznalok[] = "Aladár"; $felhasznalok[] = "Eleonóra"; $felhasznalok[0] = "Berci"; $felhasznalok[200] = "Mariska"; Tömbök létrehozása 04 Tömbök létrehozása mellett a tömbváltozók szögletes zárójele segítségével az array() függvénnyel létrehozott tömb végéhez új elemet is adhatunk. $felhasznalok = array ("Berci", "Mariska", "Aladár", "Eleonóra"); $felhasznalok[] = "Anna"; Asszociatív tömbök 01 A karakterlánccal indexelt tömböket asszociatív tömböknek (néha hash-nek) hívják. Asszociatív tömbök létrehozása a számokkal indexelt tömbökkel megegyezően történik, az array()

14 függvény vagy a szögletes zárójelek segítségével. Assz. tömbök létrehozása 01 Andrikó Imre Internet programozása c. tárgy előadásain (17/14) Ha asszociatív tömböt szeretnénk létrehozni az array() függvény segítségével, minden elemnek meg kell adni a kulcsát és az értékét. $karakter = array( "nev" => "János", "tevekenyseg" => "szuperhős", "eletkor" => 30, "kulonleges kepesseg" => "röntgenszem"); print $karakter["eletkor"]; Assz. tömbök létrehozása 02 Asszociatív tömböt úgy is létrehozhatunk hogy új név-érték párt adhatunk hozzá, egyszerűen a megnevezett elemhez (mezőhöz) új értéket adunk. $karakter["nev"] => "János"; $karakter["tevekenyseg"] => "szuperhõs"; $karakter["eletkor"] => 30; $karakter["kulonleges kepesseg"] => "röntgenszem"; Többdimenziós tömbök Egy tömbelem valójában lehet érték, objektum vagy akár egy másik tömb is. A többdimenziós tömb valójában tömbök tömbje. $tomb[1][2] Tömbök elérése 01 Tömb méretének lekérdezése: A tömb bármely elemét elérhetjük indexének használatával. A tömbök rugalmassága miatt nem mindig egyszerű feladat kideríteni, hány elem van a tömbben. A PHP a count() függvényt biztosítja erre a feladatra. A count() a tömbben levő elemek számával tér vissza. $felhasznalok = array ("Berci", "Marci", "Ödön", "Télapó"); $felhasznalok[count($felhasznalok)-1]; Tömbök elérése 02 Semmi sem garantálja, hogy ezzel a módszerrel bármilyen (számokkal indexelt) tömb utolsó elemét megkapjuk. $tomb = array("ecc, pecc"); // Egyelemű tömb! $tomb[2] = "kimehetsz"; print "Az utolsó elem: ". $tomb[count($tomb)-1];

15 Tömbök elérése 03 Andrikó Imre Internet programozása c. tárgy előadásain (17/15) Tömb bejárása: Több módja van annak, hogy egy tömb minden elemét végigjárjuk. Mi most a PHP 4 igen hatékony foreach szerkezetét használjuk. foreach($tombnev as $atmeneti) { $felhasznalok = array ("Berci", "Marci", "Ödön"); $felhasznalok[10] = "Télapó"; foreach($felhasznalok as $szemely) { print"$szemely<br>"; Tömbök elérése 04 Ahol csak mód van rá, ne használjunk tömbindexeket. A tömböket sokszor csak egyszerű listaként használjuk, ahol nem számít az, hogy egy adott elemnek mi az indexe. A PHP a tömbök elérésére a tömbindexek használatánál hatékonyabb és áttekinthetőbb függvényeket biztosít, programunk ezáltal rugalmasabb, könnyebben módosítható és jól olvasható lesz. Tömbök elérése 05 Asszociatív tömb bejárása: Ha az asszociatív tömb kulcsát és értékét is el szeretnénk érni, egy kicsit másképpen kell a foreach szerkezet használnunk. foreach( $tomb as $kulcs => $ertek ) { // a tömbelem feldolgozása Tömbök elérése 06 Többdimenziós tömb bejárása: példa prg.: tomb4.php A kódot megbízhatóbbá tehetnénk, ha meghívnánk a $karakter változóra az is_array() függvényt. Az is_array() függvény számára egy paramétert kell megadnunk. A visszatérési érték true lesz, ha a változó típusa tömb, minden más esetben false értéket ad. Műveletek tömbökkel 01 Két tömb egyesítése: Az array_merge() függvény legalább két paramétert vár: az egyesítendő tömböket. A visszatérési érték az egyesített tömb lesz.

16 tomb5.php $elso = array( "a", "b", "c" ); $masodik = array( 1, 2, 3 ); $harmadik = array_merge( $elso, $masodik ); foreach( $harmadik as $ertek ) { print "$ertek<br>"; (17/16) Műveletek tömbökkel 02 Egyszerre több elem hozzáadása egy tömbhöz: Az array_push() függvény egy tömböt és tetszőleges számú további paramétert fogad. A megadott értékek a tömbbe kerülnek. Figyeljük meg, hogy az array_merge() függvénnyel ellentétben az array_push() megváltoztatja első paraméterének értékét. E függvény visszatérési értéke a tömbben lévő elemek száma (miután az elemeket hozzáadta). tomb6.php $elso = array( "a", "b", "c" ); $elemszam = array_push( $elso, 1, 2, 3 ); print "Összesen $elemszam elem van az \$elso tömbben<p>"; foreach( $elso as $ertek ) { print "$ertek<br>"; Műveletek tömbökkel 03 Ha a PHP-ben az array_push() második paramétereként tömböt adnak meg, a tömb egy tömb típusú elemmel bővül, ezáltal többdimenziós tömb keletkezik. Ha egy karakterláncban nem szeretnénk, hogy a változók behelyettesítődjenek, a karakterlánc jelölésére egyszeres idézőjeleket használjunk; ekkor a és a \ karakterek helyett \ -t és \\-t kell írnunk. Műveletek tömbökkel 04 Az első elem eltávolítása: Az array_shift() eltávolítja a paraméterként átadott tömb első elemét és az elem értékével tér vissza. tomb7.php Tömb részének kinyerése: Az array_slice() függvény egy tömb egy darabját adja vissza. A függvény egy tömböt, egy kezdőpozíciót (a szelet első elemének tömbbeli indexét) és egy (elhagyható) hossz paramétert vár. Ha ez utóbbit elhagyjuk, a függvény feltételezi, hogy a kezdőpozíciótól a tömb végéig tartó szeletet szeretnénk megkapni. Az array_slice() nem változtatja meg a paraméterként átadott tömböt, hanem újat ad vissza, amelyben a hívó által kért elemek vannak. tomb8.php

17 Műveletek tömbökkel 05 Andrikó Imre Internet programozása c. tárgy előadásain (17/17) Tömbök rendezése: Számmal indexelt tömb rendezése A sort() függvény egy tömb típusú paramétert vár és a tömb rendezését végzi el. Ha a tömbben van karakterlánc, a rendezés (alapbeállításban angol!) ábécésorrend szerinti lesz, ha a tömbben minden elem szám, szám szerint történik. A függvénynek nincs visszatérési értéke, a paraméterként kapott tömböt alakítja át. $tomb = array( "x", "a", "f", "c" ); sort( $tomb ); Ha csökkenő sorrendben szeretnénk rendezni egy tömb elemeit, használjuk a sort() függvényhez hasonlóan működő rsort() függvényt. Műveletek tömbökkel 06 Asszociatív tömb rendezése érték szerint: Az asort() függvény egy asszociatív tömb típusú paramétert vár és a tömböt a sort() függvényhez hasonlóan rendezi. Az egyetlen különbség, hogy az asort() használata után megmaradnak a karakterlánc-kulcsok. $a_tomb = array( "elso"=>5, "masodik"=>2, "harmadik"=>1 ); asort( $a_tomb ); Ha csökkenő sorrendben szeretnénk rendezni egy asszociatív tömb elemeit, használjuk a arsort() függvényt. Műveletek tömbökkel 07 Asszociatív tömb rendezése kulcs szerint: A ksort() a paraméterben megadott asszociatív tömböt rendezi kulcs szerint. A többi tömbrendező függvényhez hasonlóan ez a függvény sem ad vissza semmiféle visszatérési értéket, hanem a tömböt alakítja át. $tomb = array( "x" => 5, "a" => 2, "f" => 1 ); ksort( $tomb ); Ha csökkenő sorrendben szeretnénk rendezni egy asszociatív tömb elemeit, használjuk a krsort() függvényt.

Internet programozása. 1. előadás

Internet programozása. 1. előadás Internet programozása 1. előadás Áttekintés 1. Mi a PHP? 2. A PHP fejlődése 3. A PHP 4 újdonságai 4. Miért pont PHP? 5. A programfejlesztés eszközei 1. Mi a PHP? Egy makrókészlet volt, amely személyes

Részletesebben

Internet programozása. 3. előadás

Internet programozása. 3. előadás Internet programozása 3. előadás Áttekintés Hogyan használjuk az if szerkezetet arra, hogy bizonyos sorok csak adott feltételek teljesülése mellett hajtódjanak végre? Hogyan adhatunk meg csak bizonyos

Részletesebben

programok rugalmasságát. Ha jól értünk a tömbökhöz, képesek vagyunk nagy méretû, összetett adatokat tárolni és kezelni.

programok rugalmasságát. Ha jól értünk a tömbökhöz, képesek vagyunk nagy méretû, összetett adatokat tárolni és kezelni. 7. ÓRA Tömbök A tömbök és a kezelésüket segítõ eszközök nagy mértékben növelik a PHP 4 programok rugalmasságát. Ha jól értünk a tömbökhöz, képesek vagyunk nagy méretû, összetett adatokat tárolni és kezelni.

Részletesebben

Vezérlési szerkezetek

Vezérlési szerkezetek 5. ÓRA Vezérlési szerkezetek Az elõzõ órában létrehozott programok minden futtatáskor ugyanazt az eredményt adták, mindig ugyanazok az utasítások hajtódtak végre ugyanabban a sorrendben. Ez nem biztosít

Részletesebben

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

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

A C# programozási nyelv alapjai

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

Tartalomjegyzék. I. rész Az elsõ lépések

Tartalomjegyzék. I. rész Az elsõ lépések Tartalomjegyzék Bevezetõ I. rész Az elsõ lépések 1. óra PHP: személyes honlaptól a portálig..... 3 Mi a PHP?............................................ 4 A PHP fejlõdése.......................................

Részletesebben

A PHP nyelv. 4. óra Az alkotóelemek 5. óra Vezérlési szerkezetek 6. óra Függvények. 8. óra Objektumok

A PHP nyelv. 4. óra Az alkotóelemek 5. óra Vezérlési szerkezetek 6. óra Függvények. 8. óra Objektumok II. RÉSZ A PHP nyelv 4. óra Az alkotóelemek 5. óra Vezérlési szerkezetek 6. óra Függvények 7. óra Tömbök 8. óra Objektumok 4. ÓRA Az alkotóelemek Ebben az órában már mélyebben elmerülünk a nyelv rejtelmeiben.

Részletesebben

Webprogramozás szakkör

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

WEB PROGRAMOZÁS 1.ELŐADAS. Dr. Pál László Sapientia EMTE, Csíkszereda, tanév, I. Félév

WEB PROGRAMOZÁS 1.ELŐADAS. Dr. Pál László Sapientia EMTE, Csíkszereda, tanév, I. Félév WEB PROGRAMOZÁS 1.ELŐADAS Dr. Pál László Sapientia EMTE, Csíkszereda, 2015-2016 tanév, I. Félév Előadás tematika 1.Előadás: PHP alapok (adattípusok, operátorok, vezérlési szerkezetek, tömbök, függvények)

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

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

PHP. Adatbázisok gyakorlat

PHP. Adatbázisok gyakorlat PHP Adatbázisok gyakorlat Mi a PHP? A PHP (PHP: Hypertext Preprocessor) egy nyílt forráskódú, számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus weboldalak készítése. A PHP-kódunk általában

Részletesebben

1. óra PHP: személyes honlaptól a portálig 2. óra A PHP telepítése 3. óra Elsõ PHP oldalunk

1. óra PHP: személyes honlaptól a portálig 2. óra A PHP telepítése 3. óra Elsõ PHP oldalunk I. RÉSZ Az elsõ lépések 1. óra PHP: személyes honlaptól a portálig 2. óra A PHP telepítése 3. óra Elsõ PHP oldalunk 1. ÓRA PHP: személyes honlaptól a portálig Üdvözlet a PHP világában! Ebben a könyvben

Részletesebben

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

A programozás alapjai

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

Hogyan adjunk át a függvényeinknek értékeket és hogyan kapjuk meg tõlük az eredményt?

Hogyan adjunk át a függvényeinknek értékeket és hogyan kapjuk meg tõlük az eredményt? 6. ÓRA Függvények A függvény a jól szervezett program lelke, mert a programot könnyen olvashatóvá és újrahasznosíthatóvá teszi. Függvények nélkül a nagy programok kezelhetetlenek lennének. Ebben az órában

Részletesebben

Vezérlési szerkezetek

Vezérlési szerkezetek Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását

Részletesebben

Forráskód formázási szabályok

Forráskód formázási szabályok Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más

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

1. Jelölje meg az összes igaz állítást a következők közül!

1. Jelölje meg az összes igaz állítást a következők közül! 1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.

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

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

Részletesebben

A JavaScript főbb tulajdonságai

A JavaScript főbb tulajdonságai JavaScript alapok A JavaScript főbb tulajdonságai Script nyelv azaz futás közben értelmezett, interpretált nyelv Legfőbb alkalmazási területe: a HTML dokumentumok dinamikussá, interaktívvá tétele Gyengén

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

A PHP nyelv alapjai. Web-Sky Consulting Kft Tóth Imre 2009

A PHP nyelv alapjai. Web-Sky Consulting Kft Tóth Imre 2009 A PHP nyelv alapjai Web-Sky Consulting Kft Tóth Imre 2009 Előadások címei 1. PHP nyelv alapjai 2. Objektumorientáltság a PHP-ben 3. A Http és a PHP kapcsolata 4. Adatbázis kezelés a PHP-ben 5. MVC alapjai

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

Java programozási nyelv

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

van neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk

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

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak

Részletesebben

Szoftvertechnológia alapjai Java előadások

Szoftvertechnoló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észletesebben

Szkriptnyelvek II. Perl programok

Szkriptnyelvek 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é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

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

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

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk. JSON tutorial Készítette: Cyber Zero Web: www.cyberzero.tk E-mail: cyberzero@freemail.hu Msn: cyberzero@mailpont.hu Skype: cyberzero_cz Fb: https://www.facebook.com/cyberzero.cz BEVEZETÉS: A JSON (JavaScript

Részletesebben

BASH script programozás II. Vezérlési szerkezetek

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

1. Egyszerű (primitív) típusok. 2. Referencia típusok

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

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája A programozás alapjai 1 Kifejezések 5. előadás Híradástechnikai Tanszék Operandusok Literál Azonosító Kifejezés Kifejezések Precedencia Melyik hajtódik először végre? Asszociativitás Balról jobbra vagy

Részletesebben

A 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.

A 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é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. 7. előadás

Programozás alapjai. 7. előadás 7. előadás Wagner György Általános Informatikai Tanszék Jótanács (1) Tipikus hiba a feladat elkészítésekor: Jótanács (2) Szintén tipikus hiba: a file-ból való törléskor, illetve a file-nak új elemmel való

Részletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

Occam 1. Készítette: Szabó Éva

Occam 1. Készítette: Szabó Éva Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti

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

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C programozási nyelv Pointerek, tömbök, pointer aritmetika C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek

Részletesebben

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK 1. ELÁGAZÁSOK ÉS CIKLUSOK SZERVEZÉSE Az adatszerkezetek mellett a programok másik alapvető fontosságú építőkövei az ún. algoritmikus szerkezetek.

Részletesebben

C programozás. 1 óra Bevezetés

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

Smalltalk 2. Készítette: Szabó Éva

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

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

PHP-MySQL. Adatbázisok gyakorlat

PHP-MySQL. Adatbázisok gyakorlat PHP-MySQL Adatbázisok gyakorlat Weboldalak és adatbázisok Az eddigiek során megismertük, hogyan lehet a PHP segítségével dinamikus weblapokat készíteni. A dinamikus weboldalak az esetek többségében valamilyen

Részletesebben

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Adattí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észletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 5. előadás Tömbök átméretezése public static void Resize( ref T[] array, int newsize ) Példa: int[] a=new int[20]; Array.Resize(ref a, 22); 2016. 10. 19.

Részletesebben

C programozási nyelv

C programozási nyelv C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György

Részletesebben

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

II. 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é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

Operációs rendszerek gyakorlat

Operációs rendszerek gyakorlat Operációs rendszerek gyakorlat 10. Gyakorlat Vakulya Gergely Az alapértelmezett változó - I. Sok függvény és vezérlési szerkezet alapértelmezett változóval tömörebbé tehető $_ while, , print, stb. 2

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

Apple Swift kurzus 3. gyakorlat

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

Óbudai Egyetem. C programozási nyelv

Óbudai Egyetem. C programozási nyelv Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C programozási nyelv II. Dr. Schuster György 2016. március 12. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C2016. programozási március 12. nyelv Utasításo

Részletesebben

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek Komputeralgebra Rendszerek Programozás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. február 23. TARTALOMJEGYZÉK 1 of 28 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Értékadás MAPLE -ben SAGE -ben 3

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

Részletesebben

.Net adatstruktúrák. Készítette: Major Péter

.Net adatstruktúrák. Készítette: Major Péter .Net adatstruktúrák Készítette: Major Péter Adatstruktúrák általában A.Net-ben számos nyelvvel ellentétben nem kell bajlódnunk a változó hosszúságú tömbök, listák, sorok stb. implementálásával, mert ezek

Részletesebben

Szoftvertervezés és -fejlesztés I.

Szoftvertervezés és -fejlesztés I. Szoftvertervezés és -fejlesztés I. Operátorok Vezérlési szerkezetek Gyakorlás 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik.

Részletesebben

PHP MySQL, Java JDBC MySQL. Adatbázisok az iskolában 2012 Dr. Balázs Péter Palatinus Endre és Erdőhelyi Balázs diái alapján

PHP MySQL, Java JDBC MySQL. Adatbázisok az iskolában 2012 Dr. Balázs Péter Palatinus Endre és Erdőhelyi Balázs diái alapján PHP MySQL, Java JDBC MySQL Adatbázisok az iskolában 2012 Dr. Balázs Péter Palatinus Endre és Erdőhelyi Balázs diái alapján Mi a PHP? A PHP (PHP: Hypertext Preprocessor) egy nyílt forráskódú, számítógépes

Részletesebben

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

C programozás. 6 óra Függvények, függvényszerű makrók, globális és C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,

Részletesebben

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás A tárgy órái Előadás hetente (St101) csüt. 8:15 Bécsi Tamás C elmélet Ajánlott irodalom Dennis Ritchie: A C programozási nyelv Gyakorlat hetente

Részletesebben

A webhelyhez kötődő szoftverek architektúrája

A webhelyhez kötődő szoftverek architektúrája A webhelyhez kötődő szoftverek architektúrája A webhelyhez kötődő szoftverek architektúrája...1 A kliens-szerver funkcionalitások megoszlása...1 A böngésző mint web kliens...1 Web szerver (kiszolgáló)

Részletesebben

Gregorics Tibor Modularizált programok C++ nyelvi elemei 1

Gregorics Tibor Modularizált programok C++ nyelvi elemei 1 Gregorics Tibor Modularizált programok C++ nyelvi elemei 1 Függvények és paraméterátadás A függvény egy olyan programblokk, melynek végrehajtását a program bármelyik olyan helyéről lehet kezdeményezni

Részletesebben

AWK programozás Bevezetés

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

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

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István Operátorok Műveletek Egy (vagy több) műveleti jellel írhatók le A műveletet operandusaikkal végzik Operátorok fajtái operandusok száma szerint: egyoperandusú operátorok (pl.:

Részletesebben

Gyakorló feladatok Gyakorló feladatok

Gyakorló 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észletesebben

Python bevezető foglalkozás Python bevezető foglalkozás

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

Gregorics Tibor Tanácsok modularizált programok készítéséhez 1

Gregorics Tibor Tanácsok modularizált programok készítéséhez 1 Gregorics Tibor Tanácsok modularizált programok készítéséhez 1 Modularizált programon azt értjük, amely több, jól körülhatárolható részfeladat megoldásaiból épül fel. Egy-egy részfeladat gyakran szabványos

Részletesebben

Objektumorientált Programozás VI.

Objektumorientá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é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

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

és az instanceof operátor

és az instanceof operátor Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

8. gyakorlat Pointerek, dinamikus memóriakezelés

8. gyakorlat Pointerek, dinamikus memóriakezelés 8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char

Részletesebben

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK, Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás OE-NIK, 2013 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk

Részletesebben

Eljárások és függvények

Eljárások és függvények Eljárások és függvények Jegyzet Összeállította: Faludi Anita 2012. Bevezetés Ez a jegyzet elsősorban azoknak a diákoknak készült, akiket tanítok, ezért a jegyzet erőteljesen hiányos. Az olvasó egy percig

Részletesebben

Rekurzió. Dr. Iványi Péter

Rekurzió. 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

Programozási nyelvek JAVA EA+GY 1. gyakolat

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

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási

Részletesebben

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás 4.11. A C előfeldolgozó rendszer A fordítás első lépése a C esetében a különböző nyelvi kiterjesztések feldolgozása: másik állomány tartalmának

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

WEB PROGRAMOZÁS 3.ELŐADÁS. Űrlapok

WEB PROGRAMOZÁS 3.ELŐADÁS. Űrlapok WEB PROGRAMOZÁS 3.ELŐADÁS Űrlapok 2 Globális és környezeti változók Globális és környezeti változók 3 A globális változók azok a változók, amelyeket a program legfelső szintjén, azaz a függvényeken kívül

Részletesebben

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)

Részletesebben

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Ismerkedé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é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

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC ADATBÁZISOK Adatbázis = adott formátum és rendszer szerint tárolt adatok összessége. DBMS feladatai: adatstruktúra (adatbázisséma)

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

7. fejezet: Mutatók és tömbök

7. fejezet: Mutatók és tömbök 7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata

Ré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