Új Ifjúság, 1987 (35. évfolyam, 1-52. szám)
1987-04-22 / 16. szám
új ifjúság 10 H «? K U n - (jt. •»««IC «WA . tu»«*, •ft u U «ft. «ff «ff M „ W* Hi'Hlf WW« .••um» miit in» un .m m m m Mi ftf Hmm# «inM«ft lttMwft »tuni*»# íí 5 »"íínrt *"*«,u* >» — — w ,t tt » jut rrffttfp — w»f|— illírt* «uutH « «m» • tuwttJtfnuu« «wuywsvy» fi ÍS««****. «taitiuL «» « n **_ «K !<• “ #», isnr s £ •" é# Jut UU te# IW tu tu a fyuvil^ Oll IC at. at'. M M u. S ’“ *"W JWti«* HMmeaüä JitltuM ttmf £ WHMi mw** »MUWtiHH» XVI. rész A következő program egy kört rajzói a képernyőre: 10 SCALE —1.2,1.2,—1.2,1.2 20 AXES 0,0 30 MOVE 1.0 40 FOR A =0 TO 6.28 STEP 0.1 50 PLOT COS(A),SIN(A) 60 NEXT A 70 PLOT COS(A),SIN(A) Ha tigy látlátok, hogy a program által rajzolt kör Inkább egy ellipszishez hasonlít, tettesen Igazatok Van. Ennek az az oka, hogy a képernyőn az X tengely mentén 256, az Y tengely mentén pedig csak 243 pont van. Tehát akkor kaptok arányos kört, ha a SCALE utasításban megadott Intervallumok hosszának az aránya 256:243 lesz. Tehát a 10-es utasítást a következőre kell cserélni: 10 SCALE —1.2,1.2,—1.2*256/243,l.*256/243 Ha a függvények grafikonját ábrázoljuk, ez az aránytalanság nem zavaró, de ha körökből, négyzetekből, téglalapokból alkotott ábrákat akarunk rajzolni, ügyelni kell az intervallumok hosszának arányára. Áz eddig tárgyalt fejezet folytatásaként a Sinclair ZX Spectrum grafikáját ismertetjük. Az első nagy eltérés a két gép között az, hogy amíg a PMD-nek csak fekete-fehér grafikája van, a ZX Spec- trumnak 8 színű megjelenítése van. A ZX Spectrum képernyője szintén két üzemmódban működik: text, illetve grafikus üzemmódban, de itt mind a két üzemmódban egyforma méretű a képernyő. A képernyő 24 sorból áll. Az alsó két sor az űn. dialógus sor, ide kerülnek az input adatok és a rendszer hibajelzései. Ezt a két sort a közönséges PRINT utasítással és a grafikus utasításokkal nem lehet elérni. A felső 22 sor szolgál a megjelenítésre és a grafikára. Minden sorban 32 karaktermező van. Egy karaktermező 8X8 képpontból áll. Ennek megfelelően a képernyő felső része 176 (= 22X8) pontsorból és 256 (=32X8) oszlopból áll. Tehát a ZX Spectrumnak függőlegesen kevesebb képpontja van, mint a PMD- nek. A ZX Spectrumnak pont-grafikus utasításai a következők: PLOT, DRAW, CIRCLE. Itt nincs a PMD-85? SCALE utasításához hasonló utasítás. A felsorolt grafikus utasításokban a képernyőpontokat mindig a <0,255> X <0,175> intervallumban kell címezni, ellenkező esetben a program hibajelzéssel leáll. Ha a megjelenítendő pontok koordinátai nem ebből az intervallumból vannak, akkor a koordináták transzformációját saját magunknak kell elvégezni. A [0,0] koordinátájú pont a bal alsó sarokban van. A PLOT utasítással egy pontot rajzolhatunk a képernyőre. Az utasítás alakja a következő: PLOT <x>’, rcy>j ahol az <x> kifejezés adja meg a kirajzolandó pont X koordinátáját, az <y»i kifejezés pedig az Y koordinátáját. Az utasítás az aktuális rajzolási pozíciót az [<x>, <y>] koordinátájú pontba helyezi át. (A RUN, CLS, CLEAR, NEW utasítások az aktuális rajzolási pozíciót a [0,0] koordinátájú pontba helyezik.) A következő utasítás a DRAW, amelynek az alakja: DRAW <x>, <y>', <a>: A harmadik paraméter nem kötelező, ha hiányzik, az értéke nulla. Legyen az aktuális rajzolási pozíció koordinátája [X, Y], Ha az <a> kifejezés értéke nulla, a DRAW utasítás egy szakaszt rajzol az [X, Y] és [X + <x>, Y + <y>] pontok közé. Ha az <a>' kifejezés értéke nem nulla, akkor a DRAW utasítás körívvel köti össze az [X, Y] és [X + <x>, Y + <y> ] pontokat. Az <a> kifejezés a körívhez tartozó középponti szög nagyságát adja meg radiánokban. Ezt a következő példán figyelhetjük meg: 10 PLOT 88,48 20 DRAW 80,80 30 PAUSE 30: CLS 40 PLOT 88,48 50 DRAW 80,80 PI 60 PAUSE 30: CLS 70 PLOT 88,48 80 DRAW 80,80,— PI A DRAW utasítás az aktuális rajzolási pozíciót az [X + <x>, Y +<y>] pontba helyezi* át. A harmadik grafikus utasítás a CIRCLE, alakja a következő: CIRCLE <x>, <y>, <r> Ez az utasítás egy kört rajzol a képernyőre, amelynek a középpontját az <x>, <y> kifejezések, a sugarat pedig az <r> kifejezés értéke adja meg. A kirajzolandó pontok megjelenítését az ún. videoattributumokkal befolyásolhatjuk. Videoattributumnak nevezzük az egyes megjelenítési tulajdonságokat, pl.: szín, fényerő, villogtatás stb. Ebben az egyes 8X8 pontból álló karaktermezőknek fontos szerepük van, mivel a videoattribútumok egy adott karalc- termezőn belül mind a 64 pontra közösek. A képernyő tehát 24X32 mezőre van felosztva, és minden egyes ilyen mezőnek lehet különböző attribútuma. A ZX Spectrum a következő videoattri- bútumokkal dolgozik: papír szín — a háttérpontok színe tinta szín — a kinyomtatott pontok színe fényerő — két különböző fényerő lehetséges villogás — a papír szín és a tinta szín váltogatása Nyolc különböző színnel dolgozhatunk. Minden színnek kódja van, mely egy egész szám a <0,7> intervallumból: 0 — fekete 1 — kék 2 — piros 3 — lila 4 — zöld 5 — világoskék 8 — sárga 7 — fehér Ha a fekete-fehér tv-készülékünk va az egyes színek a szürke különböző árnyalatának felelnek meg. A papír színét a PAPER utasítással állíthatjuk be. Az utasítás szerepelhet önállóan vagy a PRINT, INPUT, PLOT, DRAW, CIRCLE utasítások paramétereként. Ha paraméterként szerepel, akkor a többi paramétertől pontosvesszővel kell elválasztani. Az utasítás alakja a következő: PAPER <s> ahol az <s> kifejezés értéke a <0,9»! intervallumból lehet. A 0...7 értékek az egyes színeknek felelnek meg. A 8-as érték azt jelenti, hogy a régi szín fnarad érvényben. Ezt akkor lehet felhasználni, ha pl. egy PRINT utasításon belül a képernyő egyik részében meg akarjuk változtatni a papírszínt, a másik részében viszont a régi papírszínt akarjuk megtartani. A 9-es érték azt jelenti, hogy a papír színe tinta színével kontrasztos lesz, azaz fehér, ha a tinta színe sötét (fekete, kék, piros vagy lila), és fekete lesz, ha a tinta színe világos (zöld, világoskék, sárga vagy fehér). Ha az utasítás önállóan szerepel, akkor az általa beállított papírszín érvényes az összes (a végrehajtásban) utána következő utasításokra. Ha az utasítás egy PRINT, INPUT, PLOT, DRAW, CIRCLE utasítás paramétereként szerepel, akkor a hatása csak az adott utasításban kinyomtatott szövegre vagy kirajzolt pontokra érvényes. Például a 10 PAPER 6: CLS hatására a képernyő sárga lesz, és minden további utasítás sárga alapra nyomtat vagy rajzol. Figyeljétek meg a következő utasítások hatását: 10 PRINT PAPER 6; “SÁRGA ALAP“; PAPER 8: “EREDETI“; PAPER 5: “VILÁGOSKÉK ALAP“ 20 PRINT “FEHÉR ALAP“ A tinta (a kinyomtatott pontok) színét az INK utasítással állíthatjuk be. Az INK utasítás a PAPER utasítással rokon. Érvényes rá mindaz, amit a PAPER utasításnál elmondtunk. A villogtatást a FLASH utasítással lehet vezérelni. A FLASH hasonlóan a PAPER és az INK utasításokhoz, szerepelhet önállóan és paraméterként is. Az alakja a következő: FLASH <k> ahol a <k> egy kifejezés, amelynek az értéke 0, 1 vagy 8 lehet. A 0 a villogtatás kikapcsolását, az 1 a villogtatás bekapcsolását jelenti. A 8-as érték az adott karaktermező villogtatás! attribútumát változatlanul hagyja. A megjelenítés fényerejét a BRIGHT utasítással lehet állítani. Az utasítás alakja a következő: BRIGHT <k> A <k> kifejezés értéke szintén 0, 1 vagy 8 lehet. A 0 a normál fényerő, az 1 a nagy fényerő, a 8 az eredeti fényerő. Szintén szerepelhet önállóan vagy paraméterként. Egy adott karaktermező attribútumát az ATTR függvény segítségével kérdezhetjük le. A függvény alakja a következő: ATTR (<sorszám», < oszlopszám») A <sorszám» kifejezés értéke a <0,23»' intervallumból lehet, a karakterpozíció sorszámát jelenti. Az oszlopszám kifejezés értéke a <0,31> intervallumból lehet, a karakterpozíció oszlopszámát jelenti. Tehát a bal felső sarokban lévő pozíció attribútumát az ATTR (0,0), a jobb alsó sarokban levőét az ATTR (23,31) függvényhívással kérdezhetjük le. Az egy karakterpozícióhoz tartozó attribútumok egy bájton vannak tárolva, tehát az ATTR függvény értéke mindig a <0,255» intervallumból van. Az adott bájtban az attribútumok a következőképpen vannak tárolva: <tinta szín kód» + 8 X <papír szín kód»: + 64 X <fényerő» + 128 X <villogás>: Sárga papírszín, kék tintaszín, nagy fényerő, kikapcsolt villogás esetén a következő az attribútum értéke: 1 + 8X6 + 04X1+128X0 = 113 Kálosi Ákos TUDTA ELŐRE — Ma nem fogtam semmit — panaszkodik a feleségének a horgász férj. A feleség válaszát megtaláljátok a rejtvényben. VÍZSZINTES: 1. Melegebb égtájakon termő, húsos, sok apró magvú gyümölcs. 4. A feleség válaszának első része. 11. Engedély röviden. 12. No- bel-díjas angol költő (Thomas 1888—1965). 13. A munka díja. 14. Használja a puskáját. 15. Hamburg előyárosába való. 17. Kettőzve: ... légy, az álomkór okozóját terjesztő, afrikai légy. 18. „A“ költemény. 19. Egyforma római számok. 21. Rácsos bútordarab* amelyben a kisgyermek járni tanul. 23. Ma már a legtöbb üzlet ilyen. 24. ..., zúzni, tönkretenni valamit. 25. A múlt idő jele. 26. Híres cseh festő, a nemzeti festészet nagy alakja (Mikolás 1852—1913). 27. Ad acta. 28. Svájci folyó. 30. össze-vissza sóz! 31. Tiszteletbeli röviden. 33. Az Atlanti-óceánon és Észak-Amerikában pusztító forgószél, ciklon. 36. Egyformák. 37. Vakond igéje lehet, de egy romániai kis folyó neve is, amely a Tiszába siet. 39. Reuma régiesen. 40. Gizi egynemű betűi. 42. Az amerikai Öt-tavak egyike. 44. Szovjet repülőgéptípus. 45. Arcra adott csők. 47. Angol kémikus és fizikus, a modern kémia egyik úttörője (John 1765—1844). 49. Rézsűt. 50. Tas betűi keverve. 51. Magas hegyek madarai. 52. 3,14. 54. A mai rómaiak előtt a mai Toscana területén uralkodó, nagy műveltségű ókori nép. 56. A tórium vegyjele. 57. Az első nő. 59. Tanít. 60. Jókai és Mikszáth is ez volt. 61. Mongol uralkodói cím. FÜGGŐLEGES: 1. A feleség válaszának második része. 2. Fiatal nőstény szarvas. 3. Egyformák. 4. A magyarországi nőnevelés úttörője (Blanka 1806 —62). 5. Valamely polgári vagy politikai irányzat szélsőséges híve. 6. Kalács jelzője lehet. 7. Tengeri halfajta. 8. Restell (éh.). 9. Hűséges állat. 10. Faipari áru. 15. Tömegközlekedési eszköz névelővel. 16 ........berek, nádak erek. 18. Abba az irányba. 20. Francia zeneszerző és hegedűművész (Edouard 1823—1892). 22. Á. Ű. 23. Félrevezet, becsap. 23a. A tévé rendszeres esti adása. 25. Okul valamiből. 28. Régi orosz hosszmérték. 29. Kedd közepe! 32. Süveg alakú hajszárító. 34. Az oxigén és a szén vegyjele. 35. A türk népek nyugati ágához tartozó népek gyűjtőneve. 38. Bolgár hegység. 41. Csomagolóeszköz. 43. Fogyasztotta. 45. Tisztító, fényesítő kenőcs. 46. Zóna egynemű betűi. 48. Ló- biztató eszköz. 49. Reped. 51. Balkezes féf.). 53. Víz betűi keverve. 55. Rokica páratlan betűi. 56. Trombitahang. 58. Atmoszféra röviden. 60. Igevégződés. Beküldendő a vízszintes 4. és a függőleges 1. számú sorok megfejtése. A 14. szám rejtvényének helyes megfejtése: A szabadság tüzét / keletről hozták, / a dolgozóké / legyen az ország. Könyvet nyert Vida Zoltán, Dvory nad Zitavou