Következő esemény

Mi ez itt, kérem?

Személyes hangvételű írások az informatika érettségiről, érettségizőknek és tanáraiknak.

Írjad csak!

Programozik a gyerek

Feedek és ilyesmik

e-mailt kérek az új bejegyzésekről


(nem foglak spammelni)

XML

Kövesd az oldalt!

facebook twitter

2009.12.12. 12:12 raerek

Mijaza függvény??

Címkék: programozás informatika érettségi táblázatkezelés adatbázis kezelés informatika érettségi

Matekóráról biztosan ragadt rád valami. Hozzárendelés, egyértelmű hozzárendelés, f(x), x->|x+2|, ilyesmire gondolok. Ez persze jó, de akkor mi is az a függvény? Mondd el úgy, hogy a tízéves kistesód is értse. Ha így el tudod mondani, akkor tényleg érted, és ha érted, akkor a táblázatkezelési feladatoknál mindig, de sokszor az adatbázis-kezelésnél is könnyebb az életed. Ezek meg benne vannak a középszintű informatika érettségiben. Sőt, az emelt szintű informatika érettségiben is. Sőt, ott van programozás is, és ott sem épp haszontalan, ha tényleg érted, hogy mijaza függvény. Szóval, mondd el úgy, hogy a tízéves kistesód is értse.

"-A tízéves kistesóm? De hát ő még kicsi ehhez!"

Ehh. A függvények elsős anyag. Igen, az általános iskolában. De. Tényleg. (Na jó, lehet, hogy másodikos, de szerintem elsős.) Nem nagyon emlékszel, igaz?

Albi: Első iskolaévem

Szóval, ott ülsz az első osztályban. Lóg a szájadból a kifli, és becsöngetnek. Bejön a tanító néni, és köszönsz, hogy "Jóóónnapóóót kííívááánok!" Jelentés, leültök, előveszed a kockás füzetedet, meg a ceruzádat, és a tanár azt mondja: "-Ma egy érdekes géppel ismerkedünk meg." Lerajzolja, te buzgón másolsz, mert jó gyerek vagy (Khmm-khmm). "-Ha ebbe a gépbe bedobok egy egyest, akkor alul kijön egy hármas. Mit csinál a gép?" Kis meglepetés és töprengés után buzgón jelentkezel, és felszólít a tanító néni, és te mondod, hogy "-Hozzáad kettőt!". A tanítónéni odajön és megsimogatja fejedet, és te olyan, de olyan büszke vagy...

Szóval a táblán valami ilyesmi látszik:

infoerettsegi: függvény

Bal oldalt ott a "gép".

Na, az ottan a függvény.

Bedobunk valamit, és kijön valami. Amit bedobunk, az a függvény bemeneti értéke, argumentuma, vagy paramétere. Ami kijön, az a függvény kimeneti, vagy visszatérési értéke. Azért függvény, mert a visszatérési érték függ a bemeneti értéktől. Ez a függvény egy sima

f(x): x->x+2

függvény.

Az a baj, hogy a matekóra miatt hajlandó vagy azt hinni, hogy a függvény feltétlenül számokkal dolgozik. Nos, nem. Lássuk csak:

infoerettsegi: függvény2

Bemeneti érték az "a", visszatérési érték a "b". Persze ennek a függvénynek nem tudom matematikai formalizmussal felírni a hozzárendelési szabályát, de elmondani simán megy: a visszatérési érték a bemeneti érték utáni betű az ábécéből.

És a függvény lehetne más jellegű is, például: Ha bedobom, hogy Józsi, akkor kiasutót ad vissza, ha Béla, akkor is kisautót, de ha Johanna, vagy Helga, akkor babát. A kimenet megintcsak függ a bemeneti értéktől.

Na lássuk ugyanezt táblázatkezelésben:

Amikor írsz egy olyat, hogy

=MAX(2;3)

akkor a MAX a függvény, a 2 és a 3 a bemeneti értékek, a cellában az Enter megnyomása után megjelenő 3 pedig a visszatérési, vagy kimeneti érték. (Figyeltél, ugye? Ennek a függvénynek két bemeneti értéke van. Matekórán ilyesmi nem sokszor van középiskolában. Miért? Mert bonyolult ábrázolni: térkoordinátarendszer, vagy még szörnyűbb kell hozzá.)

És, hogy ne csak csúnya matekos függvények legyenek, akkor íme egy kevésbé matekos:

=KISBETŰ("KiSciCa")Itt a KiSciCa a bemeneti érték, és a KISBETŰ függvény a kiscica  szóval tér vissza.

Van persze, amikor nem közvetlenül adod meg a bemeneti értékeket, hanem hivatkozásokkal, például:

infoerettsegi: függvény3 infoerettsegi: függvény5

Persze az eredmény, a kimeneti érték ekkor is ugyanaz:

infoerettsegi: függvény4 infoerettsegi: függvény6

És hogy mi a hozzárendelési szabály? Hát, felírni ezt El Samuel: mágussem tudom, mert nem vagyok valami matek-májer, de érteni értjük: (1) A bemeneti értékek halmazához rendeld hozzá a legnagyobb bemeneti értéket. (2) A bemeneti értékhez hozzárendeljük a kisbetűs megfelelőjét. Hogy ezt hogy csinálja meg a táblázatkezelőd? Nem érdekes. A "gépre" tekinthetsz úgy, mint valami varázslóra. A varázsló bűvöli a számot-betűt, bűvölgeti, oszt' eccer csak kigyün a legnagyobb, vagy a kisbetűs. Boszorkányság!

