You are on page 1of 219

Fantasztikus Programozs I.

Bart Virg naplja

Jvcska - Internet csak gyerekeknek


Btfai Mria Erika s Btfai Norbert

Jvcska Internet csak gyerekeknek: avagy hogyan lttam tizenegy vesen a mr mindentt burjnz szmtgpeket, a mindent behlz Internetet, a mindig magunknl hordott mobiltelefonokat s a mindezeket sszekt o programozst?

E knyv gazdjnak neve: E-mail cme:

.................................... ....................................

Bitman, lpj be a tuds mess birodalmba, keresd fel a Jvcska vortlt! A http://www.clib.dote.hu:8081/javacska/b.v webcmen tallod meg a vortlt: Jvcska vertiklis, informatikai gyermekportljt. Jvcska fejleszt i lap: http://www.javacska.hu o A knyvvel kapcsolatos szrevteleidet szvesen vesszk s vrjuk az <info@javacska.hu> email cmen vagy a Jvcska levelezsi listn.

Fantasztikus programozs I. Bart Virg naplja


Btfai Mria Erika s Btfai Norbert

Debreceni Egyetem Egyetemi s Nemzeti Knyvtr 2004

FANTASZTIKUS PROGRAMOZS I. ISBN 963 472 826 X rta s illusztrlta: BTFAI M RIA E RIKA, BTFAI N ORBERT Lektorltk: Szakmai lektor: M ARADI I STVN Westel Mobil Tvkzlsi Rt., vezrigazgat-helyettes Pedaggus lektor: GOSTON TAMS Kossuth Lajos Gyakorl ltalnos Iskola, informatika tanr Iskolai knyvtros lektor: O RVOS E DINA Kossuth Lajos Gyakorl ltalnos Iskola, matematika-knyvtros tanr Tanul lektor: C SORVSI G BOR Kossuth Lajos Gyakorl ltalnos Iskola, tanul Nyelvi lektor: D R . G OMBA S ZABOLCSN Debreceni Egyetem, Egyetemi s Nemzeti Knyvtr, ny. f igazgat o

A Java a Sun Microsystems Inc. vdjegye. A Windows a Microsoft Corp. vdjegye. A knyvben szerepl egyb vdjegyeket nagybet vel szedtk, amennyio u ben tudomsunk volt rla.

ltalnos Nyilvnos Engedly


FANTASZTIKUS PROGRAMOZS I., 5.0.0 verzi AB
A A BR KA BL OG

Szerz i jog c 2001, 2002, 2003, 2004 Btfai Erika <hagymacska@jao vacska.hu>, Btfai Norbert <norbi@javacska.hu>. Minden jog fenntartva. Ez a dokumentum szabad szoftver; tovbb adhatja s/vagy mdosthatja a GNU General Public Licence felttelei szerint, ahogy a Free Software Foundation kzli; vagy a Licenc 2. verzija, vagy pedig (sajt beltsunk szerint) brmely ks bbi verzi. o Ezt a dokumentumot azzal a remnnyel terjesztjk, hogy hasznos lesz, de mindenfle GARANCIA NLKL; az eladhatsg vagy adott clra val alkalmassg garantlsa nlkl. A rszletek a General Public Licence-ben tallhatk.

Ksznetnyilvnts
A knyv ltrejttnl szmos tmogat bbskodott. E lapon szeretnnk nekik ksznetet mondani Jvcska irnti lelkesedskrt s a projektrt tett er fesztseo ikrt. Ksznjk a Debreceni Egyetem Egyetemi s Nemzeti Knyvtra Jvcska csoportjnak: Dr. Virgos Mrtnak, Orvos Edinnak, Szprti Szabolcsnak, hogy tancsaikkal, munkjukkal segtettk e knyv megszletst is. Ksznjk a Jvcska projekt lelkes tesztel csapatnak: o Apagyi Adriennek (Debrecen, Arany Jnos Gyakorl ltalnos Iskola, 4. b. osztly) Apagyi Cintinak (Debrecen, Kossuth Lajos Gyakorl Gimnzium, 7. b. osztly) Br Gergelynek (Debrecen, rpd Vezr ltalnos Iskola, 8. b. osztly) Herdon Andrenak (Debrecen, Kossuth Lajos Gyakorl ltalnos Iskola, 6. b. osztly) Jakab Dvidnak (Debrecen, Bocskai Istvn Gimnzium, 7. e. osztly) Jakab Gergelynek (Debrecen, Bocskai Istvn Gimnzium, 5. e. osztly) Keser Fanninak (Debrecen, Kossuth Lajos Gyakorl ltalnos Iskola, 6. b. u osztly) Komjti Szabolcsnak (Debrecen, rpd Vezr ltalnos Iskola, 8. b. osztly) Puzsr Viktornak (Debrecen, rpd Vezr ltalnos Iskola, 8. c. osztly) Simon Fanninak (Debrecen, Kossuth Lajos Gyakorl ltalnos Iskola, 7. c. osztly) Sos Violnak (Kisvrda, Egyestett ltalnos Iskola, 6. b. osztly) Szegedi Zoltnnak (Debrecen, Arany Jnos Gyakorl ltalnos Iskola, 4. b. osztly), hogy a htvgi rk (Jvcska talik) keretben gyelmkkel s lelkesedskkel kitntettk a projektet s hasznos visszajelzseikkel segtettk a munknkat. Ksznjk a Debreceni Egyetem Egyetemi s Nemzeti Knyvtr Trsadalomtudomnyi Knyvtrnak, hogy 2003 oszt l helyet adott a Jvcska tallkozknak. o

4
Ksznjk a Debreceni Egyetem Informatikai Intzetnek, hogy 2003 nyarn helyet adott a Jvcska tallkozknak. Ksznjk a Kossuth Lajos Gyakorl ltalnos Iskolnak, specilisan goston Tams tanr rnak a Jvcska szakkr vezetst s hasznos visszajelzseit. Ksznjk az Informatikai s Hrkzlsi Minisztrium s az Oktatsi Minisztrium ITEM K+F (2002, azonost szm: 16021019) plyzati tmogatst, mert egyrszt ez volt a kataliztora a knyv megrsnak, msrszt a knyv anyagnak egy rsze e plyzat teljestsnek keretben kszlt el. Ksznjk tovbb a MOTOROLA Magyarorszgnak, hogy eszkzkkel tmogatta a projektet, a t lk kapott telefonokat a Jvcska talikon sorsoltuk ki a gyereo kek kztt kt hetes peridusokra.

Kedves Szl ! o
A mai magyar labdargs vlt vagy vals problmit vizsglva mr megszlet ben van a megolds: az utnptlsra, a gyerekek magas sznvonal jtkkpzsre o van szksg! Meggy z dsnk, hogy ms, a trsadalom kiemelt gyelmt (nknt vagy szkoo sgb l) br terleteken ugyancsak ezt a mdszert kell hasznlnunk! Ilyen terlet a o szmtstechnika is.

Kedves Tanr- s Dik-bitmank, Bitman-jelltek!


A regny testnek szvett sok izgalmas programozsi pldval sz ttk t. E plo dk legtbbje valdi komputereken, mobiltelefonokon vagy akr az egsz Interneten futni kpes valsgos szmtgpprogram. Ezeket a programokat, a rluk szl elmleti s gyakorlati programozsi rszeket megtalljtok a Jvcska portlon, a http://www.clib.dote.hu/javacska/seged cmen. Ez a lap a szakkri segdanyagokat tartalmazza. Az emltett pldaprogramok itt jval rszletesebben kerlnek trgyalsra. S t, sok tovbbi pldt is talltok itt! o Fontos megjegyeznnk, hogy nemcsak azrt ptgetjk, tartjuk karban ezt a szakkri lapot, hogy segtsk a szakkrvezet tanr-bitmankat, hanem mert gy a knyv o pldival kvetni tudjuk a szoftverek folyamatos s gyors fejl dst.1 Illetve tovbbi o izgalmas pldkat is ki tudunk ide tenni. gy, ha kedves olvasm, esetleg Neked is tmadna valamilyen rdekes, internetes plda tleted, akkor btran rd meg az info@javacska.hu cmre, s ha id nk s energink engedi, kidolgozzuk s feltesszk a portlra. o Summa summarum, e regny s a portl szakkri anyagai egymst kiegsztve, egytt alkotnak egy kerek, jszer oktatsi egysget. u

csak pldul a vezetknlkli szimultorokra, itt gyorsan kvetik egymst az jabb (vagy egyben az jabb MIDP szabvnyokat is implementl) verzik, az ezekkel kapcsolatos pillanatfelvtelek azrt kerltek t a kziratbl a portl szakkri lapjra, hogy a knyv feltsekor az ne t njn a kpei alapjn, rvid id multval, mris elavultnak! u o

1 Gondoljunk

Sci- tartalom
Fldi id szerint 2009. december 4-n nagyon ritka esetet trtak az Univerzum o Tancsnak rendkvli lse el: a Tejtrendszer egyik spirlkarjnak bels pereo mr l, a Nap nevezet trpecsillag harmadik bolygjrl "igen rtelmes" jeleket o u fogtak. Ez lehetetlen esemny, mert a fldi let matematikailag mg olyan nagyon fejletlen, hogy egyszer en nem lehet kpes a gondolkodsval "igen rtelmes" jeleket u kisugrozni. . . vlekedtek gy sokan a Tancsban. Ok lehetetlennek tartottk, m mgis bekvetkezett! A vizsglat kimutatta, hogy a jelek f forrsa egy 9 v krli ikerpr. Az ikrek hihetetlen kalandokba gabao lyodtak, mert sokszor amit elkpzeltek, az valra is vlt! Hamarosan mr "igen rtelmes" gynkk ezrei vigyztk titokban az ikrek minden lpst, mert a Tancs rjtt, hogy ok lesznek az Univerzum nagy remnysgei, akik kpesek lesznek az "igen rtelmes" vilg matematikai ellentmondsait feloldani egy ellentmondsmentes elmletben. . . A matematikai kpzel er megugrst mg hrom lnynl s o o kilenc nl szleltk az "igen rtelmes" tudsok. . . De ez a knyv nem err l szl! Hanem arrl, hogy az "igen rtelmes" kzso sg legjobb humanoid tanrai utaztak a Fldre, hogy egyel re titokban tartva o elkezdjk a gyerekek tantst, hogy immr az emberi civilizci is jobb vlva, elfoglalhassa majd mlt helyt az "igen rtelmes" kzssg tagjai kztt. Teht a knyv a tanulsrl szl. Bemutatja, hogyan vlt 14 fldi gyerek az "igen rtelmes" vilg polgrv, csillaghajss, virtuz informatikuss. . . soroljam mg? Az "igen rtelmes" tanrok lczsul egy egsz vrost felptettek. Ez a vros Nagyatom, err l a kisvrosrl mindenki azt hiszi azrt jtt ltre, hogy kiszolglja o Magyarorszg els termonukleris er m vt. A szl k itt, ebben a fzis er m ben o o u o o u kaptak olyan mess llsajnlatokat, amit termszetesen nem tudtak visszautastani. . . A knyv az iskola els kilenc hett mutatja be. A legizgalmasabb ra taln a o Csillaghajzs. Ennek keretben a gyerekek a Kk Fld nev csillaghordozval egy u idegen vilgra, az Epkedve.humane.homoe bolygra is elutaznak. Br ellenjavallt, de h seink mgis sszebartkoznak az ottani gyerekekkel s amikor azok bajba keo rlnek, azonnal a segtsgkre sietnek. Aztn, jaj annak, aki olyanokkal akasztja ssze a bajszt, akiknek csillaghajz bartai vannak! De tbbet nem rulok el. Ha tbbet akarsz tudni, akkor olvass bele ebbe a knyvbe, az egyik f szerepl , Bart o o Virg napljba!

Szakmai tartalom
Milyen programokkal tallkozol majd a trtnet olvassa kzben? A kvetkez kkel: o Mobiltelefonos programok Fraktlnagyt program Vrshangyk vezrl programja o MIDI szintetiztor program Titkost program Email kld program o Web-robot program Milyen informatikai fogalmakat, szakszavakat ismersz majd meg a trtnet elolvassa alatt? A kvetkez ket mindenkppen: o email, levelezsi lista, nyilvnos kulcs kriptogra algoritmus, automata, Turing gp, grf OO, UML, osztly, objektum, rkl ds, Java, J2SE, J2ME, o TCP/IP, Internet, WWW szerver-kliens, webszerver-webbngsz , web-robot o HTTP-HTML, WAP-WML Mindeme ismereteket egy sci- trtnetbe gyaztuk be. A knyv kalandjaiban szerepl gyerekek, szemlyek, intzmnyek, vrosok, idegen civilizcibeli lnyek o mind-mind a kpzelet szlemnyei. Brmilyen nvegyezs valsgos szemlyekkel, intzmnyekkel vagy akr fldn kvli szemlyekkel nem a szerz k szndka, o hanem csakis a puszta vletlen muve lehet.

Bitman gyorsteszt
Ksztettnk egy gyorstesztet, amit arra hasznlhatsz, kedves olvas, hogy megvizsgld, nem vagy-e mr most is bitman? De van sokkal izgalmasabb felhasznlsi mdja is! Le tudod leplezni a krnyezetedben a bitmankat! Felhasznlhatod arra, hogy vizsgldj a bartaid, ismer seid, rokonaid krben: vajon ok bitmanko e? Figyelj: ne csodlkozz, ha szmodra sok ismeretlen szt tallsz ebben a listban. Mert sok ismeretlent fogsz tallni, azt garantlhatom s mg tbb ismeretlen mondatot! Hiszen mg csak a knyv elejn vagy. De alig telik el majd pr v s mindet ismerni fogod, s t mg sokkal tbbet is. Mg olyanokat is, amiket ma mg ki o sem talltak! Gyorsteszt: az albbi szavakkal mondj egy igazi, informatikai mondatot!
szoftver Windows kivtel MIDP bngsz o SETI@home bonyolultsg forrs hacker rtelmez o sejtautomata PATH blog Jvcska algoritmus Linux program fordt elosztott kapu csomag vltoz kiszmthat TCAG fehrje csatorna megjegyzs bemenet WAP domain Pareto szimull verzi vlasz kizr vagy qubit kliens Hell Vilg!

Lssuk pldul, hogy Kelep L. tanr r milyen mondatokat tud mondani :) Ezt a jtkszoftvert mr n is megvettem. Minden objektumot kln forrsba rok. Ez az algoritmus csiga lass! Az Interneten az adatok kis csomagokra bontva utaznak. Amin kdols kzben elgondolkozom, ahhoz rok megjegyzst is. , kijtt az 1.5.0 verzi, le is tltm! A Windows kldetse, hogy megknnytse a gpek hasznlatt. A hackerek j k, a crackerek rosszak. A Linux egy nylt forrs opercis rendszer. Egy vltoz rtke a vltoz memriaterletn lv bitminta rtelmezse. o Ez a program a bemenetr l olvassa a feldolgozand adatokat. o

9
A HTTP vlasz ugyanolyan szerkezet , mint a krs. u Ez az objektum gy viselkedik, hogy visszaadja a kiszmolt eredmnyt, vagy kivtelt dob. A .class a Java rtelmez bemenete. o Ez a program csiga lass! Minden olyan dolgot, amit ki tudok szmolni egy algoritmussal, azt ki tudom szmolni egy szmtgpprogrammal is? Lttad mr a Jvcska portl wapos fellett? A UNIX crypt progija kizr vagyos titkostst hasznl. Az n telcsim MIDP 2.0-s. A sejtautomata szablyai olyanok, hogy ez az llatka msolja magt s gy mozog. A .java forrsokbl a javac nev fordtprogram kszti el a .class fjlokat. u A fldi letet hordoz fehrjket felpt alkatrszeket a T, C, A, G bet kb l o u o hrom kdolja, pldul a TGT sz a Cys alkatrszt jelli. Karcsonyra kaptam egy domain nevet. A qubit a kvantum-szmtgpek bitje. Nini, ott ltok is egyet, de nem tudom leolvasni, el van mosdva: 0, 1? Hmm, ha leolvasom, elt nik! u Az n bngsz m kezeli az kezetes domain neveket. o A PATH-hoz hozzveszem a /usr/local/j2sdk/bin knyvtrat. Az Internet egy elosztott rendszer. Egy fehrje alkatrszeinek sorrendje meghatrozza a fehrje trbeli szerkezett, a trbeli szerkezet meghatrozza a fehrje feladatt. Lehetne a fehrjket programozni? Milyen az, ami Pareto eloszls? Abbl nagyon kevs nagyon nagy van s nagyon sok nagyon kicsi. A kliens adatokat kr a szervert l. o

10
A SETI@home egy elosztott szmts, n is rsze vagyok, ha futtatom a gpemen a SETI@home kliens programot. Ma mg nem blogoltam! A programom a 12345 TCP kapunl fog vrakozni. Nyitok a bngsz re egy kimeneti I/O csatornt. o Egy C64 szimultort futtatok. Sok nyelven meg tudom rni a Hell Vilg! programot. Ha egy szmsorozat tagjait egy algoritmus szmolja ki, akkor a szmsorozat nem lehet nagyon bonyolult. Hajr, Jvcska! rtkels: ha az ltalad megvizsglt bitman-jellt a szval tudott j mondatot mondani s rtette Kelep L. tanr r mondatait is, akkor megkaphatja a maximlis pontszmot. A maximlis pontszmokat a kvetkez tblzatban adtuk meg. Add ssze o sznenknt a jellt pontjait! Kelep L. tanr r esetben pldul ez az eredmny addik: Vrs: 255 Zld: 255 Kk: 240 Kapcsold be a komputered s Windows alatt indtsd el a Paint programot, Linux alatt pedig pldul a GIMP programot. A Start/Kellkek/Paint programban kattints a Sznek/Egyni sznek denilsa pontokra. A Vrs nev mez be rd be a Vrsre kapott szmot, hasonlan jrj el a u o Zld s a Kk esetben is! Az gy kapott szn majdnem hfehr, azaz Kelep L. tanr r egy nagyok okos bitman! A GIMP programban kattints az el tr s httrsznek fekete dobozra, a kinyl o ablakban az R-hez rd be a Vrsre kapott szmot, a G-hez a Zldre, a B-hez a Kkre kapott szmot. Az gy kapott szn majdnem hfehr, azaz Kelep L. tanr r egy nagyok okos bitman! De a portl bitman-hatrozjt is hasznlhatod, csak fel kell keresned a bngsz programoddal a o http://www.clib.dote.hu/javacska/bitmanohatarozo

11
cmet. Ha esetleg sznes s javas mobilod van, akkor ezzel is el tudod rni a portl bitman-hatrozjt a http://www.clib.dote.hu/javacska/bh.wml cmen. Sz szoftver forrs algoritmus csomag megjegyzs verzi Windows hacker Linux vltoz bemenet vlasz kivtel rtelmez o program kiszmthat WAP kizr vagy MIDP sejtautomata fordt TCAG domain qubit bngsz o PATH elosztott fehrje Pareto kliens SETI@home blog Pont Kk 15 Zld 17 Kk 15 Zld 17 Zld 17 Kk 15 Kk 15 Kk 15 Kk 15 Zld 17 Zld 17 Zld 17 Zld 17 Zld 17 Kk 15 Vrs 43 Kk 15 Zld 17 Kk 15 Vrs 42 Zld 17 Kk 15 Kk 15 Vrs 43 Kk 15 Zld 17 Zld 17 Vrs 42 Vrs 42 Kk 15 Kk 15 Kk 15 Jellt Kelep L. 15 17 15 17 17 15 15 15 15 17 17 17 17 17 15 43 15 17 15 42 17 15 15 43 15 17 17 42 42 15 15 15 Jellt Nv:. . . . . . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Jellt Nv:. . . . . . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Jellt Nv:. . . . . . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

12
Sz kapu csatorna szimull Hell Vilg! bonyolultsg Jvcska Pont Zld 17 Zld 17 Kk 15 Zld 17 Vrs 43 Kk 15 Jellt Kelep L. 17 17 17 17 43 0 Jellt Nv:. . . . . . ... ... ... ... ... ... Jellt Nv:. . . . . . ... ... ... ... ... ... Jellt Nv:. . . . . . ... ... ... ... ... ...

Kelep Lszl azrt kapott 0 pontot az utols mondatra, mert az nem volt informatikai jelleg ! Ha helyette azt mondta volna pldul, hogy Jvcska egy jszer u u informatikai oktatsi forma, akkor megkapta volna a Kk 15 pontot. 1. Bevezet feladat: ha van az ismeretsgi krdben bitman, akkor teszteld le ot, o hogy milyen szn ? u 2. Bevezet feladat: kszts Te is sajt bitman tesztet! (Mint nlam, nlad is a o vrssel pontozott szavak legyenek a legnehezebbek, a kkkel a legknnyebbek s zlddel a kzepesen nehezek.) 3. Bevezet feladat: gondolkozz el azon, hogy mirt fehr szn ek azok a bitmank o u akik a legtbbet s mirt feketk azok, akik a legkevesebbet tudnak? 4. Bevezet feladat: a sznek megadsakor mindhrom sznb l maximum 255 rtko o nyit keverhetsz a bitman sznbe, sszesen hny szn ek lehetnek gy a bitmank? u (A vlaszhoz szksges szorzsokat a gped szmolgp programjval vgezd el!) 5. Bevezet feladat: mi van akkor, ha nem hromszn pontozst ksztnk, hao u nem csak egyetlen szmot adunk meg, szneket nem? Aztn a rajzol programban a vrshz, a zldhz s a kkhez is ugyanazt a szmot rjuk be? Ekkor milyen szn ek u lennnek a bitmank? (Ekkor persze krdsenknt kevesebb pontot kell adni, hogy sszesen maximum 255 jjjn ki, ha minden vlasza helyes a jelltnek.)

13

Egy j tancs a Bitman-jellteknek


Kedves Bitman-jellt olvasm, nagyon hasznos lenne, ha tallnl egy olyan bitmant, akihez a bitmanv vls sorn krdseiddel tudnl fordulni. Vagy l o szban, vagy ami mg jobb: emailben. Ki lehet ilyen segt (mentor) bitman? A o programoz n vred, a bartod n vrnek rendszergazda bartja, a szmtek tano o rod, a Jvcska levelezsi lista bitmani. . . soroljam mg? Az albbi algoritmussal megprblunk segteni a mentor bitmank keressben: 10. Fusd most t gondolatban ismer seid, bartaid, rokonaid listjt! Ki lehet o kzlk bitman? Akik szerinted azok lehetnek, azoknak a nevb l gondoo latban (vagy akr papron) rj egy j listt! Nevezzk ezt a listt mostantl gondolatban bitman lehet listnak! 20. Ha a bitman lehet lista nem res, akkor vedd a bitman lehet listn szerepl nevek kzl az els t! Beczd ezt a nevet mostantl gondolatban o o vizsglt nv-nek! Ha viszont a bitman lehet lista res, akkor az 1000. sort olvasd most! 30. Ha a vizsglt nv nev bitman szvesen vllalja, hogy a mentor bitmand u lesz, akkor megtalltad a segt det. Olvashatod az 1500. vagy a 2000. sort. o Ha mg tbb segt t is megprblnl, vagy ha a vizsglt nv nev bitman o u esetleg nem tudja vllalni, hogy a mentor bitmand lesz, akkor gondolatban (vagy a papron) hzd le a nevt a bitman lehet listrl s olvasd megint a 20. sort. 1000. Sajnos egyel re nem talltunk az ismer seid, bartaid, rokonaid kztt bito o mant, de fel a fejjel, megoldjuk! Ha esetleg van olyan bartod, aki ugyangy bitman szeretne lenni, mint Te, akkor olvasstok kzsen jra a 10. sort! (Htha Neki van megfelel (bitman) ismer se, bartja, rokona.) Ha Neki o o sincs, akkor ugorj(atok) az 1500. sorra. 1500. Legyenek a mentor bitmanid a Jvcska levelezsi lista bitmani (ide tartozok pldul n is :) Teht, ha brmi krdsed van, akkor fordulj azzal btran a listhoz! Akr egy bemutatkoz levelet azonnal kldhetsz is. Ha esetleg mg nem tudsz sokat a levelezsi listkrl, akkor el bb olvasd mg el a 7.2 (194. o oldal) rszt. Ugorj a 2000. sorra! 2000. Vge a mentor bitman keressnek, vge az algoritmusnak.

14

A Jvcska projektr l s a szerz kr l o o o


A Jvcska projekt 2000-ben indult egyetlen fzet formjban. Clul azt t ztk u ki, hogy informatikai ismereteket tantson gyerekeknek. Sajnos a kezdeti lendlet hamar megtrt s a tervezett fzetekb l csak vzlatok kszltek el. o gy volt ez 2002 vgig, amikor is a kezdemnyezs hatalmas lendletet kapott a Debreceni Egyetem Egyetemi s Nemzeti Knyvtrnak tmogatsval egy ITEM plyzat alkalmval. Azta a projekt mind koncepcijban, mind kompozcijban is talakult: a tants helybe a szrakoztats s tants lpett, a szraz elmlet/gyakorlat/feladatok tagols fzetek helyt egy blogba rendezett sci- regny vette t. Ez a Fantasztikus programozs, amit most ppen a kezedben tartasz! Ahogy mr emltettk: e regny s a Jvcska portl szakkri anyagai, programjai egymst kiegsztve, egytt alkotnak egy kerek, jszer oktatsi egysget. u Btfai Mria Erika 1998-ban szerzett magyar-nn szakos tanri, majd 2000ben informatikus knyvtrosi oklevelet a Debreceni Egyetemen. Jelenleg a Debreceni Egyetem Egyetemi s Nemzeti Knyvtr Trsadalomtudomnyi Knyvtrnak munkatrsa s az Etvs Lornd Tudomnyegyetem Ph.D. hallgatja. Btfai Norberttel kzs mobil-informcitechnolgiai cge msodik helyezst rt el 2004-ben a Motorola JavaJtk Versenyn. Btfai Norbert 1996-ban szerzett programoz matematikusi, majd 1998-ban kitntetses programtervez matematikusi oklevelet a Debreceni Egyetemen. 1999o ben megnyerte a Java Szvetsg Java Programozsi Versenyt. Jelenleg a Debreceni Egyetem Informatikai Intzetnek munkatrsa, ahol Java technolgival kapcsolatos gyakorlatokat tart.

15

El kszletben o
A sorozat el kszletben lv tagjai: o o Fantasztikus programozs II., Lbrdy Mrinak, a Kk Fld csillaghordoz kapitnynak naplja. Fantasztikus programozs III., Fazekas Igornak, a RobIGOR mobil robot2 fejleszt o jnek naplja.

1. bra. RobIGOR-620 tpus

LEGO R mobil robot.

Fantasztikus programozs IV., Bart Nominek, a RobMI nev cseveg robot feju o leszt jnek naplja. o

2. bra. RobMI-I tpus cseveg robot. o


2 RobIGOR

egy LEGO R MindStorms

TM

Robotics Invention System

TM

csomaggal ksz-

tett robot.

16

I. rsz Jvcska naplja

17

1. fejezet Programozs
1.1. zenet neked!

Szeptember hatodika volt, egy meleg, ks dlutn. 2010. szeptember o hatodika. Mr inkbb csak emlkeztem a hossz nyr perzsel sugaraira, o semmint valban a b rmn reztem volna a horizonton lassan lemenni ko szl Nap erejt. o Mrhetetlenl fradt voltam, de vgre mr a htam mgtt tudhattam az els napot az j iskolmban! Tizenngyen voltunk az osztlyban, az egyetlen o osztlyban! Igen, mi voltunk a legels vfolyam, akik a Knyves Klmn o ltalnos Iskola s Gimnzium padjait koptattk. Lass, de mgis valami zabolzhatatlan izgalommal hmoztam ki az iskolban kapott noteszgpemet kedvenc htizskombl. Emlkszem, fantasztikus volt: 1024 Giga Hertzes qubit processzor, lland vezetk nlkli kapcsolat a Vilghlval, miegyms . . . Elb vlve nyitottam fel, httrnek a Fld volt belltva, ahogyan a Gamu ma urllomsrl ltszik. A kpet tlnyomrszt az cenok gynyr kkje u tlttte ki, azon gondolkodtam, melyik kontinens lehet a fot jobb als rszn, amikor egy szolidan les pittyents ksretben el ugrott egy kis ablak o a kijelz kzepn, egy elektronikus levelet kaptam! Levelet a friss cmemre, o a virag@javacska.hu-ra. Kelep Lszl, a szmtek tanrom rt sok rdekes dologrl, a levele vgn azt javasolta s krte, hogy vezessnk naplt, amiben lerjuk, hogy milyen lmnyeket szerznk az iskolban. Meg is magyarzta, mirt lesz ez borzasztan fontos a jv ben: sok olyan gyermeknek o segthet majd, akik nem kzvetlenl t lk, hanem a Vilghln keresztl tao 19

20

FEJEZET 1. PROGRAMOZS

nulnak majd. Meg persze neknk is rm mks lesz feltni id vel. Feltni o s jra tlni, ahogyan a vilgot tizenegy vesen lttuk, kzvetlenl a nagy vltozsok el tt. o Ezt a naplt, pontosabban a napl nyomtatott vltozatt tartod most a kezedben. Remlem, sokat tanulsz majd bel le! Annyit grhetek, hogy izo galmas lesz, el sem tudod most kpzelni, mennyire! :-) Ne feledd: ha valamit nem rtesz, vagy krdsed van, akkor rj a levelezsi listra! (A 7.2 "levelezsi lista" (194. oldal) cm pontban ehhez segtu sget kaphatsz, ha mg nem vagy a lista tagja, akkor lapozz is rgtn oda!) Jrj szerencsvel! Fldi id szerint 2020. Milke.Humane.Homoe vilg, Budapest o Bart Virg (Jvcska)
Vegyetek er t magatokon o s legel szr is o A legegyszer bb dologhoz lssatok u Addjatok ssze, Hogy roppant mdon felnvekedvn, Az Istent is, aki vgtelensg, Valahogyan megkzeltstek. J ZSEF ATTILA , A SZMOKRL

1.2.

Jvcska naplja az els nap o

2010. szeptember 6. Htf este, 20 ra 10 perc. o

Ez a reggeli felkels, brrr. . . Ismt iskolban, a 2010/2011-es tanvben velnk, hatodikosokkal nyitotta meg kapujt (legalbb is reggel az vnyitn gy mondta az a magas, kedves hang igazgat n ) a Knyves Klmn lo talnos Iskola s Gimnzium. rdekes rzs volt az iskolai vnyitn ltni az iskola polgrait: mi, az egyetlen osztly szemben a tantestlettel. Hirtelen nem is tudtam, kik vannak tbben, de nem egyrtelm en mi. u Rgtn tants utn jtt az email, hogy mtl kezdve mindannyian rjunk naplt. Ht j. Br nem tudom, mennyire knnyti meg a kvetkez nemo zedk tanulst. Mindenesetre, ha e-knyvknt kiadjk, majd benyjtom a szmlm. . .

1.2. JVCSKA NAPLJA AZ ELSO NAP

21

Szval az els nap. Egyrszt kiderlt: sszesen tizenngyen lesznk az o osztlyban, radsul ebb l kilenc . Az osztlyf nknk Harang Renta. o o Hirtelen nem is tudom, rljek-e ennek vagy sem: o ugyanis apukm bartn je. . . Nagyon kedves, de gy otthon mindenki tud majd minden iskolai o dolgunkrl. Remlem, ltezik tanri titoktarts is! Br nem vagyunk sokan, az ismerkedst nvtanulssal kezdtk, elkerlend a baklvseket. o Rendszeret Renta, o Repl Robi, o Atmoszfra Abigl, Gyengd Gyuri, Beszdes Brn, Zenl Zoli, o Karcs Kornlia, Igazsgos Igor, Nevet Nomi, o J Jen , o Aranyos Anett, Mersz Mri, Tallkony Tams, Bvr Balzs, Varzsos Virg. Rjttetek a jtk lnyegre? Igen, mindenkinek a keresztneve kezd beo t jvel kellett egy r jellemz szt mondania a neve el tt, s a mellette l nek u o o o meg kellett ismtelnie minden el tte elhangz ilyen dszes nevet a megfelel o o sorrendben. Majd elvlik, mennyire hatsos. . . Mindenesetre most mg minden arcrl eszembe jut a hozz tartoz nv, vagy legalbb a jellemz sz. o Meglehet sen fura az rarendnk: els hat ra: hlzati programozs, o o ilyen programozs, olyan programozs, amolyan programozs, msmilyen programozs s megint programozs. Mi a szszrt? Radsul Renta nni csak a hlzati programozst s az osztlyf nki rt tartja majd. o Ha mr gy nekilttam az rsnak: Renta szerint a naplba ne csak az iskolrl rjunk, egy igazi naplban minden benne van, ami velnk s a csaldunkkal trtnik. Hogy az a bizonyos kvetkez nemzedk mr az elejn o rtse, ki kicsoda: bemutatom a csaldom. Maradva az iskolai nvtanulnl: mi vagyunk a bartsgos Bart csald. Csak az apuknkkal lnk, a szleink mr rg elvltak. Apval s Grtivel ( a nagy, okos n vrem, rm reg mr, 19 ves) mindenr l lehet beszlni, o o o mr amir l akarjuk, hogy tudjanak. Azrt rok tbbes szmban, mert mivel o ikrek vagyunk, ha valami titkos, akkor a sajt nyelvnkn mondjuk. Ezzel persze mindenkit szrnyen idegestnk, apa mondta is: ha jl neveltnek akarunk legalbb ltszani, akkor trsasgban (s a csald is annak szmt) ne hasznljuk. Rettenetesen maradi nha a szoksaival. . . Nemrg ismertk meg Rentt, szerencsre btrabb volt apnl, gy ma o is hozznk tartozik. Az v-

22

FEJEZET 1. PROGRAMOZS

nyit rmre vgre kaptunk egy hullmos papagjt, o Flp. Velnk l mg a vd angyalunk. Egy bernthegyi alakjban, szval o elg Kalmopyrin. O o sokat eszik, de j meleg. Nemrg szksg is lett volna a segtsgre. . . De most megyek aludni, holnapra is kell hagynom az rnivalbl!

1.3.

KRML

2010. szeptember 7. Kedd este, 18 ra 55 perc.

Vissza az iskolai dolgokhoz! Az osztlytermnk felszerelse egy lom: az rn elhangz szavakat a terem szmtgpe (amit mi csak Krmnek neveztnk el, ks bb vilgos lesz, hogy mirt) rgzti, s hazainduls el tt o o a rgztett fjlokat mi is felmsolhatjuk magunknak. Ktfle vide van: az egyik a tanri asztalrl vesz minket, a msik mglnk, a terem vgb l a o magyarz tanrt. Van aztn egy szveges llomny, amiben az elhangzottak tallhatk sima szvegknt lerva. Ehhez reggel egyesvel t-hat percet kellett hangosan beszlni mindenkinek magrl, hogy a terem szmtgpe megtanulhassa a hangunkat, s jegyzetelni tudja, amiket esetleg mi mondunk, ha pldul a tanr felszlt, meg ilyesmi. Bevgom pldul az OO programozs cm ra anyagnak az elejt: u
*********************************** * OO programozs, els ra o * * KRML rai jegyzetkszt o * * szoftver, v1.0.0 * * 2010 09 06 14:02:00 * * OOprog.1_2010_09_06.txt * * kapcsold anyagok: * * OOprog.1_2010_09_06_E.mpg * * OOprog.1_2010_09_06_H.mpg * *********************************** Tanr::Brdos G.> Szervusztok kedves gyerekek, leend o kollegink, kollgk! Tanul::mindenki egytt> J napot kvnok! Tanr::Brdos G.> Velem egy klns s izgalmas tevkenysgrl fogtok beszlgetni. Mirt is klns? Mert aki o kvlrl ltja ezt: nehznek tli, nha megtanulhatatlanul o nehznek. Aki viszont bellrl ismeri, teht gyakorolja is ezt o

1.3. KRML
a tevkenysget, annak a vilg legtermszetesebb dolga: megtanulni s hasznlni a Napnl is vilgosabb! A clunk ebben az vben, hogy ti is ebbe az utbbi csoportba tartozzatok, teht olyanok legyetek, akik ismerik s szeretik ezt a tevkenysget. Sejti esetleg valaki, milyen tevkenysgrl o lehet sz? Tanul::Sz. Jen> Ez a matematika! o Tanr::Brdos G.> Azt hallottam, hogy te nagyon gyes vagy matematikbl, valban gy van? Tanul::Sz. Jen> Igen, nyerni szoktam a versenyeken! o Tanr::Brdos G.> Teht mondhatjuk, hogy te jl ismered a matematikt. Minden, amit megtanultl, az knny, u termszetes, magtl rtetd mr szmodra? o o Tanul::Sz. Jen> Nem, van olyan, ami nehz. o Tanr::Brdos G.> Magam is gy gondoltam kedves kollga, teht nem a matematikra gondoltam. Tanr::Brdos G.> Segtek mg: taln nzzk meg azt is, mirt izgalmas? Azrt, kedves gyerekek, leend kollegink, o kollgk, mert e tevkenysg sorn, amit az ember elkpzel, azt valra is tudja, legalbbis szerencss esetben valra is tudja, vltani. Az ember elkpzeli, szinte ltja maga eltt, o mit szeretne s azt mr, hogy hogyan kellene ezt elrni, megtenni, azt mr sztnsen tudja. Elkezdi s lassan, amit szeretne, sszell, mint ahogyan a fazekas korongjn formldik az edny... Tanul::L. Mri> Szmtgpekkel kapcsolatos, ugye? Tanr::Brdos G.> Nyomon van, kedves kollga! Tanul::L. Mri> Akkor ez a tevkenysg a programozs. Tanr::Brdos G.> gy van, remek. Teht kedves gyerekek a programozssal fogunk foglalkozni. Tanr::Brdos G.> A programozs az, amikor elkpzeljk, hogy mit vgezzen a szmtgp s az

23

24

FEJEZET 1. PROGRAMOZS

elkpzelseinket lerjuk egy olyan nyelven, amit a szmtgpek is megrtenek. Aki az elkpzelseket lerja, az a programoz, amit a programoz ler, az a program. Tanr::Brdos G.> Ismertek esetleg mr olyan nyelveket, amiket a szmtgpek is megrtenek? Tanul::L. Mri> Igen, ezek a programozsi nyelvek. Tanr::Brdos G.> Mint pldul? Tanul::L. Mri> Pldul a Java nyelv. Klnben n mr tbb Java nyelv programot is rtam. u Tanr::Brdos G.> Igazn? Ez remek s melyik a szmodra legkedvesebb? Tanul::L. Mri> Az internetes csevegm a kedvencem, o amivel beszlgetni tudunk a bartaimmal, brmikor, akr jjel is!

Kicsit nehz olvasni, de jl vissza lehet idzni, mi hangzott el az rn. A legtbb tanr kisolvasmnyoknak nevezett fjlokat is ki fog adni. Brdos G. mr adott is: ezt el kell olvasnom holnapra. Ennek is bevgom az elejt:

1.3.1.

Az OO programozs

OO programozs Els kisolvasmny Az OO programozs o Brdos G.


Kivonat
Ebben a kisolvasmnyban az OO programozs kt alapfogalmrl olvashattok: osztlyokrl s objektumokrl. Ha megvagytok az olvasssal, akkor olvasstok el mg egyszer, majd egy kis pihen utn hzi feladatknt rjtok le a sajt szavaitokkal: mi az o osztly s mi az objektum, termszetesen kiegsztsknt rajzolhattok is.

Kedves gyerekek, leend kollegink, kollgk! Az OO programozs kt o alapvet fontossg fogalma az osztly s az objektum. Ha ezt a kt fogalmat o rtjk, akkor minden ms mr aprsg. . .

1.3. KRML

25

Azt nem igazn rtettem, hogy mire kellenek majd nekem ezek az osztlyok s objektumok, de a feladat nem volt tl nehz, gy hamar elkszltem a hzi feladattal, kicsit gondolkodtam, de szinte folyamatosan billenty ztem u be:

1.3.2.

Az osztlyok s az objektumok kapcsolata

Tanr : Brdos G. ra : OO programozs Tanul : Bart Virg Email : virag@javacska.hu Trgy : Az els hzi feladat o Dtum : 2010. szeptember 7. Id : 19:27 o

Az osztlyok s az objektumok kapcsolata, a sajt szavaimmal bemutatva Bart Virg Az osztlyok Osztly lehet brmi, amib l fel tudok mutatni valamit. Teht pldul tuo dok mutatni egy kutyt, mondjuk Kalmopyrint, ezrt ltezik a Kutya osztly. Vagy embereket is tudok mutatni, mondjuk magamat, teht ltezik az Ember osztly is. Ehhez hasonlan brki meg tud ez alapjn akrhny osztlyt nevezni. Az osztlyokat az 1.1 brn lthat mdon rajzoljuk le. Mik vannak egy osztlyban? Egy osztlyban ltalnos dolgok vannak, pldul a Kutya osztlyban lehetnek olyan tagok, mint nv, fajta, letkor, szn: szval olyan tulajdonsgok, amik a kutykat ltalban jellemzik. (Az egyik kutya neve lehet mondjuk Morzsi, fajtja tacsk, kora 1 v, szne vilgos barna, egy msik lehet pldul a Kalmopyrin nev , foltos, 2 ves bernthegyi.) Az Ember osztlynl u

26

FEJEZET 1. PROGRAMOZS

1.1. bra. gy rajzoljuk le az osztlyokat. hasonlan, n csak a nevet rtam be, de brki b vteni tudn akrhny emberi o tulajdonsggal az osztlyt. Az osztlyokat az 1.2 brn lthat mdon rajzoljuk le, ha az osztly tulajdonsgaira is kvncsiak vagyunk.

1.2. bra. Az osztly objektumainak tulajdonsgai. Ne feledd: az OO vilgban minden objektum! Mg az osztly tulajdonsgai is azok. (A dobozokban a : el tt az objektum neve, a : utn osztlya o szerepel.)

Mik lehetnek mg egy osztlyban? Az osztlyba azt is berhatjuk, hogy az oda tartozk tipikusan mit szoktak tenni, vagy hogyan szoktak viselkedni. A jl betantott kutyk pldul visszaadjk az eldobott botot, az emberek pedig ltalban szeretnek jtszani a kutykkal. Az osztlyokat az 1.3 brn lthat mdon rajzoljuk le, ha az osztly tulajdonsgai mellett arra is kvncsiak vagyunk, hogy mik az osztlyba tartozk tipikus viselkedsi szoksai, minti.

1.3. KRML

27

1.3. bra. Mit tudnak csinlni az osztly objektumai? Az objektumok Az objektumok maguk az osztlyokba tartoz dolgok. Pldul a Kutya osztlybl szrmaz objektum egy konkrt kutya. Az Ember osztlybl szrmaz objektum pedig egy konkrt ember. Az 1.4 bra fels doboza a Kutya osztlyt mutatja, az als pedig a Kutya o osztly egy konkrt objektumt, a kalmi referencij bernthegyit.

1.4. bra. Az osztly s az objektum rajza.

Ennyi szerintem elg is lesz, legalbbis remlem. Reggel htkor kell leadnom az iskolai irodn, de emailben is kldhetem, akr most is. . . Igen, gy fogok tenni: ebben a pillanatban elkldm mailben Brdos G. tanr rnak. Mra ennyit a tanulsrl! A kzelmltban nem csak az iskolnk vltozott: a lakhelynk is. Apa munkt kapott a frissen plt NaFEm-ben (mivel

28

FEJEZET 1. PROGRAMOZS

gy hvjuk). Rendes neve: Nagyatomi Fzis Er m . A legjobb az egszben, o u hogy Nagyatom egy erd kzepn plt vros, egy kzpont: egy kompleo xumban vannak a lakhzak, az iskolnk, apa er m ve s a szrakoztat o u egysgek. Lakott teleplsre a lakossgi tiltakozsok miatt mr lehetetlen er m vet telepteni. A kpzett alkalmazottak termszetesen nyugodtan lo u nek ezek kzelben: ezrt ma mr nll atomvrosok n nek ki a fldb l, o o mert a tiltakoz lakossg energit azrt elfogad, csak az termel djn valahol o mshol. Persze ne egy oskori kolnit kpzeljetek el! Inkbb egy kertvrost sok kerkprttal s stlval, parkkal, ami telis-tele van nvnyekkel, virgokkal s llatokkal! Kalmit csak nagyon vatosan lehet stltatni, a mltkor is megijedt egy nyuszitl. Mg szerencse, hogy igazi vszhelyzetben tnyleg megvd bennnket:) A kzpletek mindegyiknek minden fontosabb helyisgben terminlok villognak a falakon, a hozzjuk tartoz billenty zetek u akkor tolatnak el a helykr l, ha megllunk el ttk: valahogy a fotocells o o o ajtkhoz hasonlan. A lakhzak alaprtelmezett tartozka az Internet. Els o ltsra elg furcsn hatottak a hzunk res helyisgei beptett szekrnyekkel s szmtgp-sarokkal! F knt sorhzakat ptettek. Mi a Szilrd Le o utca 30-ban lakunk. Hzunk alaprajzt az 1.5 brn lthatod.

1.5. bra. Nagyatom, Szilrd Le utca 30. A fldszint. Ktsgtelenl nem vagyok egy mrnk tpus, de nem is tervrajzot akartam, hanem egy skiccet, ami segt eligazodni nlunk. Kicsit klns, hogy

1.3. KRML

29

minden szomszd hza ugyanilyen, de n mgis nagyon szeretem. Minden, amire a csaldtagjaim eddig vgyakoztak, benne van! Az ebdl ablakbl o sziklakertet ltunk, a nappalibl egy hatalmas tlikert nylik: itt lakik Flp papagj. vegtglafal kti ssze a nappalit a tlikerttel, az el szobt a o nappalival, a konyht az ebdl vel. Grti sz szerint rmtncot jrt, mikor o ezeket feltrkpezte:) mi, n s persze Kalmi a kert vgben csordogl patak miatt ujjongtunk, br az els nhny jszakn estt l reggelig ugatta o o Kalmi a kis halacskkat: akkor azt kvntuk, inkbb ne lenne patakunk, csak tudnnk aludni! Mg mindig lelkesen dvzli oket, de mr fel sem vesszk. Az emeletet az brn lthatod.

1.6. bra. Nagyatom, Szilrd Le utca 30. Az emelet. Apnak az emeleti knyvtr s gpszoba egyttes lopta be magt a szvbe. Ugyan kiss tlzs knyvtrnak nevezni, mert enyhe rendetlensgben paprok, cd-k s knyvek egyarnt keverednek, szval inkbb meghosszabbtott dolgozszoba. Eleinte szba kerlt, hogy kisebb tcsoportostssal kln szobt kaphatnnk mivel, de mi nem akartuk. A vendgszoba egyel re o a nagyap: mi szeretnnk, ha maradna, de azt mondja: tl sokig lt egyedl, s tl nagy nyzsgs is van, egyszval lakst keres. Szerintem vgl megragad nlunk. Ahogy az ebdl be, a nappalibl a tlikertbe, a konyhbl o a kamraba tolajtk vezetnek, gy az emeleten is f knt ilyen ajtk vano nak: kivve az apk szobjn s a knyvtrn. Egyszer en gynyr ek: u u

30

FEJEZET 1. PROGRAMOZS

a templomi festett vegtblkhoz hasonlan mintsak: nmelyiken virgok vannak, msokon llatok, vagy tjak. Kalmi s Flp nagy rmre fotocellsak. Minden szobban van fali terminl, s nan, hogy van Internet, de a komoly szmtgpek csak a gpszobban: szm szerint hat. A mi szobnkban az a legjobb, hogy kt erklynk is van, igaz a hts beptett. Szinte tkletesen elszeparlt a felsgterletnk: ezen az erklyen t lehet bemenni oda, kifel rgtn szemben van a frd szoba s a WC. Ruhsszekrny nincs o sok: a fehrnem ink kivtelvel mindennk a gardrbban van, reggel j nagy u cscsforgalom szokott ott lenni!

1.3.3.

Jelszavak

2010. szeptember 8. Szerda dlutn, 17 ra 20 perc.

Nem gondoltam, hogy Brdos G. tanr bcsi mg este megnzi a hzi feladatomat, de bizonyra megnzte, mert ma azzal kezdte az rt, hogy felszltott. Legegyszer bb, ha bevgom az elhangzottakat: u
Tanr::Brdos G.> Szervusztok kedves gyerekek, leend o kollegink, kollgk! Nagy rmmre szolglt, hogy tegnap este emailben megkaptam a legtbb hzi feladatot, ksznm. Tanr::Brdos G.> Mri, egyedl a te feladatod nem jutott el hozzm, leadtad reggel az iskola irodjn? Tanul::L. Mri> n nem kszltem el vele, mert nem volt r idm. o Tanr::Brdos G.> , hogy gy kedves leend kollga, nem volt o ideje, rtem. s lehet rdekldni, mirt nem volt? o Tanul::L. Mri> Nekem ez tl egyszer, tanr r krem! u Tanr::Brdos G.> Ja, krem, akkor bizonyra rlni fogsz annak a feladatnak, amit most gondoltam ki neked: a tbbiek sszes beadott feladatt tnzed s a kvetkez rra rviden, rsban o rtkeled.

A sznetben Mri mr azt mondta neknk, ezen tl majd mindig megrja Brdos G. hzi feladatait, s kevsb lesz mersz. Meg tudom rteni.
Tanr::Brdos G.> Ha szabad nhny hzi feladatot kiemelnem, akkor

1.3. KRML
nekem Virg megkzeltse tetszett leginkbb. Virg, a megoldsodban a Bot az osztly vagy objektum? Tanul::B. Virg> , osztly, a Bot az ltalban egy osztly, mindenfle botok lehetnek benne, de amit a kutymnak, Kalmopyrinnek eldobok, az mr egy konkrt objektum.

31

Meggy z en mondtam, de vajon jt? egy pillanatra elbizonytalanodo o tam, de Brdos G. azonnal megnyugtatott:
Tanr::Brdos G.> gy van, kollegina, teljesen helyesen ltja a krdst. Abigl megoldst is kiemelem, egy kis OO trtnelemmel is o kisznezte a hzi feladatt. Dlutn mind Virg, mind Abigl munkjt is elkldm majd a csoport levelezsi listjra. Mindenkinek ajnlom, hogy tanulmnyozza t ezeket!

Az rk utn tettnk egy j nagy levezet stt a Wigner Jen tren, azo o tn irny a zeneiskola. Ha mg nem mondtam volt: apa szerint rm fontos a zenei nevels, s ikerknt kzenfekv volt, hogy zongorzzunk. A szomo szdok mindenkppen jobban jrtak, hiszen hegedlhetnnk, vagy dobolhatnnk is. . . Gondolom nem meglep , hogy mivel sok kzs jtkunk is van, amit o nagyrszt egytt talltunk ki. Tavaly december elejn inuenzsan lzengtnk otthon, s mr minden fellelhet s neknk legalbb egy kicsit rdekes o knyvet elolvastunk. Egyszval a lbadozsunknak ezen a napjn nem tudtunk jobbat kitallni: kvncsiak voltunk, apa betartja-e a sokat sulykolt szablyt. . . E szerint a jelszavaink legyenek VLETLENEK, pldul: AgUUi25v8qC, minimum 8-10, 11 karakter hosszak, szm- s bet karaktereku b l. Persze rendszeresen cserljk is, pldul a gpemen az n el z jelszao o o vam: hah12Tal. A mostani htpecstes titok! Teht kiprbltuk. . . . Hamar megtudtuk apa jelszavt a tr programmal a kvantum szmtgpre: duro bincs07. Ennyit apa szablyairl. Aztn feltettk a VR-pntot1 s elkezdtnk kvnni, helyesebben csak esznkbe jutottak olyan dolgok, amikre vgytunk! Egyszer en csak kergetu tk egymst a gondolatok a fejnkben. n hes voltam, ezrt el szr egy o alma jutott eszembe, ami rgtn a kezemben is termett! De, amikor beleharaptam, kis kk golycskk estek ki bel le, s keser is volt. Kzben mi a o u
feltallt, gondolattvitel alap felhasznli interfsz, azaz olyan valami, ami kztnk s a gpek kztt van.
1 2007-ben

32

FEJEZET 1. PROGRAMOZS

jliusi nyaralsunkra gondolt, hogy milyen j volt az egyik katedrlis2 melletti szllodban bredni reggelente, amikor a nap a katedrlis srknyn edzette magt. S akkor mr ott is a srkny a szobban! Ronda nagy fogai voltak, karomban vgz d szrnyai, tsks farka s meglehet sen bds leo o o helete (tuti, nem mosott mg letben fogat). A legijeszt bb a szeme volt: o srga, hes s gonosz. Ksz szerencse, hogy Kalmopyrin is ott volt, ki tudja mirt, de az a srknynak kinz valami az els kutyamorgsok utn kireo o plt az ablakon. . . Nincs r kifejezs, legalbb is n nem ismerek: mennyire meg voltunk rmlve. Taln Grti szokott ennyire flni horrorlmek alatt, apa szerint neki tl lnk a fantzija. Szerintem az az igazn lnk fantzia, ami nemcsak hogy nem klnbzik a valsgtl, de gerjeszti is azt! Megjttek Brdos G. tovbbtott levelei. Ahogy grte: az egyik az Abigl, a msik az enym. Abit gyorsan tfutottam. Hasonl dolgokat rt, de azrt olyat is, amir l n mg nem is hallottam. Az rn sem volt ilyesmi, o az biztos! Valszn leg az Interneten keresett s tallt r Alan Key bitman u Smalltalknak nevezett elkpzelseire, aki szerint az objektumoknak nem is viselkedse, hanem vlaszai vannak. Az objektumok f jellemz je, hogy o o zeneteket kldzgetnek egymsnak. Az objektumoknak csak olyan zeneteket lehet kldeni, amire vlaszuk is van. Szval itt a megszltott objektum nem viselkedik, hanem vlaszol. Nem viselkedse, viselkedsi minti, hanem vlaszai vannak. Mindegy, n egyel re maradok a viselkeds mellett. o

1.4.

Szrmaztats rkl ds o

2010. szeptember 9. Cstrtk hajnal, 4 ra 55 perc.

Nem rtem, nem rtem: hajnalok hajnala, mgis fenn vagyok, radsul frissnek s teljesen aktvnak rzem minden rszem. n, Virg, akit kisebb korban az egsz csald egyszer en csak Mormotnak beczett, nem alaptau lanul: napi 9-10 ra alvs nlkl lass voltam, mint egy k korszaki Commoo dore 64-es. Hirtelen nem is tudom, ez j vagy sem, f leg, ha brmi kze van o a srknyos lmnyhez. Br akkor minek is bren kellene mr lennie. . . S t o Kalmopirynnek is, rajta is volt VR-pnt. Ha mr felbredten, belenzek Brdos tanr bcsi tegnap kiadott jabb
2 Katolikus

pspki szkhely temploma, szkesegyhz.

1.4. SZRMAZTATS RKLODS

33

kisolvasmnyba. Tegnap gy adta ki, ha lesz id nk: kukkantsunk bele. o Az most b ven van. o

1.4.1.

Az rkl ds o

OO programozs Msodik kisolvasmny Az rkl ds o Brdos G.


Kivonat
Ebben a kisolvasmnyban egy osztlyok kztti kapcsolatrl olvashattok. A kapcsolat neve az, hogy rkl ds. Kt osztly kell hozz: egy szl osztly s egy gyermek osztly. o o

Kedves gyerekek, leend kollegink, kollgk! Ksztsnk kt osztlyt: o a Kutya s a Rend rkutya osztlyokat! o

1.7. bra. A Kutya s a Rend rkutya osztlyok. o

Mit olvasunk le a Rend rkutya brjrl? o A Rend rkutya annyival tbb a Kutynl, hogy van egy plusz tulajdono sga s egy plusz viselkedse. A rablkSzma pldul azt mondja meg: az osztly objektumai mennyi rablt fogtak mr el. A Rend rkutya osztly o plusz viselkedsi mintja a Kutyhoz kpest, hogy a rend rkutyk kpesek o rablkat elfogni. (Most nem lnyeges, de megemltem: egy konkrt rend orkutya esetn a rablkSzma szmot eggyel nvelni kell, azaz ++rablkSzma, amikor a rend rkutya elfog egy jabb rablt.) o

34

FEJEZET 1. PROGRAMOZS

Mi a nagy dolog az OO programozsban? Az OO programozsban az a nagy dolog, hogy nem kell minden j osztly ltrehozsakor minden tulajdonsgot s minden viselkedst jra lerni, hanem lehet rkltetni a mr valamelyik korbban megadott osztlyban meglv tulajdonsgokat s viselkedseket. Esetnkben csupn annyit kell o mondanunk, hogy a Rend rkutya osztly rkl a Kutytl: azaz a Kutya o osztly a Rend rkutya osztly szl je, vagy ami ugyanazt jelenti: a Rend ro o o kutya osztly a Kutya osztly gyermeke lesz. Ekkor a Kutya osztly minden korbbi tulajdonsgval s viselkedsvel a Rend rkutya osztly is rendelo kezik, s t a Rend rkutya ezeket mg jakkal is ki tudja egszteni. o o Teht a gyermek osztlynak minden olyan tulajdonsga s viselkedse meglesz, ami megvan a szl osztlynak. o Az 1.8 brn lthat, hogyan rajzoljuk le UML doboznyelven3 , hogy a Kutya osztly a Rend rkutya osztly szl je (illetve, hogy a Rend rkutya o o o osztly a Kutya osztly gyermeke).

1.8. bra. gy rajzoljuk le az rklst UML doboznyelven. Azokat a tulajdonsgokat s viselkedsi mintkat, amikkel a Kutya osztly rendelkezik, nem kell kln lerni a Rend rkutya osztlyban, elg a nylo lal jellni, miszerint a Rend rkutya rkli a szl , azaz a Kutya dolgait. o o Az osztlyt, objektumot s rkl dst hamarosan a gyakorlatban is lesz o lehet sgetek felhasznlni! (Pldul a monitorodon lthat ablakok a Frame o
UML egy grakus nyelv neve, ezzel az osztlyokat nem lerjuk s elmondjuk, hanem lerajzoljuk s megnzzk.
3 Az

1.5. A TITKOS AJT

35

osztly, a bngsz kben fut programok az Applet osztly, a mobilokban o fut programok a MIDlet osztly gyermekosztlyaibl szrmaznak.) Vilgos, a Rend rkutynak is megvan mindene, ami volt a Kutynak. o S t, mg tovbbi tulajdonsga s viselkedsi mintja is van. o Mg mindig nagyon korn van! Tegnap a srknynl hagytam abba. Sejthetitek, ktszer is meggondoltuk, mire gondolunk! A nagy ijedelemben n azt szerettem volna, ha egy kicsit megszakad a hlzati kapcsolat, s lekerl a fejnkr l a VR-pnt. Aki most azt felttelezi, hogy rgtn ezutn mindez o meg is trtnt: nem tved. Grti pp ekkor lpett be. Elmondtunk neki mindent. Azt tancsolta, menjnk a konyhba s igyunk egy pohr tejet. Kivtelesen sz nlkl engedelmeskedtnk. Kzben azt is mondta: prbljunk valami teljesen jt, kellemeset elkpzelni. Mivel n a Mikulsra, mi viszont a nagypapra gondolt: az ajtn belp Mikuls tkletesen formzta a mr o t ve elhunyt nagyapt. . . Ha mg nem mondtam volna: december 6. volt. H , a vgn a korai breds ellenre elksek! u

1.5.

A titkos ajt

2010. szeptember 10. Pntek este, 19 ra 5 perc.

Az osztlyteremben KRM mellett a padok a kedvenceim. Ltvnyra semmi klns: fa szn , fbl is kszlt egyszemlyes asztalkk, nagyon u knyelmes, szkekkel. Nagyon knny ek, gy rk alatt gyorsan t lehet u rendezni a termet. (ltalban krben lnk, Kelep L. tanr rral kis csoportokban.) Legjobb az egszben a padok lapja! gy vannak kialaktva, hogy a noteszgpem szinte beleolvad a felsznbe. Tollat, fzetet vagy knyvet nem kell hasznlnunk:) Miel tt brki arra gondolna, hogy ra alatt brmit o nzegethetnk tanuls cmsz alatt a gpen, akr jtszhatunk is, ki kell brndtanom: egyrszt a tanrok jrklnak, msrszt a tants elejn be kell jelentkeznnk az iskolai gpre, amin keresztl a tanr simn ltja, ki mit csinl. . . A Java programozs rt is Brdos G. tartja. A vltozatossg kedvrt a mai hziban a Java programozsrl kialakult kpnket kell lernunk, ezt is bevgom az utkornak:

36

FEJEZET 1. PROGRAMOZS

1.5.1.

Mit tanultam meg ma a Java nyelvr l? o

Tanr : Brdos G. ra : Java programozs Tanul : Bart Virg Email : virag@javacska.hu Trgy : Az els hzi feladat o Dtum : 2010. szeptember 10. Id : 19:08 o

Mit tanultam meg ma a Java nyelvr l? o Bart Virg Ma a Java nyelvet beszdben nem, csak rsban hasznljuk. A Java nyelv szvegeket Java programoknak is nevezzk. A Java nyelv szvegek u u mint ahogyan pldul a magyar nyelv szvegek is mondatokbl plnek u fel. A Java nyelv mondatok vgre pontosvessz t runk. u o
String hellObj = new String(Hell) ;

A java nyelv mondatokat .java kiterjeszts fjlokba mentjk, trolu u juk. A szmtgpek kpesek elolvasni a Java nyelv fjlokat, elolvassk, u rtelmezik s vgrehajtjk mindazt, amit a mondatokban lertunk nekik. Egszen pontosan: a Java mondatokat emberek rjk s termszetesen olvasni is tudjk. Aztn vannak olyan programok, amik szintn tudjk olvasni. Ezek a java fordtk, mint pldul a javac nevezet . A Java fordtk csinlnak u a .java kiterjeszts Java forrsokbl Java .class fjlokat (l. 1.9 bra). A u class fjlt bjtkdnak is nevezik. Ezeket a kdolt .class fjlokat a Java Kp zeletbeli Gp4 ek kpesek olvasni s rtelmezni, amik ezzel egyben az oket futtat valsgos szmtgpet is vezrlik. Hexa feladat: Milyen kdot rnak a fordtk a .class fjlok elejre? (Nzz meg5 egy .class fjlt a gpeden! Segthetek? Nzd meg hexban!)
Java Kpzeletbeli Gpek olyan rtelmez programok, amiket mra mr a legtbb o szmtgpre s mobiltelefonra felteleptettek. 5 Krd a mentor bitmand, inf tanrod segtsgt vagy keresd fel a Jvcska portl hzi feladat menpontjt!
4A

1.5. A TITKOS AJT

37

1.9. bra. A Java programozs menete. A Java nyelv szvegekbe magyar nyelv mondatokat is rhatunk //, azaz u u kt perjel utn, de ezek nem a szmtgpnek, hanem a programot olvas embereknek szlnak.
// Ez a mondat nem a szmtgpnek szl!

A Java nyelvben az a szoks, hogy egy osztly nevt nagybet vel kezdve u rjuk.
Kutya

A Java nyelvben egy objektum nevt kisbet vel kezdve rjuk. u

38
kutya

FEJEZET 1. PROGRAMOZS

// A kvetkez mondat ltrehoz egy j String osztlybeli o // objektumot s a hellObj referencit adja neki. String hellObj = new String(Hell);

A szmtgpes objektumok a szmtgp memrijban lnek. A szmtgp memrija rekeszekre van osztva. Ezek a rekeszek sorszmozva vannak.

1.10. bra. Szmtgpes objektum a memriban. Egy szmtgpes objektum neve klnleges dolog, mert ez mutatja meg a szmtgpnek, hogy az objektum lakhelye melyik rekeszen kezd dik, o az utcai hzszmokhoz hasonlan. (Sokszor nem is nvnek, hanem referencinak nevezik.) A programoz szmra pedig ez a nv az, ami ssze kti ot az objektummal, a programoz csak ezzel a nvvel tud az objektumra hivatkozni. Ha a nv elvsz, elvsz szmra az objektum is, mert mr nem tudja majd megszltani a ks bbiekben. o Mit jelent a
Kutya kalmi;

Java nyelv mondat? Azt, hogy a kalmi referencij konkrt szmtgu pes objektum a Kutya osztlybl val, rviden, hogy a kalmi referencij objektum az egy Kutya lesz.

1.6. STRING OSZTLYBELI BARTAINK Amg lertam, meg is rtettem. Mg a napi hat abraka6 szavam vr arra, hogy megtanuljam oket: abraka abraka java cine bite gise bitegise magyar varzsolni programozni egr bit man bitman

39

1.1. tblzat. Napi t abraka sz. Kvncsi lennk, mennyit kltttek ennek a helynek a kiptsre! n gy tudtam: minden plet vadij. Minden feln tt csaldtag a most ltreo hozott NaFEm-ben kapott munkt, ezrt kltztek ide a csaldok, s ezrt vagyunk az egsz iskolban sszesen tizenngyen. Ehhez kpest. . . Dlutn elrkeztnk az utols doboz kipakolshoz. Ebben a tli sfelszerelseink vannak, azrt is maradt a vgre. Mr minden beptett szekrnynk tele volt, csak az alagsorban maradt mg egy res. mivel lecipeltk ht a dobozt s kinyitottuk a szekrny ajtajt: de polcok helyett egy csapajtt talltunk a fenekn!!! Mg mindezt felfedeztk Grti vacsit f ztt s mr apa hangjt o is hallottuk, mennnk kellett. De vr bennnket az tjr! Vajon mi lehetett rgen a hzunk helyn? Ennyit arrl, hogy mindent most ptettek!

1.6.

String osztlybeli bartaink

2010. szeptember 13. Htf , 12 ra 5 perc. o

Kezdem megszokni, hogy mr a mlt a dg nehz iskolatska: egy-kt kisolvasmny a noteszgpemre, emailben elkldtt hzi feladatok. A rajz rkat kivltjuk a hzikba beillesztett rajzokkal s a knyvtri rkkal, a
6 Az abraka a bitman-kzssg lehetsges kzs nyelve. Ez egy mestersges nyelv, azaz

nem egy npnek, nemzetnek az vszzadokon t csiszoldott anyanyelve. Mirt fontos? Olvasd el az E.T. tantrgy nyelvekr l szl rjt! (98. oldal) Az abraka nyelvtanknyvet o megtallod a portlon.

40

FEJEZET 1. PROGRAMOZS

tesi rk nagyon izgalmasak, de ezeket szinte minden csald ki is egszti htvgenknt. Legjobban biciklizni szeretek, f leg, ha Kalmopyrin is lohol o mellettem. Apa szerint a legjobb sport a sporthorgszs, amit persze csak a kerti pataknl uz: soha nem fog semmit, de rengeteget beszl a horgokrl, szkrl s csalikrl. . . A noteszgpem igazn j: a monitor szuper, a billenty zetet is meg lehet szokni, de az optikai egerem, huu. Szerencsre apa u kacatjai kztt talltam egy j magas ht rendes egeret, gyorsan be is zemeltem. mi inkbb a billenty zettel nem boldogul, egsz viccesen nz ki, u mikor a gpe el tt l: szemben vele a laptop kperny je, arra majdnem meo o r legesen a billenty zete, s a gpen kvl az lben van a kicsi kortl szinte o u hozzn tt pasztellszn gombos msik billenty zet:) o u u Elalvs el tt mg el kell olvasnom Brdos G. jabb kisolvasmnyt: o

1.6.1.

Az els igazi szmtgpes objektumaid o

Java programozs Els kisolvasmny Az els igazi szmtgpes objektumaid o o Brdos G.


Kivonat
Ebben a kisolvasmnyban az els igazi szmtgpes objektumaitokrl olvashattok. Ok a o String nev osztly pldnyai. Legfontosabb tulajdonsguk, hogy kpesek bet ket trolni, u u azaz meg tudnak jegyezni akrmilyen szveget!

Kedves gyerekek, leend kollegink, kollgk! A Java programozs alapo vet objektumai a String osztlybl szrmaz objektumok. Mint prograo mozk leggyakrabban velk tallkoztok majd, ezrt javaslom, hogy kssetek mly bartsgot! A kvetkez Java nyelvi mondat letre hv egy String oszo tlybeli objektumot:
String hellObj = new String("Hell");

Amikor a szmtgp ezt a mondatot olvassa: ltrejn a hellObj referencij objektum a memriban: Elemezzk a kvetkez Java nyelv mondatot! A o u
String hellObj = new String("Hell");

1.6. STRING OSZTLYBELI BARTAINK

41

1.11. bra. A referencia az objektum memriabeli cme. mondat String hellObj rsze azt jelenti, hogy a hellObj referencij objektum a String osztlyba tartozik, azaz egy String.
String hellObj = new String("Hell");

A new7 utasts objektum ltrehozsra utastja a gpet. Honnan tudja a gp, melyik osztlybl kell ltrehoznia az objektumot? Onnan, hogy a kvnt osztly nevt mindig utna kell rni:
String hellObj = new String ("Hell");

Ami utn pedig zrjelek kz zrva adatokat adhatunk t a szlet obo jektumnak, most a Hell szveget (ne feledd, hogy szvegeket mindig idz jelek kz zrva adunk meg): o
String hellObj = new String( "Hell" );

Mg ads vagyok az idekltzsnk trtnetvel: szval megjelent az ajtban nagyapa-Mikuls. Ekkor bredtnk r: kvantum szmtgp ide, VRpnt oda: amit elkpzelnk, az a kvetkez pillanatban a valsg maga. Mg o 8 tanultunk a boszorknyldzsr l: a Knyves Klmn el tti iskolnkban o o nhny vszzaddal korbban meggettek volna mivel mr az almrt is, de a mostani id ben sem valszn , hogy fklys menetben dvzlik mindo u ezt. Nemsokra visszart apa a vsrlsbl. Grti prblta nagyapa felbukkanst felvezetni azzal, hogy krdezgette apt: hisz-e a csodkban? Nemsokra mr hitt! Br el szr klnozsra gyanakodott, de mikor az orra el o
7A 8 Biztonsgi

new, azaz j jelents angol szbl. u okokbl nem rhatom meg, melyikben.

42

FEJEZET 1. PROGRAMOZS

emelkedett a tnyrja: ezt az elmletet is elvetette. Rgtn ezutn kisebb hangzavart hallottunk az utcrl: el kerlt a srknyunk s pp egy palotao pincsib l lakomzott. Apa rvid ton gy dnttt: csomagolunk s irny a o nyaralnk! A srknyt a krnyken lakk s a rend rk szablyszer en mego u lincseltk, majd rend rk znlttk el az egsz vrosrszt. Mg pp kijutoto tunk a gy r b l. ton a hegyekbe egy lerobbant kocsi mellett tallkoztunk uu o Rentval. Gynyr sz ke haja volt, kecses, kedves s valahogy egyrtelu o m en okos. Apt, s persze bennnket is, rgtn elb vlt. A kocsija mentu u hetetlen volt, gy hazafuvaroztuk, de nemsokra vissza kellett fordulnunk egy htfvs miatt. Azta a csaldhoz tartozik, cseppet sem csodlkozik a krlnk repked trgyakon. (l lnnyel, okulva a trttekb l, nem prblo o o kozunk.) Ha nem lenne olyan kedves, gyansnak is tallhatnm. O fedezte fel az pl NaFEm informatikai igazgati posztjnak hirdetst is. Szerinte o egy ilyen vros vdelmet nyjt neknk addig, mg megtanuljuk hasznlni a kpessgnket. Apa mellett 267 jelentkez volt mg, de o nyert. Grtit felo vettk a hsz kilomterre lv Informcitechnolgiai Egyetem kvantumo kriptogra szakra, Renta az iskolban kapott tanri llst. gy kerltnk Nagyatomba.

1.7.

Klns lom

2010. szeptember 14. Kedd, 17 ra 18 perc.

Klns lmot lttam az jjel. Rgta nem emlkeztem mr az lmaimra, pedig kiskoromban sokat lmodtam. Lementem az alagsorba a beptett szekrnyben a minap felfedezett ajthoz. Furamd az ajt fltt egy zldeskk tbla fggtt, ez volt rrva:

Epkedve.humane.homoe

Reggel megnztem, persze nem volt ott a tbla. Bonyolult sz amgy, de tisztn emlkszem: lmomban tudtam, hogy egy bolyg neve! Hopp, de ha tudtam, ht tudtam s ksz. Elindultam az ajt fel, nylok a kilincshez, mr szinte rzem a hideg fm rintst, amikor hirtelen megcsrren a mobilom. Visszarntom a kezem, majd pici ttovzs utn felveszem a telcsit. Abigl hangjt hallom, aki osztlytrsam. Izgatottan elmondja, hogy amikor kvncsisgbl alaposan tvizsglta a sajt laksuk beptett szekrnyt is, meg-

1.8. BITMANK S BETUMANK

43

dbbent: nluk is van egy ajt, egy ugyanott, ahol nlunk is rbukkantunk. Rvid megbeszls utn a tbbieket is riasztottuk SMS-ben, hogy dertsk fel ok is a laksukat, htha vannak mg ajtk valahol! Mi pedig elhatroztuk, hogy nem vrjuk meg oket, hanem kinyitjuk az ajtt s benznk. Ballal lenyomtam a kilincset, kzben jobbal felvettel a telefon headsetjt, a bekapcsolt kszlket pedig az vembe cssztattam. Megvrtam, amg Abigl is gy tesz. Lassan kinyitottam az ajtt. Krl feketesg, kzpen, szinte karnyjtsnyira egy gmb, egy srgs, zldes gmb, egy bolyg. Mintha rm nzne, aztn iszonyatos sebessggel rm zuhanna, de nem, csak hirtelen nagyon kzelr l ltom. Egyre csak kzelebbr l s kzelebbr l. jo o o szaka lehet, mert a mozdulatlan feketesgb l mlyzld s ezst csipkk vlo nak ki a kzeli horizonton, amgy mst nem ltni, de ahogy megszokja a szemem mgsem: van mozgs, sok mozgs, embereket ltok! Gyerekeket, amint egy hatalmas llatot dgnyznek. Nem tudom honnan, de tudom, hogy az llat egy atal funkcioone. Szeld, a feln tt pldnyokat amgy igao vonsra hasznljk. A kp sokkal lassabban, de tovbbra is kzeledik, szinte mr n is meg tudnm rinteni a funkcioone fejt. . . , amikor a gyerekek szrevesznek. Mindenki megmerevedik. Nekem elindul a kezem a funkcioone nagy, sz rs feje o fel. Az llat s a gyerekek is feszlten gyelnek. Csak a funkcioone pofjbl kill sz rk rezegnek tovbbra is sebesen, mint megannyi sz rszll o o keskenyedett dong. Az llat pofzatt s tekintett leginkbb egy nagymacskhoz, mondjuk egy hatalmas tigrishez hasonltanm. Megrintem, a testet s a fejet is s r , nom srga cskvekkel tarktott kk sz r bortja. uu o Megborzolom az lla alatt, a sz rk ett l mg hangosabb dngsbe kezo o denek. Erre a gyerekek is felengednek s vidman dgnyzzk tovbb a funkcioone-t immr kzs er vel, amikor Abigl hangjra felbredek. . . o Csak egy lom volt, gondoltam eddig, de az imnt hvott fel Abigl, hogy klns lma volt az jjel s szinte szrl szra ugyanazt meslte el, amit n is lttam. S t, reggel megnzte, hogy nluk is van-e ajt s tnyleg van. Dlo utnra megbeszltnk egy tallkozt mindenkivel a nagy fnl, rtkelnnk kell a helyzetet!

1.8.

Bitmank s betumank

2010. szeptember 15. Szerda, 21 ra 45 perc.

44

FEJEZET 1. PROGRAMOZS

Ma dlutn tjttek hozznk Ildikk, ok az egyik szomszdunk. Ildike mg nem jr iskolba, de mr nagyon vrja. Miutn megcsodlta Flpt s az j felesgt: Filippint, egsz este az Internetr l kellett neki meslo nem: rmesen izgatja a tma. F leg miutn a http://www.clib.dote.hu/ o javacska/digianyuka/ laprl meghallgattunk a laptopomon a digitlis anyuktl egy mest! Elalvs el tt azt krdezte, hogy mikppen jtt le hozo znk ez a mese az Interneten keresztl? Megprbltam egy mesbe oltani a vlaszt. Dntstek el, hogy jl sikerlt-e? Ildiknek szerintem tetszett, br mire befejeztem elaludt. Holnap kiderl, a mese melyik rszn adta fel. Lehet, csak fllomban tudatostott:)

1.8.1.

Utazs az Interneten

Egyszer volt, hol nem volt, volt egy Fld bolyg, ami a Tejt galaxisban keringett napja krl. Ezen a (galaktikus mrtkkel mrve) kis bolygn ltek a bitmank s a bet mank. u Minden fldlak bet man lett, amint megtanult rni olvasni. Ezutn u kpes volt letre kelteni a knyvekbe varzsolt bet ket. u pteni kezdtk a virtulis De nhny bet man mg tbbet akart. Ok u Tejutat. Mi az, hogy virtulis? Kpzeld magad el szerelmed arct s adj neki gondolatban egy puszit. No ltod, ez egy virtulis, azaz kpzeletbeli puszi volt. Teht pteni kezdtk a virtulis Tejutat, benne a virtulis Flddel, azaz az OO vilgot: ok lettek az els bitmank. o Hogyan csinltk ezt a bitmank? Mi az az OO vilg? Nzzk meg kzelebbr l! o Szeretem itt ezt a dereng zld fnyt s milyen nagy most is a nyzso gs. . . Akr el re, akr htra, akr oldalra, akr fl vagy le nzek soksok o kis bitforrs mindentt. temesen hol 0 nulls, hol 1 egyes bitet bugyognak: 0100101 s sorolhatnm, ahogyan a diszkrten9 bugyog 0 nullk s 1 egyek bjtokk sorakoznak. Nyolc egymst kvet bugyogs alakt ki egy bjtot o
01001010 11010010 10001110

s ezek a folyamok minden irnyban elntik a bjt mez ket. Brmerre o nzel is, bjt mez ket ltsz mindentt, vgestelen vgig. A mez kn pedig o o
9 A diszkrt a folytonos ellenkez je, amikor pl. a csapot megengeded s folyik, az egy foo

lyamatos dolog. Ha viszont csak cspg, akkor az mr diszkrt. J gondolat, hogy a diszkrt dolgokat meg tudod szmolni.

1.8. BITMANK S BETUMANK

45

vidm objektumok szletnek, vibrlnak, jtszanak, alakulnak t, ideoda. Ez a memria. n, utazsBemutatProgramka is egy objektum, egy Programka10 objektum vagyok. A mi vilgunkban nem csaldokban, hanem osztlyokban lnk. n a Programka osztlybl szrmazom. Mi a mi osztlyunk csaldi mestersge? Szltbenhosszban tszeljk a Vilghlt11 , nagy utazk vagyunk. Ezrt is vagyok nagyon jl rteslt sok rdekes dologrl. Utazgatva hallok nhny dolgot suttogni: pldul, hogy a bjt mez ket s egyltaln az egsz o OO vilgot valami csodlatos bitmank teremtettk s irnytjk, misztikus Java nyelv varzslataikkal. A mi vilgunkban a gyerekeket nem az anyukk u szlik, hanem a Java Kpzeletbeli Gpek hozzk oket ltre a new varzssz segtsgvel, ha erre parancsot kapnak a bitmanktl. gy tudom, hogy ezt a folyamatot a bitmank pldnyostsnak nevezik. Mire a pldnyostsnak vge, akkorra a memriban mr ott is van a nullk s egyesek sszjtka megformzta jszltt objektum. Majd ks bb is elmeslem nektek, amiket o mg megtudok.
11111111000011111111 11111110000001111111 11111110000001111111 11111110000001111111 11111110000001111111 11111111000011111111 11111111100111111111 11111110000001111111 11110000000000011111 11100001000011000111 11101111000011110111 11111111000011111111 11111111000011111111 11111111000011111111 11111111000011111111 11111110000001111111 11111100011000111111 11111000111100011111 11110001111110001111 11100011111111000111

Miknt tudnm magam bemutatni neked, egy fldi bet mannak? Engem u hasonlan formz meg a bjt folyam, mint ahogyan Tged formzhat meg egy nyugodt folys foly vztkre, ha flje hajolsz. Csak vatosan, ha esetleg kiprblod: legyenek Veled a szleid s fogjk a kezed! Erre suhant a Szemtgy jt Program12 , az o feladata a memria mez k u o o takartsa. Szoksa szerint szinte szrevtlenl vonult el. Itt jrtt csak egy
angol nyelv meskben a magyar Programka megfelel je az Applet angol sz. u o nven World Wide Web (rviden: Web): vilgot lefed hlzat. o 12 A szemtgy jt program (az angol nyelv bitmank Garbage Collector-nak, vagy u o u csak egyszer en GCnek hvjk) a memria takartgpe. Feladata, hogy felszabadtsa az u olyan memria terleteket, bjt mez ket, amelyeken hasznlaton kvli objektumok laknak, o azok megszntetsvel.
11 Ms 10 Az

46

FEJEZET 1. PROGRAMOZS

String objektum hinya jelzi. Ahol az el bb a bjt folyamban a bitek mg Ot, o az O adattagjait13 formztk meg, most mr csak kusza sszevissza nullk s egyek vannak, mr nem formznak meg semmit. Szegny String objektum a String osztlybl szrmazott, az o csaldi mestersgk a szvegek tro lsa. Mivel mg rzem adattagjaimat, nhny ms objektum mg ismer. A mi vilgunkban ez a trvny: a GC itt jr kztnk a memriban s megszntet minden olyan objektumot, amit mr semelyik ms objektum sem ismer. gy nlunk az OO vilgban nincsenek magnyos objektumok. Szomor dolog ez? Csppet sem az! Persze j lenne llandan itt frd zni a bjt folyamban, a o memriban. . . , a perzisztencia! kiltott most fel utazsBemutatProgramka. De sajnos ezt a felkiltst majd csak soksok bjtos bitman korodban fogod megrteni, de a trvny az trvny. Csak az maradhat, akit a tbbiek ismernek, hasznlnak, akivel kapcsolatban vannak: aki rsze az egsznek. Hiszen, ha nem sz nnnek meg a magnyos objektumok, akkor tbben s tbben lenu nnek. Betelne velk a memria, de mindhiba: nem ismernk egymst, nem tudnnak egymsrl, nem tudnnak egymsnak zenetet kldeni, azaz nem tudnnak vltozni, megjulni, tkletesedni. Abban az OO vilgban, ahol ez bekvetkezne: megllna az let. . . amit, ugye, senki sem akarhat! Tbbet most nem mondhatok, nincs sok id m. Nhny adattagomban o meg-megremegnek a bitek, gy t nik, megsz ntek a rm val hivatkozsok u u ms objektumokban. Itt jn a GC! Mg szlelem, hogy az engem alkot bitek megvltoznak: lavinaszer en villmgyors apr, zld villansok futnak t a u bitjeimen, amik ezutn mr teljesen vletlenl lesznek 0 nullk vagy 1 egyek s m. R4 001 IOR:0x00786BB63E m111. e0g i0a null a_ _000110__s sss_sz.n.tem 0___0 1 _00000 00000000000000000000000000000000000000000. . . utazsBemutatProgramka, bredj! hallom szendergs kzben a webszerver objektum hangjt, s mr be is rntott a memriba. Amikor Internetezel, akkor mindig valamilyen bngsz programot haszo nlsz majd. Ezzel a programmal lehet az Internet virtulis vilgban utazgatni. A webszerver objektumok szolgljk ki az internetes bngsz k kro seit. Dlutn pldul, amikor letltttnk egy mest akkor, amikor a laptoobjektumok informcikbl, adatokbl plnek fel, ezeket az objektumokat alkot adatokat, tulajdonsgokat nevezed majd tagoknak, adattagoknak. Mik lehetnek ezek? Szmok, bet k, szvegek meg minden. u
13 Az

1.8. BITMANK S BETUMANK

47

pomon a bngsz ben a mesre kattintottunk ez a krsnk az Interneten o keresztl eljutott a www.javacska.hu nev gp webszerver programjhoz. u O kiszolglta a krsnket s a bngsz nkbe kldte a krt mest. Ha visszao emlkszel, a mese elejn volt egy kis programocska, ami le is rajzolta, hogyan utaznak az objektumok az Interneten t. Folytassuk a mest! Vajon mi mdon kldte el neknk a webszerver ezt a programkt? utazsBemutatProgramka, bredj! Utazol, menj a 80-as kapuhoz, ti clod Bart Virg laptopjnak bngsz programja. A pontos cm: virag.suo li-nafem-43.hu, a 4525-s szm kapunl fog vrni egy bngsz program. o rtettem, indulok a virag.suli-nafem-43.hu gpre, a ngy-t-kett -ts o kapuhoz vlaszolom s a kijrat, a 80-as kapu fel veszem az irnyt, br az igazat megvallva jobban szeretek a 443-as kapun kimenni. Ks bb jobban o megismered majd a 443-as kaput, most elg annyi, hogy ez egy biztonsgos kijrat. Kicsit mg kbn suhanok az adatkbel zlden villdz erein a kapuk kzelben lak TCP F ellen rhz. Rszegysgeimb l csinos csomagokat o o o kszt s mr ad is tovbb az IP F postamesternek, aki minden rszcsoo magomra rrja a virag.suli-nafem-43.hu gp cmt. Az IP F postamester o az Interneten lv brmely gpnek el tudja ezeket a csomagokat kldeni. o Utoljra mg visszapillantok a memrira, ahol az el bb a bitek mg o engem formztak, most mr csak sszevissza nullsok s egyesek. Remlem, ha majd megrkezem, a virag.suli-nafem-43.hu gpen az ottani TCP F ellen r most gyorsan ssze tud rakni a megfelel sorrendben, o o o nem gy, mint a mltkor, amikor az adattagjaim s a metdusaim14 egyms hegynhtn voltak. A TCP F ellen r nem gy zte jra elkrni a csomago o o jaimat, hogy meglegyenek a hinyz rszeim. Nhny rszcsomagom tbb pldnyban is megrkezett, nhny egyszer sem, mert elvesztek valahol tkzben. Persze akkor akkora volt a forgalom a csatornkon: ksz csoda, hogy egyltaln clhoz rtem. Most kevesebb az utaz objektum, igaz, nincs is cscsid : a bitmanknl jszaka van. o Csomagjaim utaznak az Interneten. Nagyon gyorsan trtnik minden, most csak nhny tvonalamrl tudok rviden meslni. Ebb l az egyik egy cen alatti fnycsatornn vezet keresztl. Az ilyen o fnycsatornkat a bitmank optikai kbelnek hvjk, amiben a programok s
fogod majd nevezni azokat a tevkenysgeimet, viselkedsi mintimat, amiket meg tudok csinlni, ha krik t lem. A bitmank kzl sokan a metdusokat mdo szereknek vagy zeneteknek is nevezik.
14 Metdusoknak

48

FEJEZET 1. PROGRAMOZS

adatok a fny segtsgvel utaznak. Ez milyen gyors? Szmolsz, hogy: egy, kett s a fnycsatornn utaz csomagok mr meg is rkeztek. A csatorna o medre fltt tdereng az cen varzslatos vilga: pp nhny halacska meneklt meg egy flelmetes cpa el l gy, hogy a vz ltal kimosott kbel mg o bjnak, annak az rkba. A cpa dhben a csatorna kbelbe harap, de a szigetelsen az o fogsora sem hatolhat t. ljen a technika, mutatok is neki egy tyiszt. A msik tvonal a lgkrn keresztl az urbe egy m holdhoz, majd onnan u vissza, itt mikrohullmokat meglovagolva utazok. A mikrohullmok ugyanolyanok, mint a Napbl jv fny, csak olyan gyorsan rezegnek, hogy emberi o szem mr nem is ltja oket. A visszaton elhaladunk egy meteorraj mellett, amik a lgtrbe belps utn elgnek a srlds miatt. A harmadik tvonal nem ms, mint a kbeltv m sorok szomszdsga. u Ezt az tvonalat azrt szeretem, mert kzben tkukkanthatok a mellettem raml meselmekbe. Br nem mindig rtem Tom mirt bntja Jerry-t, radsul hogyan kelhetnek fel egy-egy nagyobb ts utn; a bitmank vilga nagyon klnbzik a minkt l! o Megjtt az utazsBemutatProgramka objektum! jsgolja a virag.suli-nafem-43.hu gpen a Fizikai F rtegfelel s az IP F postamesternek o o o Adom is a rszcsomagjait. Igen, igen, adhatod: utazsBemutatProgramka-1, utazsBemutatProgramka-2, utazsBemutatProgramka-3, utazsBemutatProgramka-4, utazsBemutatProgramka-4, utazsBemutatProgramka-4, utazsBemutatProgramka-5, utazsBemutatProgramka-7, utazsBemutatProgramka-8, s utazsBemutatProgramka-9 veszi t a csomagokat az IP F postameso ter . utazsBemutatProgramka rszcsomagok! lljatok csak sorba a szmotok szerint! 1, 2, 3, 4, 4, 4, 5, 7, 8 s vgl 9. Ez gy nem j, nem j. Hol maradt az utazsBemutatProgramka-6 rszcsomag? s mirt van hrom az utazsBemutatProgramka-4 rszcsomagbl? Bosszankodik a TCP F ellen r s utastja is rgtn az IP F postamestert: o o o Krem az utazsBemutatProgramka-6 csomagot jra letlteni!

1.8. BITMANK S BETUMANK

49

Kis id utn: o IP f postamester, most mr minden rendben? Jvcska sszes rszegyo sge megrkezett? krdezi a TCP F ellen r. o o Igen, adom a hinyz utazsBemutatProgramka-6 csomagot. dvzllek utazsBemutatProgramka! szlt meg kisvrtatva egy kedvesen rces hang, ami bizonyra nem ms, mint a virag.suli-nafem-43.hu laptop Java Kpzeletbeli Gpe Kezd el a munkdat! Megrkeztem vgre. Pillanatrl pillanatra er sdm, ahogy a virag.sulio nafem-43.hu gp memrijban tjrjk testem a ds bjt folyamok. Vgre kell hajtanom a feladatomat, lssuk csak, mit kell tennem, milyen metdusaim vannak: azaz hogyan viselkedjek? A napl kedvrt, az utkornak bevgok egy pillanatfelvtelt arrl a kis rajzrl, amit Ildivel rajzoltunk mese kzben a kislmpnl. Szpen leolvashat, hogy az Interneten minden szmtgpen van TCP F ellen r, IP F o o o postamester s Fizikai F rtegfelel s program. (Ildike mr rg otthon alszik o o a vilgt prnjn.) A www.javacska.hu gp Virg noteszgpe

1.12. bra. Utazs az Interneten. H , ahogy ezeket is bemsoltam, elszaladt az id s Brdos G.-nek mg u o meg kell rnom a Java programozs hzit!!!

50

FEJEZET 1. PROGRAMOZS

1.8.2.

Hogyan rom le Java nyelven?

Tanr : Brdos G. ra : Java programozs Tanul : Bart Virg Email : virag@javacska.hu Trgy : A msodik hzi feladat Dtum : 2010. szeptember 15. Id : 22:05 o

Hogyan rom le Java nyelven? Bart Virg

Az volt a feladat, hogy rjuk le Java nyelven, hogy a Kutya osztly a Rend rkutya osztly szl je (illetve, hogy a Rend rkutya osztly a Kutya o o o osztly gyermeke):

1.13. bra. UML brbl Java nyelv mondatok. u

A megoldsom:

1.9. KLNS AJTK


class Kutya // tulajdonsagok: String nev; String fajta; Integer kor; String szin; // viselkedesi mintak Bot elhoz(); class Rendorkutya extends Kutya // tulajdonsagok: Integer rablokSzama; // viselkedesi mintak elfogRablo(Rablo rablo);

51

A class15 Java nyelvi szval jelzem az osztly elejt, majd ezt kveti az osztly neve. A korbbi felfel nyl helyett kellett az extends16 szt hasznlom. A String17 a szveg objektumok osztlyneve, az Integer18 a szm objektumok osztlyneve. Most mr tnyleg mennem kell aludni, legalbb alvs kzben nylik a gerincem.19 Nem bnnm, ha mg n nk egy kicsit. . . o

1.9.

Klns ajtk

2010. szeptember 16. Cstrtk, 22 ra 11 perc.

Mindenkinl megvannak az ajtk. Mindegyik az alagsorban s mindegyik a beptett szekrnyekb l nylik. Kkesszrke, hideg fmajtk, kulcso lyuk nincs, a kilincs felett egy stt numerikus konzol. Ha hozzrsz, akkor
class azaz osztly jelents angol szbl. u extends azaz kiterjeszt jelents angol szbl. u 17 A string azaz karakterlnc jelents angol szbl. u 18 Az integer azaz egsz szm jelents angol szbl. u 19 Tudttok, hogy este mindenki alacsonyabb 1-2 centimterrel a reggeli magassgtl? (Persze a vltozs lland.)
16 Az 15 A

52

FEJEZET 1. PROGRAMOZS

bekapcsol a billenty k vilgtsa. De ehhez az is elg, ha csak kzeltesz u hozz a kezeddel. Mindenfle szmokat prbltunk betni, sikertelenl. Pedig mr az egsz osztlyt rmesen furdalja a kvncsisg, hov vezethetnek? Persze szlhattunk volna valakinek, de akkor mr nem mi lennnk azok, akik megoldjk a rejtlyt, ezt persze egyiknk sem akarja. A tbbiek csupa drasztikus megoldst javasoltak: bontsuk ki a falat az ajt mellett, meg ilyeneket . . . n abbl indultam ki, hogy ha bemenni nem is tudunk, taln valaki kijn rajta, vagy egyltaln hasznljk, szval gyeljk! Mindenki elrejt egy webkamert az alagsorban, ahol lehet gy, hogy vegye a numerikus billenty zetet is, htha u el tudunk kapni egy belpsi kdot. Megszerveztk a gyelst is. Mindenki veszi a laptopjn az sszes kamera ltal adott kpet. Tizenngyen vagyunk, tizenngy, mozaikban nyitott kis ablakot kell gyelni. Egy valaki kb. 25 percig gyel, teht naponta ngyszer kerl rm a sor. Hurr, tetszik, hogy sikert aratott az tletem! Olyannyira sikert, hogy rgtn el is rohantunk megvalstani. Rendben, ha valaki webkamerval akar ajtt meggyelni, ahhoz webkamera mindenkppen kell. Eddig teljesen egyedl eljutottam a gondolkodsban. Aztn rbeszltem mit, jjjn velem vsrolni (s hogy osztozhassunk a kamera tulajdonjogn s rn). Ez nem volt knny , mert pp beszlni tanu totta Flpt, hiba mondtam neki: hzas papagj NEM foglalkozik ilyen badarsgokkal. Inkbb csak azrt jtt velem, mert amint kzeltett Flphz, az meglehet sen gnyos kacajra hasonlt hangok kzepette elreplt mivel o ellenttes irnyba, az veghz legtvolabbi sarkba. Hrom-ngy ilyen kr megttele utn maradt a vsrls. Persze az induls mg ezutn sem volt zkken mentes: amint kihoztuk a bicinkat, Kalmi gyors farkcsvlsokkal o s izgatott vakkantsokkal tudtunkra adta, nlkle aztn sehova. Szerencsre apa pp hazart, s nekiltott horgszati el kszleteihez, amiben Kalmi lelo kes segt je (br inkbb htrltatja: folyton gyelni kell r, nem kapott-e be o valami horgot, hov vitte a gilisztkat, mskor egyszer en belefrja az orrt u az etet anyagba, az nizsos a kedvence). o Vgre elindultunk a kedvenc csaldi m szaki boltunkba. Igazbl leginu kbb hlzaton rendelnk, de nha olyan j kzbe venni az rukat, s maga a mszkls is j: no nem az zletkzpontban, hanem oda s vissza: odafel tervezzk mirt is megynk, visszafel, hogy a megvsrolt cuccal mit tesznk. Az E-szerek nev boltot mindannyian msrt szeretjk. Apa a nagy u vlasztkrt: igaz ugyanazokat lehet kapni, mint a bolt e-ruhzban, csak itt kedvezmnnyel (apa azt meslte, atal korban pont fordtva volt, hogy minl tbb vsrlt rszoktassanak az e-kereskedelem rmeire). Amikor nyr

1.9. KLNS AJTK

53

vgn idekltztnk Grti egy, a nyri sznetben itt pnzt keres markns o (ezt Grti mondta r) elad miatt szeretett idejnni. mivel mi azt lvezzk, hogy brmennyit krdezznk, mindig j vlaszokat kapunk, s nem a tipikus szrlap-szveget! A boltban kellemes zene szlt, s rengeteg ktyvel voltak tele a polcok. Hamar megtalltuk a webkamerkat: csak oda kellett mennnk, ahol a msodik legnagyobb tmeg volt (az els a jtkoknl): a kamerk mindegyikb l o o be van zemelve egy, gy kivlan el lehet szrakozni azzal, melyikben milyennek ltszunk:) Valszn leg nagyon komoly vev benyomst keltettk, u o mert egy elad rettent szorgalmasan elmondta, melyik mit tud. Vgl az o is jelent s sly rv volt, hogy kett nk megtakartott zsebpnze melyikre o o elg, de szerencsre pont azt magasztalta az elad is az egekig. (Mlt hten billenty zetet vettnk minek, mert a noteszgp alaprtelmezett billenty i u u ujjletr sen vannak elhelyezve. A kedvenc gyerekkori billenty zetre pedig o u a minap rlt Kalmi. . . ) Hazafel vgig arrl beszltnk, mit lthatunk majd rajta... (Szba kerlt, hogy kis id re berakhatnnk a frd be is a mosdhoz, megnzend ki milyen o o o alapossggal mos fogat, de ezt vgl, tmeneti id re, elvetettk.) o Otthon nekifogtunk a teleptsnek: els nekifutsra az t nt a legneheo u zebbnek, hogy olyan helyet talljunk neki az alagsorban, ahonnan remekl r lehet ltni az ajtra, nem felt n s a gpnk is rzkeli a jeleit (szerenu o csre a webkamera vezetk nlkli). Legnehezebb mgis az installls volt: j id be telt, mg rjttnk, a keressnl ltszlag dolgozik, de nagyon el kell o tallni, honnan van j vtele a gpnknek. Vgl felraktuk (hosszasan kacarsztunk a telept szveg e mondatn: Kvesse az utastsokat!, mintha o egybknt azok szges ellenttt tettk volna!) s jhetett a teszt. A kamert az egyik vele szemben ll llvny kzps polcra tettem egy paprdoboz o al. A doboz oldalt kilyukasztgattam, pontosan megjellve, hogy az egyik lyuk ppen a kamera szemnek magassgban legyen. mi lement, n a gp el tt kuksoltam: eleinte nagyon stt volt a kp, fel kellett raknunk egy mozo gsra halvny fnyt raszt csvet, s mr kszen is voltunk! Jhet a meggyels! Felkszltnk: vettnk egy raks rgcslnivalt, felvittnk egy majd lavrnyi tet s kezdett vette a meggyelsi munka!! Most itt lk a monitor el tt s egy ablakban bmulom az ajtnkat. Az enymmel o egytt eddig ngy kamera kpe jtt be. Abigl volt az els , Tams a mo sodik, n a harmadik, Mri a negyedik. A tbbiek mondjk a cseveg n, o hogy az vk is menni fog pr percen bell, mr kapcsoljk ssze a loklis hlnkkal a kamerk kpt.

54

FEJEZET 1. PROGRAMOZS

1.10.

Hogyan szltsak meg egy objektumot?

2010. szeptember 17. Pntek, 19 ra 53 perc.

Az OO vilg nagyon hasonl a mi vilgunkhoz, az emberek vilghoz. Ahogy egy emberi nagyvrosban a jrkel k hmplygnek a szles jro dkon, gy hasonlan sok szmtgpes objektum nyzsg a memriban. Jogos a krds, hogyan tudjk a programozk megszltani az objektumokat. Milyen Java nyelv mondatot kell lerniuk, hogy kapcsolatba tudjanak lpni u egy kvnt objektummal. Emlkezz csak vissza: egy szmtgpes objektum neve klnleges dolog, mert ez mutatja meg a szmtgpnek, hogy az objektum pontosan hol helyezkedik el a memriban. Ezrt is van az, hogy ezt a nevet a programozk nem is nvnek, hanem referencinak nevezik. A referencia az, ami sszekt majd tged, sszekti a programozt az objektummal, csak ezzel a specilis nvvel tudsz majd az objektumra hivatkozni. Ha egy objektum referencija elvsz, elvsz szmodra maga az objektum is, felszmolja ot a GC, hogy az ot alkot bitek egy msik, egy hasznlatban lv objektum testt alkothassk. o Az objektumokat megszlt mondatok gy nznek ki: vev . zenet neve ( zenet adatai ); o A vev egy referencia. o Pldul a kalmi.elfogRablo(rabloRobi); mondat azt mondja a kalmi referencij Kutya objektumnak, hogy fogja el a rabloRobi referencij Rablo objektumot.

1.11.

Az osztlyf nkm o

2010. szeptember 20. Htf , 19 ra 20 perc. o

Tallkony Tamstl az rk el tt kaptam ma egy kis fehr csokit, beo lecsempszte a pulcsim zsebbe. Csak azrt tudom, hogy t le kaptam, mert o kldtt egy levelet csatolt programmal. Futtattam, s egy hullmos papagjt

1.11. AZ OSZTLYFONKM

55

rajzolt a kperny re. Ez a sokat tud rlam, lehet, hogy titkos gynk? o Mindenesetre valban tallkony:) Vajon csak osztlytrshoz akar kedves lenni? Azt tudom, hogy nekik nimfa papagjuk van, szombaton sszefutottunk a hobbi-llat kereskedsben. . .
Tanr::Harang R.> Kezdhetjk az rt, gyerekek? Tanul::egy hang sem hallatszik, figyelnek> Tanr::Harang R.> Ksznm. Akkor kezdjk el az rt! Mit gondoltok, vajon van-e let a Fldn kvl? Gyakori vagy ritka jelensg az let az Univerzumban? Gyakori vagy ritka jelensg az rtelmes let az Univerzumban? Jtsszunk egyet! Ki gondolja, hogy lteznek llnyek a o Fldn kvl is? Tanul::L. Mri.> Persze, hogy lteznek, tanr nni krem. Ott vannak pldul az Alfa rlloms asztronauti! U Tanr::Harang R.> Ettl a trivilis megkzeltstl most o o tekintsnk el, Mri. gy rtem: ltezik-e szerintetek nem Fldi eredet let? u Aki azt gondolja, lteznek llnyek a Fldn kvl is, az o emelje fel a kezt!

Ekkor n is kvncsian krbenztem az osztlyteremben: mindenki feltette a kezt.


Tanr::Harang R.> Teht mindenki el tudja kpzelni, remek. Tanul::L. Mri.> n pldul keresem is ket a SETI@HOME o programmal!

Nem brtam megllni, hogy ne reagljak Mri mr szoksos tudlkos megjegyzsre. Flred ltem a padban s megmutattam a noteszgpem ko perny jt: o
Tanul::B. Virg.> s ki nem keresi, nlam is fut most is, nzz csak ide! Behoztam az igazolst is arrl, mennyi csomagom van, ezzel lehengereltem a tbbieket:

56

FEJEZET 1. PROGRAMOZS

1.14. bra. SETI@HOME igazols.


Tanr::Harang R.> Mennyi csomagod van? Tanul::B. Virg.> 1478. Tanr::Harang R.> Szp, elmondand a tbbieknek is, hogy mirl van sz pontosan? o Tanul::B. Virg.> A SETI@HOME projekt arrl szl, hogy felttelezzk: vannak mshol is rtelmes lnyek. Vannak s zenni akarnak neknk, ezrt jeleket sugroznak ki felnk, mikrohullm rdijeleket. Nincs ms dolgunk, mint ezeket a jeleket egy antennval felfogni s feldolgozni, azaz gy lefordtani, hogy megrtsk mi az zenet. Konkrtan az a feladat, hogy szrevegyk az zenetet a Fldet r jelekben. Ha ez o meglenne, akkor jhetne az zenet lefordtsa. Tanul::L. Mri.> Errl szl a SETI@HOME, a szmtgpek o keresik az zenetet, de sajnos ez idig mg semmit sem talltak. Tanul::B. Virg.> gy van. Tanr::Harang R.> Szmomra s hamarosan szmotokra sem ez lesz a lnyeg a SETI-bl! Ami szmunkra fontos benne, az a o kzssgpt ereje: tbb milli rdekldt tud sszektni. Az o o o eredeti krdsre n tudom a vlaszt s most benneteket is beavatlak.

1.11. AZ OSZTLYFONKM

57

Ekkorra mr komolyan felkeltettk szavai az rdekl dsemet. . . O tudja, o hogy vannak fldn kvli civilizcik, honnan tudn?
Tanr::Harang R.> Mindenki, mg ti is gy tudjtok, azrt kltztetek ebbe a fiatal atomvrosba, mert a szleitek az ermben kaptak munkt... Nem ezrt: a cl a ti tantsotok. o u Bizonyra mindannyian tudntok klnleges dolgokat mondani: mik trtntek veletek az utbbi idben, nemde? Igen, a o kivlogatsotok szempontja is ez volt: szunnyad bennetek egy klnleges kpessg s ezrt kell tanulnotok, hogy ez minl inkbb a felsznre kerlhessen. Tanr::Harang R.> Nem csigzom tovbb az rdekldst, van o kztetek, aki ijeds? o Tanul::mindenki egytt > Nincs, nincs. Tanr::Harang R.> Pr sz, mieltt bemutatnm az "Igen o rtelmes civilizcik" rt tart tanr nnit s a "Csillagkzi viselkedstan" rt tart tanr bcsit: ne ijedjetek meg, k mr jl ismernek mindannyitokat, nv o szerint. Most is nznek minket viden. k PA_HENE s H_RCL, O nem emberek, nem is humanoidok, hanem ms fajok kpviseli! o Tanul::L. Mri.> "Igen rtelmes civilizcik", "Csillagkzi viselkedstan" rk, hopp, ilyenek nincsenek is az rarendben. Tanr::Harang R.> Igen, ezek a trgyak valban nincsenek fent. De gondoljatok csak bele, mit szlna hozz a ma mg erre felkszletlen vilg, ha ltn, hogy ebben az iskolban ilyen trgyak vannak? Tanr::Harang R.> Nos, felkszltetek a megismerkedsre? Tanul::mindenki egytt, elhalkulva > Iiii... gen. Tanr::Harang R.> Kezdjk velem! A fldi nevem, ahogyan ti is ismertek: Harang Renta. n a trore humane humane fajhoz tartozom. Mi nagyon-nagyon hasonltunk az emberre, olyannyira: orvosi vizsglatok nlkl el sem dnthet, hogy o ember vagyok-e vagy sem! Tanul::L. Mri.> s az emberi fajt hogyan nevezik a tanr nniknl?

58

FEJEZET 1. PROGRAMOZS

Tanr::Harang R.> Az ember neve a csillagkzi elnevezssel: milke humane homoe. Tanul::L. Mri.> A szleink tudnak errl egybknt? o Tanr::Harang R.> Igen, tudjk. Reggel ta tudjk.

1.12.

Figyel szolglatban o

2010. szeptember 21. Kedd, 03 ra 32 perc.

Nem is olyan mks ez az ajtgyel szolglat, mg nincs hrom perce, o hogy rm kerlt a sor, de mr hallosan unom a kperny n tornyosul ajts o ablakok bmulst. Napok ta gyeljk s semmi. Semmi, semmi. . . semmi, semmi, semmi. Mind a tizenngy ablakra belltottam, hogy adjanak egy bip-et, ha vltozna a kp, mert gy dntttem, jtkkal tm el a flrmat. Mostanban a hlzati stratgiai mobil jtkokat kedvelem. Van is pr fut jtszmm. . . el fog replni ez a 25 perc. gy mra zrom is soraimat. J jtkot, magamnak!

1.13.

Tmegkzlekeds

2010. szeptember 22. Szeda, 20 ra 37 perc.

Ma Bevigb l (Bevezets az igen rtelmes vilgokba) a kzlekeds volt o a tma. Kt szokvnyos mdszer van: kzelre a kvantum-teleportci, tvolra a mlyalvsos vetts. Kvantum teleport: az indulsi llomson az utazk felllnak egy rmpra, aztn huss! Mris a clllomson talljk magukat. Ilyen llomsok a Fldn is vannak. Mlyalvsos vetts: ezt jval nagyobb tvokra hasznljk, mint a teleportot, sokkal bonyolultabb is, nem is rtettem. Annyit tudok most rni egyel re, hogy altatsban kell lennie az utaznak, nehogy a tuo data sszevesszen az ot vett mestersges intelligencik ( k tudjk o o

1.13. TMEGKZLEKEDS

59

elhinni, hogy ilyen messzire utazik az utaz) tudatval . . . Egybknt ilyen gysincs a Fldn. Ha mgis innen akar valaki nagy tvba utazni, akkor kvantum teleporttal elmegy mondjuk egy mestersges holdra, ahova teleptve van mlyalvsos vett , gy innen indulhat a tvoli clo hoz. Mindkt kszlket lehet mobil eszkzkre: urhajkra is telepteni, de er r l tbb sz nem esett, hogy ne zavarjanak ssze bennnket. . . He, he, engem o mr az eddigiek is sszezavartak! Szval ennyit a dolog tanulsi rszr l, o viszont a tanr nni azt mondta, hogy ma az utazssal kapcsolatban kapunk egy SMS-t, az ra gyakorlati rszhez tartozik. Ezzel elgg felizgatta a trsasgot, most ezt az SMS-t vrva ppen kt rja nzek farkasszemet a mobilommal. Megjtt! Hopp: . . . van az alagsorban egy elrejtett ajt. . . , hsz perc mlva legyek ott! (Vajon ok tudtk, hogy mi tudtuk, hogy ltezik ez az ajt?)

1.13.1.

Ma teleportoztam!

Bent voltam az ajt mgtt! Egy kvantum teleport rmpa van bent. Nagyon pici helysg, mindssze gy 2x2 mteres lehet. Szorosan llva elfrne rajta mondjuk vagy hsz gyerek. A vilgts normlis, automatikusan kapcsoldhatott be, amikor a szmkddal kinyitottam az ajtt (a kinyit kdot egy msik SMS-ben kaptam, azzal az utastssal, hogy menjek be s bent mondjam azt, hogy: Ezerkilencszzkilencvenegy v g, akkor mg nem tudtam, hogy ez mit jelent). A rmpa alig 10-15 centimter magas. Szinte az egsz padlt kitlti. Ezrt belpni a szobba egyben azt is jelenti, hogy fellptl a rmpra. Szval n is fellptem: a vilgts zldre vltott egy pillanatra, vrtam egy kicsit, a vilgts zld maradt. Bemondtam Ezerkilencszzkilencvenegy v g, azaz 1991 VG. Alig mondtam ki, a fny visszavltott a szoksosra, de akkor mr nem is a mi szobnkban voltam! , Virg! hallottam. A hang gazdja ppen nekem httal foglalatoskodott valamin s ppen htra, rm pillantott, amikor betoppanhattam. . . pontosabban, amikor beteleportoltam. Mr vrtunk folytatta a hlgy. Annak rendje s mdja szerint bemu tatkoztunk egymsnak, megtudtam, hogy o Kardos Erzsbet. Kzben pedig rjttem, honnan ismerem: o az iskola igazgatn je, az vnyitn beszlt. Elo mondta, hogy egy mestersges hold fedlzetn vagyok, de nyugodjak meg,

60

FEJEZET 1. PROGRAMOZS

ok mr tbb ve dolgoznak itt, teljes biztonsgban vagyunk. Megmutatta egy kis naprendszer-maketten is, hogy hol vagyunk most: a Nap krl keringnk s periodikusan nagyon megkzeltjk a Fldet. Ajndkba kaptam egy kis modellt is az 1991VG-r l. 1991VG, mert gy hvjk ezt a mestersges holo dat, egszen pontosan a fldi csillagszok neveztk el gy, a nevet onnan kapta, hogy 1991-ben vettk szre. Persze a fldn csak annyit tudnak, hogy van itt egy objektum, aminek olyan a fnyessge s a mozgsa, mintha egy mestersges hold lenne. . . de csak tallgatnak, kvetkeztetnek pontosan nem tudnak semmit, mert ennek a tudsnak a megszerzshez nincsenek meg a megfelel technikai eszkzeik. o A sz k folyosn jobbra indultunk el, pr lps utn egy parnyi szobba u jutottunk. Az ajtval szemkzt lassan, de azonnal elkezdett elhzdni az addig az ablakot fed hatalmas fmzsalu. Ahol mr elhzdott, ott az ablak o vegn mindenfle rsjelek jelentek meg. gy, mint a fldi vadszrepl o gpnl, az adatok az ablakra vannak kivettve. Ha tvolra nzek, akkor az g mlynek csillagait ltom, ha kzelre, akkor halvny pirossal, zlddel s srgval rt mindenfle adatokat magn az ablakon, mint egy risi tltsz monitoron. Tovbb hzdott a zsalu s lassan kibontakozott a Fld pomps kk gmbje! Sokig csodltam. Aztn alig akartam elhinni az igazgat nni szavait: Ismerd meg a szobt, itt tartjuk majd a Csillagszati ismeretek rt. Maradhatsz egsz dlutn. Ha brmi krdsed van, akkor fordulj btran a szmtgphez. Ha vgeztl az ismerkedssel, akkor is neki szlj, o majd elr engem. Ja, ha van kedved, elportozhatnl az osztlytrsaidhoz, ssze szedhetnd oket s megmutathatnd nekik is ezt a termet. Persze, csak, ha van kedved. Mi az, hogy volt kedvem! Nan, hogy volt! Maradtunk egsz dlutn, legszvesebben el sem jttnk volna. Prba szerencse: jjel n jra megprblkozok feljutni... most majdnem 9, megkrdezem mit is, taln lesz kedve.

1.14.
1.14.1.

Az OO program
Hogyan gondoljak egy OO programra?

2010. szeptember 23. Cstrtk, 21 ra 43 perc.

Ma mg be kell adnom egy fogalmazst! Mg este nyolcig el kell kl-

1.14. AZ OO PROGRAM

61

denem Kelep L. tanr rnak emailben. Azt kell lernom a sajt szavaimmal, hogyan kpzelem el az OO programokat. Nem a gp memrijban pontosan, hanem kpszer en, ahogyan pldul mondjuk lerajzolnm. De nem u lerajzolni kell, hanem a kpet lerni egy rvid, fl oldalas fogalmazsban. Betltttem a kedvenc szmomat (mp3), most behunyom a szemem s megprblom elkpzelni az objektumokat. . . Megvolt, rvid id alatt hossz percek teltek el, mr csak vissza kell o idznem s pontosan lernom: Minden fehr, de nemcsak szltben s hosszban, mint egy paprlap, magassgban is. Mintha egy nagy fehr tren llnk s az g is fehr lenne. Nem csinlok semmit, csak meggyelek. El re megrzem, hogy trtnni fog valami s valban: ppen el ttem egy o o apr, szrke, klmnyi gmb jelenik meg, csak gy a semmib l. Kicsit mego torpan a nvsben, aztn gyorsan nagyra hzik. Egszen addig, amg akkora nem lesz, mint egy jkora hord. Mr ezst szn s nagyon-nagyon homu lyosan bele lehet ltni. Ltni, hogy van benne valami, de nem ltni, hogy mi. Valami, aminek struktrja van. Jobban megnzem: cikzik benne egy kk fnynyalb, ami egyre kzelebb s kzelebb vibrlva jn a gmb szlhez. Kipattint hrom, nem, nem hrom, ngy ugyanolyan apr gmbt, mint amilyen o maga volt kezdetben. A kiugrott gmbk is megn nek, az egyik szinte o szoba nagysgra n , mikzben er sen megnylik. Egy nagy kapszult foro o ml. A kiugrott legals gmbb l kicsap egy kk fnynyalb, elfut az eredeti o gmbig, de nem tud bel hatolni. Lthatan t akar lpni a gmb burkn. Folyamatosan prblkozik, de marad a gmb el tt vgz d kk izzs trtt o o o vonal a fehr trben. Rjvk, hogy az als objektum az eredeti objektum egy olyan tagjhoz akart hozzfrni, amihez a tagot vd szemafor nem engedi. o Meglehet, hogy tnyleg emiatt kell vrakoznia. tfutok az eredeti gmb alatt, felnzek r s igen: ahol eddig lltam, onnan nem ltszott, de egy msik gmbt l jv fnynyalb van sszekapcsoldva a gmbnek azzal a rszo o vel err l az oldalrl... ppen vgez, a kk nyalb visszahzdik, visszafut o az als gmbbe. Ahogy ez kilpett, a vrakoz nyalbnak nem kell tovbb vrakoznia, mr be tud lpni a gmbbe. A nagyra puffadt gmbbe jobban beleltok, ebben is szorgalmasan cikzik egy kk fny! Hopp, most apr gmbk pattannak el itt is, de ezek a o homlyosan tltsz ezst burkon bell maradnak s ott n nek meg. A kk o fny taln a vezrls lehet. Azt mutatja, hogy a gmbbe zrt kd melyik rsze

62 dolgozik ppen?

FEJEZET 1. PROGRAMOZS

Ht, jraolvasva elg zavaros, de olyat akartam elkpzelni, hogy vannak az objektumok, mind-mind vgzi magn bell a sajt dolgt, mikzben zengetnek egymsnak. Maga a program ilyen tbb-kevsb nll objektumok egyttm kdse. Az egyik objektumban tovbbi objektumokat hoz u ltre, mert az algoritmus, aminek a lpseit hajtja ppen vgre, ezt rja el o neki. Egy msik objektum ppen vrakozik, mert az a vev objektum, akio nek zenetet kldtt, most nem enged hozzfrni a tagjaihoz. . . Szval, ha a programra gondolok, akkor objektumokat kpzelek el, minl nagyobb a program, annl tbb ezstsen csillog, klnbz mret s nagysg gmbt, o u amiket sok sok kapcsolat kt egymshoz, amiken keresztl vidman zengetnek egymsnak, lnek. Mind csinlja egytt, egyszerre a sajt dolgt.

1.15.

Kalz teleportols

2010. szeptember 24. Pntek, 22 ra 38 perc.

minek tegnap jjel mr nem volt kedve visszalopzni a csilismeretek terembe, viszont Abiglnek annl inkbb. Megbeszltk, hogy 11 rakor besurranunk az alagsori teleport helysgbe s felmegynk az 1991VGre. . . egyeztettk az rinkat s vrtuk a 11 rt, termszetesen mindezt a legnagyobb titoktarts mellett. A szoksos menetrend, majd lelkes alvssznlels. . . Kzben azon meditltam, hogy most mit lenne rdemes meggyels al venni a teremb l. A Marsra gondoltam, remltem, hogy Abiglo nek is tetszeni fog az tlet. Ezzel az lmodozssal gyorsan el is rppent az id hromnegyed tizenegyig. Ruha fel, aztn elindultam a kalandra. Apuko mk szobjnak ajtaja krl fny sz r dtt ki, mg ment bent a TV. Ahogy uo kzelebb rtem hallottam, hogy beszlgetnek is, ezrt klnsen vatosan osontam t a folyosn. t perccel 11 el tt mr kszenltben lltam az alago sorban. 10.58-kor betttem a szmkdot, az ajt simn nylott, de furcsa mdon most nem volt kivilgtva a helysg. Nem zavart, mert kintr l elg o sok fny jtt be. Vrtam. Aztn arra gondoltam, hogy taln azrt nem kapcsolt be a lmpa, mert mg nem csuktam be az ajtt. . . Mr nem emlkeztem, dlel tt hogy volt. Becsuktam az ajtt s visszatartottam a llegzetemet a telo jes sttsgben. Nem fltem, elkezdtem leveg t is venni s gyeltem hogyan o csinlom. Kt csipogs: az rm jelezte az egszet, 11 ra.

1.15. KALZ TELEPORTOLS

63

Ezerkilencszzkilencvenegy v g mondtam, de nem trtnt semmi. Ezerkilencszzkilencvenegy v g ismteltem meg, de most sem trtnt semmi. El kaptam a mobilt, bekapcsolt a billenty zete s a kijelz . Hvo u o tam Abiglt, nla ugyanez volt a helyzet. Valami nem stimmelt. (Azta persze mr tudom, hogy az opertorok lland felgyeletet tartottak, nemrgiben meg is nztem az akkori holofelvteleket: Egy kis terem, benne nhny ember tbb holomonitort gyel. Hirtelen zldre vlt a vilgts s kt holomonitor kpe felfvdik, szinte betltik a pici szobt. Az egyikben Abigl lp be az alagsori teleport szobba, a msikban n. A meggyel k nem lettek idegesek, viszont hamarosan az igazgatn o o lpett be hozzjuk. Mib l lesz a cserebogr? krdezte, mikzben tvette az irnytst az o gyeletest l. o Az 1991VG-re akartak teleportozni. Motivcijuk tudomnyos rdekl o ds keverve pici kvncsisggal s kalandvggyal. A Csillagszati ismeretek termkbe igyekeznnek nagy titokban jelentette az igazgatn nek az gyeo letes tiszt. Kzben a kinagytdott kp holomonitorokban csak annyi ltszott, hogy u kt kislny azaz mi br egyre cskken lelkesedssel, de, mint valami o varzsigt, ismtelgetik a sttben: ezerkilencszzkilencvenegy v g, ezerkilencszzkilencvenegy v g. J, sem btortani, se felel ssgre vonni nem akarom oket. . . el rehozo o zuk a programot. Egyel re had higgyk, hogy ez a kis kaland az o titkuk. Ne o akadlyozzuk oket, mehetnek az 1991VG-re. Improvizlunk, a makett lljon kszen, mire odarnek! De a pont nem akarom lel ni, lssuk tovbb, akkor mit rtam err l a o o naplmban! ) Mr kezdtem azt gondolni, hogy egyszer en a teleportot nem akkor haszu nljuk, amikor mi akarjuk, hanem akkor, ha megengedik neknk, amikor bekapcsolt a vilgts. Azonnal tudtam, hogy menni fog. Ahogy kimondtam: ezerkilencszzkilencvenegy v g, mr ott is voltam! Abigl mr el bb o megrkezett, elindultunk a dlutn megismert ton, sikerlt is szrevtlenl bejutnunk a csilismeretek terembe. Minden gy volt, ahogyan nemrg mi hagytuk, csak a nagy kr asztalon forgott valami. Lassan nehogy zajt csapjunk a flhomlyban dereng szobban kzelebb mentnk az asztalhoz. o Egy abroncsot forml makett volt kivettve, a kzepe mozdulatlan volt, a szle viszont forgott. Lassan felje nyltunk, hogy megrintsk a kzept. Alig rintettk meg, amikor a makett hirtelen felfvdott s el ttnk magao

64 sodva betlttte a szobt!

FEJEZET 1. PROGRAMOZS

1.15.1.

A Kk Fld csillaghordoz haj

2010. szeptember 25. Szombat, 16 ra 10 perc.

Egy hatalmas: bszke s karcs kerek monstrum, a Kk Fld csillaghordoz haj. Legegyszer bben egy gumiabroncshoz hasonlthatnm, egy a u semmiben forg gumiabroncshoz. Mert meglep mdon a monstrum foro gott is. Nem valami eszeveszett sebessggel, de hatrozottan forgott. Amint azt ks bb megtudtuk, a forgs azrt fontos, hogy a bent dolgoz szemlyzet o minl jobban rezze magt az urhajval trtn utazsok alatt. Bell olyan o ez, mint egy krhinta, amiben a furcsa er folyamatosan prbl oldalra kio szortani. Ha elkpzelem, hogy nem lk a hinta szkben, hanem fekszek, a talpam a krb l kifel mutat, akkor ez az er mr gy hatna rm, mintha o o simn llnk a Fldn. Teht a talpammal nyomnm a talajt. Szval a forg abroncs utasai nem lebegnek a slytalansg miatt, hanem ugyangy llnak, jnnek-mennek, mint n itt a Fldn. A hajkerk tetejn jl lthat az abraka felrat: Lelu Homoe fuzikarve. Ami annyit tesz magyarul: Kk Fld csillaghordoz. Ez lehet a haj neve! Alig fordtottuk le, amikor megszlalt egy kedves hang abrakul. Nem mindent, de elg sokat rtettem abbl, amit mondott. Bemutatkozott a ltogatk nak, per pillanat neknk, hogy o a haj egy valamilyen programja s szvesen bemutatja neknk a hajt, ha kvnjuk. Aztn csend, rjttem, hogy azrt hallgat, mert vlaszra vr, hiszen megkrdezett minket. Halkan vlaszoltam abrakul, hogy kvnjuk. Erre belekezdett! Elmondta, hogy minden az igenrtelmes kzssgbe tart civilizci megpti csillaghordozjt. Mert a csillaghordozk, mint mozg nagykvetsgek kpviselik szl vilgaikat szerte o az Univerzumban. Ok alkotjk az igen-rtelmes kzssg ottjt. Alapvet o feladatuk az igen-rtelmes kzssg vdelme, teht egyfajta katonai er t o kpviselnek. Br az elmlt (fldi id ben szmtott) 154 ezer vben katonai o beavatkozsra nem volt precedens. Gyakorlatilag mr egyetlen ilyen haj megjelense is meghozza a vits krdsekben a gyors s bks megegyezst a kzssggel. Teht a hajkat inkbb diplomciai hajknak, semmint hadihajknak tekinthetjk. De az igazsg azrt az, hogy ezek hatalmas hadihajk diplomciai kldetsekkel. Ez vilgos volt, van azonban ezeknek a hajknak egy megdbbent tulajdonsga. Teleptve van rjuk egy igen-rtelmes komo

1.15. KALZ TELEPORTOLS

65

puterrendszer, ami nem csupn egy mestersges intelligencia, hanem egy mestersges tudat, egy FWB! Hopp! A magyarzat rvid, de korntsem egyszer . Tekintsk az pl Lelu u o Homoe fuzikarve-t s tegyk fel, hogy mr ksz is van. Ekkor a hajz legnysg br kiemelked kpessg arra nem kpes, hogy a hajt az Unio u verzum roppant tvoli vilgaiba tudja vetteni. Ezrt kell egy olyan tudatos lny, akit csak tisztn erre a feladatra ksztettek fel, semmi sem zavarja ot abban, hogy a hajt a tvoli vilgokba kpzelje el, azaz a tvoli vilgokba vettse, amire a haj hipp-hopp a valsgban is ott lesz. Itt Mri kzbeszlt: Na s kik fogjk irnytani a Lelu Homoe-t? Mindenfle vlaszt vrtam, csak azt nem, amit hallottunk: Kzletek heten. Ki az a ht? Mg nem tudni, csak annyit mondhatok, hogy az vlasztja majd hivatsknt ezt a kihvst, aki gy rzi majd, hogy ezt a feladatot re szabtk. n gy rzem. Vlaszolt Mri azonnal. n is. n is! Mondtk tbben is. Hiszen mg nem is ismeritek a feladatot, bitmank! gy gondoltam, hogy id vel, a szimultoros vezetsi gyakorlatok utn fog majd bennetek o kialakulni: akartok-e a Kk Fld fedlzetre lpni? s mikor lesznek ezek a szimultoros vezetsi gyakorlatok? A jv htt l, a Csillaghajzs ra keretben fogtok majd szimultoros o o vezetsi gyakorlatokat vgezni. Az tk j! Veled? Igen, velem. s Te melyik program vagy, mi a neved? n a haj vagyok. A Lelu Homoe fuzikarve szoftvere, egszen pontosan a hajn fut, fldi fejleszts FWB. u Megprblom leskiccelni: A B C a gravitl abroncs (forg rsz) a f fedlzet (nem forog) o a cserlhet magreaktor kpja o

1.2. tblzat. Az pl Kk Fld csillaghordoz f rszei. o o

66

FEJEZET 1. PROGRAMOZS

1.15. bra. Az pl Kk Fld csillaghordoz rajza. o

1.16.

Hnyflk a programozk?

2010. szeptember 27. Htf , 18 ra 51 perc. o

Mg t kell futnom egy kisolvasmnyt. Igaz, hogy nem kri majd senki szmon, de rdekesnek t nik. Mr csak azrt is, mert 3, azaz hrom tanr u adta ki kzsen!

Programozs-trtnet Trtneti ttekints Brdos G. - Harang R. - Kelep L.


Kivonat
Ez a kisolvasmny ttekintst ad a programnyelvek kialakulsrl, megismertet nhny tipikus programnyelv szellemvel.

Hnyflk a programozk? Erre a krdsre a rvid vlasz: ahnyflk a nyelvek!

1.16. HNYFLK A PROGRAMOZK?

67

1.16. bra. A Kk Fld legnysgi-korongjnak tervrajza.

1.16.1.

Nyelvek

A klnfle programozkat az kapcsolja ssze, hogy mindannyian valamilyen specilis nyelvet hasznlnak a gpekkel val kapcsolattartsra. E kapcsolat nyelve lehet gpi szint , vagy valamilyen erre a gpi szintre ru pl , magasabb szint nyelv. Minl magasabb szint a nyelv, a programoz o u u annl knnyebben tudja benne megfogalmazni a gondolatait. De ne feledd: a gp csak a sajt gpi nyelvet rti! Ha magasabb szint nyelvet hasznlsz, u akkor olyan programokat is fel kell hasznlnod, amik lefordtjk vagy rtelmezik a gp szmra a mondanddat. A gpek ereje abban rejlik, hogy br meglep en egyszer , apr dolgokat o u vgeznek el, de ezeket egy pillanat alatt, ezrt hatalmas mennyisg apr u dolgot tudnak vgrehajtani az ember szmra csak egy szemvillantsnyinak t n id alatt. Olyan hatalmas mennyisget, ami mr tlp min sgbe, mert u o o o a sok kis apr lps egymsutnja kiad nagyon bonyolult dolgokat! Assembly A gpi szint nyelvet hasznlva a programoznak a processzor egyszer u u szjrst kell kvetnie. Ebben az egyszer szjrsban nincsenek pldul u krk, vonalak, kpek, hangok s mg sok minden ms sincs, amit megszoktunk, csupn szmok vannak! Szmok a memriban s a processzor-

68 A B C D E F G H I J K

FEJEZET 1. PROGRAMOZS az irnyt (gmb)flke a szerviz liftek a kls gy r folyos o uu a bels gy r folyos o uu a reaktor gy r folyos uu az koterem a szupravezet magreaktor o a legnysgi pihen k o az tkez o a teleport helysg a kondicionl termek

1.3. tblzat. A legnysgi szint f rszei. o ban, amiket ssze lehet adni, szorozni s megvizsglni, hogy nagyobbak-e egy msik szmnl vagy kisebbek, meg ilyesmi. Jogos a krds, hogy akkor mi mdon lehetsges olyan szuper spci jtkokat rni, ahol gynyr u urhajk siklanak hangtalanul a csillagokkal telet zdelt stt urben, leth u u dinoszauruszok el l kell rohannunk, repl gp szimultort vezetnnk? Ht o o apr, icipici, egymsra pl lpsekben. o Feladat: Kitallod, hogy az albbi alakbl hogy jttek ki a 24, 24, 126, 153, 24, 36, 66, 66 szmok? (Segthetek? Kettes szmrendszer.)

1.17. bra. 8x8-as plcikarobot.

00011000

1.16. HNYFLK A PROGRAMOZK?


00011000 01111110 10011001 00011000 00100100 01000010 01000010

69

Ahny processzorfle van, annyifle gpi nyelv is van, de nem kell tlsgosan megijedni, ezek a gpi nyelvek sokban hasonltanak egymsra. Mirt? Mert a gpi nyelvek mgtti egyszer szjrs minden hagyomnyos prou cesszornl ugyanaz! Egy gpi nyelv pldul az i8086-os processzorcsald nyelve. Magas szint nyelvet hasznlva a programoz mr bonyolultabb, kompu lexebb dolgokat is felhasznlhat a gondolkodsban, semmint csupn a szmokat. Ezzel knnyebb lesz a munknk, mert kicsit mr tvolabb kerlnk a gpt l, teht nem kell a gp egyszer szjrst kvetni. A magas szint o u u nyelvek s a gpi nyelvek kztti tvolsgot programok segtenek thidalni, ezek a fordtprogramok. Ezek a magas szint nyelven rt programokat gpi u nyelv programokra fordtjk, amiket a processzor megrt, azaz mr tudjk u a gpet vezrelni. Teht, ha gpi nyelven programozol, akkor az ltalad rt gpi kd vezrli a gpet, ha magas szint nyelven programozol, akkor (a Te u programodbl) a fordtprogram ltal rt gpi kd vezrli a gpet. C nyelv A gpi nyelvhez a legkzelebb ll magas szint nyelv a C nyelv. A C u nyelv megad minden ahhoz szksges eszkzt, hogy algoritmusaidat lerhasd: szpen egyms utni rendben hajtdnak vgre az utastsai, amit meg tudsz bolondtani mindenfle elgazsokkal vagy ciklusok szervezsvel. A lnyeg, hogy a nyelvb l hozzfrsz a memrihoz, amiben szabadon garzo dlkodhatsz, tetszsed szerinti dolgokat hozhatsz ltre. Ez az, amirt a C nyelv mg meg tudja adni azt a nagyszer , felemel rzst, hogy tudod, mit u o is csinl a programod a gpben! A magasabb szint nyelvek mg jobban megknnytik a programozk u munkjt, mint a magas szint nyelvek. De ezrt a knnyebbsgrt azzal kell u zetnnk, hogy ezeket a nyelveket mr nem tudjuk brmilyen feladat megoldsra hasznlni, mert a magasabb szint nyelveket rtelmez programokba u o mr el re be vannak ptve a problmk megoldsnak optimlis mdjai. A o

70

FEJEZET 1. PROGRAMOZS

programoznak elg magt a problmt lernia, a megoldst a nyelv rtelmez je mr automatikusan elkszti. Ez jl hangzik, de nem brmilyen, hanem o specilis feladatokra, problmkra m kdik. u Magasabb szint nyelv pldul a SQL, vagy a Prolog. Az SQL nyelvek u adatbzisnyelvek, adattblzatokkal dolgoznak, egy ilyen tbla rszlett ltod az 1.4 tblzatban. Az albbi SQL mondat pldul lekrdezi a Jvcska portl adatbzisnak bitmano nev tblzatbl, hogy a javacska becenev- u u sorban mi a nev, a cim s az utolsobej sorok tartalma:
SELECT nev, cim, utolsobej FROM bitmano WHERE becenev=javacska;

1 2 3 4 5 6

nev Kelep Lszl Brdos G. Kardos Erzsbet Goldenger Abigl Bart Virg Lovas Mri

becenev kelepl bardosg pahene abi javacska mario

cim Nagyatom, Szilrd Le t 2. Nagyatom, Wigner Jen tr 11. o Nagyatom, Wigner Jen tr 17. o Nagyatom, Szilrd Le t 22. Nagyatom, Szilrd Le t 30. Nagyatom, Szilrd Le t 34.

utolsobej 2010-09-02 05:14:17 2010-09-02 11:20:57 2010-09-01 12:22:35 2010-09-02 07:42:34 2010-09-02 22:21:54 2010-09-01 12:24:24

csapat API MIDlet GUI Integer MIDlet Applet

1.4. tblzat. A bitmano SQL tblzat rszlete. Szval a


SELECT nev, cim, utolsobej FROM bitmano WHERE becenev=javacska;

mondatra20 (lekrdezsre) jn a vlasz, hogy


Bart Virg Nagyatom, Szilrd Le t 30. 2010-09-02 22:21:54

A
?szereti(Norbi, Erika)

Prolog mondatrl egy adatokkal, tnyekkel feltlttt Prolog rendszer ki tudja kvetkeztetni: igaz-e vagy esetleg hamis. Szval a Programming logic rendszerek ereje a logikai kvetkeztets kpessgben rejlik.
fordtsa: vlogasd ki a javacska becenev sorokbl a nevet, cmet, utols beu jelentkezs idejt a bitman tblzatbl!
20 Magyar

1.16. HNYFLK A PROGRAMOZK? Java nyelv

71

A legmagasabb szintre azokat a magas szint objektum orientlt nyelveu ket soroljuk, amelyek szorosan egytt lnek el re elksztett objektumok hao talmas tmegvel. Ezeket az objektumokat, osztlyokat, hogy el tudjunk kzttk igazodni, csaldokba soroljuk. A legklnbz bb csaldok lteznek. o Van olyan csald, ami segti magt a programozst; van, ami segti a kommunikcit az Interneten keresztl; van, ami a mobiltelefonok programozst teszi lehet v; van, ami a kommunikcit teszi lehet v az adatbzissal o o s mg sorolhatnnk sok-sok oldalon keresztl. A csaldok sszessgt APInak nevezzk. Ilyen nyelv a Java, a Java API sok osztlyval ismerkednk majd meg ebben a knyvben is. De ez mg nem lett volna elg ahhoz, hogy a Java vilgnyelvv vljon. A Java nyelven rt programok valdi erejt az adja, hogy ezek a programok fggetlenek a gpekt l! Mert mindegy, milyen gpnk van, a Java program o fut rajta s mindegy, milyen gpre kell programoznom, mert a Java programok minden gpen futnak.

1.16.2.

Programozk

Vannak programozk, akik gpi szint nyelven programoznak, ok egy u processzor nyelvt beszlik. Ok gpi kdban programoznak: szmsorozatok kal vezrlik a processzort. Ok azok a programozk, akik legjobban ismerik a gpeket. Pldul a . . . , 184, 250, 9, . . . szmsorozat azt mondja az i8086-os processzornak, hogy a 2554 szmot tltse be. Hogyan mondja? Hexban a 184, 250, 9 sorozat B8 FA 09, a gpikdban programozk ezt (mivel a programozk kztudottan jobban szeretik a bet ket, mint a szmokat) gy u rjk le, hogy MOV AX, 09FAH ; ; ; ; ahol a MOV AX kdja a hexa B8, a H a 09FA vgn azt jelzi, hogy a 09FA szmot hexban adtuk meg. Mennyi egybknt ez tzesben?

A processzor nyelvt beszlni nagyon izgalmas s bens sges dolog, de o lass, fraszt s nehz munka! Az viszont igaz, hogy olyan dolgokat is meg lehet itt csinlni, amit magasabb szinten mr nem. Mert emlkezz vissza: itt a gpi kdot az ember rja, a magasabb szinteken pedig mr valamilyen program.

72

FEJEZET 1. PROGRAMOZS

Aztn vannak programozk, akik magas szint nyelven programoznak s u vannak programozk, akik magasabb szint nyelven programoznak, illetve u vannak programozk, akik a legmagasabb szint nyelven programoznak. u Programozk feladat: Programozk feladat: az utbbi hromfle programozkat tudnd jellemezni nhny mondatban?

1.17.

Bitman riport

2010. szeptember 28. Kedd, 17 ra 28 perc.

Brdos G. tanr rtl azt a hzi feladatot kaptuk, hogy ksztsnk riportot egy bitmanval s rjunk err l egy fogalmazst. A riport tmja az legyen: o Hogyan lettem bitman? Segtsgl elkldte a sajt letrajzi fogalmazst:

Most elmeslem nektek, hogyan lettem bitman


Valamikor, nem is olyan rges-rgen, hanem a szmtgpes szakma hajnaln, az 1980-as vekben nagy riadalmat keltett az iskolsok kztt egy gombokkal teli, tvkszlkhez csatlakoztatott, doboznak nevezhet valami o megjelense. Sokakat borzalommal tlttt el mr magnak a berendezsnek a puszta ltvnya is. Bevallom akkoriban magam is j adag flelemmel vegyl kvncsisggal tekintettem az egybknt az elfogulatlan szemll lo o tal mg veszlytelennek is tlhet kszlkre: az iskola egyetlen szemlyi o szmtgpre. Akkor mg nem sejtette senki, hogy ezek az intelligens gpek ugyanolyan segt trsul szeg dnek majd az embernek, mint pldul annak idejn o o a lovak. Maximum az a nhny gyerek sejthetett valamit, aki mr akkor beavatott volt: lthatan valamilyen szablyok szerint, btran nyomkodtk is a berendezs gombjait. De bizony, ami az iskolban felbukkan, azt hamarosan hasznlni is kell! gy volt ez a medicinlabdval, a kmiai ktseket gyakorl kirakval. . . s nem trtnt msknt a szmtgppel sem. Hamarosan meg is kezdtk az rdekl d k toborzst. n is, mint sok ms trsam, nknt jelentkeztem. A o o legtbb nkntes szakkrs s fakultcis azok kzl kerlt ki, akik a sznetekben amgy is ott kvncsiskodtak a gp krl szorgoskod beavatottak kztt. Mire a csapatok sszelltak, megrkeztek a gpek is: j nhny

1.17. BITMAN RIPORT

73

Commodore+4 formjban! Egyetlen tanr volt csak beavatott, szmunkra egy megjelensben s tudsban is mgus, hatalmas valdi szakllal, mly hanggal. Amit mondott, annak gy kellett lennie. Szavainak mg a gpek is engedelmeskedtek! A hang persze itt nem szmtott, mert a Gpekkel eleve nem is gy beszlt, mint velnk, hanem inkbb rsban. A szavakat valami rdgi s utnozhatatlan sebessggel a gp gombjainak lenyomsval vitte bet nknt be a gpbe, ami a csatlakoztatott tv kperny jn keresztl vlau o szolt vissza. Nem magyarul, hanem leginkbb az angol nyelvre emlkeztet o BASIC nev nyelven beszltek egymssal. Hamarosan megtudtuk, hogy neu knk is ezt a nyelvet kell majd megtanulnunk! Mert ez a gp, avagy pontosabban a gp hardvert vezrl BASIC rendszer, csak akkor rt meg bennnket, o ha ezen a nyelven kommuniklunk vele. De a szmtstechnika rkon a legmisztikusabb, legizgalmasabb rsz nem is a gpekkel val beszlgets volt, hanem a gpek programozsa. Ami tulajdonkppen a vilg legmagtlrthet bb dolga: mi megmondjuk a gpo nek, hogy mit csinljon, a gp pedig megcsinlja, amit mondtunk neki. De ahogyan trtnt, az a nagy varzslk mindenfle mess varzsigket tartalmaz pergamenjeit idzte. A nagy mgus kznapi nevn a szmtek tanr bcsi, ks bb tanr r az rk utn hossz listt mutatott neknk. A listt o szt lehetett hajtogatni s szthajtva akr tbb mter hossz is volt. Ha lefektettk a fldre, akkor vgig stlhattunk mellette. m nem ez volt a lnyeg, hanem a tartalma: rvid szmozott sorokbl llt. Minden sor egy szmmal kezd dtt, amit aztn f leg bet kb l s szmokbl ll rszek kvettek, meg o o u o voltak mg egyenl sgjelek, idz jelek, kett spontok, miegyms. Mint egy o o o modern mgia friss varzsigi. De ez mg mind semmi: igen tisztelt mgusunk bmulatos sebessggel billenty zte be ezeket a szmozott sorokat a gpbe. Aztn jtt a csoda! A u gpnek parancsot adott, hogy futtassa le a bevitt szmozott sorokat. A gp pedig elkezdte a sorokat rtelmezni s kzben mi mit lttunk letre kelni a csatlakoztatott tv kperny jn? Mindenfle izgalmas jtkokat!!! A vg o nlkl kgyz szmozott sorok egy programot alkottak, egy jtkprogramot. Lassan mi is beavatottakk vltunk. rdekel mi volt ennek a mdja? A tanuls, termszetesen. Legel szr is meg kellett tanulnunk a BASIC nyelvet s o megismerni a Gp gondolkodsmdjt: hogy mi egy vltoz, vagy pldul ltalban mit tudunk megkrdezni a Gpt l vagy mit tudunk neki megparano csolni. Arra persze magunktl is rjttnk, hogy ha eldobunk egy ft, akkor a gp nem ugrik s nem hozza vissza :) Viszont, ha elmondjuk neki (beprogramozzuk), hogy mit jelent kt szm sszeszorzsa s adunk neki kt olyan

74

FEJEZET 1. PROGRAMOZS

nagy szmot, hogy mi magunk csak j sok id alatt tudnnk kiszmolni a o szorzatukat, akkor a Gp egy pillanat alatt kikpi a hibtlanul kiszmolt szorzatot! Voltak, akik ennyivel meg is elgedtek. Nem fltek a Gpt l, nem volo tak szolgi a Gpnek, hanem kpesek voltak azt elvgeztetni vele, amit ok akartak. De nem tudtak mindent kihozni a Gpb l, amire az kpes volt, mert o mg nem voltak programozk. Akik azok akartak lenni, azok tbb id t kezdo tek eltlteni a Gp trsasgban. BASIC programokat rtak csak papron s elcserltk egyms kztt, hogy rtelmezzk a szmozott sorokat, megmondjk, hogyan fogja majd az utastsok sorozatt a Gp rtelmezni. Nem sok id telt el, amikor ez a kis csapat mr a Gp BASIC rtelmez rendszeo o rt is meg tudta kerlni: az M + SHIFT O misztikus paranccsal belptek a Gp memrijba s szmokkal mr kzvetlenl a processzort vezreltk! Ok mr nem BASIC nyelven beszlgettek a gppel, hanem a gp processzornak sajt nyelvn, mr nem voltak rutalva a BASIC rtelmez program o segtsgre, hogy szt rtsenek a Gp lelkvel, a processzorral. Akik eddig a varzslatig eljutottak, azokban mr beindultak azok a folyamatok, gondolatok, amik hajter knt tudtak m kdni a plyavlaszts sorn, mgnem csak o u megszletik a dnts: programoz leszek! Az rettsgiig persze mg eltelt pr v, kzben a BASIC nyelvet felvltotta a PASCAL, a Commodore 16, +4, 64 Gpeket pedig a DOS rendszer u IBM XT/AT. Ment az tlls, mint a karikacsaps, ebb l az id b l egyetlen o o o fogalomra emlkszem csupn: itt tallkoztunk a fjlrendszerrel, vagy ahogy akkor neveztk, a knyvtrrendszerrel. Bennnket az iskola falai megvdtek, de ekkor mr javban zajlott a hbor. A hbor, amelyet a flelmetes tempban szaporod tudsunkkal, adatainkkal vvunk, hogy ne rendezetlen adattmegekknt zuhanjanak rnk s havazzanak el bennnket! Knyvekben, papron olyan sok adatot, tudst mr nem tudnnk trolni, nem mg, hogy visszakeresni s felhasznlni, amennyivel most mr rendelkeznk. Programozsi nyelvek kialakulsa, virgzsa s hanyatlsa jellemzi ezt a harcunkat. Tisztelegjnk e h sk neve el tt, ha mso o sal nem is, de legalbb nevk megemltsvel: 1800-as vek: Ada Augusta Lovelace az els programoz, rla egy moo dern programozsi nyelvet is elneveznek majd vagy 150 v mlva. O Charles Babbage mechanikus gpt programozta. A mikntr l annyit, hogy ha o nekem ma gy kne programoznom, azt komoly bntetsknt lnm meg :) Mint ahogyan 2160 egy programoz, aki mondjuk gy r programot, hogy csupn elkpzeli annak m kdst, majd kellemetlennek tartja az n Java u

1.18. CSILLAGSZATI ISMERETEK

75

nyelven rt OO progimat! 1900-as vek kzept l: FORTRAN, ALGOL, COo BOL, PASCAL, C, SMALLTALK, Ada Br a felsoroltak tbbsgt magam sem ismerem :) A programoz iskolban mi jobbra UNIX opercis rendszereket hasznltunk s C nyelven kommunikltunk a gpekkel. De kzben a hangslyok eltoldtak, mert kitrt a forradalom: tallkoztam az Internettel! Elspr erej volt, engem is magval ragadott: hopp, legyen sajt honlao u pom! Hopp, legyenek rajta Java Appletek! Hopp, rok valami j kis hlzati programot! Ma Java nyelven programozok. Ha PC gpre rok, akkor a Java J2SE nyelvjrst hasznlom, ha pldul mobilra, akkor a J2ME nyelvjrst. Mikor lettem kzben bitman? J krds. Taln mg a BASIC korszakban, amikor gy gondoltam, gy reztem, hogy brmilyen programot meg tudnk rni. Mert csak elkpzelem, hogy mit kell elvgezni a gpnek s szpen lassan az elejt l a vgig ezt lerom, rom, rom: rtkadsok, elgazsok, o ciklusok s gy tovbb, mg el nem kszl a program. Ma mr nem vagyok ilyen optimista, tudom, vannak olyan feladatok, amiket ezekkel a gpekkel remnytelen lenne megoldani! A jv programozo ira hrul az az izgalmas kihvs, hogy olyan szmtsi modelleket eszeljenek ki, amikr l ma mg csak lmodozunk. o Vajon holnap miben fogtok programozni? n nem tudom, de taln ppen Te fogod kieszelni. Riport feladat: Beszlgess el egy bitman ismer sddel arrl, hogy o hoo gyan lett bitman. A beszlgetsr l rj egy egy oldalas fogalmazst! o

1.18.

Csillagszati ismeretek

2010. szeptember 29. Szerda, 17 ra 28 perc.

1.18.1.

WiFi hlzatok

Az utcnkban minden csaldi hzban teleptettek egy bzisllomst, gy mindenkinl van egy access point. Amikor otthon bekapcsolom a noteszgpemet, akkor bekapcsols utn automatikusan ezen keresztl kapcsoldok a Vilghlra. A gpem hlzati csatolja rdihullmokkal kommunikl

76

FEJEZET 1. PROGRAMOZS

az access point-tal a 2.4 GHz frekvencin. Sokkal rdekesebb viszont, amikor ad hoc hlzatot ptnk ki, ilyet szoktunk pldul, amikor lemegynk a parkba, vagy a jtszira. Csak bekapcsoljuk a gpeinket s sszekapcsoldunk egymssal.

1.18. bra. WiFi access pointtal.

1.18.2.

"Igen rtelmes" hlzatok

Mentlis abraka21 : ez egyfajta telepatikus kapcsolat, a fldi WiFi hlzatokhoz hasonlthat leginkbb, de itt nem csak szmtgpek, hanem tudatok, pldul emberek lehetnek sszekapcsoldva. Mentlis abraka hlt is felpthetnk egy csak magunk kztt (ad hoc) hlzatot, de csatlakozhatunk egy nagyobb "igen rtelmes" hlzathoz is. Ma tbbet is megtudtunk az esetlegesen szombatokon is tartott Csillagszati ismeretek rrl (ismertebb nevn: csilismeretek). Otthon hiba krdeztk Rentt, egy Sznx kzlkenyebb.
Tanr::Harang R.> Kedves gyerekek! Szeretettel dvzllek benneteket! Ahogy azt mr az rarendbl tudjtok: n tartom o
21 Rviden:

mentlis abrakban = gondolatban.

1.18. CSILLAGSZATI ISMERETEK

77

1.19. bra. Ad hoc WiFi.


majd a Hlzati programozs, az let a Fldn kvl s a Csillagszati ismeretek rkat. Tanul::A. Brn> Ez most melyik, a webes rarenden nem tudtam eligazodni... Tanr::Harang R.> , Beszdes Brn, most Csillagszati ismeretek van. Tanul::L. Mri.> Akkor megkrdezhetem: gy hallottam, hogy szombatonknt is ktelez az iskola?! o Tanr::Harang R.> Igen, de mivel ezek az alkalmak kirndulsknt is felfoghatk, szerintem nagyon lvezitek majd! Legkzelebb szombaton reggel kilenckor tallkozunk az erm elcsarnokban, ahol megismerkednk a termonukleris o u o fzival. Tanul::A. Brn.> Ha szabad tudni: egsz vben fizikrl lesz sz? Tanr::Harang R.> Nem, de mivel a Nagyatomi Fzis Erm o u nagyon nagy jelentsggel br a vros, st az egsz orszg o o szempontjbl, ezrt rdemes megismerkedni vele kzelebbrl. o

A holnapi ltogatsra mg el kell olvasnom Renta kisolvasmnyt: http://www.clib.dote.hu/javacska/seged/index.html#kieg

78

FEJEZET 1. PROGRAMOZS

Micsoda adatok, br most kicsit zg a fejem a s r sgekt l s kilktl. uu o Teht a Mars vrs, a Jupiter szrke, s a Plt jgtmb, mint az stksk. Htvgn, ha vgre tiszta lesz az g, s apa is megengedi: aprlkosan megnzem a kzelebbieket Grti tvcsvvel. Eddig nztem, nztk, de most mg rdekesebb lesz! mi s Balzs gyansan sokat beszlgetnek mostanban. . . Tegnap este csak annyit vallott be nagy pirulsok kzepette, hogy Balzsnak is van akvriuma ( hrom napja ragasztott egyet nagyapval, most kt guppi s egy o gyngygurmi pr kerget zik benne), csak tancsot krt t le, Balzs ugyanis o o imd mindent, aminek kze van a vzhez. Hiszi a piszi.

1.19.

Igen rtelmes civilizcik: a trore glike zeuse npek

2010. szeptember 30. Cstrtk, 17 ra 56 perc.

Ma igazn izgalmas volt a csilismeretek: kiderlt, hogy nem csak utazunk majd, hanem j fajokat, j RTELMES fajokat ismernk majd meg! Ma egyel re csak az adatbzissal ismerkedtnk, nekem els re a trorek nao o gyon misztikusak: A trore glike zeuse faj egyede els pillantsra fentr l lefel nzve tmeo o netnek t nik egy fensges bagolybl robosztus raptorba. tlag slyuk 320 u kg, ami - a szintn szoksos - kt s fl mter magas testkn oszlik el. Az tlagos testtmeg/agytmeg arnyuk 39.5. A legfontosabb szmszer adau tuk: 354552 vee a fajra vettett tlagos vettsi mutat. Fejket s r fekete uu sz r bortja, ltalban kerlik az extrmitst: rvidre vgva hordjk, s nem o festik. Nagy, sarkukban sszer szemeik feletti szemldkk fent a szem voo nalt ksrve megszakts nlkl kanyarodik t szakllba. Az arc sz rzetb l o o tisztn emelkedik ki a szemek tallkozsa alatt l rvid, hegyes cs r. A fej o o tetejt s a tarkt bort sz rzet kveti a szemldk vonalt. A fej a vastag, o er teljes, de az egsz testhez viszonytva mgis karcsnak nevezhet , hossz o o nyakon egyenesen l. Tpllkozs kzben a meztelen nyakon majd fl mter hosszan ltszik a nyels. A nyak a kerek ht s a vllak vzaszer szerkeu zetben vgz dik. Kt el renyl, ngyujj karban folytatdnak a vllak. A o o farok legalbb olyan jl fejlett, mint a raptor szer lbak. Mind a ngy vgu tagon ngy-ngy visszahzhat, er s karmokban vgz d ujjak lthatk. A o o o

1.20. AZ ELSO CSILLAGHAJZS RA

79

visszafel nz ujjakon tompk, a tbbin hegyesek a karmok. Viszont nagyon o ritkn lehet gy ltni egy trore glike zeuse-t! Szinte mindig elfedi testket a ruhagenertor: ez egy abroncsokbl felpl , tjrhat, holograkus hao rang. Szoftveresen mindenfle mintkkal lehet feltlteni az abroncsokat, akr mindegyiket mssal vagy maradhat egy-egy ttetsz is, de arra mindannyian o gyelnek, hogy egy id ben ne mind legyen ttetsz . A mintk dinamikusan o o futnak t az abroncsokon, vezrelhet temben. o
Abszolt vettsi mutat Relatv vettsi mutat Magassg Testtmeg Agytmeg Agyhullm frekvencia Nyelv szlelt hangtartomny 248409,27 vee* 354552 vee 250 cm 320 kg 8100 g 19.2 Hz abraka (mentlis, verblis) 12000-19000 Hz

1.5. tblzat. A trore glike zeuse faj adatai.

1.20. bra. Trore glike zeuse.

1.20.

Az els csillaghajzs ra o

2010. oktber 1. Pntek, 19 ra 11 perc.

80

FEJEZET 1. PROGRAMOZS

Ma megvolt az els csillhajzs ra, j sokat kell tanulni! Pldul be kell o vgni kvlr l a felszllsi, a leszllsi, a meneklsi protokollokat. Idzek o a Csillagkzi utazsok kziknyvb l: o

1.20.1.

A felszllsi protokoll
Kapitny: 1-es ls Els tiszt: 6-os ls o Taktikai tiszt: 5-s ls Kommunikcis tiszt: 4-es ls Navigcis tiszt: 3-as ls Elhrt tiszt: 2-es ls (Gyakorl replseknl: Oktat tiszt: 7-es ptls. Kiemeljk, hogy az oktat tiszt csakis vgveszlyben avatkozhat a replsi protokollba. Amg ez be nem kvetkezik, addig teljes mrtkben o is a kapitny parancsnoksga al tartozik!)

1. A legnysg tagjai elfoglaljk kijellt helyket az irnyt gmbben.

2. Az els tiszt a kapitny utastsra parancsot ad az irnyt gmb lezrsra. o 3. A haj komputere engedlyt kr a haj kls hlzati csatlakozsainak lebontsra. o 4. Az els tiszt a kapitny utastsra megadja az engedlyt. o 5. A haj komputere engedlyt kr az irnyt gmb s a haj kztti bels hlzati o csatlakozsok lebontsra. 6. Az els tiszt a kapitny utastsra tjkoztatja a gmbn kvl tartzkod fedlzeti o tisztet, hogy a tovbbiakban a haj teljes vezrlst is a gmb veszi t s egyben utastja a fedlzeti tisztet, hogy a gmbn kvli legnysg mlyaltatst kezdje meg. 7. Az els tiszt ellen rzi, hogy a gmbn kvli legnysg elrte-e mr a mlyalvs o o llapott. Ha igen, akkor ezt jelenti a kapitnynak. 8. Majd az els tiszt a kapitny utastsra megadja az engedlyt az irnyt gmb s a o haj bels hlzati csatlakozsainak lebontsra. o 9. A kapitny kiadja a parancsot, hogy az irnyt gmb legnysge s a csillaghordoz komputere ptsen fel egy bels mentlis abraka hlzatot. Ha mr mindenki o csatlakozott, akkor ezt mentlis abrakban nyugtzza az els tiszt. o 10. A gmb hlzata megkezdi a haj jelenlegi pozcijbl val kiszaktst s egyben az j pozciba vettst.

1.21. A NAFEM, AVAGY A TERMONUKLERIS FZI

81

1.21.

A NaFEm, avagy a termonukleris fzi

2010. oktber 2. Szombat, 16 ra 47 perc.

Ma szombat ellenre iskolai elfoglaltsgunk volt! El szr mi is csodlo koztunk, mi lehet az, amit ht kzben nem tudunk elsajttani, de kiderlt a nem szokvnyos (mintha ebben az iskolban brmi szokvnyos lenne) let a Fldn kvl rink lesznek tmbstve (ezeket E. T. rknak hvjuk): Re nta az er m ben tartja oket! Apa munkahelyn, a Nagyatomi Fzis Er o u o m ben. (Minden hnap utols szombatja nylt nap, leggyakrabban iskolk s u civil szervezetek lnek a lehet sggel.) Szerdn minden szl emailt kapott, o o amiben Renta osztlyf nkknt elkri a gyerekeket a szombat JSZAKAI o csillagszati rkra. Abigl vodsknt szmolta, mennyit kell mg aludni szombatig, de mi is nagyon izgatottan vrtuk, amikor betekintst kapunk apa munkahelyre. Szerencsre mg a ltogats el tt kaptunk kisolvasmnyt: o

1.21.1.

Energiagazdlkods
Csillagszati ismeretek Kisolvasmny Energiagazdlkods Harang R.
Kivonat

Ebben a kisolvasmnyban az energiagazdlkods kt f pillrnek m kdst ismerhetitek o u meg: az atomer m vekt s a fzis er m vekt. o u o u

A fzis reaktorok egy magncg csillagszati ksrleteinek eredmnye. (M kdsket knnyebb megrteni, ha gyelmesen elolvasttok a csillagou kat bemutat kisolvasmnyt a portlon.) Az energiagazdlkods szszer bb korszaka az er m vekkel kezd dtt. u o u o A fosszilis energiahordozk (k olaj, fldgz, szn) azonban mr csak max. o 5000 ves tvlatra elegend ek, s addig is maradand, radsul a fldi let o szempontjbl veszlyes krokat okoznak az energiatermels vgtermkei. Hossztvon a megjul energiaforrsok (szl, vz, napfny, nvnyek) felhasznlsa gazdasgos s kvnatos a fldi egyensly megtartsa miatt 22 .
22 A 2004-ben Pcsett beindult termszetes fahulladkot hasznost bioer m volt az els . o u o

82

FEJEZET 1. PROGRAMOZS

A termszeti er ket azonban nem mindenhol s nem minden id ben tudo o juk folyamatosan kiaknzni: vannak szerencssebb fldrajzi terletek, s kevsb szerencssek: az ott lak embereknek azonban ugyangy szksgk van energira mind a mindennapi lethez, mind a gazdasg m kdshez. u Az atomer m vek 25-30 vig kpesek energit termelni, utna le kell o u bontani oket (szerkezetk a folyamatos sugrzs miatt krosodik), s az gy keletkez trmelk is radioaktv. A fzis er m vek esetben nincs ilyen o o u lettartamkorlt, m kdsk kzben nem termel dik veszlyes hulladk. u o Nzzk mi a klnbsg a kt energiatermels kztt: 1. Az atomer m vekben sszis reaktor m kdik, ahol nehz magok hao u u stsval nyernek energit. A sszis reakci jellemz i: o spontn is bekvetkezhet, knny beindtani, u a kiindul anyagok nem gyakoriak (pl. urn), sok er sen radioaktv hulladkkal jr. o Az atomer m vek (leegyszer stve) aktv znbl, primer s szekuno u u der krkb l s pihentet rszekb l llnak (1.16. bra). Az aktv zo o o nban zajlik a nukleris lncreakci (az els magyar atomer m ben: o o u Pakson a f t anyag dstott urn volt, modertorknt vizet hasznluo tak), az ott termel d energit az aktv znt krlvev h t anyag o o o uo (Pakson ez szintn vz volt) a h cserl knek adja t, a szekunder kro o ben lv h t kzegnek. A szekunder krben mr nincs radioaktv ao uo nyag. A szekunder krben kering g z turbint hajt meg, az pedig o o ramfejleszt ket. A pihentet medenckbe a kigett zemanyag kerl. o o 2. Fzi (knny magok egyeslse nehezebbekk) sorn: u spontn nem jn ltre, nehezen indthat be, a kiindul anyagok gyakoriak, ltezik olyan verzi, amikor sem a kiindul anyagok, sem a vgtermkek kztt nincs radioaktv anyag. A fzis reakci nehzsgt els sorban annak elindtsa, illetve gazdaso gos (tbb energia termel djn, mint amennyit a m kdtets felemszt) zeo u meltetse adta.

1.21. A NAFEM, AVAGY A TERMONUKLERIS FZI

83

1.21. bra. Az atomer m . o u A reakci maga beindulstl kezdve automatikusan stabil, az atomer m vekben el fordul zemzavarok s balesetek (amelyek leggyakrabban o u o emberi mulasztsbl erednek s szintn emberi mulaszts, gyelmetlensg miatt vltak kritikuss) ismeretlenek. 2005. oktber 16-n sikerlt el szr hatkony fzis reaktort begyjtani, o ami a mai napig m kdik is. Azta minden v oktber 16-a a Nap napja. u A fzi beindulshoz igen-igen magas23 h mrsklet szksges. A fo zis er m vek tbbsge tokamak reaktort hasznl... o u Akrhnyszor olvastam el a kisolvasmny tokamakot bemutat rszt, egyszer en nem rtettem: itt egy kis munkagz hidrognnel, ott vkuumu kamra, plazma, krltte torodilis tekerccsel, divertor, jaj nekem. Egyltaln kinek jutott eszbe egy energiatermel berendezst tokamaknak neo vezni?! Remnykedtem, hogy a ltogatskor megvilgosodom, de be kellett ltnom, nekem ez knai. Pedig olyan logikusan magyarztk! Nem lehetek ennyire lma, Grtit s f leg a csillagsz bartjt majd addig nyaggatom a o krdseimmel, amg a vlaszaikat meg nem rtem. Rentt nem krdezhetem, mert rgtn lebukom, nagyapa szba sem jhet, mi mr az atomreaktor m kdst is csak a kp alapjn rtette meg, Apa pedig szoks szerint u belemlyedne a m szerek rettent en precz s hosszas lersba. u o Reggel jutott eszembe, nyakamon a Nap napja s mg g zm sincs, kivel o lelkezem majd ssze! Ha valaki hirtelen nem tudn mi ez: az v azon napja,
23 2

x 108 K (20 keV)

84

FEJEZET 1. PROGRAMOZS

amikor a hideg fzi feltallsnak rmre mindenki narancssrga gmbben atommagnak ltzik, s a nagy gongsz utn sszelelkezik egy msik, hasonlan vicces kinzet atommaggal. Egy atomvrosban gondolom mg u nagyobb felhajts lesz, mint mshol. Kisebb koromban (2007-t l nnep) reto tenetesen lveztem, el tte s utna egy htig a nap brmelyik szakban elo kaptam egy csaldtagom, s jl megszorongattam. Mostanra viszont az v azon napjnak rzem, amikor egyrszt rettenetes kinzetem lesz s ebben az llapotomban ms embertrsaim is ltnak, msrszt ksz knszenveds kitallni, kivel akcizom majd. Apnak knny : ott van neki Renta, Grti u is bejtott valami programoz-csillagszt, nagyapa valami kertsz sorstrsat emleget kiss pirulsan mostanban, mi mr sszemelegedett bvr Balzzsal. Csak n vagyok itt egy szl magam, mint az ujjam!

1.22.

Hangyrsadalom: biolgiai stratgiai jtkok

2010. oktber 3. Vasrnap hajnal, 03 ra 43 perc.

H , mostanig hangyrsaztam! Ki kellett prblnom, ma dlutn kaptam u meg, ez most a legmen bb jtk. o Gyakorlatilag mg alig jtszottam vele, szinte csak az installlssal vgeztem a kertben. A jtk stratgiai: egy (vagy akr tbb) hangyatrsadalmat kell szervezni, irnytani. A boltban egy risi dobozt lltanak ssze, benne az l hangyaboly vzval. (Olyat is lehet kapni, amiben nincsenek l hano o gyk, de ott tbb nap kell de volt, aki meslte, hogy neki kt ht kellett mire az arra jr hangyk felfedezik s birtokba veszik, de ezt a tpust klnben is tavasszal ajnljk.) Szval a boly vzt valahov a szabadba kell kihelyezni s a doksiban megadott krnyezetet kialaktani neki. n nem messze a hztl, a szobm ablakval szemben, egy leheletnyi domb tetejre teleptettem. A vzba eleve be van ptve tbb vezetk nlkli apr webkamera, meg van j sok olyan kamera is, amiket n tehetek oda, ahova tetszik. A jtk lnyege, hogy van 100 m hangym s (kezdetben) kb. 420 rendes, igazi, l u o hangym. A m hangyk gyakorlatilag robothangyk, ugyangy nznek ki, u mint egy termszetes hangya, de nem mozognak. Egy rszk x helyre van letve, beptve a bolyba, de 30-at n teszek oda, ahov akarok. A telepts msik rszt a PC gpen kell vgezni. Itt, a jtkprogiban, ltom a bolyban

1.22. HANGYRSADALOM: BIOLGIAI STRATGIAI JTKOK 85

1.22. bra. A Hangyrsadalom PC gpes kliens programja. lv kamerk kpt s az ugyancsak a PC gppel vezetk nlkli kapcsoo latban lv robothangykat. Egy robothangyra kattintva meg tudom adni, o hogy a cspjn milyen anyag legyen, milyen anyagot vlasszon ki. tfle anyag lehet: karbantart, takart, orszolglatos, lelemgy jt , u o gondoz. Az l hangyk feladatuk vgzse kzben llandan jnnek-mennek, o kzben gyakran megllnak s megrintik egyms cspjt. A cspjuk attl fgg en ms szag, hogy a hangya ppen milyen feladatot lt el. Teht mso ms szaga van a karbantart, a takart, az orszolglatos, az lelemgy jt s u o a gondoz hangyknak. A szag annyit jelent, hogy pldul egy harcos cspjn a harcosra jellemz szagot ad anyag vlasztdik ki. Minl tbb anyag o

86

FEJEZET 1. PROGRAMOZS

1.23. bra. Pillanatfelvtel a magam tervezte programrl. vlasztdik ki, annl er sebb a szag. Ezeket a szagokat egyfajta primitv o nyelvnek is felfoghatjuk. Mintha a harcos azt mondan magrl vele: harcos vagyok, lgy te is az! Te mirt lennl az, mert n biztos nem vletlenl vagyok az, hanem azrt, mert ppen ide s ppen most karbantart kell. Ha viszont karbantart kell, akkor abbl csak j slhet ki, ha tbben is lesznk, ht ezrt lgy te is karbantart gondolom gy okoskodhat egy hangya harcos. Szval, ha kt hangya tallkozik s a cspon lv anyag ugyanaz, akkor o nem trtnik semmi, mennek tovbb s vgzik a feladatukat. Ha klnbzik, akkor mindenfle szablyok alapjn vltozik a hangyk cspjn az anyag, azaz vltozik meg a hangyk ltal vgzett munka is. Ez a jtk lnyege, hogy a robothangyknak n mondom meg, hogy milyenek legyenek, ok pedig t tudjk lltani a tbbi, igazi hangyt! 1. Hangys feladat: Prbld megtervezni a Kzd llapotot, ugyangy, mint ahogyan a 1.24 brn, a 91 oldalon a Kajagy jts llapot meg van u tervezve! 2. Hangys feladat: A portl hangys szimulciiban prbld gy belltani a paramtereket, hogy a hangyaboly s az lelem kztt alakuljon ki s maradjon fenn az t.

1.23. JAVA BIRODALMAK

87

1.23.

Java birodalmak

2010. oktber 4. Htf , 20 ra 22 perc. o

Ma egy szl vrs rzsa volt az erklynkn! A reggeli alatt vgig azt tallgattuk: ki a szerencss nyertes, ki a virg. Eleinte ngyen voltunk versenyben: kaphatta Renta aptl, br ez nem vallana r, Grti a titokzatos progcsillagsztl, mi Balzstl, n Tamstl, aki, mint tudjuk, igen tallkony. Szemly szerint n az utbbit tartottam a legvalszn tlenebbnek. Apa is u el kerlt vgre (szoks szerint a mellkhelysgben olvasta a napi informao tikai hreket: oda is berakatott egy terminlt). Jt derlt a felttelezsnkn: miszerint o, aki a ltrn is szdl, romantikus hajlamait kilend jnek vado jn felmszott az erklyre. S mg el is tvesztette a clt. Ha nem, ht nem: ot s gy Rentt kizrtuk. Vgre Grti is felbredt, s s r stsok kzben uu kzlte, hogy Alfrd (a progcsillagsz osei hercegek voltak, minden els o szltt ezt a nevet kapja, br ok csak a csillagszati sszegek kltsben jeleskedtek) tz napos tanulmnyi kirndulson pp a Szaturnusz bels holdo jait vizsglja, mr msodik napja. (Szval ezrt olyan sztlan ez a lny kt napja.) Teht vagy mi kapta vagy n.. Hmm, tven szzalkra n ttek az eso lyeim:) Iskola utn tmentem Abihoz, de ppen a boltban volt. Megvrtam a szobjban, kzben egy csppet sem tudtam unatkozni, mert az ccse folyton nyaggatott, hogy o mr jv re bitman lesz, mesljek neki a programokrl, o meg ilyesmi. . . Gondoltam, mirt is ne, megprblhatok elmagyarzni pr dolgot: A gyelmes bitman lpten-nyomon tallkozik programokkal. Tallkozik s nem csak a szmtgpn! Ht, hol mg? Id vel mr brhov is o nz, fut programokat lt. A parkban pldul, amikor gyelsz egy apportoz kutya-gazdi prost: a kutyus mr gyeli a gazdit, a gazdi kezben a ft. . . s

88

FEJEZET 1. PROGRAMOZS

amint a gazdi eldobja, a kutyus nekiiramodik, fut, fut, majd megragadja az apport botot s rohan vele vissza. Hol tallkozol itt programmal? J krds. A kutyus futs kzben el re veti lbait, a htskkal elrugaszkodik, lthao tlag nagyon pontos rendben. A lbak mozgst az teszi lehet v, hogy a o megfelel izmok sszehzdnak. Prbld csak ki magad: vedd jobb tenyeo redbe bal bicepszed s ballal pumplj knykb l nhnyat, rzed ugye? Az o izmokat pedig egy agybl jv jel kszteti sszehzdsra. A kutyus mozgo sban sok izom sszehangoltan vesz rszt, a sok jel teht szpen meghatrozott rendben rkezik a kutyus agybl az izmaihoz. Ezek alapjn gondoljuk, hogy a kutyus agyban fut egy program, ami parancsol az izmoknak, hogy mikor hzdjanak ssze. Ezen parancsok sszessgt gy tekinthetjk, mint a kutyus agyban a futs programjt. Tnyleg, mit gondolsz, ha ezt a programot ki tudnnk menteni a kutya fejb l, azt be lehetne elvben ltetni egy o msik llatba? Kacsba biztos nem, mert annak csak kt lba van. S t, egy pontyba sem, mert annak egyltaln nincs is lba! - vettem t o a logikjt. No s, ha mondjuk a lbaknak az uszonyok felelnnek meg, vagy mondjuk ngylbba be lehet? - krdezte tgra nylt szemekkel. Igazbl n sem tudom, csak felvetettem a krdst, majd megkrdezem holnap az iskolban. Amgy szerintem, ha t lehetne tenni, akkor eleinte mondjuk egy tacsk biztos orra bukna egy bernthegyi programjval, de id vel javulhatna s taln mr tudna futni a kis kutya is a nagy kutya proo gramjval. Mert, ha arra gondolsz, akkor a atal klykk is nagyon esetlenl csetlenek, botlanak el szr, aztn id vel a mozgsukat irnyt program jao o vul s mr biztosan rohangsznak a kertben, nem igaz? De igaz, gy volt Gombc is, amikor mg klyk volt! Tudod, Gombc, a kutyusom. Jut eszembe, az elmlt hten az volt a hzi feladatom, hogy rjak egy mest a programok hordozhatsgrl? rdekel? - krdeztem. Mi az a programok hordoztskja? Hordozhatsga! Ht pont az, hogy a kutya programja menne-e az elefntban? Csak persze nem kutyval s elefnttal, hanem klnbz szmto gpekkel. Hogy pldul a Te qubit procis laptopodon lev jtkok futnnak-e az o n Linuxomon? Igen, pont ez a tma, zseni vagy! Akkor rdekel a mese, elmondod? - nzett rm, s csupa krs volt az

1.23. JAVA BIRODALMAK egsz gyerek.

89

1.23.1.

Platformfggetlen mese

Valamikor, nem is olyan rges-rgen, hanem a szmtgpes szakma hajnaln, az 1900-as vek legvgn s a 2000-es vek legelejn nagy szomorsg terjedt el a programozk s a felhasznlk kztt. Mert br mr mindenkinek volt valamilyen hardvere - azaz gpe - ezek mind-mind nagyon klnbz ek voltak. Volt, akinek asztali PC gpe volt. Volt, akinek hordozhat o noteszgpe. Volt, akinek tenyrnyi kzi gpe. Volt, akinek okos mobilja volt s volt mg megannyi ms, mindenfle programozhat ketyere is. Ezzel mg nem lett volna baj, mert a hardver az annl jobb, minl tbbfle. Ha sokfle van, akkor azt sokfle gyrt adja, ha sokfle gyrt van, akkor mindegyikk igyekszik olcsbban adni, hogy az vt vegyk meg, teht mindenkinek, neked is lehet olyan gped, amilyet csak szeretnl, mert kitelik a zsebpnzedb l. o A szomorsg oka a szoftver volt. Mert a szoftver, az mr nem j, ha sokfle. Mirt nem? Mert mi emberek ezzel tallkozunk, a szoftverrel dolgozunk, amikor elolvassuk az emailjeinket, vagy betesszk a kedvenc jtk CD-nket a gpbe. Nem j, ha minden szoftvert mshogy kell hasznlni. Mert amikor a karcsonyra bekasszrozott ajndk money-aimbl veszek egy spci hajs programot a boltban, akkor jtszani akarok vele s nem a kezelst megtanulni! Szval nagy volt a kihvs, ki is hirdettk Internet szerte a krdst, hogy kerestetik olyan tlet, ami lehet v teszi, hogy egy program mindenfle gpen o fusson. Hamarosan sok felhasznl s mg tbb programoz trte a fejt a krdsen. Telt, mlt az id , kzben szmtalan programozi csapat prblta mego vlaszolni a krdst, de sajnos egyms utn buktak el. Persze kzben rtek el sikereket, amik a felhasznlk nagy rszt kielgtettk, de a programozk tudtk, hogy ez mg kevs. Mert amint megrtak egy j programot, ok rgtn tapasztaltk, hogy az nem kpes lni brmely hardveren, j esetben is csak nhnyon. Teht a programozk tovbb szomorkodtak s fradhatatlanul kerestk, kutattk a megoldst. Kutattk, mgnem egy g zlg kvscssze jelvnyt visel programozi o o o csapat be nem mutatta megoldst az Interneten: megrtak egy rtelmez o programot minden elkpzelhet hardverre. Ezt a programot gy kell elkpo zelni, mint egy kpzeletbeli szmtgpet. Ezrt gy is neveztk el, hogy Java

90

FEJEZET 1. PROGRAMOZS

Kpzeletbeli Gp. Majd a g zlg kvscssze jelvny alatt gylekez proo o o gramozk felhvst intztek a tbbi programozhoz: akik azt szeretnk, hogy programjai mindenfle szmtgpen fussanak, minden hardverben lni tudjanak, azok kvessk oket! Nem kell mst tennik, mint a Java Kpzelet beli Gphez ksztett Java nyelven lerni a programjaikat, mert ok mr min den hardverre elksztettk a Java nyelv programokat rtelmez programot, u o amit Java Kpzeletbeli Gpnek neveztek el. Ezzel a felhvssal egyetemben bemutattk a Java nyelvet is s segtsget adtak a tbbi programoznak, hogy programjaikat ezen a nyelven le tudjk rni. A Java nyelv gyorsan elterjedt a szomor programozk kztt, akik boldogan kezdtk hasznlni s ett l egy csapsra maguk is boldogg vltak, o mert programjaik immr minden hardveren tudtak m kdni: kezdve az aszu tali PC gpekt l a kzi szmtgpeken t az okos mobiltelefonokig. Azok o a hardverek tartoznak a Java Birodalomhoz, amiken van Java Kpzeletbeli Gp s minden olyan programoz, aki Java nyelven rja le a programjait er o sti a g zlg kvscssze jelvny alatt felsorakoz programozk seregeit. o o Ne feledd: a Java Birodalom erejt az adja, hogy a Javaban rt programok hordozhatk, azaz lni kpesek brmilyen hardveren! Ha a programozk tovbb szomorkodtak volna, akkor az n mesm is tovbb tartott volna :)

1.23. JAVA BIRODALMAK

91

1.24. bra. Hangyink vezrl programjnak terve. o

92

FEJEZET 1. PROGRAMOZS

2. fejezet Internet
Az Internet manapsg varzsszv vlt. Keresnk egy jtkot, nevet, telefonszmot, kpletet, trkpet, verset, zent, lmet? El akarunk kldeni egy kpet, levelet, videt? Meg akarjuk nzni a banki egyenlegnket, vsrolni szeretnnk vagy csak kiszmolni mennyi 4 milli forint 15 ves laksklcsn havi rszlete? A csald nyri sznett akarjuk megszervezni (a gyerekekt l a o nagymamig) a karosszkb l? Nzzk meg az Interneten! S, ha gyesek vao gyunk, eredmnyesen meg is tehetjk mindezt, s mg sokkal tbbet is. s ha mg annl is gyesebbek vagyunk, el ttnk a vilg: j, akr sohasem ltott o ismeretlen ismer seinkkel nyelvet tanulhatunk, gondolatokat cserlhetnk, o feltallhatunk, tvmunkban dolgozhatunk otthonrl! Hatrt f leg a hagyoo mnyos gondolkodsunk szabhat.

2.1.

Mi a protokoll?

2010. oktber 5. Kedd, 20 ra 22 perc.

Ma volt az els hlzati programozs rnk, a protokollokrl volt sz. o


Tanr::Harang R.> Mit rtnk protokoll alatt? Tanul::L. Mri> Valamilyen szablyok szerinti viselkedst. Tanr::Harang R.> Tudntok pldt mondani? Tanul::G. Abigl> A nknek kinyitjk az ajtt, s elre o o

93

94
engedik ket. o

FEJEZET 2. INTERNET

Tanr::Harang R.> Ez inkbb udvariassg, br rsze lehet egy protokollnak. Az udvariassgi szablyok betartsa, sajnos, nem ktelez jelleg. Pldul a buszon idseknek, vrands anyukknak o u o illik tadni a helyet, de ersen egyntl fgg ennek a o o szablynak a betartsa. A protokollris szablyok ersebbek: o az emberi kapcsolatokban ktelez jellegek. Ma mr szinte csak o u a diplomciban s a mg meglv nhny uralkod csald o letben jtszanak jelents szerepet: kit hogyan kell ksznteni, o ki mell ltetni stb. Ezeknek a be nem tartsa rgebben akr hbork kirobbanshoz is vezethetett. Protokollok nem csak ember--ember viszonyban lteznek. Az egymssal hlzati kapcsolatban lv szmtgpek kztt is o protokollok rjk el a viselkedst. Azzal a nagy klnbsggel, o hogy a szmtgpes protokollok be nem tartsa teljesen meghistja a kapcsolatfelvtelt vagy az adatmozgatst. Tanr::Harang R.> Ha szablyszeren akarom megfogalmazni, azt u mondom: a protokoll a hlzati kommunikcit ler szablyok rendszere. Az Internet alapprotokollja a TCP/IP, a webes bngszs a HTTP, a mobilos bngszs a WAP.

Kvncsi lennk, milyen protokollnak a rsze, hogy ma reggel ismt egy szl vrs rzsa volt az erklyajtnk kilincsre akasztva! Este Igorkhoz mentnk ltogatba: Igor mamja apaknl tolmcs, hirtelen valami fontos trgyalst el rehoztak holnapra, s gyors haditancsot taro tanak. Igazbl csak apa, nagyapa s n mentem. Nagyapa Igor nagypapj val szokott krtyzni, ok rgtn el is t ntek a kerti pavilonban, apa s Igor u mamja a dolgozszobba, engem otthagytak egy tlca stivel a nappaliban. Igor mr rgen elment a knyvtrba, a mamja szerint hamarosan megjn. Egyszer csak megjelent az ajtban Igor 7 ves kishuga, Jami. Jami (a rendes keresztneve Jzmina) nem sokat teketrizott, odatelepedett mellm a laptopjval s megkrt, hogy hallgassam meg a kisel adst a TCP/IP-r l, amit o o msnap tart. Mire feleszmltem, mr bele is kezdett: Az Internet a csomagkapcsolsnak nevezett adattovbbt technolgin alapszik. A csomagkapcsols azt jelenti, hogy az adatok nem teljes letnagysgukban kltznek szmtgpr l szmtgpre. Egy csald kltzshez o hasonlan kicsi csomagokra bontva (bedobozolva), de nem egy kltztet o teherautn, hanem akr minden egyes csomag ms-ms tvonalon r clba.

2.1. MI A PROTOKOLL?

95

S ahogyan a csaldi knyvtr kltztetsnl anya vagy apa a dobozokra rrja, hogy az egyik dobozban a knyvtr a-c kezd bet j rtl szrmaz o uu knyvek, a kvetkez ben a d-f kezd bet j rtl szrmaz knyvek vannak, o o uu s gy tovbb; az adatcsomagokra is rkerl a sorszmuk. Igazbl az IP leginkbb a postamesterhez hasonlthat, a TCP a postai ellen rhz: a kiszolgl TCP-je kis csomagokat kszt a kldend adategyo o sgb l, mindegyikre gondosan rrja azt a sorszmot, ami majd el segti o o az sszerakst, az IP-je pedig megcmzi ezeket. Az gyfl IP-je tveszi az rkez kis csomagocskkat, TCP-je a sorszmok alapjn megprblja egyo sgbe rendezni a csomagokat, ha valamelyik hinyzik, jra megkri az IPvel. A csomagkapcsolt adatforgalomnak ksznhet en az Internet orszgto jain nem sz k pallhidak vannak, ahol egyszerre csak egy valaki kzlekedu het, hanem tbbsvos szupersztrdk, ahol egy id ben mindkt irnyban sok o adatcsomag utazik azonos svban. Jl megdicsrtem, ami utn amilyen gyorsan jtt, olyan gyorsan el is ment (magval vitte a sti egy rszt). Eddigre apk is vgeztek, Igor mg mindig nem volt sehol, gy hazaindultunk. (Nagyapa mg maradt, pp neki kedvezett a krtyaszerencse, mr 5 gesztenyt nyert!) Otthon rjttem, hogy holnapra mg fel kell kszlnm Renta villmkrdseib l: o Bngsz : honlapokat megjelent szoftver. o o HTML1 : az a nyelv, amiken a honlapokat rjk. Kliens / gyfl: az a program, ami kr valamit a hlzaton, pldul egy honlapot. Szerver / Kiszolgl: az a program, ami ad valamit a hlzaton, pldul egy honlapot. URL2 : a honlapok cme a hlzaton.
1 HyperText

Markup Language: hiperszveget ler nyelv, ezen a nyelven kell rni az internetes honlapokat. 2 Universal Resource Location ltalnos er forrs-hely meghatroz: megadja a pontos o cmet az Interneten.

96

FEJEZET 2. INTERNET

2.2.

WWW: a vilgszles hlzat

2010. oktber 6. Szerda, 17 ra 42 perc.

Ma jjel nagyon furt lmodtam. pp a tegnapi rn volt sz a kliensekr l s szerverekr l, gy ltszik nagyon megragadtam ennl a rsznl! o o Szval azt lmodtam, hogy egy webpk program vagyok, aki a tbbi rendes webpkhoz hasonlan honlaprl honlapra jr. Feladatom, hogy egyik honlaprl a msikra ugorva, szpen lassan minl tbb lapot fonjak be a hln. Beszvk egy lapot, majd kivlasztom egy linkjt s arra ugrok el, ot is beszvm: megnzem, milyen infk vannak rajta, j sok inft begy jtk s u visszakldm a kzpontba stb. Aztn valahogy mr a pkkzpontban voltam, ahol a pkocskk jelentsei alapjn egy hatalmas, sok kzpont pkhlt ksztenek. Kicsit olyan ez a munka, mint annak idejn a fld feltrkpezse: vannak fehr foltok, nhol mg csak kevs ltszik, de a gondos pkok kldik az jabb s jabb terletek adatait. Az jabb oldalcmekb l egyre nagyobb s s r bb pkhl alakult, a o uu ltogatott oldalak alkotta kzpontokkal (ezekre sok link mutat ms oldalakrl), viszont vannak olyan stt rszek, amikr l nagyon kevs az informci. o Mikor felbredtem nagyon bszke voltam, hogy a Jvcska portl milyen j kis kzpont s milyen gyes webpk s robot voltam, hogy ilyen j trkpet sz ttem a webr l. Persze a kvetkez pillanatban rjttem, hogy csak o o o lom volt. A vgn mg megrem, hogy a kibertrben lmodok nap mint nap. Ma ismt Rentval volt hlzati programozs rnk:
Tanr::Harang R.> Aki hasznlta mr kzletek a webet, nyjtsa fel a kezt! Tanul:: mindenki felemeli a kezt> Tanr::Harang R.> Nagyszer! Valamelyiktk tudn jellemezni u o egy mondatban? Tanul::L. Mri> Hlzat egyenrang, de nem egyforma hlszemekbl. o

Hmmm, egsz tall mondat!


Tanr::Harang R.> Mire szokttok hasznlni?

2.2. WWW: A VILGSZLES HLZAT

97

2.1. bra. Hiper szvegek.

Tanul::G. Abigl> Elssorban a Hubble-tvcs felvteleit o o s csillagszati naptrakat nzegetek, s a Callisto frumot: itt a Jupiteren, a gyrin s a holdjain szlelt jelensgeket u u vetjk ssze. Tanul::H. Balzs> n mlytengeri felvteleket keresek leginkbb. Tanul::V. Zoli> Rengeteg zent hallgatok, igazi klnlegessgekre lehet akadni! Tanul::A. Brn> Leginkbb beszlgetni szeretek ismeretlen ismerskkel, Internet-matrz nyelven mondva: chat-elni s mg o nagyon sok frumot ltogatok. Tanul::S. Tams> n az csmmel a www.javacska.hu-n olvasok mesket. Matyi most 4 ves, s mr nhny ottani jtkkal egyedl is tud jtszani. Tanr::Harang R.> Hogyan juttok el egy oldalhoz? Tanul::L. Mri> Berom a cmt a bngszbe. o Tanr::Harang R.> Hogy nz ki egy cm?

98

FEJEZET 2. INTERNET

Tanul::szinte mindenki egyszerre> http://www.javacska.hu Tanr::Harang R.> Gyerekek, emlkeztek a protokollokra? Egyezznk meg abban, hogy csak akkor kezd el brki hangot kiadni, ha ms mr bezrta a kommunikcit! Ez nem csupn lehetv teszi, hogy o rtsk egyms mondanivaljt, de udvariassgi szably is, ha valaki mg nem hallott volna rla:) Jv htre mindenki jellemezze o a kedvenc bngszjt, kiegszthetitek a dolgozatot a szeretett o oldalak listjval is!

2.2.1.

Nyelvek

2010. oktber 7. Cstrtk, 18 ra 41 perc.

Ma az E. T. rn a nyelvekr l volt sz. o


Tanr::Harang R.> Becsljtek meg, mennyi nyelv van a Fldn! Tanul::V. Jen> tszz. o Tanul::G. Abigl> Csak az rssal is rendelkez nyelvek szmtanak? o s a ma lk? o Tanr::Harang R.> Nagyon j krdsek, Abigl! A ma is l, legalbb o beszlt nyelvekre gondoljatok! Tanul::H. Brn> Akkor legalbb ktezer! Tanr::Harang R.> A noteszgpeteken keresztl becsljtek meg! Kis id mlva Renta eredmnyt hirdetett: o Tanr::Harang R.> Az eredmnyek tkrben az osztly szerint tlagosan 2897 nyelvet beszlnek a Fldn. Tanul::A. Brn> s ez j? Tanr::Harang R.> Kzel vagytok az igazsghoz! Krlbell hromezer nyelvet hasznlnak a Fldn napjainkban. Ez a szm persze csak kzelts, kicsit hasonl a nyelvek helyzete az llatokhoz: akr naponta kihal egy, de msokrl mg nincs is

2.2. WWW: A VILGSZLES HLZAT


tudomsunk. Tanul::G. Abigl> Hogyan szletett a nyelv? Tanr::Harang R.> Ez a krds sokakat foglalkoztatott, s foglalkoztat ma is. Van olyan elkpzels, ami hangutnzsbl, indulatszavakbl eredezteti az emberi nyelvet, de ezzel csak a szavak szletst lehet megmagyarzni. Msok szerint a kzssgek ritulis tevkenysge kzben fejldtt ki, amit ksbb a tbbi o o emberi tevkenysg kzben is hasznltak... Elmletek kergetik egymst. Az biztos, hogy az emberi nyelvhez szksg volt kzssgre, fejlett agyi struktrra (rvid s hossz tv emlkezet, nyelvtani szablyok), a beszdkpz szervek o (pl. ggefed, hangszlak, arccsontok) bizonyos fok fejlettsgre. o Tanul::B. Virg> Hogyan tanuljuk meg a nyelvet? Tanr::Harang R.> Virg, Abigl utn, rtallt a msik fogs krdsre a nyelvvel kapcsolatban. Egyrtelm vlasz itt sincs: u egyik elkpzels szerint puszta utnzssal tanuljuk a nyelvet, msik szerint mr szletsnkkor ismerjk, csak kivlt ingerre van szksg, s mint a szikrra a tz: eltr bellnk a u o o tuds. Valszn, hogy a valsg a kett kztt van. Kutatsok u o bizonytjk, hogy a csecsemk n. o univerzlis hangkszlettel szletnek, amibl egy ves koruk utn o mr csak azokat hasznljk, ami a kzvetlen nyelvi krnyezetkben elfordul. o Tanul::L. Mri> Univerzlis mivel? Tanul:: B. Igor.> Azt hiszem n tudom, mirl van sz. A mi o csaldunk kiss nemzetkzi: anyukm francia, az mamja, az n o nagymamm pedig japn, apukm apukja nmet. Az anyai nagymamm kptelen az l hangot megtanulni, anyukm r hangja furcsn hat magyar krnyezetben, apai nagypapm pedig nem rez klnbsget a b s p, a d s t vagy a g s k kztt. De az unokatestvreim egszen pici baba korukban gagyogs kzben kpesek voltak ezeket a hangokat kiejteni, de iskols korukban, amikor az iskolban nyelvet kezdtek tanulni, mr nem mindet. Nekem nagy szerencsm volt, mert gyakran voltam mindkt nagyszlmnl, s a szleim o otthon mindketten hasznljk az anyanyelvket: gy az n hangkszletembl nem rostldtak ki ezek a hangok. o Tanr::Harang R.> Nagyon j pldkat hoztl fel! Ezek azonban csak a hangkpzs szintjn lv problmkat rintik. Az egyes o

99

100

FEJEZET 2. INTERNET

nyelveket nem csupn a hangok, szavak, toldalkolsi mdok, nyelvtani szerkezetek klnbzteti meg, hanem a mgtte ll np gondolkodsmdja, vilgrl alkotott kpe. Tanul::B. mi> Diplomciai szinten kellene megegyezni egy nyelv hasznlatban! Tanr::Harang R.> Az emberi trtnelem sorn mikor melyik nemzeti nyelv emelkedett orszghatrok fl, hogy ksbb egy msik nyelv o vegye t a helyt. Ilyen egykor volt vilgnyelv volt pldul a latin a tudomnyos letben, a francia a diplomciban. Ha eltvolodunk az eurpai kultrkrtl, akkor zsiban kiemelhetjk o a knait... Minden nyersre ll nemzet a sajt nyelvt tartotta s tartja az Egy Nyelv szerepre a legalkalmasabbnak. Tanul::Sz. Jen> Akkor csinlni kell egyet! o Tanr::Harang R.> Csak a Fldn vszzadok alatt hatszznl tbb mestersges nyelvet alkottak! Az ezzel foglalkoz tudsok idvel o megalkottk a vilgnyelv elvt: azaz a ltrehozand nyelv mindenki szmra msodik nyelv legyen, vagyis mindenkinek tanulni kell, senkinek sem anyanyelve (kzs htrny). A problma csak az, hogy a (mennyisgileg, gazdasgilag) nagyobb nemzetek sokig nem reztk annak szksgt, hogy beismerjk, mgsem az nyelvk o az Egy Nyelv. Tanul::B. Virg> Mit jelent az, hogy csak a Fldn? Tanr::Harang R.> Nos, az egymssal val kzvetlen, tolmcsok, fordtrobotok nlkli rintkezst a vilgok mindegyike prblta mr megoldani... Szerencsre a ti tananyagotokban mr benne van az abraka. Mra egyre tbb csillagtrsg hasznlja mr.

Hogy vgkpp a tanuls jegyben teljen a nap, hlzati rn kisolvasmnyt s hzit is kaptunk. n pedig itt vagyok ktsgek kztt, ki hozza a rzskat, ezt Renta is tudhatn! Csak volt o is atal?!

2.2.2.

WWW

Hlzati programozs Msodik kisolvasmny WWW

2.2. WWW: A VILGSZLES HLZAT Harang R.


Kivonat
Ebben a kisolvasmnyban a WWW-r l, pontosabban a WWW-t m kdtet HTTP o u o protokollrl olvashatsz.

101

Ez elg vilgos, neki is kezdek a hzinak: egyrszt le kell rnom a kedvenc bngsz m. Lassan az az rzsem, Renta direkt azrt ad ennyi hzit, o hogy ne a titokzatos hdoln jrjon az esznk. . .

2.2.3.

HTTP szerver s kliense: a bngsz o

Bngsz k o
Tanr : Harang R. ra : Hlzati programozs Tanul : Bart Virg Email : virag@javacska.hu Trgy : Az els hzi feladat o Dtum : 2010. oktber 8. Id : 19:20 o

Kedvenc bngsz m o Bart Virg Leggyakrabban a Pfrny bngsz t hasznlom: eleinte azrt lltam t o r, mert nagyon szp halvnyzld rnyalatai vannak. Ks bb fedeztem fel a valdi el nyeit: egyrszt, j genercis bngsz o o o hz mltan, beptett fapados s kiadvny-szvegszerkeszt je, tblzatkeo zel je, honlap- s kpvarzslja, valamint mdialejtszja (3 dimenzis lm, o hang) van: nem kell egy id ben szz ablakot futtatni, nem veszik el egyms o el l a memrit. Msik nagy el nye a beptett webkeres s katalgus. A o o o keres radsul szemlyre szabdik: megjegyzi a krdseim stlust, tmo jt s j keres krds bersa kzben vlaszthatok az ltala elksztett kono zervkrdsekb l. Bellthatom azt is, hogy mennyi ideig trolja a korbbi o krdseimet s az annak leginkbb megfelel 10 vlaszt. o Most pldul minta HTML oldalakat keresek a honlapomhoz. Bertam a keres mez be: html mintk. Ha szerencsm van, valaki berta a HTML-t o o

102

FEJEZET 2. INTERNET

bemutat oldal fejlcnek kulcsszavas meta-jba. s bing! Van is hrom tallatom, ebb l az els 100%-ban megfelel a krdsemnek. o o

2.3.

Replsi terv

A kvetkez csillhajzson mr replnk! A mai rn kiadtk a replsi o tervet!


Id : 2010. oktber 26. o Cl: Epkedve.humane.homoe Feladat: Az els gyakorlrepls vgrehajtsa o Hadm veleti kd: "Wright vrek 1903" u Kapitny: Lovas Mri Els tiszt: Goldenger Abigl o Taktikai tiszt: Szp Jen o Kommunikcis tiszt: Bart Nomi Navigcis tiszt: Tth Kornlia Elhrt tiszt: Nmeth Tams Oktat tiszt: Kelep Lszl Fedlzeti tiszt: Ttra Robi Fedlzeti utazk: Bart Virg, Zeng Gyuri, Ambrus Brn, Vigad Zoli, Fazekas o Igor, Heged s Balzs. o Feladat: Teremjenek az Epkedve.humane.homoe vilgon s gyeljk meg az uralkod homoe faj viselkedst. A legnysg minden tagja vlasszon ki egy egyedet s rjon a viselkedsr l nhny oldalas jelentst! o Felhatalmazs: 0-0-0-1 fokozat. Megjegyzs: az Epkedve.humane.homoe vilg a milke humane homoe lnyek letfeltteleivel sszeegyeztethet tulajdonsgokkal br: lgkre llegezhet , vize ihat, o o a h mrsklet -10 C foktl +35C fokig vltozik. Az uralkod homoe faj korltoo zottan rtelmes, rtalmatlan. Nagy, 1000-1500 lelkes kzssgekben l. Ms fajok primitvek. Az egyetlen potencilis veszlyforrsknt megjellhet letforma egy o hsev nvnyfaj, az Epkedve.rage.beekape, de ebben a szraz vszakban nem tpo llkozik, hanem rendes vszaki lmt alussza. Figyelem: a beekape nvnyek tveit ne locsoljuk meg, ezt a nvny az es s vszak kezdetnek tekinti, ezrt hamarosan o felled, amikor is els dolga a tpllkkeress! o

2.3. REPLSI TERV

103

2.3.1.

E-kereskedelem

2010. oktber 9. Szombat, 17 ra 17 perc.

Htf t l szombatig minden reggel egy vrs rzsa vrt bennnket az oo erklyen. Mindent megprbltunk, hogy kidertsk, ki a titokzatos lovag: beosztottuk, mikor ki marad bren: ht, itt csfos kudarcot szenvedtnk el, mindketten elaludtunk; nagyapa is vllalt orsget, persze o is elaludt; Kalmi is aludt. Lassan olyan ez az egsz, mint a npmeskben: oriznnk kellene az aranyalmt term ft, de mindenki elszunykl valami varzslat hatsra... o Nagyapa szerint ennyi vrs rzsa g szerelmet jelent. O, mint nagy kertsz o s rgi vgs riember, csak tudja! Nincs mit tenni, rendelnk egy jabb webkamert, de most a weben keresztl. Apa azt is meslte, hogy e-korszak kezdeti, tmeneti idejn az ekereskedelem azt jelentette, hogy Interneten keresztl lehetett az rut kivlasztani s megrendelni, de az r szlltsa mr hagyomnyos postai ton rkezett s kszpnzzel kellett rte a postsnak zetni. Radsul gyakran a posts csak rtestst vitt hzhoz, a csomagot az adott postahivatalban lehetett tvenni:) Mikor ezt el adta, d ltnk a nevetst l: mit l volt ez eo o o o kereskedelem? Adott fldrajzi helyre futottak be a rendelsek, ott csomagoltk, a posta szlltotta s rte kellett menni, s t mg zetni is a hagyoo mnyos mdon lehetett?! Ma szerencsre nem ilyen res az e bet , az eu kereskedelem ma azt fedi, amit jelent: 1. nem flrevezet en torz kpek alapjn lehet vlasztani, hanem 3 dimeno zis bemutat segt; 2. az adott bolt hozznk legkzelebbi lerakata kapja meg a rendelsnket; 3. az ltalunk megadott id pontok egyikn hzhoz szlltjk (el tte eo o mailben rkrdeznek, j-e mg az id pont); o 4. a kzhezvtel, csomagkibonts utn, mg a futr jelenltben tutaljuk az sszeget a bolt szmljra (egyszer en bedugjuk az rcdult u a laptopba, a szoksos arccsont s riszvizsglattal azonost a bank, jvhagyjuk az sszeget s ksz).

104

FEJEZET 2. INTERNET

Visszapostzskor, azaz, ha valami miatt nem voltunk az ruval megelgedve, a bolt egy szzalk bont ad, kompenzland a kellemetlensget. Szval a hatodik nap, a reggeli utn (ami nagyapa szerint a legfontosabb tkezs) megrendeltk a webkamert, a dlel tti matin alatt ki is szlltottk. o Dlutn feler stettk az erklynkn nv hatalmas vziplma szrai kzz. o o Mehetnk aludni, reggelre meglesz a vlasz. Rzsa lovag nlkl
2010. oktber 10. Vasrnap, 9 ra 24 perc.

Reggel tkor fent voltunk, s lzas izgalommal nztk vissza a webkamera ltal rgztett kpeket. Hajnal 3 ra 24 perckor egy ninjnak ltztt vkony alak lopzott fel az erklynkre, kezben a szoksos vrs rzsval s egy hajnalka virggal. Belemosolygott a webkamerba s tvozott. Nagyapa azt mondta, a hajnalka azt jelenti: "a szerelemt l elhervadok". Nagyo szer , hogy ez a ninja olvadozik, ami fekete ruhban nem is csoda, de ki o u s kit szeret?!

2.4.

Mr van sajt honlapom!

2010. oktber 11. Htf , 19 ra 33 perc. o

Ma reggel a rzsa mellett fjvirg is volt. Elg rdekes neve van, mint kiderlt ez a nebncsvirgok csaldjba tartozik, apa a latin nevt is megmondta: Impatiens balsamina. A hzi virgkdfejt nk szerint (nagyapa), ez o azt jelenti: nem merek kzelteni hozzd. Ennek kvetkeztben a csaldban az a nzet vlt uralkodv, hogy n vagyok az imdott hlgy. Grti, szerintem csak irigysgb l, azt mondta: kzeledjek ahhoz a hoz, mert o er sen cskkenti a biztonsgrzett, hogy egy szerelmes tini knye-kedve o szerint mszkl a hzunk krl. Hiba magyarztam, hogy a TrSzemek gyis vigyznak rnk. (A TrSzemek 3 dimenzis trgyel k. Beljk van o programozva, hogy b ncselekmny-gyans trtns szlelsekor vgezzeu nek arccsont s riszvizsglatot, s lrmzzk fel a rend rsget; egszsggyio vszhelyzetben a ment ket, vz- s t zesemnykor a t zoltkat.) Ezt az rvet o u u Grti azzal prblta vdeni, hogy azok a ht jszakai ltogats egyikn sem riasztottak. Ht persze, hogy nem: nem trtnt er szakos cselekmny, nem o

2.4. MR VAN SAJT HONLAPOM!

105

vittek, hanem hoztak. . . Apa szerint vagy a hdol, vagy egy kzeli hozztartozja nagy Jkai3 rajong lehet, ha ezeket a jelkpeket gy ismeri. . . Renta azt javasolta, ha egyszer ilyen romantikus rajongm van, a vlaszom is legyen hasonl: t zzem a hajamba a rzst. Kiss furcsn reztem u magam, hogy egy fzis er m tvben ilyen szablyok szerint zajl szeo u relmi trsasjtk szerepl je vagyok, de valahol mlyen nagyon tetszik. Keo vesen mondhatjk el, hogy egy megksett lovag udvarol nekik:) Beltzik, felmszik, kitallja melyik nap mit hozzon, radsul mindezt egy viszonylag npes, nagy kutys csald hznl. (Msok nem is gondoljk, mennyire nem vszes Kalmi. Neknk elg, hogy ijeszt : apa gy is attl retteg, Kalmi o egyszer megharap egy betr t s akkor o, mint a kutya gazdja, jrhat a bo rsgra...) S ha ez a lovag tnyleg tallkony Tams, akkor vgkpp minden nagyszer : szeret olvasni, udvarias, s nagyon szp mlykk szeme van. Szeu rencsre magasabb is nlam. De mi lesz, ha mgsem o a titokzatos lovag s fejemen a rzsval szembe tallom magam egy vllamig r , res fej bjo u gnrral, akinek ez a virgosdi a n szerz taktikja?! Nem is tudom, lehet, o o hogy aludnom kellene erre az egszre egyet... Hogy eltereljem a gondolatom, elolvasom a mai kisolvasmnyt:

2.4.1.

Msodik kisolvasmny WWW

Hlzati programozs Harmadik kisolvasmny HTTP-HTML Harang R.


Kivonat
Ebben a kisolvasmnyban megismerkednk a bngsz k nyelvvel: a HTML nyelvvel. o

A HTML nyelv szvegeket sima szvegfjlba rjuk, de nem .txt-be, hau nem .html-be mentjk, troljuk. A HTML nyelv mondatok a bngsz prou o gramoknak szlnak, hogy az adott oldal szvegeit, kpeit, tblzatait hogyan jelentsk meg, melyik ms oldalakkal kapcsoldjon ssze, illetve egy rendes HTML oldalban vannak az oldalra vonatkoz ltalnos informcik. Nzzk meg kzelebbr l: o A HTML mondatokat knny felismerni egy honlap forrsszvegben: u MINDIG kacsacs rk zrjk oket kzre. Tlnyom rszknek ikertestvre o
3 Jkai

Mr (1825-1904) A legtermkenyebb magyar romantikus regnyr.

106

FEJEZET 2. INTERNET

is van, igaz mintha ktpetj ikrek lennnek: megklnbzteti oket egy / jel u (ez mindig a bezr parancs el tt van). o A HTML oldalakat a <html></html> mondatok hatroljk. A HTML oldalakat kt f rsz alkotja: a fej (head) s a trzs (body). o
<html>

1. A fejet a <head></head> mondatok fogjk kzre.


<head>

A fejben az oldalra vonatkoz ltalnos informcikat talljuk (rdemes ezeket az infkat megadni, mert ezeket is beszvgetik a pkok): ilyen a cm, ami a bngsz fels szeglyben jelenik meg: o o
<title>Internet csak gyerekeknek</title>

ide kerlnek az gy nevezett metaadatok: amelyek az oldal jellemz it rjk le (angol sztr segtsgvel prbljtok kitallni, o melyik metaadat mit jell!):
<meta name="author" content="Kelep L., kl@javacska.hu"> <meta name="keywords" content="Internet, gyerekek, html, java, oktats, plda">

A fejet a szoksos zr-testvrpr zrja:


</head>

2. A trzsben a bngsz ben megjelen tartalmat talljuk: ez lehet szo o veg, kp, tblzat, link; valamint az ezeket megformz parancsokat. A kvetkez HTML mondattal pldul a lap httrkpt lltjuk be: o
<body background="hatterkep.png">

A HTML testbe rakhatunk szveget, kpet, linket. Kpet pldul ezzel a HTML nyelvi mondattal tehetnk be:

2.4. MR VAN SAJT HONLAPOM!


<img src="kepes.png">

107

Valjban nem mi illesztjk be a kpet, hanem csak hivatkozunk r: aztn amikor a bngsz meg akarja nyitni a lapot, akkor kri a kpet o hozz. Ha az adott kp nem egy knyvtrban van a honlappal, akkor a r val hivatkozsnl meg kell adni az elrsi tvonalt (ezt megtehetjk akr teljes URL-lel:
<img src="http://www.clib.dote.hu/javacska/kepes.png">;

vagy knyvtrak megadsval:


<img src="/javacska/kepes.png">.

Szvegnl megadhatjuk a bet k mrett (size), sznt (color), tpust u (face). A szveg formzst a <font></font> parancsok hatroljk:
<font size="+1" color="#000099">

Befolysolhatjuk a bet k szedst. A bet k vastagon szedst u u a <b></b> parancsprral rhetjk el.
<b> <font face="Helvetica, Arial, sans-serif">Jvcska</font> </b>

A bet k formzst is be kell zrnunk: u


</font>

A kvetkez HTML mondattal nyithatunk j sort: o


<br>

j bekezdst <p> paranccsal kezdhetnk. A szvegformzs ismer s o lehet a szvegszerkeszt kb l: o o vastagon szeds: <b></b> d lt szeds: <i></i> o alhzs: <a></a>

108 Linkek

FEJEZET 2. INTERNET

A kapcsolat mondatok (linkek) a HTML leglnyegesebb rszei. A linkek azok, amik sszektik a Hl weblapjait. (Azok az ltalban alhzott szvegek, amikre rklikkelve ms honlapokra ugrathatod a bngsz det.) A webpkok is ezeken mszklnak pldul a lapok ko ztt. A linkeket az <a href...></a> testvrpr hatrolja. Ha a href rszbe ms honlapok URL cmt rjuk, akkor honlapokat kapcsolhatunk ssze:
<a href="http://www.clib.dote.hu/javacska/index.html">Jvcska honlapja</a> <br>

Ha, az albbi mdon, e-mail cmet: akkor a gpnk alaprtelmezett levelez rendszervel levelet kldhetnk a megadott cmre: o
<a href="mailto:info@javacska.hu">info@javacska.hu</a>

A kt testvr kzz kerl szveg/kp jelenik majd meg a bngsz nko o ben, s erre kattintva lphetnk msik honlapra vagy kldhetnk levelet. Teht a honlapok legfontosabb tulajdonsga a kapcsolat a tbbi honlappal! Mindig gyeljnk arra, hogy valamennyi pros parancsnak legyen meg a testvre! A vgre ne felejtsk el bezrni a honlap testt:
</body>

S legvgl magt a honlapot:


</html>

HTML feladat: rd be valami.html fjlba az albbi HTML nyelv szveu get s nyisd meg a sajt bngsz ddel! o

2.4. MR VAN SAJT HONLAPOM!


<html> <head> <title>Abraka Dabra</title> </head> <body> Ez <i>Bart Virg</i> gpe, az <b>abraka.dabraka</b>. </body> </html>

109

Milyen lett? Hackels feladat: Jrj utna, hogy mi trtnik a 2.2 s a 2.3, a 109. oldalon szerepl kpeken! o

2.2. bra. Kzzel krjk el az abraka.dabra gp f lapjt a 80-as kapun t! o

2.4.2.

Szem a hlban

2010. oktber 12. Kedd, 19 ra 33 perc.

Hazarve kiderlt: Flp hzassga nem volt hossz: a tegnapi heves cskolzs utn ma Filippina felfedezte a fotocells ajtkat, majd a nyitva felejtett hts ajtn: huss, mr el is szllt. Mivel ez rgtn suli utn trtnt,

110

FEJEZET 2. INTERNET

2.3. bra. Az abraka.dabra gp f lapja egy bngsz programban. o o mg volt id nk a gyors csaldi tancskozs utn kivlasztani az j art a o hobbillat-kereskedsben. Egyel re nem kapott nevet, ki tudja, meddig mao rad. Mr mindenki megbnta ezt a dntst, mert dlutn 6 ra ta ktelen rikcsolssal repkednek a tlikertben krbe-krbe. A szomszd Feri bcsi, nagyapa j sakk partnere, t is jtt megnzni a madarakat: mit l ilyen hano gosak. (Korbban llatorvos volt.) Kidertette, hogy Flp tulajdonkppen lny, az j felesg pedig . . .

2.4. MR VAN SAJT HONLAPOM!

111

2.4.3.

WAP

2010. oktber 13. Szerda, 18 ra 12 perc.

Ma Kelep L. tanr rral volt mobilprog (rendesen: mobiltelefonok programozsa) ra, amit egy kisolvasmnnyal tett emlkezetess:

Mobiltelefonok programozsa Els kisolvasmny WAP o Kelep L.


Kivonat
Ebben a kisolvasmnyban a WAP-rl olvashatsz.

A WAP az a nyelv, amin az internetes szerverek s a mobiltelefonok beszlgetnek egymssal. Olyan a telcsiknek, mint a HTTP a szmtgpeknek. A WAP-os bngsz k WML nyelv szvegeket tudnak megjelenteni. o u A mobilos vilgban a WML olyan, mint a HTML a gpesben. A monitoroktl sokkal kisebb kijelz k miatt a wml oldalak nem lehetnek o tlsgosan bonyolltak (nem hasznlhatk a keretek, nagy, esetleg mozg kpek), vagy szlesek. A kijelz n kvl korltot szab a WAP-os adattvitelo nek a HTTP-hez viszonytott kisebb keresztmetszete. Ez a nyelv szerkezetben nagyon hasonlt a HTML-hez: a kacsacs rk kztt megadott parancsok adjk a tartalom (szveg, o kpek) formzst, illetve gy adhatk meg az oldalak kztti kapcsolatok, a kacsacs rs parancsok tbbsge pros: a nyit parancs rvnyessgi o terlete addig terjed, amg ki nem adjuk a zr parancsot. A zr parancsban a jobbra nyl kacsacs r utn MINDIG van / jel: pl. <card> o </card> adott oldalon els knt kzljk, hogy wml dokumentum, o aztn megadunk az egsz oldalra rvnyes informcikat, akrcsak a html head rszben,

112

FEJEZET 2. INTERNET

az ez utni rszben pedig, a html body rszhez hasonlan, a mobiltelefon kijelz jn megjelen adatokat, kpeket, szvegeket formz o o parancsok s a lapok kztti linkek kapnak helyet. A teljes oldalt legegyszer bb egy pakli krtyaknt elkpzelni (2.4 bra), u amiben az egyes kperny oldalak a krtyalapok. Nzzk meg mindezt ko zelebbr l! o
<wml>

A HTML-hez hasonlan az alkalmazott ler nyelvvel jelljk a dokumentum elejt s vgt, a wml esetn a krtyapakli elejt s vgt gy: <wml></wml> A pakliban tbb krtya is lehet. Hogy ezeket meg lehessen klnbztetni, a krtyalapokon klnbz id-ket adunk meg s persze a krtya cmt (title) o is.
<card id="lapok" title="Elso lapjaink">

Az adott krtyalap ltalnos adatait talljuk itt. Adott rtket egyenl o sgjel utn idz jelek kztt adunk meg. ltalban teht gy kezdnk egy o mobilos krtyt:
<card id="krtya_neve" title="cme">

A krtyk azrt fontosak, mert a telefon kijelz je mindig egy ilyen kro tyt mutat.
<p>

Akrcsak a HTML-ben j bekezdst jell, van bezr testvre.


<strong>Jvcska - Internet csak gyerekeknek</strong>

Szvegformz parancsok: a kzjk kerlt karakterek vastagon szedve jelennek meg a kijelz n. o
<br/>

A HTML-hez kiss hasonlan az j sort a <br/> testvr nlkli paranccsal tudjuk ltrehozni, klnbsg, hogy a balra nz kacsacs r el tt / o o o jel van!

2.4. MR VAN SAJT HONLAPOM!


Betettem erre a lapra egy <em>kpet</em>:

113

Az <em></em> szintn szvegformz parancspr: a kzjk rt szveg kiemelten szedve jelenik meg a kijelz n. o
<br/> <img src="kepes.wbmp"/>

A WML oldalakba .wbmp kiterjeszts kpek illeszthet k be a HTMLu o b l mr ismer s <img src="kep.wbmp"/> nem iker paranccsal. Mivel o o nincs testvre, a kacsacs rn bell / jellel zrjuk be. o A pakli bezr testvre.
</wml>

A wml oldal vgt jell bezr testvrparancs. o

2.4.4.

WAP-os telcsire is!

2010. oktber 14. Cstrtk, 20 ra 02 perc.

Este mi addig rgta a flemet, hogy a mai monolgot elkerlend , ma o rzsval a hajamban mentem iskolba. gy, utlag hls vagyok az egsz csaldnak, hogy prbltak lelket nteni belm, s rbeszltek. Jl gondolod, kedves olvasm, valban Tams a titokzatos ismeretlen. Reggel mr bent volt az osztlyteremben, mikor bertnk, szoks szerint rohanva, mert: reggel mg t kellett rgnunk magunkat nagyapa b sges reggelijn, o csellel elszabadulni Kalmitl, meghallgatni apa gyelmeztetseit a kzti kzlekedsr l, o gyorsan bels t kellett cserlni mi bicjban, o s persze a hajamba rgzteni a rzst... Ezek utn ksz csoda, hogy mg csengets el tt bertnk. Szval csak o egy gyors szemkontaktusra volt id : megnyugodva lttam, hogy felcsillan o a kk szeme, s elmosolyodik, amit l el jnnek azok a karakteres gdrcso o kk az arcn. Nagyapa szerint elg csak megmutatni a rzst, de n annyira lveztem, hogy a tbbiek nem rtik, mirt ez a mai viseletem, hogy egsz

114

FEJEZET 2. INTERNET

dlel tt piros rzsval a fejemen masroztam. gy reztem magam, mint o egy spanyol donna. A legjobb az volt az egszben, hogy ett l Tams arcn o szinte llandsult az a reggeli dvzlt mosoly:) Ezrt, ahnyszor egymsra nztnk, elkezdtnk mosolyogni. Cseppet sem volt felt n , dehogy! Eddig u o nehezen rtettem, mit hogy nem zavarja, amikor rk el tt a noteszgpekre o valaki krlevlben szveket kld, benne az o s Balzs monogramjval: ltalban mindketten csak pirulsan mosolyogtak, kiss fels bbrend en, mint o u akik nagy titkok tudi. De ma engem sem zavart, amikor agyatlan Mri rkezdett a "kt szerelmes pr, mindig egytt jr"-ra. Kis ovis, gondoltam:) WAP feladat: A szakkri anyag mintjra ksztsd el sajt WAP oldalad!

Jvcska WAP-lapja
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="barat1" title="Barat Virag"> <p align="center"> <img src="kepem.wbmp" alt="kepem..."/> <br/> <em>Szioka!</em> <br/> Ez Barat Virag waplapja! <br/>Mi erdekel? <br/> A <a href="verseim.wml">verseim</a>, <br/> vagy a <a href="progik.wml">programjaim </a>? </p> </card> </wml>

2.4. MR VAN SAJT HONLAPOM!

115

Az els hrom sort most hagyjuk, a lnyeg, hogy ez minden waplapodba o be kell msolnod. A pontos tartalma nem rdekes, a telefonnak segt, hogy beszlni tudja a WML nyelvet, mert a http://www.wapforum.org/DTD/wml\_1.1.xml cmen le van rva a telefon szmra emszthet nyelven, hogyan kell megtanulnia wml-l. o A WML nyelvi plda magyar fordtsa: Egy krtynk (barat1) van csupn, abban egy bekezds, kzpre igaztva: (p align="center"). Azzal kezdem a lapot, hogy kiteszek egy kpet (kepem.wbmp), majd sort emelek s kiemelve kirom, hogy Szioka!. Megint j sorba azt rom, hogy (Ez Barat Virag waplapja!) aztn a kvetkez j sorba azt krdezem, o hogy (Mi erdekel?) Aztn, ha a verseim linket vlasztja a felhasznl, akkor a verseim.wml lapra kldm, ha pedig a programjaink linket valasztja, akkor a progik. wml lapra kldm. A Jvcska vortlon rengeteg WAP, WML tmj segdanyagot s tartalmat is tallsz! Holnapra ismt van hzi, Rentnak a hlprogra: Szem a hlban 2.
Tanr : Harang R. ra : Hlzati programozs Tanul : Bart Virg Email : virag@javacska.hu Trgy : Az msodik hzi feladat Dtum : 2010. oktber 14. Id : 20:15 o

Jvcska a WAP-on Bart Virg

116

FEJEZET 2. INTERNET

2.4. bra. Hogy kerl egy mobil pakli a telefonomra?

II. rsz Java

117

3. fejezet Az Internet vilgnyelve


2010. oktber 15. Pntek, 18 ra 11 perc.

Ma reggel fogmoss kzben belenztem a frd szoba tkrbe, sajnos o kr volt. jszaka, alattomosan, egy risi pattans n tt pp a homlokom ko zpre!!! Hogy fogok gy holnap kinzni?! Villmgyorsan felrztam Grtit, szaporn talljon ki valamit, mert gy ki sem merek majd lpni az utcra. Kb. fl ra alatt felfogta a helyzet komolysgt (addig csak kacarszott, hogy higgyem el, nem ez a vilg vge, szp kis n vr az ilyen): s kezelsbe vett. o A vgeredmny egyel re nem a legjobb: az risi vrs halom helyett egy o kisebb vrs halom virt a homlokomon, de biztatott, hogy holnapra minden rendben lesz... Egsz nap olyan rzsem volt, mintha mindenki az n pattansomat nzn, mintha Abi kiss krrvend en mosolygott is volna (nagyon o tetszik neki Tams), br lehet, hogy csak ldzsi mnim van... Nzzk a mra feladott kisolvasmnyt! (Olvass kzben legalbb nem nzegetem a homlokom a tkrben.)

3.1.

Java

Java programozs Msodik kisolvasmny Java Brdos G.


Kivonat

119

120

FEJEZET 3. AZ INTERNET VILGNYELVE

Ebben a kisolvasmnyban a Java nyelv szavairl olvashatsz. A Java nyelv szavai azonost, kulcs vagy kifejezsszavak

3.1.1.

Java nyelvjrsok

Kt Java nyelvjrssal fogunk megismerkedni. A J2ME nyelvjrssal s a J2SE nyelvjrssal. A J2ME-t akkor kell majd beszlned, ha mobiltelefonokat akarsz megszltani. A J2SE sokkal-sokkal nagyobb nyelvjrs. Ezt akkor hasznlod majd, ha a PC gpet, az rasztalodon ll gpet akarod programozni. Mi a kzs a nyelvjrsokban? A nyelvtan!

3.1.2.

A Java nyelvtan

Figyelem, ha csak kicsit is lmos vagy, akkor ezt a nyelvtani fejezetet ugord t! Br nekem ez a kedvencem, de ennl a tmnl az rn sokakat majdnem elnyomott a buzgsg :-) A betuk A Java nyelv bcje jval b vebb, mint a magyar bc. A magyar bo ct magba is foglalja, ezen tl mg nagyon sok tovbbi bet jegyet (karaku tert) tartalmaz. Ilyenek pldul a kvetkez k: 0,1,2,3,4,5,6,7,8,9 (a szmjeo gyek), _ (az alhzs jel), $ (dollr jel) stb. Mint a szoksos nyelvekben, Java-ban is az egymsutn rt bet kb l plnek fel a nyelv szavai. De nem u o m akrmelyik egymsutn rt bet alkot igazi Java nyelv szt! Egy Java u u sz vagy azonost, esetleg kulcssz, avagy kifejezssz.

3.1.3.

A szfajok

A Java nyelvben a szavak hromflk: lehetnek azonost szavak, kulcsszavak vagy kifejezsszavak.

3.1.4.

Az azonostk

Az azonostkat onnan lehet felismerni, hogy az azonost szavak kezd jegye bet vagy alhzsjel (teht pldul nem szmjegy). o u

3.1. JAVA
Kutya kalmiReferencia = new Kutya(Kalmi, bernthegyi); String stringRef = Hell Vilg!;

121

int oszlopSzm = 5;

int _almkSzma = 2;

Az azonost szavak azonostanak valamit. Pldul az objektumok referencii is azonost szavak. Teht, ha a Java programunkban beszlni akarunk egy referencirl, akkor egy azonost szt hasznlunk. A kulcsszavak A kulcsszavak pedig csak vges sokan vannak, ezeket majd tudni kell kvlr l, mert Java nyelv programjainkban ezeket szinte minden sorban haszo u nljuk majd. Egyel re most mg csak felsoroljuk oket: o Mellknevek.
static void nal public private protected

Tpus nevek.
int double byte char boolean

122 Vezrl nevek. o


import class extends this new return for if, else while switch, case try, catch

FEJEZET 3. AZ INTERNET VILGNYELVE

A kifejezsszavak I. Ezek a szavak lehetnek egyszer ek vagy sszetettek. Az egyszer kifeu u jezsszavak a kvetkez k: o A szmok egyszer kifejezsszavak, pldul: u
512, 7, -33, 3.14, 0xff stb.

A karakterlncok egyszer kifejezsszavak, pldul: u


Hell Vilg!

teht ami idz jelek kztt van, az karakterlnc. o A logikai igaz s hamis egyszer kifejezsszavak: u
true, false

Az azonostk egyben egyszer kifejezsszavak is, pldul: u


oszlopSzma

3.1. JAVA

123

Az sszetett kifejezsszavakat egyszer kifejezsszavakbl ptjk fel, u avagy a kifejezs szavakat szmokbl, karakterlncokbl, azonost szavakbl s m veleti jelekb l rakhatjuk ssze. Ha a szmok, a karakterlncok, az u o azonost szavak lennnek a kifejezsszavak egy ptkezsnl a tglk, akkor a (,),-,+,,++,*,,%,, &&, ||, ==,= jelek lennnek a malter, amik sszeilleszthetik ezeket a tglkat.
A jel () + -++ * / % ! && || == != < > <= >= s szerepe, a tgla-malter-tgla sszekapcsolsra kivons sszeads cskkents nvels szorzs oszts maradkos oszts tagads s vagy egyenl ? o nem egyenl o kisebb? nagyobb? kisebb egyenl ? o nagyobb egyenl ? o egy plda (1+2)*3 oszlopokSzma - 1 16 + 16 oszlopokSzma ++oszlopokSzma 16 * 2 kzepe = oszlopokSzma / 2 oszlop = (oszlop + 1) % oszlopokSzma !false oszlop >= 0 && oszlop <= oszlopokSzma-1 oszlop >= 0 || oszlop <= oszlopokSzma-1 oszlop == 0 oszlop != 0 oszlop < oszlopokSzma oszlop > 0 oszlop <= oszlopokSzma oszlop >= 0

3.1. tblzat. Az sszetett kifejezsszavak ptsnl hasznlatos jelek. Nzznk meg pr pldt! A
16

egyszer kifejezssz, egy szm. u A


16+16

sszetett kifejezssz, ami kt egyszer kifejezssznak a + jellel val u sszekapcsolsval jtt ltre. ptkezznk tovbb! A
(16+16)*2

124

FEJEZET 3. AZ INTERNET VILGNYELVE

sszetett kifejezssz, amit az el z kifejezsszhoz egy jabb sz hozzo o vtelvel ksztettnk, vagy ha gy jobban tetszik: ez sszetett kifejezssz hrom egyszer kifejezsszbl, egy zrjelprbl 1 s kt tovbbi m veleti u u jelb l plnek fel. o A kifejezsszavaknak van egy klnlegessgk: van rtkk! Mennyi az rtke a
(16+16)*(6-4)

sszetett kifejezssznak? gy van, egyszer en ki kell szmolni: 64. u E miatt a kifejezsszavakat a Java nyelv szvegekben majd tipikusan u egyenl sgjelek jobb oldaln tallod meg. Helyezzk a fenti plda szavunkat o egy igazi (rtkad) Java mondatba: Milyen rtket fog adni a
oszlopSzma = (16+16)*(6-4);

rtkad Java mondat (a mondat egy azonost szval kezd dik, azt kveti o egy egyenl sgjel, majd jn a jobb oldalon egy sszetett kifejezssz, vgl o ; zrja a mondatot) az oszlopSzma vltoznak? Persze, a 64-et. Iskola utn a hangszerboltba mentnk megvenni a rg htott szintetiztort. Meggy ztk apt, hogy egyrszt jobban haladnnk a zongorzssal, o mert mgiscsak izgalmasabb egy majd 50 hangszert rejt gpen jtszani, o msrszt beleadjuk egy flvi zsebpnznket mivel. A weben mr utna nztnk egy halom mrknak, beleolvasgattunk a szakfrumokba is: egyszval kpben voltunk a szintiket illet en. A boltban azonban sszefutottunk o Brdos G. tanr rral, pp j hrt vett a felesge hrfjhoz. Elg vicces tallkozs volt, mert egy ideig azt gondoltuk, hogy magnak veszi, s mivel mivel mindketten elgg vizulisak vagyunk, ht rgtn elkpzeltk, amint az a szakllas maci estnknt hrft penget. Ezen persze jl elkuncogtunk, apa azt gondolta, ez ismt a szoksos fakutya-vigyorgs, amikor a kisujjunkon is nevetnk. . . Aztn kiderlt az igazsg: Brdos tanr bcsi nem magnak veszi a hrokat, mi pedig szintetiztorrt jttnk testletileg. Krdezte, hogy megvettke mr? Miutn mondtuk, hogy mg nem, de mindjrt, akkor gyorsan elmondta, hogy nagy butasgra kszlnk: a Javaba be van ptve tbb mint
1 rdemes

megjegyezni, hogy a mindenfle zrjelek mindig prban jrnak: (), [], ,

(()(())).

3.2. A NAP NAPJA

125

ngyszz (!) hangszer, inkbb rjunk egy sajt szintetiztor programot! Ha pedig brunk vrni, amg hazar, felrakja a segdanyagokhoz a szokott helyre http://www.clib.dote.hu/javacska/seged a MIDI programozsi anyagot. Mire hazartnk mr jtt az email-rtest , hogy frisslt a Jvcskao portl: Brods G. anyagbl megtudtuk: a MIDI zenetek is esemnyek s azt is, hogy minden hangszernek sajt MIDI kdja van, sszesen 127! Ezek kztt nem csak hangszerek, hanem effektek is vannak. El szr a versenyo zongort prbltuk ki, annak 0-s a kdja. De talltunk mg egy halom rdekeset: 13 Xylophone - xilofon 15 Dulcimer - cimbalom 19 Church Organ - orgona 22 Harmonica - szjharmonika 47 Timpani - stdob 57 Trombone - harsona 68 Oboe - oboa Este mr a sajt szintetiztorunkon jtszva kergettk orletbe a csaldot a klnfle t s, fvs, vons s hros hangszereken vgig prblt ugyanazon o dallammal. . . MIDI feladat: Keresd meg a hangszerkdjt a tapsnak, a madrcsicsergsnek s a helikopternek ! Holnap lesz a Nap napja. Kr, hogy a narancssrga protonmezhez nem illik a vrs rzsa:))) De a pattans sem. . .

3.2.

A Nap napja

2010. oktber 16. Szombat, 21 ra 46 perc.

126

FEJEZET 3. AZ INTERNET VILGNYELVE

Ma volt a Nap napja. A pattans tnyleg elt nt. Reggel a szoksosnl u is nagyobb kavarods volt a gardrbban. Rentnak s Nagyapnak tegnap megvettk els protonjelmezket (nagyapra, a pocakja miatt, a kiso mama jelmezek kztt talltunk csak megfelel t). minek s nekem pedig o nagyobbra kellett cserlni a rgit, mert tavaly ta elg sokat n ttnk. minek o j hossz keze s lba lett, amikkel elg rdekesen fest, s mivel egypetj iku rek vagyunk, gondolom, n is hasonl langalta vagyok. Grti szerint elmlik majd ez az llapot, s hamarosan gynyr ndszlkisasszonyok lesznk. u Mindesetre most nha rt kiskacsnak rzem magam, igazn tvltozhatnk mr hattyv. Persze a megvennit kpletesen kell rteni, ahogy apa fogalmazta: a jelmezek llampolgri jogon jrnak, csak akkor kell zetni rtk, ha valami oknl fogva tnkremennek. Amg kicsik voltunk apa szinte minden vben zetett (amit aztn gondosan s pontosan, kis heti rszletekben ltalban egy fl v alatt levont a zsebpnznkb l), de a legmksabb az volt, amikor tao valy hasra esett a lbai kztt botladoz, akkor mg klyk Kalmiban, s az elszakadt jelmezt neki is ki kellett zetni, mi pedig ragaszkodtunk hozz, hogy egy perselybe o is trlesszen. Mivel neki nincs zsebpnze, kiszmoltuk: 173 napig a trrdijainak az rt kell beletennie, s a 174. napon gondosan t is szmoltuk:) Jl elkanyarodtam a Nap napjtl. Mindent sszevetve reggel vgre mindenkinek sikerlt megtallnia s felvennie a jelmezt, s elindultunk az er m o u el tti Napkorona trre. A protonprom kiltnek keresse kzben eszembe o sem jutott, hogy fzis vrosba turistk is jhetnek a Nap napja alkalmbl. Ht jttek. Mr akkor kezdtem gyanakodni, amikor szrevettem a Wigner tren a kukk krnykt elbort szemtkupacokat s a szerteszt parkol autk tmegt. rdekes, hogy br a rendszmok alapjn legtbben a 100 km-es krzetb l rkeztek, gy viselkedtek, mintha a vilg vgre mentek o volna, ahol nem szmt, mit tesznek... Nagyatomban, aki csak teheti biciklivel jr, tele van a vros kerkprutakkal s -trolkkal. A kocsit csak akkor vesszk el , ha 20 kilomtert l o o messzebb megynk kirndulni. Radsul nhol alig lehetett elfrni a jrdn a csatasorba fejl dtt csoportoktl, akik valszn leg mind nagyothallk is o u voltak, mert elg hangosan beszlt mindenki mindenkivel. De apa szerint fontos, hogy minl tbben jjjenek: egyrszt bevtelt jelentenek a vrosi szllodnak, msrszt kzelr l ltjk, hogy nem lnek gyerekeket az er o o m ben, vagyis nincs semmi klns Nagyatomban: nem betonrengeteg, itt u is csaldok lnek s dolgoznak. Szerintem minden ltogat srga lesz az

3.2. A NAP NAPJA

127

irigysgt l: Nagyatom egyszer en gynyr ! Mg hogy betonrengeteg! o u u Szerencsre magunkhoz mrten korn indultunk, gy sikerlt idejben kirnnk. A tr mr messzir l narancssrga volt az emberekt l, Grti aggdott o o is, hogy tallja majd meg Alfrd. Be kellett vallanom magamnak, az aggodalma nem volt alaptalan, rvidesen n is szorongani kezdtem, hol van / lesz Tams, klnsen azrt is, mert a protonruhban szigoran tilos brmilyen kommunikcis eszkzt hordani, legyen az mobiltelefon, csipog, palmtop vagy mini laptop: ha szreveszi a TrSzem, hamarosan magunk mellett tallunk egy rend rt, aki elkobozza, s csak 20 nap mlva lehet kivltani. Ebben a o bntiben a 20 nap a legslyosabb, addig az orsn van s ksz. Persze a bnti sszege sem kicsi. Egy sz mint szz: hogyan tall majd meg Tams?! Mr kint voltunk kb. hromnegyed rja: megtallt bennnket Alfrd, Balzs, nagyapt egy cuki, mosolygs s nagyon kedves szem protongoly: u Manci nni, de Tams sehol. Vgl, mint egy szndarabban, a gongsz el tt o kb. kt perccel o is befutott: a mamja pp babt vr, s reggel kisebb riadalom volt nluk, de a krhzban kiderlt, mgsem szl mg, egyel re vaklrma o volt. Szerinte igenis elindult a szls, de annyira meglep volt a krhz tele o narancssrga gmb formj n vrekkel s orvosokkal, hogy a kishga gy o dnthetett, inkbb egy normlisabban kinz trsasgban szletik meg. o A nagy gongszkor, pontosan dli tizenkett kor, felcsendlt a Nap zeo nje, amit nagyon szeretek, mert gynyr zongoraszlamok hangzanak el u benne (ez volt az els zongoradarab, amire apa megtantott bennnket, mr o gyerekknt is mindig ezt krtk altatzennek). Mindenki tkarolta a protonprjt. S a nagy lelkezst Tams arra is kihasznlta, hogy lopva adott egy puszit az arcomra! Nagy imposztor. Br nem mondhatnm, hogy ellenemre volt:) A valdi protonproton reakciban energia szabadul fel, ehelyett mi mindannyian rettent en megheztnk, len nagyapval: megebdeltnk az o er m ttermben, apnak, mint dolgoznak a Nap napi leszlltott rakbl o u is volt kedvezmny, gy nem tl sokbl megszta. Ebd utn szabadfoglalkozs volt: mehettnk, amerre lttunk, persze az sszes biztonsgi szably betartsval: jl nzznk szt, miel tt tmegynk az ttesten: balra, jobbra, majd o megint balra, idegenekkel csak semmi ismerkeds, ha baj van, kiabljunk, ahogy a sznkon kifr,

128

FEJEZET 3. AZ INTERNET VILGNYELVE

dlutn hatra legynk otthon. mivel kicsit lzadtunk, de inkbb csak azrt, hogy a k lssk. Ezutn persze apa mg egyszer meghvta a kat is vacsira hozznk, persze, ha sz leik elengedik oket, cserbe este csaldi kalkban hazaksrjk mindkett t. o Hamar kiderlt, elengedik oket, a s szl k jt derltek a hazaksrsen, de o persze rltek neki. Ezutn a stlgattunk, beszlgettnk iskolrl, zenr l, knyvekr l: reno o geteg mindenr l. Hatra szpen hazamentnk. Otthon vacsi utn a kertben o kzsen megnztk a t zijtkot, br nem nagyon tudtam gyelni az gen u robban szpsges t zvirgokra, mert a sttsg leple alatt Tams megfogta u a kezem. gy a surran hangok kzben kinyl fnyes alakzatok helyett arra emlkszem, milyen j meleg volt Tams keze, s milyen izmosan prns.

3.3.

Az els repls o

2010. oktber 17. Vasrnap, 23 ra 11 perc.

Ma volt a nagy nap, az els replsnk a csilismereteken. Bevgok pr o idevonatkoz rszletet a hajnaplbl: Goldenger hlgy, zrja le a gmbt! adta ki Mri az els parancsot. o 2 ter, zrd le a gmbt! nyugtzta s tovbbtotta Abi Tynde Tyndee enek. Engedlyt krek a haj kls hlzati csatlakozsainak lebontsra o mondta Tyndee. Goldenger hlgy, megadom az engedlyt. Tyndee ter, megadom az engedlyt. Engedlyt krek a gmb s a haj kztti bels hlzati csatlakozsok o lebontsra mondta Tyndee. Goldenger hlgy, tjkoztassa a fedlzeti tisztet, hogy a tovbbiakban a haj teljes vezrlst is kzvetlenl mi, a gmb veszi t s utastsa, hogy kezdje meg a gmbn kvli legnysg mlyaltatst! Ttra r, tjkoztatom: a tovbbiakban a haj teljes vezrlst is kzvetlenl mi, a gmb, vesszk t s parancsot adok a gmbn kvli legnysg mlyaltatsra. Nhny perc telt el.
2 Az

abraka y-t gy ejtjk ki, mint a magyar bet t. u

3.3. AZ ELSO REPLS

129

Kapitny r, a gmbn kvli legnysg mlyalvsban. Ksznm, Goldenger hlgy, megadom az engedlyt az irnyt gmb s a haj kztti bels hlzati csatlakozsok lebontsra. o Tyndee ter, megadom az engedlyt az irnyt gmb s a haj kztti bels hlzati csatlakozsok lebontsra. o Uraim, kapcsoldjunk mentlis abrakban! adta ki a parancsot Mri. Cookee ue, uni taorta hal mante webe. (Kapitny r, mindenki csatlakozott a mentlis hlzathoz.) jelentette Abi mr mentlis abrakban. Hale, Goldengere ee. (Ksznm, Goldenger hlgy.)

3.3.1.

Az Epkedve.humane.homoe vilgon

Mikrofon prba 1,2,3. Mikrofon prba 1,2,3. OK, jl vesz a gge mikrofonom. Ha minden igaz, akkor 2010. oktber 17. van s lczott plyn az Epkedve.humane.homoe kzelben vagyunk. prblom sszeszedni magam. Vajon ilyen rzs lesz megregedni? Minden tagom nehz, de a fejem nehezebb mindennl. Most trtnk magunkhoz az altatsbl. Robi mr talpon, o a fedlzeti tiszt, ot mr korbban bresztettk a gmbb l. o Meg lehet szokni, gyerekek, meg lehet szokni, majd megltjtok bz tat bennnket folyamatosan. Kelep L. tanr r. Biztos igaza van, mert o cseppet sem ltszik megviseltnek. Gyernk, gyernk, mindenki foglalja el a helyt! folytatja, csppet sem cskken lelkesedssel. o Igen, hajr, jjjn a kaland! Ugrok fel n is. - Tudom mi a feladatom, gyorsan indulok is a leszll rmpk fel. A tbbiek szorosan utnam. Megrkeznk, ellen rzm a ltszmot: o Zeng r? o Ksz. Ambrus r? Ksz. Vigad r? Ksz. Heged s r? u Ksz. Fazekas r? Ksz. Sorakoztak fel szemben mind az ten. OK., a csapat rendben. Egy pillanatig nznk egymsra, nem is kell mr tbb id , felptettk ad o

130

FEJEZET 3. AZ INTERNET VILGNYELVE

hoc mentlis abraka hlzatunkat. Felkapjuk a knny panorma sisakot, u kis krt alkotunk s mindenki ellen rzi az el tte ll szkafandernek zrt. o o Bart hlgy, megjtt a holorobot kpe! hallom kzben mentlis abrakban mi hangjt az irnyt gmbb l. OK., minden terv szerint megy. o Mert mihelyt megrkeztnk, a gmbb l elindtottak egy robotot a bolygra. o Mostanra sikeresen leszllt, installlta a magval vitt teleport rmpt s folyamatos holotv adst kld vissza a hajra. Kapcsoldjunk r a holorobot csatornjra! - utastom a tbbieket. Csatlakozunk, szinte azonnal megjelenik a bolyg felsznnek vrses, barns kpe a sisakom bels kivett jn. A kp kzpn ott fekszik a leszll o o rmpa alig 20 centi magas, vilgosan csillog, fmteste, mint egy vrs lsekkel teli kihalt sznhz res sznpada. Lovas r, engedlyt krek az Epkedve.humane.homoe vilgra lpni fordulok a kapitnyhoz. Bart hlgy, az engedlyt megadom. Jrjanak szerencsvel! Ambrus r intem magam mell Brnt a rmpra. Zeng r, Vigad r, ha lertnk s minden OK., kvessenek ado tam ki a parancsokat, aztn mentlis abrakban parancsot adtam a rmpnak, hogy tltsn bennnket a bolygra. Egy szempillants sem volt s mr az Epkedve.humane.homoe szelei hordta vrs porszemek vertk a sisakom rostlyt. Kellett a szkafander, ez mr vitn fell ll. Lelptnk a rmprl, alig pr lps utn megrkezett Gyuri s Balzs is. Eldobom az agyam, itt vagyunk egy idegen bolygn! Gyuri ppen kibontotta a Fld lobogjt s rer stette a teleport rmpa o egyik kommunikcis antennjra. Megvrtuk, aztn bepattantunk a mr vrakoz Brn mell a jrgnyba. Mentlis abrakban parancsot adtam a tbor programjnak, hogy aktivlja az lczst, mire a holorobot, a genertort s a teleport rmpa a zszlval egytt lthatatlann vlt. Ezzel kiptettk els o leszll helynket egy idegen vilgban! Lassan elindultunk a tvoli, kk nvnyzettel bortott hegyek fel. Mr elgg bent jrtunk a kk fkkal bortott dombok kztt, amikor tudatok jelenltt reztem meg. El ttnk egy hegy magasodott, taln a hegy o msik oldaln lehetnek, vagy taln bent a hegyben, egy barlangban? tet tem fel a krdst mentlis abrakban a tbbieknek. Ok mg nem rzkeltk msok jelenltt. Taln n tvedtem, mentnk tovbb. Hamar felfutott a jrgny a hegytet re, ahonnan szles kilts nylott a kerek, kk vlgyre. Ott o voltak, szmtalan l lny, emberek is! reztem, ahogy egy kis idegen gyero mek meglepetsben felkiltani kszl, mr lttam is, hogy melyik gyerek

3.3. AZ ELSO REPLS

131

lehet az. Azok kzl egy, akik kzpen, nagy kupacba gabalyodva jtszottak egy valamilyen legelsz , szeld nyj mellett. Kezt felnk emelte, mr rnk o mutatott, amikor utastottam a jrgnyunk szoftvert, hogy kapcsolja be az lczst. Mikorra a kisgyerek trsai rnk, a fmes szrkben villz szkafandereinkre s kocsinkra nztek, mr nem lttak mst, csupn a kk hegyek tetejt s felette a rozsdavrs eget! A kisgyerek csaldottan engedte le a karjt. A tz-hsz f s csapatbl hrman mgis elindultak felnk. o Jobb is gy nyugtattam meg a tbbieket mentlis abrakban kny nyebb lesz oket meggyelni, mintha neknk kellett volna lemenni kzjk, mert az egy dolog, hogy nem ltnak, de azrt pldul vletlenl - meg tudnnak bennnket rinteni. Amg a gyerekek lelkesen felnk masroztak, addig volt id jobban szemgyre venni a vlgyet. Kzpen egy nagy nyj leo gelszik, olyanok, mint nlunk a brnyok, de ezek feketk. Krlttk sok gyerek jtszik. A gyerekek olyanok, mint a fldi gyerekek, de lthatan sokkal kezdetlegesebb letet lnek. Mgttk a lassan emelked hegyoldalon o sok-sok vilgoskk kunyh n ki a vrses fldb l. A kerek vlgy jobb oldao o ln vaskos patak kanyarog, citromsrga szne gynyr en vgja kett a kk u fves fldet. A gyerekek kzben egyre kzelebb rtek. Meglep , messzir l o o sokkal atalabbnak t ntek, kzben meg velnk egy id s formk lehetnek. u o Aki szrevett bennnket, annak a vlln lt valami, egy madr. Most lendletet vett s felrppent a vllrl. Nagy csapsokkal szelve a leveg t o felemelkedett, aztn felnk ldult. Sebesen kzeledett, lekucorodtunk, hogy nehogy neknk repljn, de a madr mr felettnk krztt, egyre alacsonyabbra ereszkedve. Mgnem le nem lt Brn vllra. Biztos a testnk melegt ltja nyugtztam a tbbiek fel mentlis abrakban. Az lczsi programba majd be kell venni a h sugrzst is. o A gyerekek kzben mr teljesen alnk rtek, de ahhoz, hogy hozznk feljjjenek valamelyik oldalon krl kell jnnik, mert szemb l a szikla, o ahol lltunk az legalbb msfl mter magas, teljesen fgg leges fal. De a o gyerekek nem prbltk megkerlni a sziklt, hanem lerogytak a fldre s buzgn, nmn hajlongtak felnk. Aztn rjttnk, hogy nem minket akar nak megtisztelni, hiszen ok nem is ltnak, hanem a nagy madr semmiben val lebegst l ijedtek meg most nagyon. Az ismeretlent l val flelem volt o o az, ami kivltotta bel lk ezt a viselkedst. Amg ok hajlongtak, addig Zoli o jobbra krl lement hozzjuk, most ott llt mgttk. Ez valami vallsi, szent helyk lehet, mert a k innen szemb l tele van o o

132

FEJEZET 3. AZ INTERNET VILGNYELVE

belevsett, sznezett kombkomokkal jelentette Zoli mentlis abrakba. Add be a ltott kpet a hlzatba s kld fel a hajba is elemzsre krtem ot. Tyndee szinte azonnal kldte az rs abraka fordtst, valami prfciaflesg volt:
Megl el szr a madr a szent kveken. o Nem a szrnyval szll, hanem ltaluk szll. Ha az igazak a madr szembe nznek. s nmn megszltjk a madarat. Akkor jelennek meg ok is, a fnyl idegenek. o Kpk, mint a mi aink. Hangjukat nem hallani. Ok rk szvetsget ktnek npeink kztt. Kszljetek ht a tallkozsra. Mert nagy ellensgek kzelednek. Amit l csak a szvetsg vdhet meg titeket. o De, ha nem vagy igaz. s a madr szembe nzel. Akkor elt nsz rkre ebb l a vilgbl. u o

Tudtam, hogy nem szabadna kapcsolatba lpnnk a "civilizcijukkal", de gy tltem meg, ez remek alkalom, hogy valra vltsunk valamit ennek a mg primitv, de mgiscsak emberforma kultrnak az lmaibl. Megvitattam a tbbiekkel is: kzs nevez n voltunk abban, hogy mi nem a csods o idegeneket akarjuk eljtszani nekik, hanem letre kelteni gondolatvilguk ezt a kicsi rszlett. Tyndee is visszajelzett, hogy br mg nem vgezte el ennek az esetleges apr beavatkozs hatsainak a szimulcijt, de valszn leg csak jt tehet ennek a fejletlen civilizcinak, ha meger sdik az a u o hite, hogy a vilgot rk s hatalmas trvnyek irnytjk. Mert, ugye, a k be vsett prfcijuk is teljeslt. Akkor teljesljn a prfcijuk! A vgo vel persze nem tudunk mit kezdeni, de id vel ezt a hiedelmet majd elfelejtik. o Mivel Tyndee szerint a vilgot nem fenyegeti semmilyen veszly. Miel tt feloldottam volna az lczsomat, megprbltam mentlis csao tornt kialaktani a val, azzal, aki szrevett bennnket s mostanra mr abba is hagyta az rtelmetlen hajlongst. Mentlis abrakban prblkoztam: Bart vagyok. Bart vagyok. A nevem Virg. A nevem Virg. sugroztam korltozott tudata fel, de tudtam, hogy rteni nem fogja. Abban

3.3. AZ ELSO REPLS

133

remnykedtem csupn, hogy hall majd valami rthetetlent ugyan, de ez legalbb a flelmt eloszlatja. Igazam lehetett, mert ahogy hozzszltam, megdermedt, majd feltzelt lrmzsba kezdett a trsai fel. Tyndee azonnal sugrozta felm az abraka fordtst: Ez a madr az a madr, az n madaram a kivlasztott madr. Nem, nem az. Ez nem a kivlasztott madr, ez a te madarad tiltakoztak legalbb ugyanolyan hevesen a trsai. Aki erre el re lpett felm, o pontosabban mivel n mg lczva voltam, gy rajtam tltott, teht a madr fel s mondott valamit: Aaahhge, Aaahhge mikzben sznpadiasan magra mutogatott. Nekem sem kellett tbb, feloldottam az lczst s n is bemutatkoztam fel: E a Virage intztem hozz immr verblis abrakban. Mg fel sem tudtak ocsdni mulatukbl, amikor jraindtottam az lczst, mert ebben a pillanatban parancsot kaptunk a kapitnytl, hogy haladktalanul trjnk vissza a tborba. Nemcsak a bolygn hagytuk ott az lczott robot tbort, hanem geostacionrius plyn lczva egy teleport m holdat is htrahagytunk. u Ez azrt j, mert, ha jra ide akarunk utazni, akkor jhetnk mlyalvsos vettssel a m holdra s innen leugorhatunk a bolygra. Nem kell ttr knt a u o csillaghordoznkkal utat trnnk, keresztl az Univerzumban. Mire visszartnk a tborba Igor s Balzs ppen befejezte a tbor kiptst. Egytt lptnk fel a teleport rmpra s sitty-sutty mr a Kk Fld fedlzetn is voltunk. Ennyi volt az els feldert utunk egy idegen vilgban. Ahogy visszao o rtnk Nagyatomba, mris megkaptuk a kvetkez utazs replsi tervt. Az o Epkedvre vilgra a tovbbiakban majd az let a fldn kvl ra keretben jvnk el, a kvetkez hrom-ngy foglalkozs alkalmval. o A kifejezsszavak II.
2010. oktber 18. Htf , 18 ra 06 perc. o

Ma llandan elpirultam: akkor is ha Tams rm nzett, de akkor is, ha csak azt gondoltam, hogy rm nzett. Ksz katasztrfa volt! Mindenki szrevette: Brdos G. azt hitte lzas vagyok, azrt olyan piros az arcom, le is kldtt az iskolaorvoshoz; Abi pedig behatan rdekl dtt, j hangosan, o hogy mindenki hallja: nem ltem-e este tl kzel a t zhz? Mintha nem u ltott volna tegnapel tt bennnket, amikor kz a kzben nztk a tzijto kot. . . minek szerencsje van, o nem ilyen piruls. Inkbb nem is akarok emlkezni a mai dlel ttre. . . o

134

FEJEZET 3. AZ INTERNET VILGNYELVE

Tanr : Brdos G. ra : Java programozs Tanul : Bart Virg Email : virag@javacska.hu Trgy : A harmadik hzi feladat Dtum : 2010. oktber 18. Id : 18:10 o

Kifejezsszavak Bart Virg A kvetkez pldk alapjn szmold ki az albb majd megadott kifejeo zsszavak rtkt! A
Hell

egyszer kifejezssz, egy karaktersorozat. u A


vilg!

szintn. A
Hell+vilg!

sszetett kifejezssz rtke a Hellvilg!. Akkor most szmold ki, hogy mi az albbi kt sszetett kifejezssz rtke! Hell+ +vilg! (1+2)*2+(6*2)+4+2*5

3.3. AZ ELSO REPLS A horda


2010. oktber 19. Kedd, 19 ra 58 perc.

135

Ma dlutnra ssznpi kerkprtra volt a csaldi program, kiegszlve a jrulkos elemekkel: Manci nnivel s a hrom val. Be is futott mindenki hozznk id ben, s mg Grti tdszrre is ruht vltott: elkezdtk el szedni a o o bickat. Ekkor derlt ki, hogy az mi bicjnak els , az apnak a hts keo reke defektes. Mg szerencse, hogy kkal Dunt lehetett rekeszteni: pikkpakk kicserltk a bels ket. Ha nagyon muszj, persze tudunk bels t, kls t o o o cserlni, akr vltt is szerelnk, de meghagytuk a kat abban a hitkben, hogy csak az o lovagias segtsgk mentette meg a kirndulst. Vagyis csak Tams s Balzs segtsge, mert Alfrd gyorsan kzlte, hogy o csak elektronikus cuccokkal boldogul. Vgre Grti is tltztt, nagyapt is sikerlt meggy zni, hogy nem lehet o belehalni nhny kilomteres kerekezsbe, s apt is, hogy amint hazartnk alapos kullancsvizsglatot tartunk majd. Innent l igazn grdlkeny volt a kirnduls: elmentnk az er m tao o u vaihoz, persze mire kirtnk nagyapa mr majdnem henhalt. Horgsztunk: Manci nni horgra nagyapa tette fel a csontit, Grti hosszasan viaskodott egy fl pr gumicsizmval, vgl az eredmny gy alakult: Nagyapa s Manci nni: egy kicsi naphal, amit vissza is engedtek, Renta s apa: kt keszeg, Grti: fl pr gumicsizma, Alfrd viszont fogott egy sll t, o mi, n, Tams s Balzs: sszesen hrom keszeg. A kijellt t zgyjt helyen fliban megstttk a halakat (a k glnu san tvllaltk a halpucolst). Mg sltek a halak, apa azt javasolta: nekeljnk. Els re nem mondanm, hogy osztatlan siker koronzta a tervt, de az o els , s meglehet sen hamis, nta utn mindenki belemelegedett. Vacsi kzo o ben kigynyrkdtk magunkat a tban tkrz d naplementben, Alfrd, o o a nap h se lenttte a t z maradvnyait, s hazaindultunk. t kzben lerako u tuk a kat s Manci nnit (akinek, mint kiderlt, nagyon szp hangja van, s olyan szpsges npdalokat tudott, hogy mg). n mr alig vrtam, hogy hazarjnk, mert Tams a kapujukban a tenyerembe cssztatott egy levelet! Ez volt benne:

136

FEJEZET 3. AZ INTERNET VILGNYELVE

Szerda reggel egy epeked lovag vr rd rk el tt: 7. 05-kor a szobor mellett! o o

Vajon mit akarhat? A gondolataim elterelshez idelis a hzi: E. T.-b l o kvlb l prokban kaptuk a feladatokat. Mrival mi azt, hogy vizsgljuk o meg az Epkedvn a gyerekek jtkszoksait. Milyen jtkaik vannak, egyedl vagy csoportosan jtszanak-e, ilyesmi s ehhez hasonl krdsek sokasgra kell megtallnunk a vlaszokat. A feladatra egy hetet kaptunk, ez id o alatt megkapjuk az ott hagyott robot GONDOLAT1 mobil feldert egyso gnek irnytst, de egyszer oda is utazhatunk. A feladatok kiosztsa utn az Epkedve.humane.homoe embernek gondolkodsrl tanultunk. Ember nek nevezhetjk oket, mint ahogyan minden *.*.homoe vilgon a hozznk hasonl lnyek gyakorlatilag emberek. Rnzsre csak aprbb klnbsgek lehetnek. Hogy pldul egyet emltsek, neknk, a Milke.humane embereknek 32 fogunk van. Nekik, az Epkedve.humane embereknek 34. Mentlis fejlettsgben viszont nagy klnbsg van kztnk. Nekik nincs technikai civilizcijuk, matematikai civilizcijuk plne nincs! De azrt, mint ltalban a homoe fajok rtelmesek, csak mg nagyon az elejn vannak a fejl dsnek. o Pldul az rn megtudtuk, hogy ntudatuk mr van (speciel n ezt mr azta tudom, amita a feldert ton voltunk a bolygn). Ami rdekes az az, o hogy hogyan jn ltre ez a tudat. Majd lerom, de most Mritl jtt egy email, trgyban, hogy fontos. . . Hopp, azt rta, hogy tltsem le az Epkedvr l jv holotv adst! Letlo o tttem, nagyon furcsa kp: a tborunktl alig pr szz mterre apr rszekb l o ll hatalmas horda menetel monoton, feltartzhatatlannak t n tempban u o arra, amerre korbban mi is vgeztk a feldertst. Noteszgp a tatyba s irny a knyvtr: megtancskozzuk a helyzetet!

3.4.

A kerek asztal bitmani

Krbeltk a nagyasztalt az olvasteremben. Tizenheten: Brdos G., Kelep L. tanr urakkal s Kardos E. igazgatn vel egyetemben. Utbbi nyitotta o meg a trgyalst: Ismertetem a pontos helyzetet. A horda hromfle egyedb l ll. Mindo hromnak az alakjt szablyos tszgnek tekinthetjk. A legnagyobb tmr je tlagosan 25 centi, a kzps tlagosan 11, a legkisebb 5. k alao o kot formlva lland, szerencsre alacsony sebessggel haladnak az emberi kolnik fel. A m holdunk 390-re becsli az emberi kolnik szmt, de u

3.4. A KEREK ASZTAL BITMANI

137

sajnos minden ismert kolnia fel halad egy "k-horda! Az k mozgsa felettbb szokatlan. Hrom szinten, egymson is lpkedve haladnak. Legalul mennek a legnagyobbak, rajtuk mr gyorsabban lpkednek s haladnak a k zepesek s orajtuk meg a legkisebbek. A m holdas felvtelek jl mutatjk, u hogy az ket alkot llatkk a talaj repedseib l znlttek el , el szr nagy o o o krt formltak, majd ebb l alakult ki az adott irnyba mutat k s aztn o kezdett mozogni. De az k folyamatosan fenntart egy 30 mter szles llatka folyamot a repedsekhez, ahonnan folyamatosan tovbbi llatkk jnnek el o s masroznak az k fel. Az egsz gy fest, hogy mennek egy v1 sebessggel a legnagyobb llatkk, rajtuk a kisebbek v2 sebessggel, azokon pedig a legkisebbek mondjuk v3 sebessggel. gy az ken kvlr l nzve gy ltjuk, o hogy a legkisebbek pldul v1 +v2 +v3 sebessggel mozognak! Teht az als szint olyan, mint valami mozg orszgt. A kisebbek ezeken mennek el re o htra, taln lelmet szlltanak az tban mozgknak, mg nem tudjuk. A k zps k az k szlre mennek s megllnak, ok taln a sor szlt vdik, egy o o ideig ork dnek, aztn megint felkerekednek s mennek valamennyit el re. o A dologban az a legrthetetlenebb, hogy nem ismerjk ezt a fajt! Fogalmunk sincs, honnan kerlhetett el , egyik katalgusunk, adatbzisunk sem o tesz emltst mg csak ehhez hasonl fajrl sem! Minden rendelkezsnkre ll adatot mrlegelve szerintem a bolyg komoly bajban van. Mi a ti vlemnyetek? Taln nem akarnak rosszat vlekedett Kelep L. tanr r. Mikor rik el az els epkedve emberi kolnit? krdezte. o Ha tartjk a mostani sebessget, akkor legks bb 38 rn bell. vo laszolt az igazgatn . o Vagy nem is akarhatnak semmit, mert lehet, hogy tudatuk sincs! Tudunk err l valamit? krdezte Brdos G. tanr r. o Kevs deduktvat, inkbb csak hipotziseink vannak. gy t nik, az u egyedi llatkk nem tudatosak, de kzsen taln kpesek tudatos viselkedsre utal jellemz ket mutatni. o Akkor kicsit olyanok lehetnek, mint nlunk a hangyk vagy a mhek? krdezte Mri. Szervezetten viselkednek, ahhoz nem fr ktsg. Mr ez a menetels is sokkal komplexebb, mint amit a mi hangyink produklnak, nem? vlaszolt Abi. Igen, valszn leg jval ranltabbak lehetnek a fldi hangyknl. A u krds szerintem az, hogy ha vannak szndkaik, akkor azok bksek-e? reaglt az igazgatn . o

138

FEJEZET 3. AZ INTERNET VILGNYELVE

Csak akkor tudjuk meg, ha elrik az els kolnit adott hangot pesszio mizmusnak Brdos G. Nekem lenne esetleg egy tletem. . . hozakodott el vatosan Igor. o Nos? krdezte Kardos E. s fordult egyszerre mindenki Igor fel. Frkszhetnnk, tesztelhetnnk a viselkedsket. Hogyan? A robot tborban csak a GONDOLAT1 s GONDOLAT12 van, de mindkett ppen feltlts alatt, csak ht ra mlva lesznek korltoo zottan mozgskpesek. ktelkedett Brn. Igen, de puszta vletlenl a tbor installlsakor ott felejtettem RobIGOR-t. . . Ki az a RobIGOR ? krdezte Kardos E. A Hardver szakkr nagytott m hangyjnak vezrl programjt kieu o gsztettem a Szimulcis szmtsok szakkr hangya-vezrl programjnak o nhny rszvel. Ebben Kelep L. tanr r sokat segtett iskola utn a szakkrn. Aztn mg Virggal rtunk hozz egy olyan kommunikcis interfszt, hogy RobIGOR kpeket tudjon tovbbtani az Epkedvn hagyott holokamera fel, a holokamera installlsakor pedig Balzs engedlyezte, hogy a holokamera RobIGORtl is elfogadja a kpet. Abban pedig mr Brdos G. tanr r segtett, hogy az 1991 VG m holdunkon tjv szteganogrf3 hou o lotv adsbl kivegyk a sajt kpeinket, ahonnan mr hagyomnyos IP cso magokknt rjk el oket a Vilghln t. vallott oszintn majdnem minden rszletr l Igor. o Szp kis sszeeskvs mondhatom, ezrt mg ks bb szmolunk a tao nr urakkal kln s veletek is! kelt ki magbl az igazgatn De most o azt kell mondanom, hogy nagy hasznunkra lehet e ez a RobIGOR , ha informcikat tud szolgltatni az ismeretlen hordrl folytatta mr megenyhlve. Tudjtok vezrelni is RobIGORt? Korltozottan. Kidolgoztunk egy sajt protokollt, amit a holotv kamera vezrlsre tudunk rpteni s kicsit meghackeltk az Epkedvn teleptett kamert, hogy ezeket a kalz jeleket megprblja RobIGORhoz tovbbtani. . . Ezt elkpeszt en gyesen kieszelttek, gyerekek! Tanr urak, majd mao gyarzatot vrok, hogy nk mit sejtettek mindebb l. De most koncentrlo junk a krzisre! Kardos E. Igorhoz fordult Van kapcsolat RobIGORral?
szteganogra az adatok elrejtsnek tudomnya. Nem az adatok titkostsa itt a cl, hanem az, hogy szre se vegyk: egyltaln lteznek az adatok! A szteganogrval s egy ilyen adatelrejtsi pldval ismerkedhetsz meg rszletesen Szteganogra cm szakkri u segdanyagban.
3A

3.4. A KEREK ASZTAL BITMANI

139

Vlaszul Igor kipattintotta a noteszgpt, felnzett, kvettk a pldjt. Mindannyian ad hoc WiFibe gy ltnk. Igor minden gpre kikldte a RobIu GOR vezrl kliens programjnak kpt. o

3.1. bra. RobIGOR fldi irnyt applet kliense. Minden flrban kld egy csippentst, ezzel jelzi, hogy kszen ll parancsok fogadsra. Ebben a vrakoz zemmdban egyetlen feladata, hogy csapolja meg egy kicsit a kamera naptelepeit s a sajtjt tartsa maximlis tltttsgen. . . Teht ezrt negatv a robot tbor energia mrlege vgott kzbe az igazgatn de ezt hogy-hogy nem tudta felderteni a tbor nellen rz o o o programja? Hmmm, az nellen rz programot is mi teleptettk. o o Szval maguk mindent meghackeltek a tborban? Ht, amit gy gondoltunk, hogy kell, azt igen. . . Brdos tanr rral gy gondoltuk, gy tltk meg, hogy ezek az apr feladatok, feladat mdostsok rtalmatlan kis gyakorl feladatok tulajdonkppen. . . prblt bennnet menteni Kelep L.

140

FEJEZET 3. AZ INTERNET VILGNYELVE

J, j, ezt most hagyjuk. Majd elltom a kollgkat megfelel tudoo mnyos kihvsokkal, ha ezen a krzisen tl lesznk vgre intette le Kelep L. ment beszdt Kardos E. Igor am, adj parancsot RobIGORnak, hogy o induljon a horda irnyba! Koncentrlt mr jra a feladatra az igazgatn . o Rendben, a cl epkedvei fokhlzat koordinti: szaki szlessg 48 7, keleti hosszsg 18 51. Az irny rgztve, az indulsi parancs elkldve jelentette Igor. Mr csak vrnunk kell, most a programja kiszmolja a cl tvolsgt. Aztn megvizsglja, elg energia van-e a telepeiben ennek a tvolsgnak a megttelhez. Elg lesz, mert nincs messze a cl, a telep pedig maximumon kell, hogy legyen most. Majd elindul s visszakldi, szerinte mennyi kell majd a cl elrshez. Hopp, meg is jtt RobIGOR vlasza: ton van s becslse szerint 4 perc mlva elri a kijellt clkoordintkat. RobIGOR mozgsvezrl jt gy programoztam, hogy a cl fel menet, o ha maga el tt mozgst rzkel: megll s prblja azonostani a mozgst: o mi mozoghat, mirt. . . ilyesmi krdseket prbl megvlaszolni. A lnyeg, hogy kzben a megllsrl jelentst is kld haza. Erre vlaszolva mi is utasthatjuk; ha mgsem: kt lehet sg van: veszlyesnek tli a mozgst, ezrt o visszafordul, vagy (mivel teljesen rthetetlen mozgssal tallkozott) belegabalyodik az elemzsbe, amit nem tud abbahagyni, s gy vgtelen ciklusba esik. Mirt nem tettl a programba prhuzamosan fut, gyel szlat, hogy o ha mondjuk 10 percnl tovbb elemezn az ismeretlen mozgst, akkor kivegye ebb l az elemz ciklusbl? Krdezte az igazgatn Igortl. o o o Nem hittem volna, hogy ilyen szksg lehet majd RobIGORra. Arra gondoltam, ha majd rdekeset tall, megvizsglja, amg csak ki nem merlnek a telepei. Kzben megjtt a jelzs, RobIGOR jelentette, hogy maga el tt 2 mterre o ismeretlen mozgst vett szre. Kzi-vezrls kattintotta be Igor a vezrl kliens ablakban. o Megjtt a kp is, a falka llatki egymson 3 emeletbe szervez dve mao sroztak RobIGOR el tt. Igor lassan elindtotta a robotunkat. Alig tett meg o 10 centit, amikor a legkzelebbi llatkk szrevettk. Az als s a fels sor o nem tr dtt vele, viszont a kzps ben lv llatkk a sor szln meglltak. o o o Egy pillanatra megtorpantak, majd halvnyzld kdt kptek RobIGOR fel. Igor megmozgatta a kamert, hogy lssunk is: a robot krl mindentt praszer nom por lebegett. Kellett egy-kt perc, amg eloszlott s vgre u jra lttunk valamit. Semmi sem vltozott, mind a hrom sor ugyangy mas-

3.4. A KEREK ASZTAL BITMANI

141

rozott, mint a kd el tt. Igor ismt indulsi parancsot kldtt RobIGORnak, o erre megismtl dtt a korbbi sznjtk: a szls -kzps llatok megint leo o o kptk a robotot. Igor harmadszorra is jra indtotta ot, ezttal a kzps o llatok mr nem lltak meg, r sem bagztak tbb a robotra. Nem tudni, hogyan kellett volna reaglnia a porra, de mivel a robotra nem volt hatssal, gy szerintem az llatkk azt hiszik, hogy RobIGOR is kzlk val trte meg a csendet az igazgatn . Igor, fel tudod vinni ot a o hordra, hogy RobIGOR is rajtuk meneteljen? Folytatta ezzel a krdssel. Megprblom vlaszolta Igor. RobIGOR lassan, de biztosan felkapaszkodott a horda mozgsa ptette alkalmi sugrtra. Tl mretes llatkaknt megindult a kzps sor k cso csa fel. Masrozott a legals sor, azon a kzps s legfell RobIGOR is a o legkisebb llatkk kztt. Robotunk kb. kt ra mlva ri el az k cscst, aztn lelassul, mert mr csak az t plsnek sebessgvel tud haladni. A kolnikat gy vrhatan 37 ra mlva rik el. Ezrt berekesztettk az lst. Holnaputn 7:30-kor tallkozunk ugyanitt, addig mindenki gyeli a RobIGOR ltal kldtt kpeket s prblja kitallni: mi lehet az k clja? Egyel re err l fogalmunk sincs, de o o a halvnyzld kdfggny kpdsse nem valami bizalomgerjeszt ismero kedsi szoks, az biztos! Mg el kell olvasnom Brdos G. mondattant:

3.4.1.

Java mondattan

Java programozs Harmadik kisolvasmny Java mondattan Brdos G.


Kivonat
Ebben a kisolvasmnyban a Java nyelvr l, mondatairl olvashatsz. o

Az egyszeru mondat Az egyszer mondatokat gy lehet knnyen megismerni a Java nyelv u u szvegekben, hogy pontosvessz van a vgkn. Lssuk pldul azt a mono

142

FEJEZET 3. AZ INTERNET VILGNYELVE

datot, ami azt mondja, hogy az oszlopSzm nev azonost egy szm tpus u vltoz:
int oszlopSzm;

Vagy azt, ami az 5 rtket adja az oszlopSzm nev vltoznak: u


oszlopSzm = 5;

Az egyszer mondatbl ktflt fogsz hasznlni, ezek a deklarl s az u rtkad. Deklarl mondat (valami legyen ez, az, ilyen, olyan).
int oszlopSzm;

Babu hos; // A hs a Babu osztly pldnya lesz majd! o

rtkad mondat (valaminek az rtke legyen ez, az, ennyi, annyi).


oszlopSzm = 5;

hos = new Babu("/hos.png", startOszlop, startSor);

A deklarl s az rtkad mondatot kombinlhatod is, gy:


int oszlopSzm = 5;

Babu hos = new Babu("/hos.png", startOszlop, startSor);

3.4. A KEREK ASZTAL BITMANI Az sszetett mondat Ha-akkor mondat.


if(lephetJobbra(babu)) babu.jobbra();

143

Megpblom mondat.
try{ eredmeny = r.kodol(szoveg); } catch(RosszBetu rb) { eredmeny = new String("Nem megfelelo betu!!!"); }

Fggvny mondat.
public void jobbra() { ++oszlop; }

Osztly mondat.
public class Babu { // alanyi rsz: tulajdonsgok // lltmnyi rsz: viselkedsek }

Belebabrltam Tyndee kvantum-teleport szerver progijnak kongjba: bevettem a mi alagsori teleport rmpnk cmt is! Eddig csak az 1991VG m hold cme volt berva. Ezrt kellett innen a m holdra mennnk s onnan u u a csillaghordozra. Ha minden igaz, akkor most mr az alagsori rmprl a Kk Fldre tudunk majd ugrani kzvetlenl. Hogy honnan tudtam a mi

144

FEJEZET 3. AZ INTERNET VILGNYELVE

rmpnk cmt? Hmmm, megnztem, milyen kliensek csatlakozhatnak az 1991VG szerver progijhoz s azoknak a listjbl kiokoskodtam, melyik a mi hzunk. Ez sem volt egy rvid nap, s mennyi minden trtnt, de most mr sipircelek aludni!!

4. fejezet J2ME
Egy kis trtnelem: a Java nyelv immr 15 ves. Eleinte nem voltak dialektusai, de ahogy egyre hatalmasabb mrtkben elterjedtek a klnbz o programozhat mobiltelefonok, kzi szmtgpek: gy alakult ki az ezekkel foglalkoz nyelvjrs a J2ME is. A J2ME kialakulsa ta a korbbi, egybknt sokkal nagyobb rszt, nevezik J2SE-nek.

4.1.

Kelep L.

2010. oktber 20. Szerda, 21 ra 07 perc.

Ma mr hajnali hromkor fent voltam, br ez egyre gyakrabban el foro dul, most klns oka is volt. Hatig gondolatban legalbb hsz klnbz lo tzket sszelltottam fejben, hatkor pedig be kellett vallanom, nincs semmi normlis ruhm, s t minek sem. Latolgats kzben nha mintha padlnyio korgst hallottam volna. Hat utn t perccel viszont egyrtelm en szinte du brgtt a lpcs , mintha t elefnt jtt volna az emeletre. Aztn kinylt az o ajtnk, s kiderlt: az t elefnt nem ms, mint Grti (rettent en lmos szemo mel), Renta, apa s nagyapa s termszetesen Kalmi. Renta s apa kt tortval egyenslyozott, s mire mindenkit felfogott a szemem mr el is kezdtk a Boldog szlinapot!. Az ktelen hangzavarra megrkeztek a papagjok is, s j er s rikcsolssal vettk ki a rszket a csaldi letnkb l... A titoko o zatos udvarl, az iskolai esemnyek, a csillaghajzs, az epkevk, no meg a Nap napi el kszletek kzben teljesen elfelejtkeztem a kzelg tizenketteo o dik szlinapomrl, azaz szlinapunkrl! 145

146

FEJEZET 4. J2ME

Aptl szoks szerint knyvet kaptunk: mi a Fld halairl, n egy csillagszatit, Grtit l n egy csillagszati tvcsvet (kis clzs: ezentl hasznljam o a sajtom:)), mi mikroszkpot, nagyaptl mindketten egy raks dessget, egszen vletlenl sok k kuszosat is, amit o nagyonnagyon szeret, Renttl mindketten valami ktyt, aminek a m kdst csak este u 1 hajland megmutatni. Nem rhatom le, mit kvntam gyertyafjs kzben, mert akkor nem teljesl, de annyit elrulok, nagyon j kis kvnsg. Tortaevs s csomagbonts utn mindenkin kitrt a hagyomnyos reggeli ltzsi s frd szobao hasznlati lz. mi kiss furcsllotta, hov rohanok, de nem krdezett semmit. pp kirtem 7.05-re a kvr galambos szoborhoz (nagyapa szerint turulmadr, de szerintem a szobrsz tvgta a vrosvezet sget s rjuk so zott egy galambot). Tams mr ott vrt: amint megltott el kezdte nekelni a Boldog szlinapot! (gy ltszik, aki ma reggel rm nzett: mindenkinek ez jutott eszbe), s kt piruls puszi ksretben (milyen j illata van ennek a nak!) kaptam egy nagyon szp szivrvnyszn dobozt, azzal a hasznlati u utastssal, hogy csak dlutn, a tlikertben bonthatom ki! Ez a egyltaln nem tudja, milyen lnynak lenni, alapvet tulajdonsgunk a kvncsisg. o Megltszik, hogy mg nincs lny testvre:) Ma volt mobilprog ra. rdekes s egyltaln nem nehz. Egy olyan objektumot formltunk meg, ami kpes volt a mobil-telefonokban lni!!! Pontosabban mi nem is objektumot, hanem egy osztlyt ksztettnk, aminek megvoltak azok a tulajdonsgai s viselkedsi minti, amelyek kellenek ahhoz, hogy a bel le szrmaz objektumok lhessenek a telefonokban. Miknt o is mondta ezt Kelep L.?
Tanr::Kelep L.> J, ma az a szp nap ksznttt rnk, amikor megrjuk els programunkat egy mobiltelefonra! Mr... o Tanul::L. Mri - halk kzbeszls> A tanr rnak is az els o lesz? kommunikcis egysget kaptunk, beptett abraka tolmcsgppel (nem minden rtelmes vilg vezette mg be diplomciai nyelvnek az abrakt).
1 Egy-egy

4.1. KELEP L.
Tanr::Kelep L.> Nagyon trfsak vagyunk ma reggel, fiam! Ugye van elg hzi feladata, fiam? Tanul::L. Mri - megszeppenve> Iii-gen. Tanr::Kelep L.> Brdos kollgm naponta figyelmeztet, hogy n imdja a plusz hzi feladatokat. Tanul::L. Mri> Neeem kimondottan. Tanr::Kelep L.> Akkor figyeljen halkabban! Teht n mr elksztettem szmotokra egy osztlyt, ami rendelkezik minden olyan tulajdonsggal s viselkedssel, ami lehetv teszi, hogy o a belle szrmaz objektumok a mobiltelefonokban lhessenek. o Ki tudja, mit kellene ahhoz tennetek, hogy legyen egy olyan sajt osztlyotok, ami ugyancsak kpes erre? Tanul::Bart V.> rkltetni kell a tanr r osztlybl! Tanr::Kelep L.> Igen, errl van sz! o

147

Remlem, gyelttek, hogy ki adta meg a helyes vlaszt! Az ra anyaga megtallhat a szakkri segdanyagok kztt a szokott helyen (http://www.clib.dote.hu/javacska/seged/). A kvetkez rn nemcsak a szimultorral prblhatjtok ki a prograo motokat, hanem feltesszk az Internetre s majd valdi telefonnal is! Aztn valahogy gy alakult a nap, hogy br a zsebemben tartottam a dobozt, s meg-megsimogattam, nem volt olyan t-tz percem, amikor nyugodtan megnzhettem volna. Br azt hiszem, mivel reggel gretet tettem a tlikerti bontsra, valahol mlyen nem is akartam igazn megszegni a szavam. Dlutn persze tekertem hazafel, mint egy kismkus (mi elment Balzzsal s Nagyapval a tavakhoz, kiprblni a mikroszkpot). Otthon szinte repltem a tlikertbe, de miel tt tnylegesen nekilttam volna, betettem Rao veltl a Bolert, amit szintn Tamstl kaptam klcsn. Elradt a zene a nappaliban s a virgok kztt is, a kvncsi Flp is elcsendesedett a vllamon: kibontottam a dobozkt. Egy gynyr ezst medl volt benne: szitakt t u o formz. Azta mr utna nztem a rajta lv kveknek, s gy tudom, hogy o a szitakt testt borostynk alkotja, a szrnyain oplkvek vannak. Egy o o j portlra akadtam, a kvek lersa mellett nagyon szp kpek mutatjk az adott k ltalnos kinzett. A lersokban azt olvastam, az oktberben szo letettek kve az opl, amit nha ajnlott olvaolajos kend vel ttrlni. Az o

148

FEJEZET 4. J2ME

opl a h sget s a megbzhatsgot jelkpezi. A borostyn pedig nem ms, u mint megszilrdult osfeny gyanta. gy lerva nem adja vissza azt, ami a szeo memben tkrz dik, ha rnzek. Nincs r kifejezs, mennyire gynyr . s o u az enym! Nincs mese, gyorsan keresnem kell egy hozz ill lncot. o

4.2.

Mobilka

2010. oktber 21. Cstrtk, 17 ra 5 perc.

Kelep L. is adott fel hzi feladatot, gyorsan neki is lk:

4.2.1.

Mit olvasok le az albbi UML brrl?

Tanr : Kelep L. ra : Mobiltelefonok programozsa Tanul : Bart Virg Email : virag@javacska.hu Trgy : A msodik hzi feladat Dtum : 2010. oktber 21. Id : 17:07 o

Mit olvasok le az albbi UML brrl? Bart Virg A Lnc osztly A MIDlet osztly beli objektumok kpesek lni, m kdni a mobiltelefou nokban. Megvannak az ehhez szksges tulajdonsgaik s a megfelel viselo kedsk. Kelep L. tanr r ebb l az osztlybl szrmaztatta a Lnc nev oszo u tlyt, ami megint csak lni volt kpes a mobiltelefonokban, mert a MIDlet osztlytl rklte az ehhez szksges tulajdonsgokat s viselkedsi formkat. A Lnc osztly annyiban tbb a sima MIDleteknl, hogy Kelep L. tanr r gy ksztette el: egy lncknt gondolhassunk r, amire gyngyket f zhetnk fel. A gyngyk pedig nem msok, mint amit a mobiltelefon u kijelz jn lthatunk. Ezrt, ha n a sajt mobiltelefonos osztlyomat a Lnc o

4.2. MOBILKA

149

4.1. bra. KelepLancnak ose a Lnc, annak ose a MIDlet osztly. osztlybl rkltetem, akkor az is kpes lesz lni a mobiltelefonban s egy olyan lnc is lesz egyben, amire a gyngyeimet fel tudom f zni. u Mire megrtam a hzim, Grta visszament az egyetemre, azt nem tudni: rra vagy randira? Nagyapa nekiltott a kert beteleptsnek, azt mondta: nem igazi otthon a mink, amg nincs egy rendes kertnk. Kalmi lelkesen segtett neki az ssban, br nha nem a megfelel helyen. o Apa vltozatossgra vgyott a horgszhely tekintetben (vagy csak megunta hallgatni, hogy a patak kicsi halaira nem szp dolog cpafogsra is alkalmas felszerelssel tmadni), s dlutn felnyalbolta a csaldot, s meg sem lltunk az er m h t tavig! (1 km otthonrl, iskolbl hazafel szinte rendo u uo szeresen arra tesznk levezet krt, mrmint az iskolt levezet t...) o o Imdok itt lenni, horgszbottal vagy anlkl. Hrom egymsba kapcsold tavat kpzeljetek el, ebb l a legkisebb egy enyhn emelked hegy oldao o ln, a tavakat, s persze az er m vet, mindenfel l hegyek s azokon erd k o u o o vezik. A tavakat forrs tpllja. Nagyon mlyek s nagyon tisztk, ha elg vatosan lpsz a szlre, lehet ltni a halacskkat.

150

FEJEZET 4. J2ME

mivel a fels tnl szeretnk lenni, mert onnan lebilincsel en gynyr o o u a kilts. rkig csak lnk a parton a kedvenc f zfnk alatt s nznk ki a u fejnkb l. Nzzk a halacskkat, a nyugodt vizet s a kevsb nyugodt horo gszokat, a parton stl csaldokat, a fkat, a hegyeket s a hegyek fltti felh ket. Gyakran kitallsat jtszunk, ezt mg nagymama tantotta neknk: o egyiknk megmondja milyen alak felh t lt ( a lt), s a msiknak meg o o kell keresnie ( a vadsz). Egyszerre csak egy lt van, de vadsz lehet o tbb is. Fontos a gyorsasg, ha tl sokig keresed, addigra a felh elveszto heti az alakjt, de csak akkor lehetsz a lt, ha megtalltad a megfelel alak o felh t. Nha el fordul, hogy az g teljesen ms rszn egy msik felh nek o o o is ugyanolyan alakja van, ilyenkor is rvnyes a tallat. Nemrg hal alak felh t kerestem, s mr nagyon telt az id , n mg mindig nem lttam, pedig o o nagyon koncentrltam. Annyira akartam egy halat! Egyszer csak egy nagy csobbansra lettnk gyelmesek, vagyis inkbb a rnk frccsen vzre: egy o ponty dobta fel magt pp a lbunk el tt! o Szerintem apa egsz dlutn csak felh ket nzett, mert halat, azt egyet o sem fogott... Kb. msfl ra utn felkltztt hozznk, ami azt jelentette, hogy neknk is vzbe kellett lgatnunk egy botot. Persze a gilisztt o tette fel a horogra. pp n vadsztam elefnt-felh re, amikor minek akkora kao psa volt, majdnem beleesett a botja a vzbe! J ideig kzs er vel fraszo tottuk, s amikor apa elgg kimulatta magt a prblkozsainkon, mi pedig kell en elfradtunk: tvette a botot s pikk-pakk megszkolta a halacskt. o Persze, miutn mi kifrasztottuk! Alaposan szemgyre vettk, s legnagyobb meglepetsemre megszlalsig :) hasonltott a mltkori ugrls pontyhoz.

4.3.

A MIDlet vndormank

2010. oktber 22. Pntek, 21 ra 37 perc.

Ma kaptunk egy jabb kisolvasmnyt, most kt osztlyrl: a Vszon s a Szvegdoboz osztlyokrl. De ezeket most nem vgom be, a portlon meg tallod oket. 2 napig lakott a kdban a ponty (senkinek sem volt szve meglni, vagyis nagyapa egyszer nekidurlta magt, de ltva a tekintetnket, elszllt minden gyilkos sztne), akkor Grti fellzadt: miszerint a hal vagy lakjon akvriumban, vagy patakban, folyban, tban, de ne frd kdban, ami trtneteo sen pp a mi hzunkban van. Vagy egyk meg, vagy ajndkozzuk el! Gyors

4.3. A MIDLET VNDORMANK csaldi szavazs utn megkapta a botanikus kert. Szoftver any esti mesi: A MIDlet vndormank

151

Este ismt n mesltem Ildiknek. Szerencsmre nemrg talltam a helyi hlzaton egy mesegy jtemnyt: Szoftver any esti mesi nven, innen u vlasztottunk egy mansat. Hol volt, hol nem volt, volt egyszer egy OO vilg a virtulis Tejton. Ezt a vilgot a bitmank varzslatai hoztk ltre, s Java nyelv varzslatokkal u m kdtetik. A mai mesm a vndormankrl szl, a vndormank kzl is u a DelKeresztje MIDlet mankrl. (A nagyobb gyerekek kedvrt elrulom, hogy minden egyes vndorman egy-egy objektum!) A MIDlet vndormank a J2ME kln tagjai. Mi jellemz a MIDlet-ekre? o A Java nyelv J2ME nyelvjrst beszlik. Nagyobb rokonaiktl nemcsak a beszlt nyelvjrsuk s lakhelyk klnbzteti meg oket, hanem a hzikjuk is. Mg a nagy vndormank Java Kpzeletbeli Gpekben rendezkednek be, addig a MIDlet vndormank KiloKpzeletbeli Gpekben. Ezek tnyleg hzikk, jval kisebbek a Java Kpzeletbeli Gpekt l. Ha be akarom mutatni a MIDo leteket, akkor nem szabad elfelejteni, hogy nagyon ignyesek. Igaz, hogy KiloKpzeletbeli Gp tpus kulipintykban lnek, de csak akkor kltznek be egybe, ha azt MIDP bels ptsz rendezte be. Mostano ban egyre tbb olyan mobiltelefon-utca s kziszmtgp-utca ltezik, aminek a KiloKpzeletbeli Gpeit MIDP2 rendezi be. Ezeket az otthonokat azrt szeretik jobban a MIDlet vndormank, mert sokkal sznesebb laksok s jobb audi-eszkzk vannak bennk. Nagyobb retyerutyjuktl eltr en kicsi kijelz kn pillanthatjuk meg o o oket. DelKeresztje vndormank, mint minden MIDlet, ktpetj ikrek, kukkantu sunk be hozzjuk! Mindkt mancska bksen szendereg Jvcska portl inka.clib.dote.hu webszervern. -DelKeresztje mank, talpra! Hasatokra st a BjtNap! Csipkedjtek magatokat! - szlt inka. -Jl hallunk, csak ne kiablj tovbb, mr indulunk is! - mondta DelKeresztje.jad -Mg hogy a hasunkra st, idebent szk venknt, ha ltjuk a BjtNapot! - morgott az orra alatt DelKeresztje.jar, o

152

FEJEZET 4. J2ME

4.2. bra. MIDlet vndormank. de o is iparkodott a TCP f ellen rhz. A TCP/IP pros hamarjban tovb o o btotta a csinosan becsomagolt DelKeresztje.jad-ot. DelKeresztje.jad megrkezett Gza bitman mobiljra: -Halih! n DelKeresztje vagyok, a verziszmom: 1.0.0, ide akarod kltztetni a testvremet is? - mutatkozott be a kijelz n keresztl DelKeresztje.jad. Gza akarta, s mris futtatta DelKereszto je.jar-t, aki mris belekezdett a munkjba. . . Itt a vge, fuss el vle!

4.4. Egy apa napja


2010. oktber 23. Szombat, 17 ra 42 perc.

Apt ma felkereste a botikert biolgusa. Rettent titokzatos volt, mindeno kpp ngyszemkzt akart apval beszlni. Nlunk?! Hehe. Rgtn a bekltzs utn beraktunk a dolgozszobba egy mikrofont, kihallgatand egyrszt Grti telefonlst (mindig oda megy be, ha egy szmra szimpatikus hvja), msrszt apa szintn hadi titoknak tartott beszlgetseit. mivel rgtn bekapcsoltuk a laptopot, s hegyeztk a flnket. Hosszas bevezets utn kibkte, hogy sajnos a halacsknk elhallozott. Aztn mg hosszasabban beszlt a gyerekek sokflesgr l, a gyereknevelsr l, amg apa noman o o rkrdezett mir l van sz valjban, mert a hal hallt kr volt szemlyesen o kzlni, megtette volna egy email is. Ekkor a biolgus elmondta: a botikert terletn elhullott llatokat ktelez felboncolniuk. gy tettek a hallal is, s o igazn nem volt szp aptl, hogy o is beszllt ebbe a buta jtkba. Na, ekkor rezni lehetett, hogy mr apa is trelme hatrn van: nem elg, hogy

4.4. EGY APA NAPJA

153

kedvenc horgszideje alatt trsalognia kell egy rbuszokban beszl biolo gussal, radsul butasgokat beszl rla s a gyerekeir l! Szerencsre a pasi o tovbb beszlt, s elmondta, hogy az o gyereke (Balzs) a szlinapjra egy pk-katicval lepte meg, de eszbe sem volt a kollgit megtrflni vele. A t is megfedte, igazn nem illend olyan l lnyeket a vilgra hvni, ameo o lyek mindenfle el zmny (valszn leg az evolcira gondolt) nlkl keo u rlnek szembe egy kialakult l lny-hierarchival. Kiderlt, o arra gondolt, o direkt adtunk egy vettett halat a botikertnek, ht igazn jl szrakoztak, mikor a boncolsnl szembe tallkoztak egy a fldi l lnyek kzz cseppet o sem sorolhat valamivel! Vgl szerencsre nem folyt vr, mindketten lehiggadtak: a biolgus elnzst krt, apa pedig meggrte, hogy majd jobban szemmel tart bennnket. Mr pp felkszltnk egy hosszas fejmossra, ehelyett apa csak annyit mondott, ha hozz, igazi horgszhoz hasonlan halat akarunk fogni, tegyk tisztessgesen. Gyans is volt neki, hogy ahol o nem fog semmit, neknk pedig sikerl... Dlutn 16.30-ra apa mindhrom t (Alfrdet, Balzst s Tamst) berendelte maghoz a dolgozszobjba, hogy ott nyolc szem kztt elbeszlgessen velk mint fr a frval. Persze mi mivel minden egyes hangot hallottunk, s mivel Grti mr teg nap este tvig lergta az ujjait izgalmban (mi trtnik majd Alfrddel): ot is beavattuk a dolgozszobai mikrofon titkba, gy Grti is llegzetvisszafojtva hallgatzott velnk. Nos, Grti rmlma, miszerint apa majd kikrdezi a kat a szndkaik komolysgt illet en, s mindenfle feltteleket szab a keznk elnyersrt, o nem vlt valra. Mondjuk, mi ezt valahogy sejtettk, legalbb is magunkra nzve nem tartottuk valszn nek. Szval ezek helyett azt hallottuk, hogy u apa ltalnos eligaztst tart a lnyok jhrr l s arrl, hogy mindhrom o nak be kell tartania a rnk vonatkoz szablyokat (kzlekeds, esti ki marads), mert ha velk vagyunk, ok a felel sek rtnk s mindig nagyon o vigyzzanak rnk. Vgl azzal zrta, remli nem fognak neknk semmilyen fjdalmat okozni, mert br o egy bks ember, de a lnyai az sszes kincse. Igazn jt kacarsztunk mindezek alatt, hallottuk, hogy a k er sen foo gadkoztak. Termszetesen nagyon hzelg volt egyrszt az, hogy apa ennyire o flt bennnket, msrszt, hogy a k komolyan vettk az egszet rtnk. Ekkor a mobilomon jelzett a riadprogramom: Igor zent mindenkinek, hogy elszmoltuk magunkat. Csatlakozzunk RobIGOR szerverhez s nzzk meg magunk, most! Laptopom kinyit, RobIGOR kliensem felled azonnal. A robot ismt

154

FEJEZET 4. J2ME

mozgst rzkelt. A falka mozgst mr megszokta, ez valami ms llat lesz. Bekattintom, hogy hozza le a kliens progi a kamera kpt is: epkedve emberek kzelednek nagyon vatosan a mr nagyon kzeli kolnik irnyba robog llatkk knek bal oldala fel. Igor parancsot kldtt a robotnak, hogy lassan induljon meg visszafel, egszbe vve ne mozogjon s tudja mutatni mi trtnik az egyre kzelebb merszked , kvncsi epkevkkel. o Mr csak 1 mterre lehetnek a falktl: a magassgban kzpen menete l k is szreveszik oket, mert a sorszli tagok megllnak. Ugyanaz trtnik, o mint korbban a robot esetben: a szls llatkk vilgoszld prt lehelnek o az emberek fel. Ezutn az epkedve emberek er tlen hadonszsba kezdtek, o de pr pillanat mlva mr nem mozdultak. Igor rkzeltett RobIGOR kamerjval a legkzelebbi arcra: az epkedve b rt nom zld por bortotta, o amit l mozdulatlann dermedt. Nztk, most ppen pislantott, de olyan laso san, hogy mire becsukdott s kinylt a szeme, addig vagy 3 perc is eltelt. Ha nem lep dnk meg ennyire s nem nzzk ilyen sok, akkor taln szre o sem vesszk. Szval ez a por hatsa: lelasstja, nagyon-nagyon lelasstja az l szervezetet. Mintha megllna szmukra az id folysa. o o Vz kell nekik, es , zivatar! Az majd lemossa a port s jra tudnak moo zogni az epkevk ltom Abi tlett a chat-en. Igen, az lehet, hogy segtene gpeltem be neki a vlaszom. Induljunk a knyvtrba! zrta be a chat-szobt Igor.

4.4.1.

A kerek asztal bitmani II

2010. oktber 24. Vasrnap, 10 ra 24 perc.

Mindenki pontos volt. Alig ltnk le, az igazgatn kzlte, hogy csato lakozzunk a hlzatra s tltsk le a replsi tervet!!! Hopp!!! Mr persze, ha rdekli nket az utazs, mert a Tancs megadta az engedlyt, hogy a Kk Fld csillaghordoz pozcit vegyen fel a kritikuss vlt trsgben fokozta fel a lelkesedsnket Kardos E. Nan, hogy rdekelt bennnkett!
Id : 2010. oktber 30. o Cl: Epkedve.humane.homoe Feladat: Feldert repls vgrehajtsa o Hadm veleti kd: "Kolombusz 1492" u

4.5. SZTRTNELEM RN
Kapitny: Lovas Mri Els tiszt: Goldenger Abigl o Taktikai tiszt: Szp Jen o Kommunikcis tiszt: Bart Nomi Navigcis tiszt: Tth Kornlia Elhrt tiszt: Nmeth Tams Oktat tiszt: Kelep Lszl Fedlzeti tiszt: Ttra Robi

155

Fedlzeti utazk: Bart Virg, Zeng Gyuri, Ambrus Brn, Vigad Zoli, Fazekas o Igor, Heged s Balzs. o Feladat: Teremjenek az Epkedve.humane.homoe vilgon s gyeljk meg az ismeretlen fajt. llaptsk meg, jelent-e brmilyen veszlyt ez az j faj! Ha nem, akkor trjenek vissza, ha igen, akkor hrtsk el a veszlyt! Felhatalmazs: 0-1-1-1 fokozat. Megjegyzs: a trsgben nk lesznek az egyetlen csillaghordoz. De mivel az nk hajja mg nem egy ksz hordoz jelesl pldul vdelmi s tmad fegyverrendszerekkel sem rendelkezik egyel re ezrt adott esetben a visszavonulst is, mint o potencilis j megoldst, vegyk gyelembe, mert norml esetben leghamarabb csak egy fldi napon bell tudunk a trsgbe vezrelni egy msik csillaghordozt.

A leoszts nem vltozott, ugyanaz, mint legutbb. Nem gy a feladat!

4.5. sztrtnelem rn
2010. oktber 25. Htf , 20 ra 39 perc. o

Ma volt sztrtnelem ra, egy halom okos emberr l volt sz, nhnyrl o mr hallottam.
Tanr::Kovcs J.> A tanvben egyetlen jtkot fogunk jtszani: mindenki (magam is) vlaszt egy nagy harcost, akirl a knyvtrban mindent felkutat, sszegyjt s o u ezutn a kutatmunka utn elkszt egy dolgozatot. Magrl a harcosrl, de fleg a kzdelmeirl, csatirl, o o sikereirl vagy tvedseirl. Erre kt hnapot adok, o o addig nem is tartunk rt. A hatrid leteltvel o tallkozunk s elcserljk a dolgozatokat. Mindenki elemzi, majd leosztlyozza a msik dolgozatt. Hetente

156

FEJEZET 4. J2ME

tartunk rt, ahol elmondhatjtok az elemzseteket. Az egymsnak adott jegyeket viszont titokban tartjuk, csak a tanv vgn olvassuk fel. Most ismertetem a vlaszthat harcosok neveit: 1. Alan Turing 2. Albert Einstein 3. Benoit Mandelbrot 4. Blyai Jnos 5. Charles Darwin 6. Euklidsz 7. Galileo Galilei 8. Georg Cantor 9. Isaac Newton 10. Karl Friedrich Gauss 11. Kurt Gdel 12. Neumann Jnos 13. Noam Chomsky Tanul::L. Mri.> De ht ezek nem voltak nagy harcosok, nem is hallotta mg a nevket, kivve Einstein s Darwin, de k klnben tudsok voltak. Attila, Caesar vagy nagy o Sndor igen, k hadvezrek voltak ... o Csak arra tudok gondolni, tanrn krem, hogy nt valakik o ebben a tmban flrevezettk. Tanr::Kovcs J.> Kitallom: Lbrdy Mri. Biztosthatlak, nem vezettek flre. Akiket az imnt soroltl, nagy nevek, valban a Fld egyik-msik sarkban, de azt kell mondanom, hogy az Univerzum sznpada fel fut tra mg mint statiszta sem lptek r. Az ltalam felolvasott nevek a tudsrt harcoltak. Szmotokra k ptettk meg azt az o utat, amin jrva kpessgeiteket majd kamatoztatni tudjtok, kamatoztatni s jakat pteni. Tanul::L. Mri.> rtem. Tanr::Kovcs J.> Nzzk ht a harcosokat, pr sorban, nhny kppel vzolom is kzdelmeiket. Akinek megtetszik kzfeltartssal jelezze, ha tbben is vagytok egy emberre, akkor sorsolunk, ki kapja meg vgl.

4.5.1.

A fldi trtnelem nagy harcosai

4.5. SZTRTNELEM RN sztrtnelem Els kisolvasmny A fldi trtnelem nagy harcosai o Kovcs Jzmina
Kivonat

157

Ebben a kisolvasmnyban tizenkt fldi gondolkodra hvom fel a gyelmedet. Innen elindulva jobban el tudsz majd mlyedni a knyvtrban az ltalad vlasztott szemllyel val ismerkedsben.

Alan Turing: Egy szmtgptpus (ma minden fldi komputereteknek ez az alapja) viseli a nevt, ez a Turing gp. Megmagyarzta, pontosan mi egy algoritmus s, hogy pontosan mit jelent valamit kiszmtani. Bebizonytotta, hogy nem tudunk olyan szmtgpet kszteni, ami mindenre tudja a vlaszt2 .

A Turing-fle gp A Turing gpnek (4.3 bra, 157. oldal) van egy szalagja, egy feje, egy llapota s egy programja. A szalag cellkra van osztva. A fej tud lpkedi a szalag cellin de egy helyben is tud maradni kzben tudja olvasni/rni a fej alatti cellban lv karaktert. (Ha egy cellban nincs o bet , akkor azt a # jellel szoktuk jellni.) u

4.3. bra. A Turing-fle szmtgp.


kapcsolatban a knyvtrban, vagy mg inkbb tanraidtl, mentor bitmandtl a Turing gpek megllsi problmja kulcsszra keress, illetve krdezz r! Rviden arrl van sz, hogy a programokrl ltalban el re nem lehet tudni: nem okoznak-e vgtelen o ciklust?
2 Ezzel

158

FEJEZET 4. J2ME Hogyan mukdik a gp?3 A gp mindig valamilyen llapotban van, s mindig van egy cella a fej alatt, aminek a tartalmt beolvassa. Megnzi milyen llapotban van, mi van a fej alatt a szalag celljban (teht mit olvas) s ett l a kt dologtl fgg en tmegy egy msik o o llapotba, ber valamit a cellba, majd a fej lp a szalagon valamerre. (A konkrt msik llapotot, a beler valamit s a lp valamerrt a program mondja meg.) rjunk egy olyan Turing programot (ksztsnk egy olyan T. gpet), ami lefagy. Pontosabban egy olyan programot, ami lefagyasztja a gpet! Aminek soha nincs vge, vgtelen ideig megy: egy vgtelen ciklust! (A knnyebb rthet sg kedvrt a programot majd rajzoljuk is: o 4.4 pont, 159. oldal) 1. START 2. Ha Lpked llapotban van a gp s 1-et olvas a fej, akkor Lpked llapotban marad, 1-et r a fej alatti cellba s jobbra lp a szalagon. 3. Ha Lpked llapotban van a gp s 0-et olvas a fej, akkor Lpked llapotban marad, 0-t r a fej alatti cellba s jobbra lp a szalagon. 4. Ha Lpked llapotban van a gp s #-et olvas a fej, akkor Lpked llapotban marad, #-et r a fej alatti cellba s jobbra lp a szalagon. Rviden gy is lerhatnnk a programot, hogy: 1. START 2. (Lpked, 1) (Lpked, 1, ) 3. (Lpked, 0) (Lpked, 0, ) 4. (Lpked, #) (Lpked, #, ) A 4.4 brn szerepl jellst gy rtelmezd: az (1, 1, ) pldul azt o jelenti, hogy 1-et olvas, 1-et r, jobbra lp (hogy kzben melyik llapotbl melyikbe megy t, azt pedig az bra nyila mutatja meg).

gp m kdsnek megrtst segti a Jvcska vortl Turing sznhz nev szakkri u u foglalkozsa, esetleg hvd fel r szakkrvezet bitmand segtsgt! o

3A

4.5. SZTRTNELEM RN

159

4.4. bra. Olyan Turing gp, ami lefagy.

Ezekr l a mks gpekr l rengeteg anyagom van mg, ezekb l jno o o hnyat a Jvcska portlon is megtallsz. Albert Einstein: Megmagyarzta, mi a tr s mi az id s, hogy ezek o milyen kapcsolatban vannak egymssal. Van pldul a rendkvl rvid lettartam pion nev rszecske, ami 50 km magasan keletkezik a u Fld lgkrben. Az az id , amg szt nem bomlik (fnyre) arra elg, o hogy kzel fnysebessgvel kb. 600 mter utat fusson be, de rdekes mdon a Fld felsznn is meg lehet tallni! Einstein elmlete mondja meg, hogy a fnysebessggel mozg testekr l nzve az oket krlvev o o tr sszehzdik mgpedig (a kpletek szerint) az 50 kilomterb l 600 o mter lesz! Vagy azt is mondja, hogy a fnysebessggel mozg testeken kvlr l nzve az id lelassul. Mennyire lassul le a kpletek szeo o rint a pion sebessgnl? Pont annyira, hogy ez alatt le tud futni 50 km utat. Teht a 600 mter megttelhez elegend id , az id mlsa o o o annyira lassul le, tgul ki, hogy elg lesz 50 km megttelre! 4 Benoit Mandelbrot: a rla elnevezett halmaz (4.5 bra, 161. oldal) megtallsa tette naggy a nevt. A ks bbiekben (5.1.4 pont, 173. o
kapcsolatban a knyvtrban, vagy tanraidtl a Specilis relativits elmlete, kontrakci, id dilatci kulcsszavakra keress, illetve krdezz r! o
4 Ezzel

160

FEJEZET 4. J2ME oldal) tbb fantasztikusan gynyr nagytst is tallsz! u

1. Knyvtri feladat: A kvetkez nagy bitmankrl rj te pr sort! Ehhez o vesd be magad kedvenc knyvtradba s lapozd fel az ajnlott knyveket! Melyek is ezek a knyvek? Krdezd meg a Jvcska levelezsi listn pldul! Blyai Jnos, Charles Darwin, Euklidsz, Galileo Galilei, Georg Cantor, Isaac Newton, Karl Friedrich Gauss, Kurt Gdel, Neumann Jnos, Noam Chomsky.

szharcosok Nincs mese, gyorsan nekiltok a hzinak, aztn rohans. . . 2. Knyvtri feladat: Proststok ssze5 a korbban felolvasott szharcosok neveit s a kzdelmket leginkbb jellemz szt! o
trid o mozgs grblet helyes megoldst megtallhatod a Jvcska portlon, http://www.clib.dote.hu/ javacska/hazi.html
5A

4.6. MOBIL LNCOK S GYNGYK

161

4.5. bra. A Mandelbrot halmaz.


geometria igazsg vgtelen szabadess let nyelv szmtgp fraktl szmts

4.6.

Mobil lncok s gyngyk

2010. oktber 27. Szerda, 17 ra 43 perc.

A mai lncok nagyon izgalmasak voltak: egy labirintus jtk s egy virgos tamagocsi, aztn mg egy spci mobilt is kaptunk otthonra! Sok anyagot is kaptunk hozz, most nem vgom be ide, de a portlra feltettem. Br az egyik progit mgiscsak beteszem s a programjt is, hogy lsstok mennyire egyszer . Vgl a progi help szvegt is. u

162

FEJEZET 4. J2ME

4.6. bra. A virgos jtk.


public class ViragosLanc extends Lanc { KepGyongy induloGyongy; UltetoGyongy ultetoGyongy; OntozoGyongy ontozoGyongy; public ViragosLanc() { String induloKepNeve = new String("/amarillisz2.png"); induloGyongy = new KepGyongy(induloKepNeve); ultetoGyongy = new UltetoGyongy(); ontozoGyongy = new OntozoGyongy(ultetoGyongy); startLanc(induloGyongy); induloGyongy.kovetkezoGyongy(ultetoGyongy); ultetoGyongy.kovetkezoGyongy(ontozoGyongy); ontozoGyongy.elozoGyongy(ultetoGyongy); stopLanc(ontozoGyongy); } }

public static final String info = "Szia Bitman! Ez a lnc a Jvcska rk pldaprogramja. Mik is a lncok? A programjaink, egy lncra gyngyket fzhetsz fel, egy gyngyhz u a mobil telcsi tbb kpernyje is tartozhat. A gyngyk kztt o a Tovbb s a Vissza parancsokkal lpkedhetsz, a lnc utols gyngyn a Vge parancs kilp a programbl. Mindenfle gyngyket ksztnk az rn: labirintus gyngyt, virgltet? gyngyt stb. Ha Te is szeretnl megismerkedni a mobilos lncok fzsvel, akkor u keresd fel a www.javacska.hu lapot!";

4.6. MOBIL LNCOK S GYNGYK

163

Hzi feladatnak azt kaptuk, hogy a labirintusos mobil jtkban csinljunk sajt labirintust!
Hajad szlai mint virgok selyme Szemed villansa mint cick pillantsa Kezed mozdulata mint a rt hullmai Kacagsod hangja mint forrs gyngyzse. . .

Egsz nap ezt olvasgattam, pedig igazn nem hossz... Szerintem nem is, nem rlam szl: a hajam szlai rakonctlanul hullmosak, a szemem igaz zld, de nem cicsan, inkbb fak f sznk van, a kezemmel sohasem tudok u mit kezdeni, legszvesebben llandn zsebre dugva hordanm, de Grti s apa is folyton rm szl, hogy szedjem ki. A hangom... Hm, a kacagsom mg nem gyeltem. Gynyr ez a vers!!! s nekem rtk! Nekem!!! Vajon apa u rt hasonlt anynak? Vagy Rentnak? s nagyapa? s Grti kapott mr? s??? Elalvs el tt gyorsan elolvasom mg egyszer, br lassan mr kvlr l o o is tudom:)

164

FEJEZET 4. J2ME

5. fejezet J2SE
5.1. GUI: a grakus felhasznli fellet

A szmtgpes programok GUI-ja az, amit magukrl a monitoron t mutatnak, teht amit lttok a kperny n. o

5.1.1.

Igen rtelmes vilgok - folytats

2010. oktber 29. Pntek, 18 ra 26 perc. A mai csilismereteken nem csak az adatbzisban keresgettnk, de vlaszthattunk: melyik faj egyedvel szeretnnk holograkus kapcsolatba kerlni! mit a trore humane marse-k rdeklik nagyon: Fldi mtoszok miatt kiss ijeszt ek: nagy stt szemeik fltt a homloo kukon apr szarvak nznek rnk. B rk a fels testkn a vrs klnbz o o o rnyalatban pompzik, derekuktl lefel annyira stt vrs, hogy az inkbb mr fekete, radsul enyhn knes illatot raszt. Farkuk bojtban, lbuk patban vgz dik. A farkuk vgn lv bojt tulajdonkppen egy hromkar o o csipesz, ami egy tsks, kitolhat nyelvet oltalmaz, ami rzkeny receptorok sokasga. Karjaik szintn ilyen csipeszbe torkollanak, amik fogsra is alkalmasak. Mindhrom bojt mgneses, aminek j hasznt veszik a vilgukban, ahol magas vastartalm nvnyek n nek. o n egy harone glike ime-vel szeretnk megismerkedni: 165

166
Abszolt vettsi mutat Relatv vettsi mutat Magassg Testtmeg Agytmeg Agyhullm frekvencia Nyelv szlelt hangtartomny

FEJEZET 5. J2SE
159210,19 vee* 177336 vee 210 cm 110 kg 4000 g 15,4 Hz abraka (mentlis, verblis) 9000-70000 Hz

5.1. tblzat. A trore humane marse faj adatai.

5.1. bra. Trore humane marse.

Testk igen nagykiterjeds : tlagosan 51 mter hossz, 11 tonna. Ebb l u o agyuk kb. 130 kg. Majd mternyi szemprjukban knnyen el lehet veszni. Fejk mrete vetekszik az indiai elefnt testvel, szemldkcsontjuk mg hangslyosabb teszi a tekintetket. Szemldkk ve alul szjszer vgsban u folytatdik. A monumentlis arc hordozta szende tekintet er s intellektulis o tltst hordoz. El reugr fejk rvid, vkony nyak kti a vllszer kzponti o u rszhez, ahonnan ngy csp indul ki. A fels tvben hatalmas dudor lto hat, az als hrman nyugszik a test maga. A negyedik csp a leghosszabb, tapadkorongok bortjk. Ezekkel szvja ki a nvnyekb l a tpllkot. A no vnyekkel tkletes tpllkozsi s szaporodsi szimbizisban lnek. Halluk el tt mindig hazatrnek, mert elmlsuk pillanatban villmgyors kristlyoo sodson esnek t, ezzel bolygjuk rszv vlnak. A meghvkat rn kldtk el, magt a tallkozt mindenki egynileg egyezteti majd. A mi vlasztottjaink nagyon gyorsan, mg rn vlaszoltak! Nem is tudom hirtelen, ki kvncsi jobban a msikra:)

5.1. GUI: A GRAFIKUS FELHASZNLI FELLET


Abszolt vettsi mutat Relatv vettsi mutat Magassg Hosszsg Testtmeg Agytmeg Agyhullm frekvencia Nyelv szlelt hangtartomny 203363,81 vee* 247554 vee 270 cm 51 m 11 t 130 kg 5,7 Hz abraka (mentlis, verblis) 2000-8000 Hz

167

5.2. tblzat. A harone glike ime faj adatai.

5.2. bra. Harone glike ime.

5.1.2.

Kzponti vezrls

2010. oktber 30. Szombat, 22 ra 05 perc.

Sima rkezs volt, fldi id szerint 09:30-kor lptnk le a teleport rmpo rl Epkedve fldjre. Kt automata gppuskt, egy nagy teljestmny szu mtgpet s egy tucat elemz grntot hoztunk magunkkal. Ahogy megro keztnk, azonnal megttte a flnket a tvolban nagy porfelh ket kavar, o idegen llathorda tompa, monoton morajlsa. Beosztottam a csapatot: Gyuri + Zoli biztostja a robotbzist, a kt automata gppuskt kiteleptik a bzis s a horda kz, fltra. Igor s Balzs elindtja a gpet s megprblnak minl tbb inft szerezni az ismeretlen hordrl. Brn s n megkzeltjk az llatkk folyamt s rjuk dobjuk az elemz grntokat. o

168

FEJEZET 5. J2SE

J terv volt, ment is, mint a karikacsaps. RobIGOR meggyelseib l o tudtuk, hogy az llatkk kb. fl mterr l ismernek fel s lvellik rnk a o lasst-bnt port, ezrt vagy tz mterr l dobtuk az "tra" az klmnyi, o babformj elemz grntokat: hrmat-hrmat. A biztonsg kedvrt azrt o most a sisakunkat sem vettk le. Ahogy visszatrtnk a tborunkba, Igork mr elemeztk a grntok ltal rzkelt jeleket:

5.3. bra. Modulci. Frekvenciamodullt, kt frekit billenty znek fogadott bennnket Bau lzs. 1 A 10.000 Hz s 40.000 Hz frekvencikat hasznljk vette t a szt Igor Balzstl. A frekvencikat mg knnyebb egybknt hullmokkal elkpzelni. Sikerlt meghatroznunk az adt, t lnk 19 kilomterre szakra van, o pontosan ott, ahonnan el msztak a fldb l. o o Teht a horda alkotta folyam forrsnl reagltam. Igen nyugtzta Igor. A mrsek szerint a forrs rdihullmokkal kommunikl az utat alkot legals, legnagyobb llatkkkal. Ezek az llatkk pedig beszlgetnek a rajtuk
a szakzsargonrt. A frekvencia tulajdonkpp azt jelenti, hogy valami hnyszor ismtl dik meg egy msodperc alatt, a freki mrtkegysge a Hertz. Ha pldul msodpero cenknt egyet tapsolsz, akkor a tapsod frekvencija 1 Hertz, ha dupla olyan gyorsan (s r n), uu akkor 2 Hz.
1 Bocs

5.1. GUI: A GRAFIKUS FELHASZNLI FELLET

169

5.4. bra. Sinus hullm. haladkkal, azok meg az orajtuk halad legkisebbekkel. De ez utbbi kett o mr nem rdihullmokat, hanem infravrs hullmokat hasznl. (Ilyeneket hasznlunk pl. a tvk, videk tvkapcsoljban, mint a kzps s a lego kisebb llatkk. Ezek az infrajelek kis tvolsgba jutnak el s knny oket u lernykolni: hiszen, ha valaki ll a TV tvirnyt el tt, akkor magad is o tapasztalhatod, hogy a TV nem veszi a csatornavlts jeleit, hiba is nyomkodod! Nem gy a rdihullmok, azok thatolnak mindenen.) gy t nik, hogy a horda legalul men llatki a forrsbl kapjk a pau o rancsokat. A rajtuk halad kisebbeket pedig a nagyobb llatok irnytjk. Sikerlt megfejteni a kdolsukat szaktotta flbe Igort Balzs Manchester-kdolst hasznlnak. Parancsot adtam a tbornak, hogy lltsk fel az antennt s kezdjk meg a forrs adsnak zavarst. Azaz mi is jeleket kezdtnk sugrozni a horda ltal hasznlt kt frekvencin, csak mi sszevissza rtelmetlensget kldtnk. A horda addig mrhetetlenl precz haladsa megtorpant, a kicsi s legkisebb lnyek mg mindig szablyosan meneteltek a legnagyobbakon, de a nagyok meglltak. Lptek volna erre is, arra is, de nhny sszehangolatlan mozgs, rezgs utn nem mozdultak tbb. Szerintem lefagytak, a mi kalz jeleink totlisan megzavartk a vezrl szoftvereiket, amik egyltaln nem o voltak ilyen sszevissza rkez jelekre felksztve. o Ekkor parancsot adtam a zavar adsuk lelltsra: alig telt el pr msodperc, a horda legnagyobb llatai ismt sszehangoldtak s folytattk

170

FEJEZET 5. J2SE

5.5. bra. Dupla gyors sinus hullm. eredeti tjukat, mintha mi sem trtnt volna. A lnyeg, hogy most mr a keznkben vannak, tkletesen rtjk a mozgsukat, legalbb is a horda legnagyobb llatainak mozgst. De ha a legnagyobbak nem mozognak, akkor az "t" sem mozog, hiszen a kisebbek csak a nagyobbakon lpkednek, azok htt sosem hagyjk el. Mr csak azt kellene kitallni, hogyan hasznljuk fel ezt a megszerzett tudsunkat az epkevk megmentsre? Mit tudunk? Megy valamerre a horda, arra, amerre a legnagyobb llatokat a forrs irnytja. Hogy merre menjen a horda, azt a forrs gy dnti el, hogy feldolgozza a legnagyobb llatkk ltal visszakldtt rdijeleket. Megvan a megolds! Igor, ne sszevissza zavar jeleket kldjnk, hanem irnytsuk gy a hordt, hogy a forrs krl krbe menjen, amg csak el nem ri a sajt vgtt! utastottam a tbort. rtem vlaszolt Igor s ha mr krbe mennek, akkor majd azt a parancsot kldjk: minden llat kvesse az el tte haladt. o gy van feleltem. Teht, ha a mi adnk pr kr utn majd le is merl, akkor is maradnak krplyn, mert semmi j inft nem szereznek, gy a forrs nem is fog irnymdost parancsot kiadni. Igen, remlem ezzel vgtelen ciklusba kldjk oket. Szerintem gy lesz kapcsoldott be mr Balzs is.

5.1. GUI: A GRAFIKUS FELHASZNLI FELLET

171

5.1.3.

Programkk: titkosts

2010. november 1. Htf , 21 ra 20 perc. o

Ma Kripto szakkr volt, titkostottunk: kizr vagyos titkostst hasznltunk. Ha ezzel a mdszerrel akarok valakinek titkosan zenni, akkor a cmzettnek is ismernie kell a kulcsot, a titkos kulcsot, amit n is hasznlok a titkostsra.

5.6. bra. Titkos kulcs. Titkos kulcs lehet pldul az alma sz, br szerencssebb valami rtelmetlent vlasztani: a GG.Zcc5V9, csak ezeket nehz megjegyezni:-( Ennl a mdszernl az a fontos, hogy el re meg kell egyezni a kulcsban o s persze ajnlott titokban tartani. Vigyzz: tl titkosat ne rj gy, mert mr a fldi titkosszolglatok is dekdoljk 5 perc alatt. A szakkri progit s segdanyagokat a http://www.clib.dote.hu/javacska/seged/ cmr l tudod letlteni. o Kdtrs feladat: Egyszer titkosts feltrse. Fejtsd meg a http://www. u clib.dote.hu/javacska/seged/kodtores cmre kitett elfogott szveget. Annyit lehet tudni, hogy eredetileg angol nyelv volt. Hasznld fel a szveg u mel kitett angol bet gyakorisgi tblzatot! A szvegben a legtbbszr el u o fordul bet helyett rd be a leggyakoribb angol bet t, s gy tovbb! u u Nyilvnos kulcs titkosts Ez mr komolyabb mdszer, ha j hosszak a kulcsok, nagyon komoly. A mgtte lv matematika is komoly, egyel re nem is rtettem bel le sokat, o o o csak annyit, hogy az ilyen mdszer titkosts azrt m kdik, mert pldul u u az 527-b l nehz megmondani mi az a kt (prm)szm, amit sszeszorozva o pp 527-et kapok. Itt mr kt kulcsom van: egy nyilvnos s egy titkos. A nyilvnosat kzz kell tennem, a titkosat el kell titkolnom!

172

FEJEZET 5. J2SE

5.7. bra. Titkos kulcs. E mdszer kapcsn az albbi bra alapjn ezeket a krdseket kell hziknt megvlaszolni: Olvasd le az brrl: milyen kulcsokat kell ahhoz Eriknak ismernie, hogy titkos zenetet tudjon kldeni Norbinak? Milyeneket kell Norbinak ismernie ahhoz, hogy el tudja olvasni az Erika ltal neki kldtt zenetet? A kapcsold PGP szakkri anyagot a http://www.clib.dote.hu/javacska/seged/ laprl tudod letlteni. (Tamssal meg is egyeztnk abban, hogy ezentl gy titkostott zeneteket kldnk egymsnak. Este mr kaptam is egyet: *trasqgi)hngsmdvh frscg ?kq . Ma mg megfejtem nektek: Aligvaromaholnapirandit!). Azt is megbeszltk, hogy naponta vltjuk a kulcsot.

5.1.4.

Programkk: fraktlnagyt

2010. november 2. Kedd, 17 ra 58 perc.

5.1. GUI: A GRAFIKUS FELHASZNLI FELLET

173

1. Fraktl feladat: A portl fraktlnagyt programjt hasznlva prblj az n nagytsaimnl szebbeket tallni, ha tudsz!

5.8. bra. A FraktalProgramka szmolta nagytsok a Mandelbrot halmazrl. A vizsglta tartomny magassga s szlessge csupn ha mondjuk az 1.0-t vennm egy centimternek, akkor ez 0.00000000000003944 4 1015 centimter lenne. Milyen kicsi ez? Az egy centit oszd fel 10 rszre. Az egyik gy kapott tized rszt oszd fel megint 10 rszre s csak gy tovbb tizentszr! Nem t nik kicsinek, igaz? u 2. Fraktl feladat: Prbld ki egy paprlappal, de ne tz fel, hanem csak ktfel szaktsd minden lpsben! Hny lpst tudtl megtenni? Ezzel a programmal ennl kisebb tartomnyokba mr nem tudsz behatolni, hogy felfedezseket tgy! Az olyan pontatlansgokon viszont mint amit az 5.9 bra e kpn lthatsz amik nem a vizsglt tartomny imnt emltett parnyisgbl add-

174 a b c d 0.17323842697466746 -1.058864282865508 0.1732384269836418 -1.05886428285716

FEJEZET 5. J2SE

5.3. tblzat. Az a kp adatai. a b c d -0.40043635748649553 -0.14055086716951196 -0.4004363402295092 -0.14055085111650142

5.4. tblzat. A b kp adatai. nak, tudsz javtani. A javtsrt a program sebessgvel kell zetned, lassulni fog, ahogy nveled a vizsglt ugrsok (itercik) szmt. A javtott kpet (utols mez : 15000-re lltva s Ezt! gomb) mutatja az e bra. o Hogyan kszthetsz a gpeddel ilyen halmazt? Keresd a Jvcska vortl fraktl-szpsgverseny programjait! Ne feledd: a fraktlokra az igaz, hogy vannak olyan nagytsaik, amik nagyon hasonlak az eredeti kphez. Mintha brmely tetsz leges rsz tartalmazn az egszet jra. o

5.1.5.

Sajt programkim a vilghln

2010. november 3. Szerda, 18 ra 58 perc.

Dlutn Ildike volt nlunk, s szoks szerint mest krt. Most is Szoftver any esti mesib l nztnk meg egyet: o Szoftver any esti mesi: A Programka vndormank Hol volt, hol nem volt, volt egyszer egy OO vilg a virtulis Tejton. Ezt a vilgot a bitmank varzslatai hoztk ltre, s Java nyelv varzslatokkal u m kdtetik. A mai mesm a vndormankrl szl, a vndormank kzl is a u HangyakProgramka manrl. (A nagyobb gyerekek kedvrt elrulom, hogy minden egyes vndorman egy-egy objektum!)

5.1. GUI: A GRAFIKUS FELHASZNLI FELLET a b c d -0.40043634325400146 -0.14055085949904322 -0.4004363432518788 -0.1405508594970687

175

5.5. tblzat. A c kp adatai. a b c d -0.40043636838145924 -0.14055087737833893 -0.40043632861881795 -0.1405508403898354

5.6. tblzat. A d kp adatai. Termszetesen nehz lenne csak a Programkkrl beszlni. A vndormank az osid kben egy klnban ltek, egy nyelvet beszltek, egy helyen lak o tak: a Java varzsszvegeket rtettk, szmtgpekben ltek. De ahogy a bitmank egyre gyesebbek lettek, rjttek, hogy ha ezeket a mancskkat ms-ms lakhelyre kltztetik, ms hardvereken futtatjk, akkor ms nyelvjrst kell hasznlniuk, hogy megrtsk oket. gy aztn napjainkra hrom nagy vndorman kln l a Java birodalmakban: A J2ME (Java 2 Micro Edition) nyelvjrst beszl vndormank moo biltelefonokban vagy kziszmtgpekben laknak (llandan vagy csak tmenetileg). A J2SE (Java 2 Standard Edition) nyelvjrst beszl vndormank o szemlyi szmtgpekben, laptopokban laknak (llandan vagy csak tmenetileg). A J2EE (Java 2 Enterprise Edition) nyelvjrst beszl vndormank, o ok nagy vllalati szervereken laknak (llandan vagy csak tmeneti leg). ltalban a J2ME vndormank a legkisebb mret ek, az o feladataik u egyszer bbek a mretesebb rokonaiktl. A J2EE kln tagjai csaknem u risok a vndormank kztt, s mretkkel arnyosan nagyobb feladatokat ltnak el. A J2SE mank kisebbek a hatalmas J2EE manktl, s ltalban nagyobbak a J2ME kln tagjaitl.

176

FEJEZET 5. J2SE

5.9. bra. Mg kt fraktlkp. A Programka vndormank, akiket gyakran Applet programoknak is hvnak, a J2SE kln tagjai. Ahogy azt mr megszokttok, a Programkknak is van ososztlya: a java.applet.Applet. Programkkat kt segt vel tudja tel o jes valjukban lthatv tenni egy bitman, vagy akr bet man: u valamilyen bngsz vel, amennyiben html oldalba vannak gyazva, o vagy a nagy Programkanz vel (appletviewer). o Mai mesm h se, HangyakProgramka. A Programkk hzhoz hvhatk. o Kt munka kztt viszont lvezik az tmeneti nyudalmat, ez a vndorman is bksen szendergett a Jvcska portlbeli lakhelyn. Egyszer csak arra lett gyelmes, hogy az egsz hz felbolydult: a webszerver egyms utn kldte a lakkat az j munkahelykre. El szr is elo kldte az index.html-t a TCP f ellen rnek, aki csomagols utn cmzsre o o tovbbtotta az IP f postamesternek. Alighogy mindez lezajlott, mr ot s a o bel gyazott kpeket krte meg a tvoli bngsz a szervert l. A TCP/IP o o pros pikk-pakk csomagokra osztotta, megcmezte s tnak indtotta. A kr o

5.2. ABLAKOK S VSZNAK; ESEMNYEK . . . S ESEMNYEK177 a b c d itercik szma 0.8606541465928381 -0.2350032403418186 0.8606541465929055 -0.235003240341756 4096

5.7. tblzat. Az e kp adatai. a b c d itercik szma 0.8606541465928381 -0.2350032403418186 0.8606541465929055 -0.235003240341756 15000

5.8. tblzat. A f kp adatai. gp TCP/IP prosa kicsomagolta s sszerakta. Ezek utn bekltztt a helyi Java Kpzeletbeli Gpbe. A bngsz sorrl sorra kvette az index.html o varzssorait. A html jformn nem llt msbl, mint a HangyakProgramka vndorman lthatv varzslsbl. Hogy ezt pontosan milyen HTML varzsszveggel lehetett megtenni, azt megtallhatod a portlon, a hangys segdanyagokban. A HangyakProgramka man gy vndorol a javacska knyvtrbl minden egyes ot meghv bngsz be, hogy ott megmutassa, hogyan kvetik egy o mst a hangyk az telt l az lskamrig, vagy miknt hordjk a szemetet a o kukhoz. Az ot nz emberman akkor ltja a hangykat, ha a Java Kp o zeletbeli Gp elindtja a public void init() varzsmondattal, egszen addig, amg a varzsszvegben eljut a public void stop() varzsmondatig, amivel befejez dik a HangykProgramka bngsz beli lte. Itt a vge, fuss el vle! o o

5.2. Ablakok s vsznak; esemnyek . . . s esemnyek


2010. november 4.

178

FEJEZET 5. J2SE

5.10. bra. Vndorman klnok.


Cstrtk, 17 ra 10 perc.

Az ablakok senkinek sem ismeretlenek, hiszen szletsnk ta szmtgpek vesznek krl bennnket. Mi mr csak sztrtnelemb l tanultuk, o hogy nem volt ez mindig gy. Kezdetben a szmtgpek nem rendelkeztek grakus felhasznli fellettel, rviden GUI2 -val. gy a gpen fut programoknak sem voltak ablakai. Ma a legtbb program azzal kezdi, hogy nyit egy ablakot s a felhasznlja ezen ablakon keresztl kommunikl vele. Ha a felhasznl be akarja fejezni a munkt a programmal, azaz ha le akarja lltani a programot, egyszer en becsukja az ablakot s az ablak szl a prou gramjnak, hogy le kell llni. Ms helyzet viszont, ha n magam akarok olyan programot rni, aminek van ablaka, az ablaknak menje, az ablakban nyomgombok stb. OO szemvegen t nzve persze ezek mind-mind objektumok, teht ezrt nincs nehz dolga a programoznak. Nem kell olyanokkal tr dnie, hogy o az ablak szeles pixel szles, magas pixel magas, ki kell rajzolnia a kperny oszlop, sor pozcijra, akkor a kperny oszlop, sor, oszlop + o o 3 alak terleteit le kell menteni a memriszeles, sor + magas tglalap ba s ide kell kirajzolni a sajt ablak objektumot. Dehogy! gy oskori lenne. Pldnyostani kell egy ablak objektumot s megjelenteni a kperny n! Ami o mr szokatlanabb, hogy az ablak letben bekvetkez dolgok is esemnyek, o esemnyobjektumok. Ha pldul valaki az ablak bezrsra kattint az egrrel, akkor a programban egy ABLAK_BEZRDIK rtket hordoz esemnyobjektum keletkezik. A Jvcska portlon megtallod a szmtalan GUI-s Java progimat, prbld ki oket!
2 Graphical 3A

User Interface tglalap bal fels s jobb als sarkainak koordinti. o

5.2. ABLAKOK S VSZNAK; ESEMNYEK . . . S ESEMNYEK179

5.2.1.

Szoftver any esti mesi: Az elvarzsolt kirlykisasszonyok

Kezdek belejnni, holnapra egy mest kellett rnom a grakus felhasznli felletekr l, szerintem nagyon j lett: o

5.11. bra. A Java GUI csaldfa (osztlyhierarchia). Az elvarzsolt kirlykisasszonyok Emlkeztek mg a virtulis Tejt virtulis Fldjre, az OO vilgra? A bitmankra? Mostanra mr sokat hallottatok err l a csods OO vilgrl s o a lakirl, az objektumokrl. Mindezt a bitmank hoztk ltre s m kdtetik u Java nyelv varzsszvegekkel. Igen, ma is rluk szl majd a mesm, pontou sabban egy kirlylny nyomgombrl, az ablakokrl s az esemnyekr l. o Egyszer volt, hol nem volt, volt egyszer egy kirlylny. A kirlylnynak nagyon szp (br fldi mrtkkel taln furcsa) neve volt: o volt Kapcsolat Buttonka, aki egy mesk bekldsre szolgl honlapba zrva vrta, hogy vgre felbressze egy btor Esemny lovag. Kapcsolat Buttonka, mint a csaldjnak legtbb tagja, szp ezstszn , tglalap alak nyomgomb volt. A u felletn gynyr 3D-s, kirlylnyhoz mlt kirlykk szn bet kkel szereu u u pelt a keresztneve: Kapcsolat. Kapcsolat Buttonka azt sem bnta volna, ha

180

FEJEZET 5. J2SE

az o Esemny lovagja egren vgtzik hozz, csak jnne mr, miel tt j bn o gsz programokat rnak a bitmank, s teljes elavult divat lesz a ruhja! o Hogy rtstek, mir l is lmodozik Kapcsolat Buttonka, egy kis kitr t kell o o tennem, addig o kitartan tovbb szvi lmt a h s lovagrl. o A honlapok olyan tltsz varzsdobozok, amibe az ot ltrehoz bitman belecsomagolhat szveget, tblzatot, kpet, hangot, videt, programkt. Az gyesebb bitmank nem csupn tartalmat raknak egy-egy honlap varzsdobozba, hanem annak a kinzetrt felel s Grakus Felhasznli Fellettel, o becenevn GUI-val (Graphical User Interface) rendelkez Applet prograo mokat is. A Java programok GUI-jnak csaldneve a jawa.awt (Abstract Window Toolkit). A csaldfa elgg kacifntos. A GUI-k mind hercegkisasszonyok. Egy irigy cracker megtkozta oket, hogy csak akkor ljenek, ha egy bet man vagy bitman Esemny lovagot u kld hozzjuk, s az felbreszti oket, s elvgezhetik a feladatukat. Radsul ez a velejig gonosz cracker azt is belesz tte az tkba, hogy a dlceg Eseo mny lovag s szpsges mtkja csak ezen rvid tallkozsok alatt lthatjk egymst, s utna a GUI kirlykisasszonyok ismt az lommank lesznek. . . Ebb l kvetkezik, hogy a honlapok Grakus Felhasznli Fellett veo zrl varzsszvegek az Esemny lovagok segtsgvel kiszabadtott serny o hercegkisasszonyok ltal szptik a honlapokat. A hercegkisasszonyok, ahogy a bitmank vilgban, az OO vilgban is sokflk, ez a szertegaz csaldfjukbl kvetkezik. Lehetnek ablak objektumok vagy dialgusdobozok, apr termet cmkk (a Label csald lenyai) u szpsges nyomgombok (a Button csald lenyai), listk (a List csald lenyai) kevs az id m s a szp szavam ahhoz, hogy mindannyijukat felsoroljam. o Ahogy a csaldfn ltjtok, ok mindannyian a java.awt.Component osztly kirly leszrmazottjai. Ugyangy tbbfle Esemny lovag ltezik. Egy rszk gyalogosan keresi az o hercegkisasszonyt, ok a Komponensek ltal Kivlasztottak. Egy m sik csoport valamelyik billenty zetgombon vagy az egren, vagy az egr egy u adott gombjn lovagolva robognak szerelmkhz: ok a Beviteli Esemnyek. Trjnk vissza Kapcsolat Buttonkhoz. Egy szp napon egy fldi kisgyerek szlei sznhzba mentek, de el tte a J mesk oldalt lehvtk a o

5.3. AZ EGR NYOMBAN: MKS ABLAKOK

181

javacska.hu szerverr l. A bngsz be letlt dtt sok-sok unokatestvrvel o o o egytt Kapcsolat Buttonka is. A fldi szl k egy ideig keresgettek a mesk o kztt, de nem talltk csemetjk kedvenct. s ekkor valra vlt Kapcsolat Buttonka legszebb lma! Az anyuka egere bal gombjval rkattintott! Kattints MouseEvent sem volt rest, rgvest felpattant az egrre, s mr Kapcsolat Buttonknl is volt. Szpsges tnemny, bocsss meg, hogy az engedlyed nlkl illetem szmmal a rzsaszirom ajkaidat! szlt Kattints MouseEvent, s megcskolta az o Kapcsolat Buttonkjt, aki rgtn fel is eszmlt. , dlceg lovagom, ksznm, hogy rtem jttl! szlt a hercegkisasszony. Kapcsolat Buttonka sokszor elkpzelte ezt a tallkozst, de leghosszabban szvtt lomtert jt is fellmlta a valsg. o Ha eddig gyelmesen hallgattatok, akkor mr tudjtok, hogy a GUI kirlykisasszonyok szorgosak, mindjknek van feladata: amint cskkal letre kelti oket a lovagjuk, mris a tennivaljuk utn nznek. Kapcsolat Buttonka dolga nem ms, mint hogy nyisson egy ablakot, amit o kslekeds nlkl meg is tett. Ebben az ablakban lakik Kapcsolat Buttonka hgocskja, Elkld Buttonka. Miutn az apuka, aki gyorsabban gpelt a felesgnl, berta a gyerk ck kedvenc mesjt, az enter billenty n elkldte Enter KeyEvent lovagot o u Elkld Buttonkhoz, aki a vrva vrt rvid, mde annl messebb tallkozs utn tovbbtotta is a begpelt szveget a javacska.hu szervernek. Ezek utn, mikzben a hercegkisasszonyok ismt mly lmukat lmodtk, benne a lovagokkal, a szl k elindultak a sznhzba. Frds s fogo moss utn a kisgyereknek a nagymamja felolvasta a kedvenc mesjt a javacska.hu-rl. Majdnem ugyanebben a pillanatban, egy msik vrosban egy msik nagymama is megtallta ezt a mest az jdonsgok kztt, s az o unokja is erre szenderlt lomba, s azta mg sok-sok kisgyerek. Most mr aludjatok ti is, gyerekek!

5.3.

Az egr nyomban: mks ablakok

2010. november 5. Pntek, 20 ra 21 perc.

Azt mr rtam, hogy az ablakok letben bekvetkez dolgok objeko tumok, esemnyobjektumok. Ha az ablakon hzogatom az egeret, az az ablak letben fontos: ezrt b ven keletkeznek egrmozgst jelz esemnyobo o

182

FEJEZET 5. J2SE

jektumok. Ezek a mozgs hatsra keletkezett objektumok tudjk, hogy ppen mi az egrmutat oszlop s sor koordintja. Teht, hogy a jtkos a program ablakban kirajzolt vadszrepl gp botkormnynak t zgombjn o u nyomkodja-e az egeret, vagy ppen 20 pixellel odbb a m szerfalon. Ha u a t zgombon: akkor a programnak l ni kell, mg ha a m szerfalon, akkor u o u ki kell rajzolni: mennyi zemanyag van, meg ilyesmit. . . Szval rtam egy olyan programot, ami feldolgozza az egrmozgs esemnyeket s az egrkurzor nyomban szveket rajzol ki! (El is kldtem Tamsnak!:)) A portlon megtallod, prbld ki! Egybknt te magad is felhasznlhatod: a sajt programodban majd ne a Frame osztlyt, hanem a SzivFrame osztlyt terjeszd ki! Ildiknl nagy sikert aratott a tegnapi mesm, rtam a mai anyagbl is egyet:

5.3.1.

Szoftver any esti mesi: Egy klnleges GUI kirlykisasszony

Hol volt, hol nem volt, volt egyszer egy OO vilg a virtulis Tejton. Ezt a vilgot a bitmank varzslatai hoztk ltre, s Java nyelv varzslau tokkal m kdtetik. Mesltem mr nektek a GUI kirlykisasszonyokrl s az u oket felbreszt Esemny lovagokrl. A mai mesm egy klnleges kirlyki o sasszonyrl szl: a szpsges Rajzol Frame-r l. o Ahogy azt mr jl tudjtok, a GUI kirlykisasszonyok egy gonosz cracker varzslata miatt rk lomra vannak krhoztatva: csak akkor brednek fel, ha egy Esemny lovag megcskolja oket. Az breds utn elvgzik a felada tukat, s ismt lomba szenderlnek. Ahogyan a kirlykisasszonyok klnflk: ablak objektumok vagy dialgusdobozok, apr termet cmkk (a Label csald lenyai), szpsges nyou mgombok (a Button csald lenyai), listk (a List csald lenyai); gy az Esemny lovagok is: egy rszk gyalogosan keresi az o hercegkisasszonyt, ok a Komponensek ltal Kivlasztottak; egy msik csoport valamelyik bil lenty zetgombon vagy az egren, vagy az egr egy adott gombjn lovagolva u robognak szerelmkhz: ok a Beviteli Esemnyek. A mltkori mesm Kapcsolat s Elkld Buttonka kirlykisasszonyokat s az o h sges lovagjaikat: Kattints MouseEvent s Enter KeyEvent lovagot u ismerhetttek meg. Ma Rajzol Frame-t mutatom be nektek.

5.4. FOGORVOSNL

183

Rajzol Frame Buttonkk unokatestvre4 . Rajzol Frame nagyon klnleges kirlykisasszony: egy ablakba zrva vrja az o thalad MouseEvent lo vagjt. Hogy mirt pp ot? Egyszer en azrt, mert ot rtk a bitcsillagokba u a bitmank, mint szvszerelmt! Rla szl minden lma, s csak vrja, vrja, amg meg nem rkezik, addig tovbb szvi rla az lmt. Mg mindig nem beszltem el pontosan, mirt is klnleges Rajzol Frame. Ha egy kicsit vrtok, pp most mondom majd. Egy szp bjtnapon egy szerelmes bet man-lny azon morfondrozott, u tetszik-e a szomszdban lak bitman-nak? Mikzben ezt a problmt prblta megfejteni, halkan csippentett a laptopja, jelezve: email-t kapott. Gyorsan odapattant a gp el: a szban forg ifj kldtt neki levlben egy csatolt fjt. Ahogy megnyitotta egy ablak rajzoldott ki a bngsz jben, s ez az abo lak teljesen res volt! (A bet man-lny nem tudhatta, hogy az ablakban u szrevtlenl rejt zik Rajzol Frame.) Teljesen zavarba jtt az res ablakot o ltvn, mr remnyvesztetten kezdte azt gondolni, hogy egy rossz trfa clpontja, amikor vletlenl rhzta az egeret az ablakra! S ebben a pillanatban akaratlanul elindtotta a tettre ksz thalad MouseEvent lovagot! Ahogy azt jl gondoljtok: a lovag nem volt rest s egy cskkal felbresztette Rajzol Frame-t. Emlkeztek: az el z mesmben azt is mondtam a oo kirlykisasszonyokrl, hogy mindjknek van feladata: amint cskkal letre kelti oket a lovagjuk, mris a tennivaljuk utn nznek. Rajzol Frame dolga nem ms, mint hogy. . . Ebben a minutumban a bet man-lny felkiltott meglepetsben: az u egr nyomn dobog szvek keltek letre! Ha elhzta az ablakrl az egeret, akkor a szvek elt ntek, de ha vissza, akkor ismt ott dobogtak! Teht a u szomszd is viszonozza az rzelmeit! S mivel a lnynak nagyon tetszett a szv dobogsa: Rajzol Frame s thalad MouseEvent is gyakran lthattk egymst, s az breds utn a kirlylny sokszor rajzolt szveket az ablakba, ami magba zrta ot. Taln a mai napig szveket dobogtat a kirlylny, mikzben a bet manu lny s bitman- unoki jtszanak az egrrel. . .

5.4.

Fogorvosnl

2010. november 6. Szombat, 18 ra 32 perc.


4 Nzztek

meg a java.awt csaldfn!

184

FEJEZET 5. J2SE

Apa reggel elg nagyra dagadt fl arccal keveredett ki a szobjbl, a kinzete alapjn alvssal biztosan nem tlttte az jszakt. Kisebb korunkban a jjszakt puszinl lebuktunk nhnyszor, hiba ettnk egy kicsi fogkrmet, hogy rz djn az illata: apa rjtt, hogy nem moso tuk meg igazn. Nhny kisel adsa utn rszoktunk a fogmossra. Apa utn o Grti vette kezelsbe a fogmossi szoksainkat. Mg apa megmaradt az elmleti oktats mellett, Grti estnknt szemlltette, hogyan kell mindenfel, klnbz krkrs drzslssel tiszttani a rgszerveinket, s t az id taro o o tam mrst l sem riadt vissza! Mondjuk ezeknek ksznhet en nincs is o o rossz fogunk. Apt viszont Grti nem vette kezelsbe, gy most vgigszenvedte az jszakt. Renta nem hagyott neki id t, felpakolta s elvitte fogorvoshoz. Ino duls el tt olyan arcot vgott, mint akinek mr minden mindegy, pp halo doklik, de engedelmes kisknt megy, mert viszik. Ezek utn igazn meglep dtnk, amikor negyven perc mlva mr itthon o is voltak: apa arcn semmi rendellenes, hacsak az dvzlt vigyort nem tekintjk annak. Boldogan jsgolta, hogy Renta nem egy hagyomnyos fogorvosi rendel be vitte, aminek a kzepn egy knzszk tallhat krlvve o ezerfle knzszerszmmal, hanem az egyetem ksrleti fogklinikjra. Ott egy dokin vette kezelsbe: apa csak arra emlkszik, hogy elmlylt a fnyt o sznesen megtr kristly flbevaljnak a szemllsben, s arra gyelt fel: o a hlgy bejelenti, ksz is vannak. Nem volt semmi injekci, sem frs vagy kszrls. Csak elmlt a knz fjdalom s a duzzanat, pedig a dokin csak o hosszasan belenzett a szjba...

5.5.

KapuSzem

2010. november 7. Vasrnap, 16 ra 55 perc.

Ma hajnali negyed htkor (szombaton a negyed ht igazn annak szmt) megszllalt a kapunk bim-bamja: n pp a Manci nnit l klcsnkapott o Waltari knyvet olvastam a tlikert bannfja alatt. Rnztem a KapuSzem konzoljra : Alfrd volt a reggeli ltogatnk. (A KapuSzem a TrSzemekhez hasonlan m kdik: u 3 dimenzis folyamatos kpet ad,

5.6. PKOK: KERESS A WEBEN

185

retina s arccsontvizsglat alapjn azonost be, nincs szksgnk kapukulcsra ha gyans esetet lt, rtesti a megfelel szervet: t znl a t zoltkat, o u u veszly esetn a rend rsget, egszsggyi vszhelyzetben a ment o o ket, mindezek mellett sszekttetsben van a hz biztonsgi rendszervel is.) Szval Alfrd jtt azzal a kptelen tlettel, hogy Grtit elviszi az er m o u mgtti Szp Asszony hegyre megnzni a napfelkeltt. Ismerve a fagyos szent n vremet, hozott magval termoszban forr mzes-citromos tet is. o Kemny tz perces keltegets utn Grti felfogta, hogy Alfrd ll el tte, s azt o is, mirt. Ekkor, t le meglehet sen szokatlan mdon, pillanatok alatt sszeo o kapta magt s csak a cskot lttam utnuk. (Ks bb meslte, milyen nagyo szer volt, a hajnali felkels elviselhet . Persze nem tl gyakran.) u o Ezutn a reggeli kzjtk utn lassan a hzban mindenki bredezni kezdett, len Kalmival. Miutn adtam neki s (megel z jelleggel) a papagjoko o nak is enni, visszavonultam belemlyedni Turms kalandjaiba.

5.6.

Pkok: keress a Weben

2010. november 8. Htf , 18 ra 10 perc. o

A hten n vagyok az iskolai Jvcska portl webmestere! Az a feladatom, hogy gyeljem a webes forgalmat: ki, mikor, mit tlt le ppen a Jvcska portlrl. Rendben fut-e az iskolai webszerver programja? Nem jeleztek-e valami krst a felhasznlk, hogy pldul valamelyik lapon trtt (nem m kdik) egy link, meg ilyesmi. u Be is jelentkezek az iskola unixos szerverre, a kinyl ablakban mr az iskola szervernek parancsrtelmez programjval beszlek: o
last|more

adom ki a BASH nyelv parancsot: ami kb. annyit jelent magyarul: kik u voltak bejelentkezve? A |more egyszerre egy kperny t listzz! A parano csrtelmez progi adja is rgtn a vlaszt: o

186
[javacska@konyvesk]$ last|more javacska pts/2 javacska pts/1 javacska pts/0

FEJEZET 5. J2SE

Tue Feb 17 08:54 Tue Feb 17 08:38 Tue Feb 17 08:37

still logged in still logged in still logged in

Ezzel a krdssel szoktam kezdeni, mr csak megszoksbl is. Nha pedig azzal, hogy pp ki van mg bent a gpen?
who

No, de dolgom van, lssuk, ki nzi ppen a Jvcska portlt:


tail -f /var/log/www/access_log|grep javacska

adom ki a parancsot a parancsrtelmez programnak, ami magyarul kb. o annyit tesz: folyamatosan listzd a /var/log/www knyvtr access_log fjlja tartalmnak vltozst | de csak azokat, amikben a javacska sz szerepel. Vlaszul j gyorsan szaladnak az ablakban az ppen a log fjlba kerl o bejegyzsek, ilyenek pldul:
pc7.kossuth-gyak-debrecen.sulinet.hu - - [10/Dec/2009:14:04:57 +0100] "GET /javacska/elougro/telcsik.html HTTP/1.1" 200 2107 "-" "Mozilla /4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"

egy sor azt mondja meg, hogy a Kossuth Lajos Gyakorl ltalnos Iskola 7-es PC-jr l valaki nzte a telcsik.html-t (mg azt is megmondja, hogy o mikor, milyen bngsz vel, milyen opercisrendszert hasznlva). o Tudod, hogyan keletkeznek ezek a sorok? Rm egyszer . Az iskolai szeru vernk knyvtraiban ott pihennek a Jvcska portl fjljai: a f lap, a seo gdanyagok, a mobilos progik, szval mindenfle fjlok. A lnyeg, hogy jjel-nappal, llandan futtatunk egy programot, a webszerver programot. Ez nem egy bonyolult jszg. Annyit tesz, hogy rl a gp 80-as kapujra s gyeli azt. Ha egy msik szmtgpen fut program kapcsoldik a mi 80-as kapunkra s kr valamilyen fjlt a webszervernkt l, akkor a mi webszerveo rnk benyl a megfelel knyvtrba, ha megvan a krt fjl, akkor azt betlti o s elkldi a 80-as kapun t a tvoli gpen fut, a krst elkld programnak. o Teht a tvoli gpek krnek a szervernkt l, o pedig vlaszol. Vagy elkldi, o amit krtek, vagy azt mondja, hogy nlunk ilyesmi nincs. Szval nem nagy rdng ssg: a kliens program kr, a szerver pedig o vlaszol erre a krdsre. Ennyi.

5.7. ISKOLAI SZNET

187

Amikor a bngsz be berod, hogy o http://www.javacska.hu/index.html akkor teht nem trtnik ms, mint hogy a bngsz progid csatlakozik o a www.javacska.hu nev gp 80-as kapujra s elkri az index.html nev u u f lapot. o Vagy egszen pontosan (ezt mr csak a hacker bitmanknak rva) a bngsz programod kapcsoldik a www.javacska.hu gp 80-as kapujra s a o kvetkez HTTP nyelv zenetet kldi: o u
GET /index.html HTTP/1.0

Ebb l ll a WWW, a Hl, a Vilgszles Hl: sok millinyi gpb l, o o amiken fut a sajt 80-as kapukat gyel webszerver program s mg sokkal o tbb rdekl d felhasznlbl, akik a sajt gpkn fut bngsz kliens o o o programjaikkal ltogatjk meg a webszerverek lapjait. WWW feladat: Mit jelenthet, ha egy internetes cmben a gp neve utn szm van? Teht, ha az URL gy fest pldul: http://www.clib.dote.hu: 8081/javacska/servlet/b.v A WWW-n az a legizgibb krds, hogy a sok-sok-sok millinyi lap kzl hogyan tallom meg az engem rdekl lapokat? Hopp, pont kapra jn o kzben a /var/log/www/access_log logfjl frisslse:
crawler10.googlebot.com - - [10/Dec/2004:14:07:32 +0100] "GET /javacska/konferencia/ HTTP/1.0" 200 33883 "-" "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"

ppen a Google egy webrobotja (Googlebot) szimatol nlunk. . . Most be kell fejeznem, kvncsi vagyok, hogy o mire kvncsi. A keres robotokrl, webrobotokrl, frgekr l, pkokrl majd felteszek o o egy anyagot a portlra!

5.7.

Iskolai sznet

2010. november 9. Kedd, 10 ra 12 perc.

188

FEJEZET 5. J2SE

A mai tants elmaradt!!! Reggel bementnk. Mr az is gyans volt, hogy minden tanr az iskola kapujban lldoglt, s nagyon titokzatos arccal terelgetett bennnket a nagyterembe. Gyorsan vgig gondoltam, milyen turpissgot kvethettnk el, aztn, hogy milyen llami nnepet felejtettem el, de nem jutottam sokra. Kardos Erzsbet lpett a mikrofonhoz. A csillhajzson bevetett legnysg tagjainak (azaz nekem is:)) gratullt, s tolmcsolta az epkevk ksznett is. A velk kttt szvetsgnek emlket lltand iskolai sznetet rendelt el! Mindenkivel kezet fogott s mr indulhattunk is haza! Azt is mondta, hogy olyan gyesek voltunk az iskolakezds ta, hogy holnaptl kiss tszervezett iskola fogad majd bennnket, de err l nem rult o el tbbet! Kedves olvasm, vrhatan ez rinti majd a naplmat is, gy a mai nappal lezrom ezt a fjlt!

III. rsz Mellkletek

189

6. fejezet Feladatok
Ha egy feladat megtetszik, de esetleg nem boldogulsz vele, akkor btran fordulj krdseddel a Jvcska levelezsi listhoz (194. old.)! Termszetesen akkor is rhatsz, ha sikerlt megoldanod s szeretnd valakivel megosztani a megolds sorn szerzett tapasztalataidat. 1-5. Bevezet feladatok: 12. oldal. o Kdtrs feladat:171. oldal. Hexa feladat:36. oldal. Programozk feladat:72. oldal. Riport feladat:75. oldal. 1. Hangys feladat:86. oldal. 2. Hangys feladat:86. oldal. HTML feladat:108. oldal. Hackels feladat:109. oldal. WAP feladat:114. oldal. MIDI feladat:125. oldal. 1. Knyvtri feladat: 160. oldal. 191

192 2. Knyvtri feladat:160. oldal. 1. Fraktl feladat:173. oldal. 2. Fraktl feladat:173. oldal. WWW feladat:187. oldal.

FEJEZET 6. FELADATOK

A bjtverseny bekldhet hzi feladatait ki kellett hagynunk ebb l a o o knyvb l, ezrt ezeket csak on-line tltheted ki a Jvcska portlon, a o Bjtverseny menpont alatt.

7. fejezet A Jvcska portl


A Jvcska portlt a WAP Jvcska s a webes portl egytt alkotja.
1. zelt a WAP Jvcskbl: o letlthet javas jtkok, pldaprogramok, o letlthet httrkpek o tesztek. 2. zelt a webes Jvcska portlbl: o RobIGOR lapok, RobMI lapok, Kosaras lapok teljes Abraka blog oktatsi anyag, szakkri segdanyagok, telcsi kisokos, appletek (fraktlrajzol, hangyaszimulcis, titkost). frum, levelezsi lista, hrek, Jvcska talikon kszlt bitmankpek.

7.1.

Regisztrci

Miel tt belekezdenl a regisztrciba, tallj ki egy becenevet magadnak. Ez lehet a o keresztneved beczse, de akr a kedvenc meseh sd, regnyh sd neve is. o o Szksged lesz mg jelszra is, amit a portlon titkos nvknt emlegetnk. Ha gyelmesen olvastad a Fantasztikus programozs 36. oldalt, akkor tudod, milyen a j jelsz. (Ha nem, gyorsan lapozz oda!) A levelezsi lista szoftver kri mg egyszer a titkos neved, ellen rizend nem rtad-e o o el valahol.

193

194

FEJEZET 7. A JVCSKA PORTL


A teljes nvhez a vezetk s keresztnevedet add meg. A postai cmedre azrt van szksgnk, hogy ha valamelyik hnapban te gy jtd u ssze a legtbb pontot: el tudjuk neked postzni az ajndkod. rd mg be az iskold (ha id sebb bitman vagy: a munkahelyed) nevt. o Add meg az email cmed! Ha van, add meg a mobilod szmt!

7.2.

Levelezsi lista

Kvncsi vagy mit rnak egymsnak a bitmank? Eljutottl eddig a Fantasztikus programozs olvassban s ms bitmanktl akarsz krdezni, vagy csak vlemnyt cserlni velk? Mentor bitmankat akarsz keresni a listn? J helyre lapoztl! Jvcska levelezsi listjrl minden fontosat megtudhatsz innen: http://www.clib.dote.hu/mailman/listinfo/javacska/ Ezen az oldalon: megtallod a lista nyilvnos archvumt: elolvashatod, hogy eddig milyen levelek mentek a listra, a listserver illemtant (angolul). Egy egyszer urlap kitltsvel feliratkozhatsz a listra, amihez szksged lesz: u egy email cmre, egy ltalad vlasztott nvre (pl. va, Herkules, Bitvadsz), egy jelszra. (Ne felejtsd, amit a jelszvlasztsrl olvastl a 24. oldalon!) Kivlaszthatod, milyen nyelven szeretnd hasznlni a listt. Vlaszthatsz, hogy naponta egy csomagban akarod-e letlteni a lista leveleit (digest forma) vagy minden levelet kln. Az urlap kitltse utn a megadott email cmre kapsz egy levelet, amire kldj egy egyszer vlaszt, vagy kattintu sunk a levlben lv URL-re. o Megnzheted a lista jelenlegi taglistjt. Leiratkozhatsz a listrl. A lista email cme: javacska@inka.clib.dote.hu ide rd azt az emailt, amit a lista minden bitmanjnak sznsz! A vals lethez hasonlan a virtulis kzssg(ek) zkken mentes lett is illemszabo lyok segtik. Nhny alapszably: 1. ltalnos szablyok:

7.2. LEVELEZSI LISTA


amit nem szeretnl, hogy veled trtnjen, te se tedd mssal,

195

az hlzat anonimitst (nvtelensget) ad: lehetsz h s, id sebb, atalabb, de o o csak addig terjedjenek j szemlyisged hatrai (ami persze lehet a vals is), amg msokat nem bntasz meg vele, igen er s illetlensg, bizonyos esetekben a trvny is bnteti, msok azonoso sgnak (email cm, nv, szemlyi adatok) hasznlata, tiltott tartalmakat ne szolgltass (erre ltalban a trhelyszolgltatk kitrnek a velk ktend szerz dsben), s t lehet leg ne is ltogass ilyen oldalakat. o o o o 2. Elektronikus levelezskor betartand szablyok: az email a gyors kommunikci eszkze: nem illik napokig vlaszolatlanul hagyni levelet, sokan a letlttt adatmennyisg utn zetett Internet-elrssel rendelkeznek, rdekkben is a megvlaszolt levlnek csak a fontos rszeit msoljuk be, ugyancsak ezrt (is) ne ksztsnk kilomteres alrst, mindig rjunk egy rvid (nhny szavas) tartalmi megjellst a levl fejlcbe, lehet leg kezet nlkli karaktereket hasznljunk, mert nem minden levelez o o rendszer kpes az kezeteket megjelenteni, ne kldjnk mlesztett levelet! 3. Levelezsi listkon, frumokon betartand szablyok: miel tt brmit rnnk vagy krdeznnk, olvassuk vissza az archvumot, illetve o a korbbi hozzszlsokat, ne fogalmazzunk pongyoln, helytelenl, mert szre sem vesszk, s hozzszokunk, a listra val feliratkozskor, illetve a regisztrcikor kapott ltalnos tudnivalkat tartalmaz levelet tartsuk meg, rdemes mappkba rendezni a meg rzsre sznt leveleinket, o ha hosszabb id re nem lesznk Internet-kzelben,tmenetileg fggesszk fel o a tagsgunkat, ellenkez esetben betelt leveleslda vrhat rnk, o rsban nehezebben rzkelhet k az rnyalatok: a flrertsek elkerlse vo gett hasznljunk n. Emoticon-okat (szomorsg: :-(, kacsints: ;-), mosoly: :-) stb.).

196

FEJEZET 7. A JVCSKA PORTL

8. fejezet rarend
A Knyves Klmn ltalnos Iskola s Gimnzium 2010/2011 tanvi tantrgyainak rvid ismertetse.

8.1.
8.1.1.

A webes rarend ri
OO programozs

Objektum-orientlt programozs. Az OO programozs cm tantrgy keretben megisu merjk az osztly s az objektum fogalmak jelentst. Az osztlyok kztt ltez rkl o o dst. Az objektumok (pldnyok) ltrehozst, a pldnyostst. Programjainkat UML brk segtsgvel rajzoljuk le s beszljk meg. Az oktats nyelve: magyar.

8.1.2.

Java programozs

A Java programozs cm trgy keretben megtanuljuk, hogyan rhatjuk le az elkpzelt u osztlyokat Java nyelven. Mik az osztlyok lersnak s a programoz gondolkodsnak szablyai, ha Java nyelven beszltek. Programjainkat .java forrsfjlokba rjuk s PC-ken prbljuk ki. Az oktats nyelve: magyar.

8.1.3.

Mobiltelefonok programozsa

A Mobiltelefonok programozsa cm tantrgy keretben olyan sajt osztlyokat runk u le Java nyelven, amely osztlybl szrmaz objektumok kpesek a mobiltelefonokban lni s m kdni. Programjainkat .java forrsfjlokba rjuk s javas mobiltelefonokon (vagy sziu multoron) prbljuk ki. Az oktats nyelve: magyar.

197

198

FEJEZET 8. RAREND

8.1.4.

Hlzati programozs

A Hlzati programozs cm tantrgy keretben megismerkednk azzal a kppel, amiu vel egy programoz rendelkezik a hlzatrl. Elksztjk honlapunkat, s t els hlzati o o szolgltatsunkat is. Programjainkat .java forrsfjlokba rjuk s az Interneten prbljuk ki. Az oktats nyelve: magyar.

8.1.5.

sztrtnelem

Az sztrtnelem tantrgy keretben ttekintjk az emberisg szmottev gondolkoo dit s rvid bevezetst adunk elmleteikbe. Az oktats nyelve: magyar.

8.2.
8.2.1.

Titkos rk
Csillagszati ismeretek

A Csillagszati ismeretek cm tantrgy keretben megismerkednk a csillagokkal, a u sszis reakcival, a termonukleris fzival s nhny igen rtelmes vilg fajval. Az oktats nyelve: abraka.

8.2.2.

let a Fldn kvl

Az let a Fldn kvl cm tantrgy keretben a Fldn kvli letformkkal, civiliu zcikkal, azok kultrjval ismerkednk meg. Az oktats nyelve: abraka.

8.2.3.

Csillaghajzs

A Csillaghajzs cm tantrgy keretben a csillaghordozkkal s a csillaghajzs szau blyaival ismerkednk meg. Az oktats nyelve: abraka.

8.2.4.

Bevezets az igen rtelmes vilgokba

A Bevezets az igen rtelmes vilgokba cm tantrgy keretben az igen rtelmes u kzssgekkel, azok kultrjval, gazdasgval foglalkozunk. Az oktats nyelve: abraka.

9. fejezet Telepts
A kvetkez pontokban segtnk a szmtgpedre telepteni a knyvben hasznlt szoftveo reket.

9.1.

A Java Kpzeletbeli Gp teleptse a szmtgpedre

A Java Kpzeletbeli Gp ppen aktulis verzijnak teleptsi lerst a http://www.clib.dote.hu/javacska/telepites/j2se lapon tallod. Az itt tallhat kpek segtenek a sajt gpedre feltenni a Java Kpzeletbeli Gpet.

9.2.

A Vezetk Nlkli Fejleszt Csomag telepo tse a szmtgpedre

A Vezetk Nlkli Fejleszt Csomag ppen aktulis verzijnak teleptsi lerst a o http://www.clib.dote.hu/javacska/telepites/j2me lapon tallod. Az itt tallhat kpek segtenek a sajt gpedre feltenni a szimultor programot

9.3.

Rgi bitmanknak

Ha mr rgebben is gyelted a Javacska projektet, akkor esetleg hinyolhatod a rgi fzeteket. Hol lelheted fel ebben az j formban: ebben a knyvben ezeket? Mobilka, let a telefonban: a 4.1 (145. oldaltl ) pont. Az OO vilg: 1.3.1 (24. oldaltl ) pont.

199

200
Java birodalmak: a 1.23 (87. oldaltl ) pont. Varzsszvegek: 3.1 (119. oldaltl ) pont.

FEJEZET 9. TELEPTS

Programkim a Vilghln: a 5.1.4 (173. oldaltl ) pont. Trulj, ablak!: a 5.1 (165. oldaltl ) pont. Egy klnleges ablak: a 5.3.1 (183. oldaltl ) pont. Szerver s kliense:a 5.7 (187. oldaltl ) pont. A gyakorlati s elmleti rszek trgyalst sszevontuk, a programozsi feladatok a 6. fejezetben s a Jvcska vortl szakkri anyagaiban kaptak helyet.

10. fejezet Abraka nyelvtanknyv


Szembe kell nznnk azzal, hogy a nyelv messzemen en o trtnelmi esetlegessget alkot. Az alapvet emberi nyelvek o klnbz formi hagyomnyszer en jutottak el hozznk, de o u mr e hagyomnyos formk sokflesge is bizonytja, hogy semmifle felttlensg vagy szksgszer sg nem testesl u meg bennk. N EUMANN JNOS , A SZMOLGP S AZ AGY.

Mindenfle nyomdatechnikai okok miatt az eredetileg kzel 300 oldalas Fantasztikus Programozs els ktett jelen terjedelm re kellett fogyasztanunk. Sajnos o u ennek a krnak esett ldozatul az Abraka nyelvtanknyv is. De ne keseredj el, mert le tudod tlteni a portlrl: http://www.clib.dote.hu/javacska/abraka Az Abraka nyelv a bitmankzssg (lehetsges) kzs nyelve lehetne. Mirt alkalmas erre a szerepre? Formlis nyelvi alapokra pl. Ezrt knnyen automatizlhat. A szvgek egyrtelm en megmondjk, hogy a szavak milyen szfajba tartozu nak. A mondatokban a szavak helye egyrtelm . u A bet kszletet az angol billenty zet gombjai alkotjk. u u

201

202

FEJEZET 10. ABRAKA NYELVTANKNYV

Tartalomjegyzk
I. Jvcska naplja
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17
19 19 20 22 24 25 25 25 26 27 30 32 33 33 34 35 36 39 40 42 43 44 50 51 54 54 58 58 59 60 60 62

1. Programozs 1.1. zenet neked! . . . . . . . . . . . . . . . . . . . . 1.2. Jvcska naplja az els nap . . . . . . . . . . . o 1.3. KRML . . . . . . . . . . . . . . . . . . . . . . 1.3.1. Az OO programozs . . . . . . . . . . . . 1.3.2. Az osztlyok s az objektumok kapcsolata . Az osztlyok . . . . . . . . . . . . . . . . Mik vannak egy osztlyban? . . . . . . . . Mik lehetnek mg egy osztlyban? . . . . . Az objektumok . . . . . . . . . . . . . . . 1.3.3. Jelszavak . . . . . . . . . . . . . . . . . . 1.4. Szrmaztats rkl ds . . . . . . . . . . . . . . o 1.4.1. Az rkl ds . . . . . . . . . . . . . . . . o Mit olvasunk le a Rend rkutya brjrl? . o Mi a nagy dolog az OO programozsban? . 1.5. A titkos ajt . . . . . . . . . . . . . . . . . . . . . 1.5.1. Mit tanultam meg ma a Java nyelvr l? . . . o 1.6. String osztlybeli bartaink . . . . . . . . . . . . . 1.6.1. Az els igazi szmtgpes objektumaid . . o 1.7. Klns lom . . . . . . . . . . . . . . . . . . . . 1.8. Bitmank s bet mank . . . . . . . . . . . . . . u 1.8.1. Utazs az Interneten . . . . . . . . . . . . 1.8.2. Hogyan rom le Java nyelven? . . . . . . . 1.9. Klns ajtk . . . . . . . . . . . . . . . . . . . . 1.10. Hogyan szltsak meg egy objektumot? . . . . . . 1.11. Az osztlyf nkm . . . . . . . . . . . . . . . . . o 1.12. Figyel szolglatban . . . . . . . . . . . . . . . . . o 1.13. Tmegkzlekeds . . . . . . . . . . . . . . . . . . 1.13.1. Ma teleportoztam! . . . . . . . . . . . . . 1.14. Az OO program . . . . . . . . . . . . . . . . . . . 1.14.1. Hogyan gondoljak egy OO programra? . . 1.15. Kalz teleportols . . . . . . . . . . . . . . . . . .

203

204
1.15.1. A Kk Fld csillaghordoz haj . . . . . . 1.16. Hnyflk a programozk? . . . . . . . . . . . . . 1.16.1. Nyelvek . . . . . . . . . . . . . . . . . . . Assembly . . . . . . . . . . . . . . . . . . C nyelv . . . . . . . . . . . . . . . . . . . Java nyelv . . . . . . . . . . . . . . . . . . 1.16.2. Programozk . . . . . . . . . . . . . . . . 1.17. Bitman riport . . . . . . . . . . . . . . . . . . . . 1.18. Csillagszati ismeretek . . . . . . . . . . . . . . . 1.18.1. WiFi hlzatok . . . . . . . . . . . . . . . 1.18.2. "Igen rtelmes" hlzatok . . . . . . . . . 1.19. Igen rtelmes civilizcik: a trore glike zeuse npek 1.20. Az els csillaghajzs ra . . . . . . . . . . . . . . o 1.20.1. A felszllsi protokoll . . . . . . . . . . . 1.21. A NaFEm, avagy a termonukleris fzi . . . . . . 1.21.1. Energiagazdlkods . . . . . . . . . . . . 1.22. Hangyrsadalom: biolgiai stratgiai jtkok . . . 1.23. Java birodalmak . . . . . . . . . . . . . . . . . . . 1.23.1. Platformfggetlen mese . . . . . . . . . . 2. Internet 2.1. Mi a protokoll? . . . . . . . . . . . . . . . . 2.2. WWW: a vilgszles hlzat . . . . . . . . 2.2.1. Nyelvek . . . . . . . . . . . . . . . . 2.2.2. WWW . . . . . . . . . . . . . . . . 2.2.3. HTTP szerver s kliense: a bngsz o Bngsz k . . . . . . . . . . . . . . o 2.3. Replsi terv . . . . . . . . . . . . . . . . . 2.3.1. E-kereskedelem . . . . . . . . . . . . Rzsa lovag nlkl . . . . . . . . . . 2.4. Mr van sajt honlapom! . . . . . . . . . . . 2.4.1. Msodik kisolvasmny WWW . . . Linkek . . . . . . . . . . . . . . . . 2.4.2. Szem a hlban . . . . . . . . . . . . 2.4.3. WAP . . . . . . . . . . . . . . . . . 2.4.4. WAP-os telcsire is! . . . . . . . . . . Jvcska WAP-lapja . . . . . . . . . Szem a hlban 2. . . . . . . . . . .

TARTALOMJEGYZK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 66 67 67 69 71 71 72 75 75 76 78 79 80 81 81 84 87 89 93 93 96 98 100 101 101 102 103 104 104 105 108 109 111 113 114 115

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

II.

Java

117
119 119 120 120

3. Az Internet vilgnyelve 3.1. Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1. Java nyelvjrsok . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2. A Java nyelvtan . . . . . . . . . . . . . . . . . . . . . . . . . . . .

TARTALOMJEGYZK
A bet k . . . . . . . . . . . . . . . u 3.1.3. A szfajok . . . . . . . . . . . . . 3.1.4. Az azonostk . . . . . . . . . . . . A kulcsszavak . . . . . . . . . . . A kifejezsszavak I. . . . . . . . . 3.2. A Nap napja . . . . . . . . . . . . . . . . . 3.3. Az els repls . . . . . . . . . . . . . . . o 3.3.1. Az Epkedve.humane.homoe vilgon A kifejezsszavak II. . . . . . . . . A horda . . . . . . . . . . . . . . . 3.4. A kerek asztal bitmani . . . . . . . . . . . 3.4.1. Java mondattan . . . . . . . . . . . Az egyszer mondat . . . . . . . . u Az sszetett mondat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

205
120 120 120 121 122 125 128 129 133 135 136 141 141 143 145 145 148 148 148 150 151 152 154 155 156 157 160 161 165 165 165 167 171 171 172 174 174 177 179 181 182 183 184 185

4. J2ME 4.1. Kelep L. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Mobilka . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1. Mit olvasok le az albbi UML brrl? . . . . . . A Lnc osztly . . . . . . . . . . . . . . . . . . . 4.3. A MIDlet vndormank . . . . . . . . . . . . . . . . . . . Szoftver any esti mesi: A MIDlet vndormank . 4.4. Egy apa napja . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1. A kerek asztal bitmani II . . . . . . . . . . . . . 4.5. sztrtnelem rn . . . . . . . . . . . . . . . . . . . . . 4.5.1. A fldi trtnelem nagy harcosai . . . . . . . . . . A Turing-fle gp . . . . . . . . . . . . . . . . . . szharcosok . . . . . . . . . . . . . . . . . . . . 4.6. Mobil lncok s gyngyk . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

5. J2SE 5.1. GUI: a grakus felhasznli fellet . . . . . . . . . . . . . . . . . . . . 5.1.1. Igen rtelmes vilgok - folytats . . . . . . . . . . . . . . . . . 5.1.2. Kzponti vezrls . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.3. Programkk: titkosts . . . . . . . . . . . . . . . . . . . . . . Nyilvnos kulcs titkosts . . . . . . . . . . . . . . . . . . . . 5.1.4. Programkk: fraktlnagyt . . . . . . . . . . . . . . . . . . . 5.1.5. Sajt programkim a vilghln . . . . . . . . . . . . . . . . . Szoftver any esti mesi: A Programka vndormank . . . . . . 5.2. Ablakok s vsznak; esemnyek . . . s esemnyek . . . . . . . . . . . . 5.2.1. Szoftver any esti mesi: Az elvarzsolt kirlykisasszonyok . . 5.3. Az egr nyomban: mks ablakok . . . . . . . . . . . . . . . . . . . . 5.3.1. Szoftver any esti mesi: Egy klnleges GUI kirlykisasszony 5.4. Fogorvosnl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5. KapuSzem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6. Pkok: keress a Weben . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

206

TARTALOMJEGYZK

5.7. Iskolai sznet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

III.

Mellkletek

189
191

6. Feladatok

7. A Jvcska portl 193 7.1. Regisztrci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 7.2. Levelezsi lista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 8. rarend 8.1. A webes rarend ri . . . . . . . . . . . . . . 8.1.1. OO programozs . . . . . . . . . . . . 8.1.2. Java programozs . . . . . . . . . . . . 8.1.3. Mobiltelefonok programozsa . . . . . 8.1.4. Hlzati programozs . . . . . . . . . 8.1.5. sztrtnelem . . . . . . . . . . . . . . 8.2. Titkos rk . . . . . . . . . . . . . . . . . . . 8.2.1. Csillagszati ismeretek . . . . . . . . . 8.2.2. let a Fldn kvl . . . . . . . . . . . 8.2.3. Csillaghajzs . . . . . . . . . . . . . 8.2.4. Bevezets az igen rtelmes vilgokba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 197 197 197 197 198 198 198 198 198 198 198 199 199 199 199 201

9. Telepts 9.1. A Java Kpzeletbeli Gp teleptse a szmtgpedre . . . . . . . . . . . . 9.2. A Vezetk Nlkli Fejleszt Csomag teleptse a szmtgpedre . . . . . . o 9.3. Rgi bitmanknak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10. Abraka nyelvtanknyv

brk jegyzke
1. 2. 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. 1.8. 1.9. 1.10. 1.11. 1.12. 1.13. 1.14. 1.15. 1.16. 1.17. 1.18. 1.19. 1.20. 1.21. 1.22. 1.23. 1.24. 2.1. 2.2. 2.3. 2.4.
RobIGOR-620 tpus LEGO R mobil robot. RobMI-I tpus cseveg robot. o

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15 15 26 26 27 27 28 29 33 34 37 38 41 49 50 56 66 67 68 76 77 79 83 85 86 91

gy rajzoljuk le az osztlyokat. . . . . . . . . . Az osztly objektumainak tulajdonsgai. . . . . Mit tudnak csinlni az osztly objektumai? . . . Az osztly s az objektum rajza. . . . . . . . . Nagyatom, Szilrd Le utca 30. A fldszint. . . Nagyatom, Szilrd Le utca 30. Az emelet. . . A Kutya s a Rend rkutya osztlyok. . . . . . . o gy rajzoljuk le az rklst UML doboznyelven. A Java programozs menete. . . . . . . . . . . Szmtgpes objektum a memriban. . . . . A referencia az objektum memriabeli cme. . . Utazs az Interneten. . . . . . . . . . . . . . . UML brbl Java nyelv mondatok. . . . . . . u SETI@HOME igazols. . . . . . . . . . . . . Az pl Kk Fld csillaghordoz rajza. . . . . o A Kk Fld legnysgi-korongjnak tervrajza. . 8x8-as plcikarobot. . . . . . . . . . . . . . . . WiFi access pointtal. . . . . . . . . . . . . . . Ad hoc WiFi. . . . . . . . . . . . . . . . . . . Trore glike zeuse. . . . . . . . . . . . . . . . . Az atomer m . . . . . . . . . . . . . . . . . . o u A Hangyrsadalom PC gpes kliens programja. Pillanatfelvtel a magam tervezte programrl. . Hangyink vezrl programjnak terve. . . . . . o

Hiper szvegek. . . . . . . . . . . . . . . . . . . . . . . . . . . Kzzel krjk el az abraka.dabra gp f lapjt a 80-as kapun t! o Az abraka.dabra gp f lapja egy bngsz programban. . . . . . o o Hogy kerl egy mobil pakli a telefonomra? . . . . . . . . . . .

. 97 . 109 . 110 . 116

3.1. RobIGOR fldi irnyt applet kliense.

. . . . . . . . . . . . . . . . . . . 139

207

208
4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7. 5.8. 5.9. 5.10. 5.11.

BRK JEGYZKE
KelepLancnak ose a Lnc, annak ose a MIDlet osztly. . MIDlet vndormank. . . . . . . . . . . . . . . . . . . . A Turing-fle szmtgp. . . . . . . . . . . . . . . . . Olyan Turing gp, ami lefagy. . . . . . . . . . . . . . . A Mandelbrot halmaz. . . . . . . . . . . . . . . . . . . A virgos jtk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 152 157 159 161 162 166 167 168 169 170 171 172 173 176 178 179

Trore humane marse. . . . . . . . . . . . . . . . . . . . . . . . . . Harone glike ime. . . . . . . . . . . . . . . . . . . . . . . . . . . . Modulci. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sinus hullm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dupla gyors sinus hullm. . . . . . . . . . . . . . . . . . . . . . . Titkos kulcs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Titkos kulcs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A FraktalProgramka szmolta nagytsok a Mandelbrot halmazrl. Mg kt fraktlkp. . . . . . . . . . . . . . . . . . . . . . . . . . . Vndorman klnok. . . . . . . . . . . . . . . . . . . . . . . . . . A Java GUI csaldfa (osztlyhierarchia). . . . . . . . . . . . . . . .

Tblzatok jegyzke
1.1. 1.2. 1.3. 1.4. 1.5. Napi t abraka sz. . . . . . . . . . . . . . Az pl Kk Fld csillaghordoz f rszei. o o A legnysgi szint f rszei. . . . . . . . . o A bitmano SQL tblzat rszlete. . . . . . A trore glike zeuse faj adatai. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 65 68 70 79

3.1. Az sszetett kifejezsszavak ptsnl hasznlatos jelek. . . . . . . . . . . 123 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7. 5.8. A trore humane marse faj adatai. A harone glike ime faj adatai. . . Az a kp adatai. . . . . . . . . A b kp adatai. . . . . . . . . A c kp adatai. . . . . . . . . . A d kp adatai. . . . . . . . . . Az e kp adatai. . . . . . . . . A f kp adatai. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 167 174 174 175 175 177 177

209

Trgymutat
.class, 9, 36 .java, 9, 36, 197, 198 ntudat, 136 rkl ds, 7, 3234, 197 o tszg, 136 zenet, 32, 46, 47, 54, 62, 125, 187 szaki szlessg, 140 1991 VG, 59, 60, 62, 63, 138, 143 A szmolgp s az agy, 201 abraka, 39, 64, 76 access point, 75 Ada, 75 Ada Augusta Lovelace, 74 adatbzis, 70 aktv zna, 82 Algol, 75 algoritmus, 711, 13, 62, 69, 157 API, 71 Applet, 35, 70, 176 applet, 139 Assembly, 67 atomer m , 81, 82 o u automata, 79, 11 automata gppuska, 167 bngsz , 35, 46, 95, 101, 105, 176, 177, o 180, 187 bzislloms, 75 Blyai Jnos, 160 Babbage, Charles, 74 BASH, 185 BASIC, 7375 bioer m , 81 o u blog, 2, 8, 10, 11, 14, 193 C nyelv, 69, 75 Cantor, Georg, 160 chat, 98, 154 chat szoba, 154 Chomsky, Noam, 160 class, 51 Cobol, 75 Commodore 16, 74 Commodore+4, 73 cseveg , 15 o csillaghajzs, 6, 65, 80, 198 csillaghordoz, 6, 15, 64, 80, 133, 198 csomag, 8, 11, 4749, 94, 95, 138, 176 csomagkapcsols, 94 Darwin, Charles, 160 DOS, 74 egr, 182 Einstein, Albert, 159 elemz grnt, 167, 168 o ellentmondsmentes elmlet, 6 email, 7, 13, 20, 27, 39, 61, 81, 89, 125, 136, 152, 183, 194, 195 Euklidsz, 160 extends, 51 fjlrendszer, 74 frgek, 187 fzi, 6, 81, 198 fzis er m , 81, 82 o u sszi, 198 fordtprogram, 69 Fortran, 75 fraktl, 161, 172 Frame, 34, 182, 183 frekvencia, 76 frekvenciamodullt, 168

210

TRGYMUTAT
FWB, 65 Gdel, Kurt, 160 gpi kd, 69 gpi nyelv, 67, 69 Galilei, Galileo, 160 Garbage Collector, 45 Gauss, Karl Friedrich, 160 GC, 45, 46, 54 geometria, 161 GNU, 2 grf, 7 GUI, 165, 178, 180 hacker, 8 hangyrsadalom, 84 helikopter, 125 hordozhatsg, 88, 90 HTML, 7, 95, 101, 105, 106, 177 HTTP, 94, 105 i8086, 71 IBM XT/AT, 74 igazsg, 161 infra, 169 infravrs, 169 Integer, 50 Internet, 2, 5, 79, 28, 30, 32, 44, 46, 47, 49, 71, 75, 89, 93, 119, 147, 198 J2EE, 175 J2ME, 7, 75, 120, 145, 151, 175 J2SE, 7, 75, 120, 145, 165, 175, 176 jtk, 84, 161 Jvcska, 35, 810, 1214, 17, 20, 49, 70, 96, 125, 151, 176, 185, 186, 191194, 215 Jzsef Attila, 20 Java, 7, 9, 14, 3538, 40, 45, 50, 54, 71, 74, 75, 87, 90, 117, 119, 120, 124, 141, 145, 151, 174, 175, 178180, 182, 197 Java Birodalom, 90 Java Kpzeletbeli Gp, 36, 45, 49, 90, 151, 177, 199 javac, 36 javacska.hu, 2

211

Kk Fld, 6, 15, 64, 65, 133, 143, 154 keleti hosszsg, 140 keres robot, 187 o Key, Alan, 32 kizr vagy, 171 kliens, 711, 85, 95, 101, 139, 140, 153, 186, 187, 200 Kolombusz, 154 kosaras, 193 lncreakci, 82 lefagy, 158, 159, 169 LEGO, 15 Lelu Homoe, 64, 65 levelezsi lista, 7, 13, 20, 194 link, 108 Linux, 8, 88 m hangya, 84 u madrcsicsergs, 125 Manchester kdols, 169 Mandelbrot halmaz, 159 Mandelbrot, Benoit, 159 matematikai civilizci, 136 memria, 38, 40, 4547, 49, 54, 61, 69, 101 mentlis abraka, 76, 80, 129132 mestersges hold, 59, 60 mestersges intelligencia, 58, 65 mestersges nyelv, 39, 100 mestersges tudat, 65 MIDI, 7, 125, 191 MIDlet, 35, 70, 148152 MIDP, 5, 8, 9, 11, 151 MIDP2, 151 mikrohullm, 56 modertor, 82 mp3, 61 Nagyatomi Fzis Er m , 28, 77, 81 o u Nap nap, 125127 Neumann Jnos, 160, 201 new, 41, 45, 121, 122 Newton, Isaac, 160

212
ninja, 104 nyilvnos kulcs, 171 objektum, 79, 2427, 3234, 37, 38, 40, 41, 4548, 51, 54, 6062, 71, 121, 146, 148, 151, 174, 178 182, 197 OO, 7, 22, 24, 26, 33, 34, 4446, 54, 60, 61, 75, 151, 174, 178180, 182, 197 osztly, 7, 2427, 3335, 3741, 45, 46, 50, 51, 71, 142, 143, 146, 148 150, 176, 180, 182, 197 Pcs, 81 pkok, 187 Paks, 82 parancsrtelmez , 185 o Pascal, 74, 75 PGP, 172 platformfggetlen, 89 plazma, 83 portl, 2, 5, 14, 36, 39, 86, 96, 159161, 173, 178, 185, 187, 193 prfcia, 132 prmszm, 171 processzor, 67 programoz, 38, 40, 54, 66, 67, 69, 71, 72, 74, 89, 90 Prolog, 70 protokoll, 93, 101 proton-proton reakci, 127 protongoly, 127 protonjelmez, 126 protonmez, 125 protonpr, 126, 127 protonruha, 127 quibit, 88 rdihullm, 168 rdihullmok, 75 rdijel, 56, 170 radioaktv, 82 raptor, 78 referencia, 27, 38, 41, 54, 121

TRGYMUTAT
RobMI, 15, 193 RobIGOR, 15, 138141, 153, 154, 168, 193 RobIGOR-620, 15 ruhagenertor, 79 SETI, 8, 10, 11, 56 sinus, 169, 170 Smalltalk, 32, 75 SQL, 70 String, 3941, 46, 50, 51 szmts, 138, 161 szabadess, 161 szakkr, 72, 138, 147, 171, 172, 193 szemlyi szmtgp, 72 szerver, 7, 9, 95, 96, 101, 144, 153, 175, 176, 186, 200 szimulci, 132, 138 szkafander, 130 szoftver, 89 trid , 160 o t zgomb, 182 u tamagocsi, 161 taps, 125 TCP, 10, 4749, 95, 152, 176 TCP/IP, 7, 94, 152, 176 technikai civilizci, 136 termonukleris, 81, 198 terv, 91 titkos kulcs, 171 titkosts, 171 titkosszolglat, 171 tokamak, 83 trore glike zeuse, 78, 79 trore humane humane, 58 trore humane marse, 165 tudat, 58, 65, 137 Turing gp, 7, 157, 159 Turing, Alan, 157 Tyndee, 128, 129, 132, 133, 143 UML, 7, 34, 50, 148, 197 Unix, 75 urn, 82 URL, 95, 107, 108, 187, 194

TRGYMUTAT
vgtelen, 161 vadszrepl gp, 182 o vezrl program, 91, 138 o vortl, 115 WAP, 8, 11, 94, 111, 113115, 193 web-robot, 7 webpk, 96 webszerver, 7, 46, 176, 185187 WiFi, 75 Wigner Jen , 31, 70 o Windows, 8, 186 WML, 111, 113, 115 Wright vrek, 102 WWW, 7, 96, 100, 101, 187

213

214

TRGYMUTAT

Irodalomjegyzk
[1] A Jvcska vortl, http://www.clib.dote.hu:8081/javacska/b.v, (2004)

Bitmanknak ajnlott linkek


[2] Magyar LEGO R Users Group, http://www.malug.hu/, (2004, magyar nyelv ) u [3] LEGO.com Mindstorms Home, http://mindstorms.lego.com, (2004, angol nyelv ) u [4] SETI@Hungary, http://seti.index.hu, (2004, magyar nyelv ) u

Tanr-Bitmanknak ajnlott linkek


[5] A Jvcska vortl (vertiklis informatikai gyermekportl), http://www.clib.dote. hu/javacska, (2004) [6] Jvcska kapcsolatai, http://www.clib.dote.hu/javacska/linkek/, (2004) [7] A Jvcska fejleszt i lap, http://www.javacska.hu, (2004) o [8] LeJOS, Java for the RCX, http://lejos.sourceforge.net/, (2004) [9] Future of Learning Group ,MIT Media Laboratory, http://learning.media.mit. edu/, (2004) [10] A Java technolgia forrsa, http://java.sun.com, (2004) [11] Nykyn G. Judit, Java 2 tikalauz programozknak. ELTE TTK, Hallgati Alaptvny, (2000) [12] Robert W. Sebesta, Programming Languages. Addison Wesley. (2004) [13] ArgoUML, http://argouml.tigris.org/ [14] Gerard J. Milburn, Feynman Processor. Perseus Books (1998) [15] D. Appleby, PROGRAMMING LANGUAGES: Paradigm and Practice. McGrawHill, Inc. (1991) [16] E. Horowitz, Magasszintu programnyelvek. M szaki Knyvkiad, (1987) u

215

216

IRODALOMJEGYZK

[17] B. W. Kernighan, P. J. Plauger, A programozs magasiskolja. M szaki Knyvkiad, u (1987) [18] B. W. Kernighan, D. M. Ritchie, A C programozsi nyelv. M szaki Knyvkiad, u (1988) [19] Noam Chomsky, Syntactic structures. The Hague - Paris : Mouton. (1969) [20] Neumann Jnos, A szmolgp s az agy. Gondolat, (1964) p. 113 [21] Marx Gyrgy, Atommag kzelben. Mozaik Oktatsi Stdio, (1996) [22] Andrew S. Tanenbaum, Szmtgp-hlzatok. Panem, (2004, msodik, b vtett, to dolgozott kiads) [23] Kurt Gnther, Urnia llatvilg, Rovarok. Gondolat Kiad, (1970) [24] Marco Dorigo, Eric Bonabeau, Guy Theraulaz, Ant algorithms and stigmergy. Future Generation Computer Systems 16 (2000) 851-871. [25] Deborah M. Gordon, The development of organization in ant colony. American Sciencist 83 (1995) 50-58. (s Pappn Czappn Mariann magyar fordtsa kziratban). [26] Jzsef Attila sszes versei. Szzadvg Kiad, (1994) [27] Ian Stewart, A matematika problmi. Akadmiai Kiad, (1991) [28] A vezetk nlkli Java, http://wireless.java.sun.com, (2004) [29] David Reilly, Michael Reilly, Java network programming and distributed computing. Addison-Wesley, (2002) [30] George Coulouris, Jean Dollmiore, Tim Kindberg, Distributed systems. AddisonWesley, (2001) [31] Peller Jzsef, A matematikai ismeretszerzsi folyamatrl. ELTE Etvs Kiad, (2003) [32] Rozgonyi-Borus ferenc, RAM-ba zrt vilg. Mozaik Kiad, (2002) [33] Barabsi Albert-Lszl, Behlzva. Magyar Knyvklub, (2003) [34] SETI@Home, http://setiathome.berkeley.edu/ [35] A Naprendszer bemutatsa, http://www.cab.u-szeged.hu/local/naprendszer/ [36] Simon s Jaquline MITTON, Bevezets a csillagszatba. Gondolat Kiad, (1991) [37] Porkolb Tams, Atomer m vek. (http://www.szulocsatorna.hu/fizika/ o u atom/tartalom/atomero/atomero.htm) [38] Plazmazikai kislexikon. http://www.rmki.kfki.hu/plasma/fuzbev/fuzlex. html
A [39] Wettl Ferenc, LTEX kezd knek s haladknak. Panem Kiad, (1998) o

[40] WAP June 2000 Overview, http://www.forum.nokia.com, (2002)

IRODALOMJEGYZK

217

[41] Az eszperant rvid nyelvtana, http://www.eszperanto.hu/kurs1.htm, (2002) [42] Vg Csaba, Alkalmazsfejleszts az UML szabvnyos jellseivel. Logos 2000, (1999) [43] Soumen Chakrabarti, Mining the web. Morgan Kaufmann Publishers, (2003) [44] Roger Penrose, A csszr j elmje. Akadmiai Kiad, (1993)

You might also like