Mendiz mendi gailurrak ezagutuz

Arrojeria, Eustakio

Elhuyar Zientziaren Komunikazioa

Lizaso, Pili

Informatika Saila

Elhuyar Fundazioa

Programa honen asmoa, zenbait hitz era alaian gogorarazteko tresna bilakatzea litzateke. Mendien izenak dira memorizatu nahi diren hitzak eta Euskal Herriko mendiak izatea da ematen zaien edukia.

Dakigunez, gure hiztegia hedatzeko garaian hitzek garrantzi handia dute; hitzez osatzen bait dira hiztegiak eta hauetaz baliatzen gara besteekin komunikatzeko garaian. Bestalde, eta hau hezitzailearen esku geratzen den zerbait da, hitzak edukiaz hornitu behar dira. Bestela ez dute inolako baliorik; hitz hutsak dira. Badu hezketa-arloak memorizatze-fase bat. Fase honi hertsiki loturik dago programa hau.

Euskal Herriko zenbait mendiren izenaz baliatu gara programa hau burutzerakoan.

Mendien izenak dira memorizatu nahi diren hitzak eta Euskal Herriko mendiak izatea da ematen zaien edukia. Ikus dezakezunez, hau adibide bat besterik ez da eta programa honen egituraz baliaturik zeure programak ere osa ditzakezu. Ibaien, herrien, gai konkretu bati buruzko tresnerien etab.en izenak ikasteko programak egin ditzakezu.