Persze az előzőekben vázolt "teszek rá" mentalitás csak akkor megengedhető, ha középszintű informatika érettségit igyekszel szerezni. Az emelt szintű informatika érettségi (többek között) azért gázosabb, mert ott a programozási feladat során esetleg neked kell függvényt írni. Esetleg épp a MAX-szal, vagy a KISBETŰ-vel azonos működésűt.

Vannak a fenti bedobom-kijön gépeknél egzotikusabb működésű függvények is. Van olyan például, ahova nem dobok be semmit, és mégis kijön valami. Ilyen például az Excel =VÉL() és =MOST(), illetve az OpenOffice =RAND(), és =NOW() függvénye. Az üres zárójel épp azt jelzi, hogy tudjuk, hogy most nem kell bedobni semmit. Persze, ha belegondolunk, attól még van bemeneti érték, csak azt nem mi adjuk meg.

És vannak olyan függvények is, amelyeknek nincs visszatérési értékük - például a C, C++, Java void "visszatérési értékű" függvényei. Azonban itt már némileg torzul a függvény szó jelentése.

És persze van olyan "függvény" is, ahol nincs is függés, mindig ugyanaz jön vissza. Például itt egy elég rosszul működő dobókocka:

C-ben:

int dobokocka (){
return 4;
}

Pascal-ban:

Function Dobokocka(): Integer;
Begin
    Dobokocka:=4;
End;

Szóval akkor: Mi az a függvény? Mondd el úgy, hogy a tízéves kistesód is értse.

bakyfoto: néz

8 komment

A bejegyzés trackback címe:

https://infoerettsegi.blog.hu/api/trackback/id/tr181539053

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

BoGyesz 2009.12.15. 08:17:22

A segítségeteket szeretném kérni, mégpedig azért, mert öcsém a hétvégén bejelentette, hogy jövőre az emelt szintű info érettségit akarja megcsinálni és hogy segítsek neki felkészülni. Idén csinálta a közép szintű info elő-érettségit és elég jól sikerült, de kicsit aggódom az emelt szint miatt, mert még életében sosem programozott és nem túl erős a matematika ide vágó elméleti részéből. Mennyire nehéz az emelt szintű info érettségi programozási része? Most töltöttem le régebbi tételeket meg olvasom a honlapokat, de ha valakinek van élménye akkor megoszthatná vele.
Másik kérdés, hogy mindegy, hogy milyen nyelven oldja meg a programozási feladatot? Pl. Pascal-t több mint tíz éve nem láttam, leginkább Java-ban vagy C-ben tudok neki segíteni.
Adatbázis kezelés is van ha jól tudom. Itt vmi Microsoft féle fejfájás van (Access) vagy "rendes" mint pl. Oracle vagy MySQL?
Köszi a segítséget!

raerek · http://infoerettsegi.blog.hu 2009.12.15. 10:06:31

@BoGyesz: A programozáshoz itt matek nem kell.
Oracle nyet, MySQL OpenOffice kombóval mehet, lásd a kettővel-hárommal korábbi posztomat.
A teljes szoftverlista:
www.oh.gov.hu/letolt/okev/doc/ketszintu_erettsegi_2010maj/info_emelt_szoftverlista_2010maj.pdf

BoGyesz 2009.12.15. 12:32:24

Köszi az infót. Tehát akkor algoritmusok miatt ne aggódjon, OK. :-)
SQL lekérdezeseket kell megírni vagy az Open Office-nak van valami grafikus okossága? Bocsi hogy ilyeneket kérdezek, de az Open Office-t sosem használtam MySQL-el. JDBC-t ismerem, tehát Java-n keresztül.
A listában szerepel a C és Java is, tehát akkor ezekkel is megoldhatja?

raerek · http://infoerettsegi.blog.hu 2009.12.15. 17:53:32

@BoGyesz: "A listában szerepel a C és Java is, tehát akkor ezekkel is megoldhatja? " - mármint a programozást: igen.
OpenOffice-t nézd csak meg. Mikor utoljára OOO-ztam, akkor OOO még nem tudott INSERT UPDATE stb utasításokat, akkor úgy volt, hogy amit tudsz, az OOO, amit nem, az natív SQL és kiírod egy txt-be.

ppppalika 2009.12.16. 17:58:50

@BoGyesz: Azért megfontoltan... a programozási eszköz választása független a többi feladat eszközétől, ezért lényegében bármit választhat az adott operációs rendszeren belül.

Ha MySQL+Ooo-t választ, akkor a táblázatkezelést és a szövegszerkesztést is abban kell művelnie. Nem elboldogulnia, hanem rutinszerűen dolgoznia!

Szerintem az Access sem ördögtől való. Abban is lehet SQL-ben dolgozni. Az emelt szintű érettségi szintjén a különbség nem eget rengető. Szerintem MySQL után (ha már otthon van benne), könnyebb az Accesshez idomulni, mint Word, Excel után az Ooo programjaiban felvenni a vizsgához szükséges sebességet. (Sok apróság van, amit rutinszerűen tud az ember a megszokott környezetben, de a másikban nagy időveszteség árán találja csak meg. Ha a váltás mellett dönt, akkor mostantól csak azzal dolgozzon, bármely okból is szerkeszt szöveget vagy végez táblázatkezelést.)

ppppalika 2009.12.16. 18:40:44

Off: a táblázatrészleteket mutató képeket szerencsés lenne png-ben megjeleníteni.

ppppalika 2009.12.17. 11:19:09

@raerek:
Indítsd el a paintet!
Húzz néhány vékony szabadkézi vonalat!
Mentsd el bmp-ben, majd png-ben, végül jpegben! Nézd meg az egyes képeken a vonal közvetlen környezetét!

Engem legalábbis zavar a jelenség, ráadásul kisebb is a png, ha nem fényképről van szó.