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. 
- 980 lerroan, matrizeak garbitu egiten 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.
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. 
 2. Oharrak ataleko 5. puntuan:  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. | 
Arrojeria, Eustakio
Elhuyar Zientziaren Komunikazioa
Lizaso, Pili
Informatika Saila
 
         
                     
                   
    
    
    
            