10 REM *** MENDIEN IZENAK OSATU ***
20 DIM FIL(5),MENDIA$(10),LETRAK$(10),LETRAK1$(10)
30 FOR I=1 TO 5 : FIL(I)=0 : NEXT I : J=0
40 KEY OFF:SCREEN 2,0:CLS
50 LOCATE 3,26:PRINT "MENDIEN IZENAK OSATU"
60 LOCATE 4,26:PRINT "===================="
70 LOCATE 7,26:PRINT "1. Arabako mendiak"
80 LOCATE 9,26:PRINT "2. Bizkaiko mendiak"
90 LOCATE 11,26:PRINT "3. Gipuzkoako mendiak"
100 LOCATE 13,26:PRINT "4. Iparraldeko mendiak"
110 LOCATE 15,26:PRINT "5. Nafarroako mendiak"
120 LOCATE 17,26:PRINT "6. Euskal Herriko mendiak nahasian"
130 LOCATE 19,26:PRINT "7. Programaren erabilera amaitu"
140 LOCATE 22,20:PRINT "Nahi duzun aukerari dagokion zenbakia sakatu."
150 AUK$=INKEY$:WHILE AUK$ "1" OR AUK$ "7":AUK$=INKEY$:WEND
160 REM AUKERA
170 IF AUK$="1" THEN MENDIAK=20:RESTORE 1050:GOTO 240
180 IF AUK$="2" THEN MENDIAK=20:RESTORE 1100:GOTO 240
190 IF AUK$="3" THEN MENDIAK=20:RESTORE 1150:GOTO 240
200 IF AUK$="4" THEN MENDIAK=20:RESTORE 1200:GOTO 240
210 IF AUK$="5" THEN MENDIAK=20:RESTORE 1250:GOTO 240
220 IF AUK$="6" THEN MENDIAK=100:RESTORE 1050:GOTO 240
230 IF AUK$="7" THEN 1000
240 REM AMAUKERA
250 CLS
260 RANDOMIZE TIMER
270 ALE=INT(RND*MENDIAK)+1
280 AURKITUA$="F"
290 I=1:WHILE AURKITUA$="F" AND I =J:IF FIL(I)=ALE
THEN AURKITUA$="E" ELSE I=I+1:WEND
300 IF AURKITUA$="E" THEN 270
310 IF J=5 THEN FOR K=2 TO 5:FIL(K–1)=FIL(K):NEXT
K:FIL(5)=ALE:GOTO 330
320 J=J+1 : FIL(J)=ALE
330 FOR I=1 TO ALE : READ IZENA$ : NEXT I
340 FOR I=1 TO LEN(IZENA$)
350 MENDIA$(I)=MID$(IZENA$,I,1) : LETRAK$(I)=MID$
(IZENA$,I,1) 360 NEXT I
370 KOP=LEN(IZENA$) : KONT=0
380 REM BITARTEAN
390 IF KOP=0 THEN 450
400 ALE1=INT(RND*KOP)+1
410 KONT=KONT+1
420 LETRAK1$(KONT)=LETRAK$(ALE1)
430 FOR K=ALE1 TO KOP : LETRAK$(K)=LETRAK$(K+1)
: NEXT K : KOP=KOP–1
440 GOTO 380
450 REM AMBITARTEAN
460 LOCATE 1,31:PRINT "MENDIEN IZENAK OSATU"
470 LOCATE 2,31:PRINT "===================="
480 LOCATE 4,6:PRINT "Ondoko letra hauek mendi baten
izena osatzen dute. Banan-banan mugitu":LOCATE 5,6:PRINT
"beharko dituzu izena osatu arte."
490 X=40 : Y=88
500 FOR I=1 TO LEN(IZENA$)
510 LINE (X+(I–1)*56,Y)–(X+(I–1)*56+39,Y+23),,B
520 LOCATE Y/8+2,(X+(I–1)*56)/8+3:PRINT LETRAK1$(I)
530 LOCATE Y/8+4,(X+(I–1)*56)/8+2:PRINT I
540 NEXT I
550 LOCATE 22,6:PRINT "Zein posiziotako letra mugitu nahi
duzu (0 amaitzeko)?" INPUT " ",ZEN1$
560 IF ZEN1$ "0" OR ZEN1$ CHR$(48+LEN(IZENA$)) THEN
LOCATE 22,6:PRINT SPC(73): GOTO 550
570 ZEN1=VAL(ZEN1$)
580 IF ZEN1=0 THEN 870
590 LOCATE 23,6:INPUT "Nora mugitu nahi duzu? ",ZEN2$
600 IF ZEN2$ "1" OR ZEN2$ CHR$(48+LEN(IZENA$)) OR
ZEN1$=ZEN2$ THEN LOCATE 23,6: PRINT SPC(73):GOTO 590
610 ZEN2=VAL(ZEN2$)
620 FOR I=1 TO 4
630 LOCATE Y/8+I–1,(X+(ZEN1–1)*56)/8–1:PRINT SPC(7)
640 NEXT I
650 LINE (X+(ZEN1–1)*56,Y–32)–(X+(ZEN1–1)*56+39,Y–9),,B
660 LOCATE (Y–32)/8+2,(X+(ZEN1–1)*56)/8+3:PRINT LETRAK1$
(ZEN1)
670 FOR I=1 TO 4
680 LOCATE Y/8+I–1,(X+(ZEN2–1)*56)/8–1:PRINT SPC(7)
690 NEXT I
700 LINE (X+(ZEN2–1)*56,Y+40)–(X+(ZEN2–1)*56+39,Y+63),,B
710 LOCATE (Y+40)/8+2,(X+(ZEN2–1)*56)/8+3:PRINT LETRAK1$(ZEN2)
720 FOR I=8 TO 10 : LOCATE I,5 : PRINT SPC(70) : NEXT I
730 LINE (X+(ZEN2–1)*56,Y–32)–(X+(ZEN2–1)*56+39,Y–9),,B
740 LOCATE (Y–32)/8+2,(X+(ZEN2–1)*56)/8+3:PRINT LETRAK1$(ZEN1)
750 FOR I=17 TO 19 : LOCATE I,5 : PRINT SPC(70) : NEXT I
760 LINE (X+(ZEN1–1)*56,Y+40)–(X+(ZEN1–1)*56+39,Y+63),,B
770 LOCATE (Y+40)/8+2,(X+(ZEN1–1)*56)/8+3:PRINT LETRAK1$(ZEN2)
780 FOR I=8 TO 10 : LOCATE I,5 : PRINT SPC(70) : NEXT I
790 LINE (X+(ZEN2–1)*56,Y)–(X+(ZEN2–1)*56+39,Y+23),,B
800 LOCATE Y/8+2,(X+(ZEN2–1)*56)/8+3:PRINT LETRAK1$(ZEN1)
810 FOR I=17 TO 19 : LOCATE I,5 : PRINT SPC(70) : NEXT I
820 LINE (X+(ZEN1–1)*56,Y)–(X+(ZEN1–1)*56+39,Y+23),,B
830 LOCATE Y/8+2,(X+(ZEN1–1)*56)/8+3:PRINT LETRAK1$(ZEN2)
840 AUX$=LETRAK1$(ZEN1) : LETRAK1$(ZEN1)=LETRAK1$(ZEN2) : LETRAK1$(ZEN2)=AUX$
850 LOCATE 22,6:PRINT SPC(73):LOCATE 23,6:PRINT SPC(73)
860 GOTO 550
870 ASMATUA$="E" : K=1
880 REM BITARTEAN
890 IF ASMATUA$="F" OR K LEN(IZENA$) THEN 920
900 IF MENDIA$(K) LETRAK1$(K) THEN ASMATUA$="F" ELSE K=K+1
910 GOTO 880
920 REM AMBITARTEAN
930 LOCATE 22,6:PRINT SPC(70)
940 IF ASMATUA$="E" THEN LOCATE 22,6:PRINT "ONGI!!!
Asmatu duzu. ";IZENA$; "zen mendiaren izena.":GOTO 960
950 LOCATE 22,6:PRINT "Ez duzu asmatu. ";IZENA$;" zen
mendiaren izena."
960 LOCATE 23,6:PRINT "Aukera honetan jarraitu nahi al duzu (B/E)?"
970 ER$=INKEY$:WHILE ER$ "B" AND ER$ "b" AND ER$ "E"
AND ER$ "e": ER$=INKEY$:WEND
980 FOR I=1 TO 10:MENDIA$(I)="":LETRAK$(I)="":
LETRAK1$(I)="":NEXT I
990 IF ER$="B" OR ER$="b" THEN 160 ELSE 30
1000 END
1010 REM *** AMAIA MENDIEN IZENAK OSATU ***
1020 REM
1030 REM
1040 REM ARABAKO MENDIAK, DATUAK
1050 DATA "OKETA","BERRETIN","ERIBE","ARREIO","OTEROS","AMARITU",
"ARRATO", "EZKIBEL","ARRIETA","BUSTO","ITURRIAGA","ELGEAMENDI",
"ARRAIALDE", "ITURRIETA","ATXURI","OLANO","ALLARTE","ARATZ",
"MALKORRA","GEBARA"
1060 REM AMAIA ARABAKO MENDIAK, DATUAK
1070 REM
1080 REM
1090 REM BIZKAIKO MENDIAK, DATUAK
1100 DATA "BERASKOLA","ERETZA","UNBE","BERRIAGA","UNTZUETA",
"MANDOIA", "JATA","ARTEAGA","BIZKARGI","MUGARRA","ARAMOTZ",
"LARRALDE","GORBEIA", "ANBOTO","LEKANDA","UDALATX","ODERIAGA",
"GOROZTETA","USOTEGIETA", "URZURRI"
1110 REM AMAIA BIZKAIKO MENDIAK, DATUAK
1120 REM
1130 REM
1140 REM GIPUZKOAKO MENDIAK, DATUAK
1150 DATA "ANDUTZ","URKO","KALAMUA","ERLO","PAGOETA","ANDATZA",
"JAIZKIBEL", "ADARRA","UZTURRE","ERNIO","AKETEGI","AIZKORRI","ARBELAITZ", "MURUMENDI","TXINDOKI","GANBO","BALERDI","GAZUME","ALDABA",
"BURUNTZA"
1160 REM AMAIA GIPUZKOAKO MENDIAK, DATUAK
1170 REM
1180 REM
1190 REM IPARRALDEKO MENDIAK, DATUAK
1200 DATA "LARRUN","LIKARLAN","NEGUMENDI","URTZUMU","ARTZAMENDI",
"URTZUIA","BAIGURA","ERETZU","HARRIXURI","ELAUDI","ARGARAI",
"HOSTATEGI", "URDAZBURU","MENDIBELTZ","OKABE","ERROZATE","BEORLEGI",
"LAKURA","SALAGAINA","BIZKARTSU"
1210 REM AMAIA IPARRALDEKO MENDIAK, DATUAK
1220 REM
1230 REM
1240 REM NAFARROAKO MENDIAK, DATUAK
1250 DATA "ASTOBIZKAR","ADIMENDI","BAGOLA","LAKARTXELA","MENDIZAR",
"ABODI", "AUTZA","SAIOA","IZAGA","MURUA","LARRONDOA","ORIMENDI",
"BERIAIN", "MUZKUR","BELOKI","MENDAUR","LAZAR","MALGORRA",
"EZKAURRE","LAKUAGA"
1260 REM AMAIA NAFARROAKO MENDIAK, DATUAK

