Txirrindularien itzuliak direla eta, askotan aprobetxatzen dugu aukera hori lagun arteko apostuak egiteko.
Partaide bakoitzari txirrindulari batzuk asignatzen zaizkio aleatorioki eta hauek egiten dutenaren arabera irabazten edo galtzen du partaideak.
Hona ondoren apostu posible bat:
Tarteko helmugetako irabazlea duenari, bakoitzak 10 pta. emango dizkio (itzuli osoa bukatzen denean).
Mendi-portuetako irabazlea duenari, bakoitzak 25 pta. emango dizkio (itzuli osoa bukatzen denean).
Ekipo-sailkapeneko irabazlea duenari, bakoitzak 25 pta. emango dizkio (itzuli osoa bukatzen denean).
Honako hau, txirrindulariak zozketatzen lagunduko dizun programa da.
Oharrak:
1.- Aurreko alean aleatorioen errepikaketa-arazoa aztertu genuen. Oraingo honetan zera egin behar dugu: zenbaki-multzo bat (txirrindulariei dagokiona) aleatorioki ordenatu. Beraz, bi baldintza izan behar ditugu kontutan:
2.- Banaketa ahalik eta berdinena egin asmoz, taldetako buruak beste taula batean sartu dira, lehenengo hauek banatuz (110-120 lerroak). Gerta daiteke partaide guztientzat txirrindulari-kopuru berdina ez tokatzea ere. Kasu hauetan partaide desberdinen artean diferentziarik handiena batekoa izan dadin idatzi da programa (210-270 lerroak).
3.- Txirrindulari gutxiagorekin gelditu behar duten partaideak beti berak izan ez daitezen, partaideak ere aleatorioki ordenatzea iruditu zaigu irtenbiderik egokiena (90-100 lerroak).
4.- Programa honetan ez ditugu txirrindularien izenak kontutan hartu; daramatzaten zenbakiak baizik.
5.- Programa egikaritu aurretik sar itzazu 1010 lerroan zozketan parte hartu behar duzuen guztien izenak.
6.- Guk ezarritako mugak hauek dira:
Txirrindulari-kopurua: 200
Ekipo-kopurua: 20
Partaide-kopurua: 20
Muga hauek gainditu nahi izanez gero, nahikoa izango da 20 lerroan matrizeen dimentsioak aldatzea.
10 REM TXIRRINDULARIAK
20 DIM TXIRRIN1(20),TXIRRIN2(200),PARTAIDE(20),
MAT1(200),MAT2(200)
30 KEY OFF : SCREEN 2,0 : CLS
40 LOCATE 3,28:PRINT "TXIRRINDULARIEN BANAKETA":
LOCATE 4,28:PRINT "========================"
50 LOCATE 10,10: INPUT "Zenbat txirrindulari dira guztira";KOP1
60 LOCATE 12,10: INPUT "Zenbat ekipo dira";EKI
70 LOCATE 14,10: INPUT "Zenbat lagunek hartu behar
duzue parte zozketan";KOP2
80 K=0 : KK=0
90 KOP=KOP2 : GOSUB 330 : REM ORDENATU EGIKARITU
100 FOR II=1 TO KOP2 : PARTAIDE(II)=MAT2(II)+1 : NEXT II
110 KOP=EKI : GOSUB 330 : REM ORDENATU EGIKARITU
120 FOR II=1 TO EKI : TXIRRIN1(II)=MAT2(II)*10+1 : NEXT II
130 KOP=KOP1 : GOSUB 330 : REM ORDENATU EGIKARITU
140 FOR II=1 TO KOP1
150 IF (MAT2(II)+1) MOD 10 1 THEN TXIRRIN2(JJ)=
MAT2(II)+1 : JJ=JJ+1
160 NEXT II
170 CLS
180 BURU=INT(EKI/KOP2) : SOBRA=EKI-(KOP2*BURU) :
BESTEAK=INT((KOP1-EKI)/KOP2)
: MINI=INT (KOP1/KOP2) : SOBRA1=KOP1-(MINI*KOP2)
190 FOR II=1 TO KOP2
200 RESTORE 520
210 FOR JJ=1 TO PARTAIDE(II) : READ PART$ : NEXT JJ
220 PRINT : PRINT PART$
230 IF II = SOBRA THEN BURU1=BURU+1 ELSE BURU1=BURU
240 IF II = SOBRA1 THEN MINI1=MINI+1 ELSE MINI1=MINI
250 HARTU = MINI1-BURU1
260 FOR JJ=1 TO BURU1 : K=K+1 : PRINT TXIRRIN1(K); : NEXT JJ
270 FOR JJ=1 TO HARTU : KK=KK+1 : PRINT
TXIRRIN2(KK); : NEXT JJ
280 NEXT II
290 END
300 REM AMAIA TXIRRINDULARIAK
310 REM
320 REM
330 REM ORDENATU EKINTZA
340 J=0
350 RANDOMIZE TIMER
360 FOR II=1 TO KOP : MAT1(II)=II-1 : NEXT II : II=KOP
370 REM BITARTEAN
380 IF II=0 THEN 460
390 C = INT (RND * KOP) + 1
400 J = J + 1
410 MAT2(J) = MAT1(C)
420 FOR JJ=C TO KOP-1 : MAT1(JJ) = MAT1(JJ+1) : NEXT JJ
430 II = II - 1
440 KOP = KOP - 1
450 GOTO 370
460 REM AMBITARTEAN
470 RETURN
480 REM AMAIA ORDENATU EKINTZA
490 REM
500 REM
510 REM PARTAIDEEN IZENAK
520 DATA "1.PARTAIDEA","2.PARTAIDEA","3.PARTAIDEA",
"4.PARTAIDEA","5.PARTAIDEA","6.PARTAIDEA","7.PARTAIDEA",
"8.PARTAIDEA","9.PARTAIDEA","10.PARTAIDEA"
530 REM AMAIA PARTAIDEEN IZENAK