a programegységek között

Slides:



Advertisements
Hasonló előadás
Kifejezések 2+3 Egy egyszerű kifejezés… © Pasztuhov Dániel, www.programozas-oktatas.hu.
Advertisements

LEgyméretű tömbök, vektorok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 17./0. lVektorok definiálása lVektorok definiálása kezdőértékekkel.
LFüggvények Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 20./0. lFüggvények deklarációja és prototípusa lA függvénydefiníció lHivatkozás.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
8. előadás (2005. április 19.) Pozicionálás fájlban (folyt.) I/O mechanizmus váltás Hibakezelő függvények Változók tárolási osztályai Parancssor-argumentumok.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke A programozás alapjai 1. (VIEEA100) 9. előadás.
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Dinamikus tömbök.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Osztályok Garbage collection.  általában minden osztálynak vannak adattagjai és/vagy metódusai ◦ adattagok megadása:  [láthatóság] [static] [final]
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Függvények, mutatók Csernoch Mária.
Mutatók, tömbök, függvények
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
A C++ programozási nyelvSoós Sándor 1/10 C++ programozási nyelv Gyakorlat - 5. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
C# tagfüggvények.
C# tagfüggvények.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
8. előadás Dinamikus memóriakezelés. Mutatók. Láncolt adatszerkezetek.
C++ alapok, harmadik óra
Programozás I Függvények általános jellemzői
Kivételkezelés a C++ nyelvben Bevezetés
Programozás Az adatokról C# -ban.
ELTE Adatokkal kapcsolatos fogalmak  Konstans: az az adat, amely a műveletvégzés során nem változtat(hat)ja meg értékét, mindvégig ugyanabban az „állapotban”
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Készítette: Csíki Gyula
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Java programozási nyelv Metódusok
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
Objektum orientált programozás 3. Függvények Nagy Szilvia.
Objektum orientált programozás
Objektum orientált programozás
A Visual Basic nyelvi elemei
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
C Programozási alapok.
CUDA C/C++ programozás CUDA C bevezetés A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében.
2012. március 21. Paulik Áron.  Ha a függvényünk feladata olyan, hogy nem lenne értelme a visszatérési értéknek, vagy csak nincs rá szükség, void típusúként.
1. feladat  Készíts olyan függvényt, mely paraméterül kapja két egész típusú változó címét, s hívása után a két változó értéke helyet cserél.
Ficsor Lajos A C++ programozási nyelv I. CPP1/ 1 Osztály és objektum fogalma.
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
Script nyelvek előadás
Neumann János Informatikai Kar
Programozási nyelvek típusossága.
Beépített függvények használata programozáskor
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
A CLIPS keretrendszer
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Változók.
Hernyák Zoltán Programozási Nyelvek II.
String osztály létrehozása
Konverziós operátorok
Az objektum-orientáltság
Előadás másolata:

a programegységek között Paraméterátadás a programegységek között

Programegység Szerkezete Hívása Eljárás* Eljárásnév(formális paraméterek listája) saját konstansok, változók deklarációja utasítások, eljárás-hívások Eljárás vége Hívása Eljárásnév(aktuális paraméterek listája) Változónév = Függvénynév(aktuális paraméterek listája) *Függvény Függvénynév(formális paraméterek listája): típus

Értékszerinti paraméterátadás Eljárás A (x: egész) … x=2 Eljárás vége A(5) Értékszerinti paraméterátadás Példa alapján A formális paraméter számára létrehoz egy új helyet a memóriában a megadott x névvel egész szám számára  x Az x helyre bemásolja az aktuális paraméterként kapott értéket  x=5 Az eljárásban x értéke olvasható és módosítható  x=2 Az eljárás végén felszabadítja a memóriában x helyét  x helye és értéke is megszűnik Az aktuális paraméter lehet: változó, konstans, kifejezés Hátránya a paraméternek újra helyet foglal a memóriában.

… static int maximum(int x, int y) { int z; if (x>y) z=x; else z=y; return(z); } static void Main() Console.WriteLine(maximum(4,3)); Pl.: C# Képernyőn: 4 static int maximum(int x, int y) ^ | visszatérési érték típusa

Címszerinti paraméterátadás Eljárás B (x: egész) … x=2 Eljárás vége Z=5 : B(Z) Címszerinti paraméterátadás Példa alapján Meghatározza Z memóriacímét, ezt adja át az eljárás formális paraméterének  x címe = Z címe Az eljárásban x értéke olvasható és módosítható  x=2 Az eljárás végén felszabadítja az x nevet, de nem szabadítja fel a helyet a memóriában Az eljáráson kívül a Z név él tovább  Z=2 Az aktuális paraméter lehet: változó

… void csere(ref int x, ref int y) { int segéd=x; x=y; y=segéd; } static void Main() int a=5, b=6; Console.WriteLine(„Csere előtt: a,b:”,a,b); csere(ref a,ref b); Console.WriteLine(„Csere után: a,b:”,a,b); Pl.: C# Képernyőn: 5 6 6 5 ref (reference) Megíráskor is oda kell írni meghíváskor is oda kell írni Minden változó elé külön-külön

Eredményszerinti paraméterátadás Függvény C (…): egész … Függvény vége Ki: C(…) Eredményszerinti paraméterátadás Példa alapján Visszatérési érték számára létrehoz egy új helyet a memóriában, a típusa a visszatérési típus A függvény végén ez a memóriacím értéket kap A függvény végén visszaadja a keletkezett értéket majd felszabadítja a memóriában az érték helyét A visszatérési érték: értékül adható változónak, kiírható, kifejezésben felhasználható

Függvényeredmény paramétere – C# Amikor egy függvénnyel több értéket kell előállítani. a visszatérési érték mellett, a paraméterlistán jelezhető, hogy melyik paraméter értéke fog változni  Címszerinti paraméterátadás

… public static int TesztKiiras(out char i) { i=‚B’; return -1; } public static void Main() char i; Console.WriteLine(TesztKiiras(out i)); Console.WriteLine(i); Pl.: C# Képernyőn: -1 B Több visszatérési érték esetén public static int TesztKiiras(out char i) ^ ^ | | return adja vissza változtatható

Mutató típus

Mutató típus algoritmusban Értékhalmaz A memória megengedett tartománybeli címe egy adott típusú objektumnak vagy Egy előre definiált „sehova” érték Definiálása Pl.: Egész’Mutató Műveletek Konstrukciós függvény: Pl.: Egész(M) M a memóriacímet határozza meg, ahol egy egész szám „fér el” a memóriában

Mutató típus algoritmusban Műveletek Létrehozás futási időben Pl.: Lefoglal(M) M a memóriacímtől egy egész számnyi helyet lefoglal a memóriában Pl.: Lefoglal(M,17) M a memóriacímtől egy egész számnyi helyet lefoglal a memóriában és feltölti a megadott értékkel (az érték kifejezés eredménye is lehet) Ha a helyfoglalás sikertelen, akkor M a „Sehova” címet kapja értékül

Mutató típus algoritmusban Műveletek Felszabadítás futási időben Pl.: Felszabadít(M) az M memóriacímet „Sehova” címre állítja, tehát az objektum a memóriában már nem elérhető Relációk =  A mutató típusú változókkal nagyon óvatosan kell bánni, mert velük közvetlenül a memóriában végzünk műveleteket! A fejlesztői környezet nem tud a segítségünkre lenni. Ábrázolás A memóriacímnek megfelelő szélességű tartomány (2-4 bájt)