Programaren egitura

    20 lerroan, matrizeak dimentsionatzen dira.
    40-150 lerroetan, aukera baten barnean bat hautatzen da.
    160-240 lerroetan, aukeraren arabera datu-kopurua (MENDIAK) eta datuen hasiera (RESTORE) finkatzen dira.
    260-320 lerroetan, zenbaki aleatorioa atera eta zenbaki hau filtratzen da (honen azalpen zehatzagorik nahi izanez gero ikus Elhuyar Zientzia eta Teknika aldizkariaren 13. alea).
    330-450 lerroetan, zenbaki aleatorioaren arabera mendiaren izena hartzen eta osatzen duten letrak desordenatzen dira (azalpen zehatzagorik nahi izanez gero ikus Elhuyar Zientzia eta Teknika aldizkariaren 14. alea).
    460-550 lerroetan, galdera egiten da.
    620-850 lerroetan, izenaren bi letra trukatzen dira.
    870-950 lerroetan, osatu duen izena mendiaren izenarekin kontrastatzen da eta erabiltzaileari erantzuten zaio.
    960-990 lerroetan, jarraitzeko edo aukeraz aldatzeko posibilitatea eskaintzen da.
  • 980 lerroan, matrizeak garbitu egiten dira.

Oharrak

    Hemen onartu diren hitzen (mendien izenen) luzera maximoa 10ekoa da.
    Sortu den filtroa 5ekoa da.
    Aukera bakoitzeko, 20 mendiren izenak hartu dira. Euskal Herriko mendiak nahasian aukeran berriz 100, aurrekoen batura.
    Programa egokitu edo aldatu nahi izanez gero, ondoko lerroak hartu beharko dituzu kontutan:
    a) 50-240 lerroak. Aukera-pantaila, hitz-kopurua, datuen hasiera eta aukera-kopurua.
    b) 20 lerroa. Hitzen luzera maximoa eta filtroa.
    c) 30 lerroa. Filtroa garbitu.
    d) 310 lerroa. Filtroa garbitu.
    e) 980 lerroa. Hitzen luzera.
    f) 1040-1260 lerroak. Datuak, hitzak.

ETXEKO ORDENADOREA. TXIRRINDULARIEN BANAKETA (ELHUYAR ZIENTZIA ETA TEKNIKA 14. ALEA) PROGRAMARI OHARRAK:

1. Aurreko alean argitaratutako programari zati bat falta zaio; zozketan parte hartzen dutenen zerrenda sartzeko zatia hain zuzen ere.

510 REM PARTAIDEEN IZENA
520 DATA "1. PARTAI
DEA", "2. PARTAI
DEA", "3. PARTAI
DEA", "4. PARTAI
DEA", "5. PARTAI
DEA"
530 REM AMAIA PARTAIDEEN IZENA

2. Oharrak ataleko 5. puntuan:
Programa egikaritu aurretik sar itzazu 1010 lerroan zozketan ...
dio eta
Programa egikaritu aurretik sar itzazu 520 lerroan zozketan ...
jarri behar zuen. Hots, datuak 520 lerrotik hasi sartzen; 200 lerrotik lerro horretara egiten bait da aipamen.

Oraingoan akats hauek azaldu diren bezala, aurrerantzean besteren batzuk ere ager daitezke. Horrela balitz eta zu horretaz jabetuko bazina, eskertuko genizuke akatsen berri emango bazenigu.

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila