Bertsoak ikasten

Programaren muina bi matrizetan datza. a $ () eta z $ (). Jakingo duzu matrizeak dimentsionatu egin behar direla.

Programaren muina bi matrizetan datza. a $ () eta z $ ()

a $ ( )-k jatorrizko testua jasotzen du.
z $ ( )-k gonbaratzeko sartzen den beste testua.

Jakingo duzu matrizeak dimentsionatu egin behar direla. Hemen 2 dimentsiotakoak erabili ditut 30 eta 40 lerroetan. Bertan azaltzen den 15 zenbakiak aldagai bakoitzaren karaktere-kopurua mugatzen du. Bestela esanda, aldagaiek gehienez 15 karaktere jasoko dituzte hitzetatik, beraz luzeagoak badira moztuta gordeko dira memorian. (15aren ordez beste zenbaki bat jar dezakezu).

Oraingoan matrizeak lantzeko programa bat azaldu nahi dut.

Programak hauxe egiten du: lehenengo testua eskatu, memorian gorde eta ondoren testua bera teklatutik sartzerakoan jatorrizkoarekin gonbaratu, erroreak daudenean adieraziz.

Hiru zati nagusi ditu programak:

Lehenengoa 80-tik 170-era bitartekoa. Jatorrizko testua gordetzeko da, bertan space-ri sakatzen badiozu ez du hau onartuko (100 instrukzio-lerroa). Gainera idazten ari zaren lerrotik hurrengora pasa nahi baduzu, soberan geldituko liratekeen aldagaiak ezeztatu egiten ditu. (120-140).

Bigarrena (1000-1050 bitartekoa). Jatorrizko testua gorde ondoren pantailan era txukunean azaltzeko da; 1030 instrukzio-lerroa batez ere. Honek, idatzi behar duen aldagaiaren letrak zenbatzen ditu eta benetazko neurritara mugatzen du; gogoan izan behar bait dugu aldagai bakoitzak 15 karaktere-leku dituela eta "hura" hitza jartzen bada aldagaiak "hura

Hirugarrena 200-360 bitartekoa. ezabatu ondoren jatorrizko berdina hitzez-hitz sartzeko du; oker sartzen baduzu, Pantaila testuaren eskatzen jatorrizkoarekin gonbaratuz gero, horixe adieraziko dizu, hitza berriz sartzeko eskatuz. 250 instrukzio-lerroa oso garrantzitsua da programak ondo korri dezan. Honek zera egiten du: jatorrizko matrizean aldagairen bat ezeztaturik baldin badago, z $ ( )-i zegokiona ere ezeztatu egiten du.

Adibidea:

Programa tekleatu ondoren RUN-i sakatuz gero testuaren neurriak eskatuko dizkizu. Hau da:

Gero jatorrizko testua sartuko dugu, esate baterako:

Dagoeneko ordenadoreak bertsoa ikasita dauka eta orain gure txanda da.

Pantaila ezabatu egiten da eta guk sartuko dugun bertsoaren zain geratzen da, sartzen dugun testua jatorrizkoarekiko ezberdina baldin bada, akatsa dagoela adieraziko digu eta zuzen sartzeko eskatuko.

1 REM BERTSOAK IKASTEN. J.M. ITURRIOTZ m 1986
5 CLS
10 I NPUT "Zenbat lerro idatzi nahi dituzu?"; P
20 INPUT "Zenbat hitz lerroko? (maximoa)"; h
30 DIM a$ (p, h, 15)
40 DIM z$ (p, h, 15)
50 LET x = 0
60 FOR 1 = 1 TO p
70 FOR n = 1 TO h
80 I NPUT "hitza; a$ (1, n)
90 LET b $ = a $ (l,n)
100 IF CODE b$ (1 TO 1) = 32 THE GOTO 80
110 GOSUB 1000
120 INPUT "Lerro berean hitz gehiago? (b/e )"; t$
130 IF n = h THEN GOTO 150
140 IF n h AND CODE t$ = 69 OR CODE t$$ = 101 THE LET n = n + 1: LET a$ (I, n) = CHR$ 32 :LOTO 130
150 NEXT n
160 LETx=O
170 NEXT 1
200 PRINT #0; "ONDO ikasi baduzu idatz ezazu";PAUSE 0: CLS: REM. "GALDEKETA"
210 LETx=O
220 FOR I = 1 TO p
230 FOR n = 1 TO n
240 IF n h THEN GOTO 340
250 LET b = a$ (l, n): IFG CODE b$ (1 TO 1) = 32 THEN LET n = n + 1: GOTO 240
260 I NPUT "hitza"; z$ (1, n)
270 LET f = 15
280 LET b$ = z$11, n)
290 IF CODE b$ (1 TO 1) = 32 THEN GOTO 260
300 IF z$ (1, n) a$ (1, n) AND CODE b$ tf TO fl 32 THEN LET b$ = b$ (c TO f): PRINT #0; b$; " EZ DA ZUZENA!": PAUSE 0: GOTO 260
310 IF z$1I, n) a$ (1, n) THEN LET f = f - 1: GOTO 300
320 GOSUB 1000
330 NEXT n
340 LET x = 0
350 NEXT I
360 GOTO 200
1000REM "pantailan bertsoa idazteko azpirrutina"
1010LET f = 15
1020LET c = 1
1030IF CODE b$ (f TO f) 32 THEN PRINT AT 1, x; b$ (c TO f): LET x = x + 1 + LEN b$ (c TO f): LET b$ b$ (c TO fl: RETURN 1040LET f = f - 1
1050GOT0 1030

bota ba bertsoa...!

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila