Békés Megyei Hírlap, 1993. június (48. évfolyam, 125-150. szám)

1993-06-02 / 126. szám

Előszó gyanánt! Sokatmondó cím, de vajon mit takarhat?! Páran úgy gondoltuk, hogy az ország ezen sarka sem maradhat meg sokáig sötétségben, már ami a számítástechnikát illeti. Ezért úgy döntöttünk, hogy megpróbálkozunk egy számítástechnikai újság létrehozásával, amely a megye embereinek érdeklődési körével kapcsolatos. Tekintve azonban egy újság előállítási költségeit keresnünk kellett egy partnert, aki a működő újságjában egy kis helyet szentel ennek a témának. A keresgélés végeredményét a kezükben tarthatják tisztelt olvasóink. Reméljük megnyeri tetszésüket szerény kis mellékletünk és állandó olvasói lesznek a lapnak. Kérjük Önöket, hogy írják meg véleményüket, problémáikat szerkesztőségünk címére: OKT-OPUS Bt. „Tiszta forrás” 5600 Békéscsaba, Derkovits sor 2. Tisztelettel: a Szerkesztőség » A számítástechnika nem boszorkányság! ,,Azokat az információhordozó anyagokat és eszközöket, ame­lyek erőteljesen formálják gondolkodásmódunkat, a lehető leg­korábban meg kell ismertetni a gyermekekkel. ” Alan C. Kay Számítástechnika — informatika — kommunikáció Egy kis Pascal! Az elmúlt évben az OKT-OPUS programozási versenyére beér­kezett programok közül közlünk egyet. Az egyik feladat a jól ismert 4x4-es tili-toli játék számítógépes megvalósítása volt. A számos érdekes megoldás közül most egy olyat mutatunk meg, amelyik egyszerű kezelhetőségével és mégis pontos megoldásá­val tűnt ki. A program készítője Argyelán Nándor, a Széchenyi István közgazdasági szakközépiskola tanulója, aki később a verseny döntőjében a második díjat nyerte el. A szerző által választott programozási nyelv a Turbo Pascal 6.0, a forrásnyelvű szöveg jól tagolt, bár megjegyzéseket nem­igen tartalmaz. Ennek ellenére kommentár nélkül tesszük közzé, mert így is tanulságos és sok szép megoldást fedezhet fel benne az erre fogékony olvasó. Ha olvasóink közül van olyan, aki az általa írt programot szívesen közreadná, esetleg néhány megjegyzéssel együtt mi megjelentetjük. Várjuk véleményüket az itt közölt programmal kapcsolatban is. Nagy Attila Az első használható számító­gépek bátortalan színrelépése óta már mintegy 50 év telt el. Ez idő alatt tömérdek kijelen­tés, találgatás és jóslat látott napvilágot a számítógépek el­jövendő világáról. A számító­gépek olyan hatalmas fejlő­désnek indultak, és ma már a költségeket tekintve olyan ha­tékonyak, hogy gyakorlatilag mindenütt és minden szerep­körben megtalálhatók, s a ró­luk alkotott sztereotípiák szer­tefoszlottak. A munkahelye­ken, az iskolákban és az ottho­nokban körülbelül harminc- millió személyi számítógép (PC—Personal Computer) se­A számítógép szerepében vég­bement változások külön- külön hullámokban („paradig­maváltás”) jelentkeztek (2. számú táblázat). Az eredendő számítógépes paradigma a ’40-es években született meg: akkor tűnt fel a programozható számológép, mint a tervezés gíti az ember munkáját több ezer programcsomag-változat közreműködésével. A mezőgazdaság kora az ekékre és az ekéket húzó álla­potokra épült, az iparosodás kora a gépekre és a gépeket hajtó üzemanyagokra, az in­formatika kora a számítógé­pek és a számítógépeket egy­mással összekötő hálózatokra épült. Az informatika korának azonban árnyoldalai is van­nak: elmélyíti a szakadékot a szegények és a gazdagok kö­zött (az információfeldolgo­zás a ^szegényebb országok számára csekélyebb értékek­eszköze, az ’50-es években pe­dig már kereskedelmi forga­lomba is került. Az első váltás a ’60-as évek körül követke­zett be: a nagyvállalatok a szá­mítógépet adatfeldolgozó készülékként kezdték alkal­mazni. A második váltásra a ’70-es években került sor, kel bír; a gazdagabb nemze­teknek viszont arra kell vi­gyázniuk, nehogy elvakítsa őket az informatika kora, ne­hogy közben elhanyagolják az elsődleges emberi szükségle­teket — élelem, egészség, em­beri kapcsolatok —, mert ezáltal könnyen rájuk dőlhet az információs kolosszus), eláraszthat bennünket az in­formációs „bóvli”, amely általában önző érdeket szol­gál. A számítógépes kommuni­kációs rendszer, mint elvi struktúra egy hierarchiát jelent (1. számú táblázat). Lentről felfelé haladva az egyes szin­teket fizikai, kapcsolati, háló­zati, átviteli, egyeztető, meg­jelenítési és alkalmazási szin­teknek nevezhetjük. Az összes szintet átfogja az alkalmazási szint, mert az alkalmazás a szervezés minden mozzanatát áthatja, a legalacsonyabbtól a legmagasabb szintig. amikor lehetőség nyílott rá, hogy számítógépes szolgáltatá­sok bevezetésre kerülhessenek. A ’80-as években következett be a harmadik korszakváltás: a számítógép ekkor már „bárki” asztalán ott állhatott. A negye­dik változásnak éppen napja­inkban lehetünk tanúi. Program Kirakó; Uses Crt, Graph; Const MenuT : Array[1..4] of String = ( 'Kever', ’ Játék', 'Automata', 'Kilépés' ) ; Keveres = 50; Var Lépés : Array [1. .1000]„ of Byte; LepM : Word; I, J: Integer; Gd,Gm : Integer; Tabla : Array [1..4,1..4] of Byte; X, Y : Byte; M : Integer; P : Pointer; Procedure ToltTabla; Begin For J:=l To 4 Do For I:=1 To 4 Do Tabla[I,J]: = (J-l)*4+1 ; Tabla[4,4]:=0; End; Procedure Kitabla; Var S : String; Begin SetTextJustify(0,2); SetFillStyle(1,0); Bar(100,100,300,300); SetColor(15); For I : =1 to 5 Do Begin Line(1*50+50,100,1*50+50,300); Line(100,1*50+50,300,1*50+50); End; SetTextStyle(1,0,4); SetFillStyle(1,Green); SetColor(Yellow); For J:=l To 4 Do For I:=1 To 4 Do If Tabla [I, J] >0 Then Begin Str(Tabla[I,J]:2,S) ; FloodFill(1*50+57, J*50+55,15) ; OutTextXY(1*50+57, J*50+55,S); End; End; Procedure Help(S:String;M,N: Byte); Begin SetFillStyle(1,Red); Bar(0,400,640,480); SettextStyle(M,0,N); SetTextJustify(1,1); SetColor(Black); OutTextXY(320, 440, S) ; End; Procedure Kiemel (I : Integer) ; Begin SetFillStyle(1,15); Bar (410,105+1*30,490,115+1*30); SetColor(0) ; OutTextXY(450,110+I*30,MenuT[I]) ; End; Procedure Visszaal (I : integer) ; Begin SetFillStyle(1,Red); Bar(410,105+1*30,490,115+1*30); SetColor(Yellow); OutTextXY(450,110+1*30,MenuT[I]); End; Function Menu:Integer; Var C:Char; Begin Help('Válassza ki a megfelelő menüpontot a Fel/Le gombokkal, majd nyomjon ENTER-1 .',2,5); SetTextStyle(0,0,1); SetFillStyle(1,red); Bar(400,100,500,250); SetTextJustify(1,1); SetColor(Yellow); OutTextXY(450,110,'Menü'); For I :=1 To 4 Do OutTextXY(450,110+I*30,MenuT[I]); I : =1 ; Repeat Kiemel(I); C:=Readkey; Visszaal(I); If C=#0 Then Begin C:=Readkey; If (C=#80) And (I<4) Then Inc(I) Else If (C=#72) And (I>1) Then Dec(I) End Until C In [#13,#27,' ']; Menu :=1; End; Procedure Keres (Var X, Y : Byte) ; Begin Y:=0; Repeat X:=0; Inc(Y); Repeat Inc(X); Until (Tabla[X,Y]=0) Or (X=4); . Until Tabla[X, Y] =0; End; Function Vizsgd : Integer): Boolean; Begin Keres(X,Y); Vizsg:=True; Case I Of 0 : If Y=1 Then Vizsg:=False; 1 : If Y=4 Then Vizsg:=false; 2 : If X=4 Then Vizsg:=False; 3 : If X=1 Then Vizsg:=False; End; End; Procedure Torol (X, Y : Byte) ; Begin Inc(X); Inc(Y); * SetFillStyle(1,0); Bar(X*50+49,Y*50+49,X*50+l,Y*50+l); End; Procedure Kiir(X,Y : Byte); Var S: String; Begin Inc(X); Inc(Y); SetTextJustify(0,2); SetTextStyle(1,0,4); SetFillStyle(1,Green); SetColor(Yellow); . Bar(X*50+4 9,Y*50+49,X*50+l,Y*50+l); Str(Tabla[X-l,Y-l]:2,S) ; OutTextXY((X-l)*50+57,(Y- 1)*50+55,S); End; Procedure Fel; Begin Inc(LepM); Lépés[LepM]:=0; Keres(X,Y); Tabla[X,Y]:=Tabla[X,Y-l]; Tabla[X,Y-l]:=0; Torol(X,Y-l); End; Procedure Le; Begin Inc(LepM); Lépés[LepM]:=1; Keres(X,Y); Tabla[X,Y]:=Tabla[X,Y+l]; Tabla[X,Y+l]:=0; Torol(X,Y+l); End; Procedure Jobb; Begin Inc(LepM); Lépés[LepM]:=2; Keres(X,Y); Tabla[X,Y]:=Tabla[X+l,Y]; Tabla[X+l,Y]:=0; Torol(X+l,Y); End; Procedure Bal; Begin Inc(LepM); Lepes[LepM]:=3; •Keres(X,Y); Tabla[X, Y]:=Tabla[X-l,Y]; Tabla[X-l,Y]:=0; Torol(X-l,Y); End; Procedure LepesV( J: Integer) ; Begin Case J Of 0 : Fel; 1 : Le; 2 : Jobb; 3 : Bal; End; Kiir(X,Y) End; Procedure LepesV2 (J: Integer) ; Begin Case J Of 1 : Fel; 0 : Le; 3 : Jobb; 2 : Bad- End; Kiir(X,Y); End; Procedure Kever; Var I: Integer; C: Char; Begin ToltTabla; LepM:=0; Help( 'Nyomjon egy gombot ha eléggé megkevertem. ',1,3); Repeat Repeat Repeat J:=Random(4); Until ((J=0) And (Lepes[LepM]<>1)) Or ((J=l) And (Lepes[LepM]<>0)) Or ( ( J=2) And (Lepes[LepM]<>3)) Or ((J=3) And (Lepes[LepM]<>2)); Until Vizsg(J); LepesV(J); Until ((LepM>Keveres) And KeyPressed) Or (LepM=800); . If KeyPressed Then C:=Readkey; End; Procedure Jatek; Var C: Char; H: Boolean; Begin Help ( 'A mezőket a nyilakkal tudja mozgatni. Ha a vissza akar térni a menübe akkor nyomjon ENTER-t.',2,4); Repeat Repeat C:=Readkey; Until C in [#13,#27,#32, #0] ; If C=#0 Then Begin C:=Readkey; Case C of #80 : Î : =0; #72 : I :=1; #75 : I : =2; #77 : I:=3; End; IfVizsg(I) Then LepesV (Id- End; H:=True; For J:=l To 4 Do For I : =1 To 4 Do If (Tabla[I,J]=(J-l)*4+1) Or ( (Tabla[I, J]=0) And ( (J- 1)*4+1=16)) Then Else H:=False; Until (C in [#13,#27,#32]) Or (H=True); If H=True Then Begin Help ('Gratulálok sikerült kiraknod.',1,4); C:=Readkey; LepM:=0; End; End; Procedure Automata; Var C: Char; J: Integer; Begin If LepM>1000 Then Begin Help( 'A kirakás nem lehetséges !',1,4) ; C:=Readkey; End Else Begin Help ( 'Nyomj meg egy gombot, ha vissza akarsz térni a menübe.',1,2); If LepM>0 Then Begin Repeat LepesV2(Lepes[LepM]); Delay(200); Dec(LepM,2); Until KeyPressed or (LepM=0); If KeyPressed Then C:=Readkey; End; End; End; Begin Gd:=Detect; InitGraph(Gd,Gm,'C:\TP\BGI' ) ; LepM:=0; SetFillStyle(l,LightGray); Bar(l,1,128,80) ; SetColor(White); Line(127,0,0,0) ; Line(0,0,0,79) ; SetColor(Brown); Line(127,0,127,79); Line(127,79,0,79); SetTextStyle(1,0,4); OutTextXY(15,20,'Kirakó'); GetMem(P,ImageSize(0,0,127,79)); GetImage(0,0,127,79,PA); For I : =0 To 6 Do For J:=0 To 8 Do Putimage(128*1,80*J,PA,NormalPut); ToltTabla; KiTabla; Repeat M:=Menu; Case M Of 1 : Kever; 2 : Jatek; 3 : Automata; End; Until M=4; End. 2. számú táblázat A számítástechnika négy paradigmája Tételes adatfeldolgozás Osztott idejű üzemmód Asztali Hálózat évtized ’60-as évek ’70-es évek ’80-as évek ’90-es évek technológia közepes szintű integráció magas szintű integráció igen magas szintű integráció rendkívül magas szintű integráció hely számítógépterem terminálszoba íróasztal mozgatható felhasználó szakértő szakember bárki csoportok helyzete alárendeltség függőség függetlenség teljes szabadság adatok alfanumerikus szöveg, vektor fontok, gráfok írás, szó cél számítás elérhetőség megjelenítés kommunikáció művelet eljárás szerkesztés megjelenítés irányítás kapcsolat perifériák terminálok asztali gép tenyérben hordozható alkalmazás alkalmazott standard általános kész feladatok programnyelvek Cobol, Fortran PL/1, Basic Pascal, C célorientált (Folytatás a 9, oldalon) 1. számú táblázat A számítógépes kommunikáció szintjei alkalmazási részletes információ a kicserélendő adatokról megjelenítési szabályok az adatok megjelenítésére egyeztető a programok közötti kapcsolatok kezelése átviteli az adat- és programcsomagok leszállítása (bizalmas vagy egyéb formában) hálózati az egyes adatcsomagok formátuma kapcsolati a közvetítő eszközhöz való csatlakozás és annak ellenőrzése fizikai közvetítő eszköz (elektronikus, optikai vagy egyéb)

Next

/
Thumbnails
Contents