Ordua
1991/01/01 Arrojeria, Eustakio - Elhuyar Zientziaren Komunikazioa | Lizaso, Pili - Informatika SailaElhuyar Fundazioa Iturria: Elhuyar aldizkaria
Ale honetako programa, erabilpen aldetik, ordua ikasten ari diren haurrentzat edota euskara ikasten ari direnentzat da batipat.
Pantailan agertzen den erlojua digitala den arren, ordua adierazteko orratz-erlojuen notazioa erabili da; hau bait da idazteko eta baita hitz egiteko ere ohizkoena. Programak bi aukera eskaintzen ditu: azalpena eta ariketak. Lehenengo aukeran, hots, azalpenean, erabiltzaileari utziko zaio ordua aukeratzen, horretarako orduen zenbakia (0tik 23ra bitartekoa) eta minutuena (0tik 55era bitartekoa) aukeratu beharko dituelarik. Programak, erabiltzaileak aukeratutako orduari dagokion karaktere-katea erakutsiko du pantailan. Beraz, aukera hau orduaren idazkeraz jabetzeko egokia izan daiteke.
Bigarren aukeran aldiz (hots, “ariketak” atalean), programa bera da ordua ipintzen duena eta erabiltzaileak idatzi egin beharko du dagokion katea.
Begiratu erlojuari eta erantzun. Zer ordu da?
Programaren azalpena:
- 10-190: Programa nagusia. Menuko hautabide desberdinen aurkezpena eta kontrola.
- 210-760: “Azalpena” azpiprograma.
280-290: Erlojuaren hasieraketa
300-440: Ordua adieraziko duen zenbakiaren (0tik 23ra bitarteko zenbaki baten) aukeraketa.
450-590: Minutuak adieraziko dituen zenbakiaren (0tik 55era bitarteko zenbaki baten) aukeraketa.
600-660: Erlojuak adierazten duen ordua letraz idaztea. - 780-1170: “Ariketak” azpiprograma
850-870: Ordua aleatorioki definitzen da.
880-940: Erlojuak adierazten duen orduari dagokion katea osatzen da.
950-1080: Erabiltzaileak idatzitako katearen egiaztapena. - 1190-1410: Zenbakiak idazteko azpiprograma.
Zenbaki bat digitutan banatu eta digitu bakoitza 6x6ko matrize batean irudikatzen da. - 1430-1670: Erabiltzaileak <RETURN> tekla sakatu artean idazten duen guztia kontrolatzen da, amaieran idatzitako katea minuskuletara pasatuz.
- 2000-2010: ORDSº taula osatzeko datuak
- 2020-2030: MINSº taula osatzeko datuak
- 2500-2590: 0-9 digituak 6x6ko matrize batean irudikatzeko moduan definituta.
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
260
270
280
290
300
310
320
330
340
350
360
370
380
390
400
410
420
430
440
450
460
470
480
490
500
510
520
530
540
550
560
570
580
590
600
610
620
630
640
650
660
670
680
690
700 705
710
720
730
740
750
760
770
780
790
800
810
820
830
840
850
860
870
880
890
900 910
920
930
940
950
960
970
980
990
1000
1010
1020
1030
1040
1050
1060
1070
1080
1090
1100
1110
1120
1130
1140
1150
1160
1170
1180
1190
1200
1210
1220
1230
1240
1250
1260
1270 1280
1290
1300
1310
1320
1330
1340
1350
1360
1370
1380
1390
1400
1410
1420
1430
1440
1450
1460
1470
1480
1490 1500
1510
1520
1530
1540
1550
1560
1570
1580
1590
1600
1610
1620
1630
1640
1650
1660 1670
1680
2000
2010
2020
2030
2040
2500
2510
2520
2530
2540
2550
2560
2570
2580
2590
DIM ORD$(12,2),MIN$(11),D(2)
KEY OFF:RANDOMIZE TIMER
RESTORE 2000
FOR I=1 TO 12:READ ORD$(I,1),ORD$(I,2):NEXT I
FOR I=1 TO 11:READ MIN$(I):NEXT I
AUK=0
WHILE AUK<>3
CLS:COLOR 11:LOCATE 4,32:PRINT “ORDUA”:COLOR 13: LOCATE 5,32:PRINT “ ”
LOCATE 10,30:COLOR 13:PRINT “1 “;:COLOR 10:PRINT “Azalpena”
LOCATE 12,30:COLOR 13:PRINT “2 “;:COLOR 10:PRINT “Ariketak”
LOCATE 14,30:COLOR 13:PRINT “3 “;:COLOR 10:PRINT “Programatik irten”
LOCATE 18,25:COLOR 11:PRINT “Nahi duzun aukeraren zenbakia:”
FOR I=1 TO 3:SOUND 1000*I,.3:NEXT I:AUK$=””
WHILE VAL(AUK$)<1 OR VAL(AUK$)>3:AUK$=INKEY$:WEND:AUK=VAL(AUK$)
IF AUK=1 THEN GOSUB 210
IF AUK=2 THEN GOSUB 780
WEND
CLS:SYSTEM:END
REM
REM AZALPENA
CLS:COLOR 11:LOCATE 2,32:PRINT “ORDUA”:COLOR 13:LOCATE 3,32:PRINT “ ”
LOCATE 6,16:PRINT STRING$(39,” ”)
FOR L=7 TO 14:LOCATE L,16:PRINT “ “:LOCATE L,54:PRINT “ “:NEXT L
LOCATE 15,16:PRINT STRING$(39,” ”):LOCATE 9,35:PRINT “ ”:LOCATE 12,35:PRINT “ ”
GEH$=”B”
WHILE GEH$=”B” OR GEH$=”b”
LOCATE 18,1:PRINT SPC(79):LOCATE 20,1:PRINT SPC(79)
H=0:M=0:X=20:Y=8:Z=H:GOSUB 1190:X=38:Z=M:GOSUB 1190
LOCATE 18,22:COLOR 27:PRINT CHR$(27);” ”;CHR$(26)
LOCATE 20,22:COLOR 11:PRINT “Aukera ezazu ordua eta <RETURN> sakatu.”
TE$=” “
WHILE ASC(TE$)<>13
WHILE ASC(TE$)<>13 AND RIGHT$(TE$,1)<>”K” AND RIGHT$(TE$,1)<>”M”
TE$=INKEY$:IF TE$=”” THEN TE$=” “
WEND
LOCATE 20,1:PRINT SPC(79)
IF RIGHT$(TE$,1)<>”K” THEN 410
IF H>0 THEN H=H-1 ELSE BEEP
GOTO 430
IF RIGHT$(TE$,1)<>”M” THEN 430
IF H<23 THEN H=H+1 ELSE BEEP
IF ASC(TE$)<> 13 THEN X=20:Y=8:Z=H:GOSUB 1190:SOUND 2000,.8:TE$=” “
WEND
LOCATE 18,22:COLOR 27:PRINT SPC(10):LOCATE 18,40:PRINT CHR$(27);” ”;CHR$(26)
LOCATE 20,22:COLOR 11:PRINT “Aukera itzazu minutuak eta <RETURN> sakatu.”
TE$=” “
WHILE ASC(TE$)<>13
WHILE ASC(TE$)<>13 AND RIGHT$(TE$,1)<>”K” AND RIGHT$(TE$,1)<>”M”
TE$=INKEY$:IF TE$=”” THEN TE$=” “
WEND
LOCATE 20,1:PRINT SPC(79)
IF RIGHT$(TE$,1)<>”K” THEN 560
IF M>0 THEN M=M-5 ELSE BEEP
GOTO 580
IF RIGHT$(TE$,1)<>”M” THEN 580
IF M<55 THEN M=M+5 ELSE BEEP
IF ASC(TE$)<>13 THEN X=38:Y=8:Z=M:GOSUB 1190:SOUND 2000,.8:TE$=” “
WEND
IF M<=30 THEN 620
IF H=24 THEN H=0 ELSE H=H+1
IF H=0 THEN HI=12:GOTO 650
IF H>12 THEN HI=H-12:GOTO 650
IF H<=12 THEN HI=H
MI=INT(M/5)
IF MI<>6 THEN ORDUA$=ORD$(HI,1)+” “+MIN$(MI) ELSE ORDUA$=ORD$(HI,2)+” “+MIN$(MI)
LOCATE 18,1:PRINT SPC(79):LOCATE 20,25:COLOR 10:PRINT ORDUA$
FOR J4=1 TO 10:SOUND 5000/J4,.2:NEXT J4:FOR I=1 TO 200:NEXT I
COLOR 11:LOCATE 25,25:PRINT “Jarraitu nahi al duzu (B/E)?”;:BEEP
GEH$=””
WHILE GEH$<>”B” AND GEH$<>”b” AND GEH$<>”E” AND GEH$<>”e”
GEH$=INKEY$
WEND
LOCATE 25,1:PRINT SPC(79);
WEND
RETURN
REM AMAIA AZALPENA
REM
REM ARIKETA
CLS:COLOR 11:LOCATE 2,32:PRINT “ORDUA”:COLOR 13:LOCATE 3,32:PRINT “ ”
LOCATE 6,16:PRINT STRING$(39,” ”)
FOR L=7 TO 14:LOCATE L,16:PRINT “ “:LOCATE L,54:PRINT “ “:NEXT L
LOCATE 15,16:PRINT STRING$(39,” ”):LOCATE 9,35:PRINT “ ”:LOCATE 12,35:PRINT “ ”
GEH$=”B”
WHILE GEH$=”B” OR GEH$=”b”
LOCATE 18,1:PRINT SPC(79):LOCATE 20,1:PRINT SPC(79)
H=INT(RND*23)+1:M=(INT(RND*11)+1)*5
X=20:Y=8:Z=H:GOSUB 1190:X=38:Z=M:GOSUB 1190
IF M<=30 THEN 900
IF H=24 THEN H=0 ELSE H=H+1
IF H=0 THEN HI=12:GOTO 930
IF H>12 THEN HI=H-12:GOTO 930
IF H<=12 THEN HI=H
MI=INT(M/5)
IF MI<>6 THEN ORDUA$=ORD$(HI,1)+” “+MIN$(MI) ELSE ORDUA$=ORD$(HI,2)+” “+MIN$(MI)
ASMAT$=”F”:GAIZKI=0
WHILE ASMAT$=”F” AND GAIZKI<2
LOCATE 20,1:PRINT SPC(79)
COLOR 10:LUZERA=30:XK=20:YK=20:LOCATE YK,XK:PRINT STRING$(30,”.”):
GOSUB 1430:COLOR 11
LOCATE 23,1:PRINT SPC(79)
IF ERAN$<>ORDUA$ THEN 1030
ASMAT$=”E”:LOCATE 23,28:PRINT “ONGI!!! Ordua zuzena da.”:
FOR J4=1 TO 3:SOUND 1000*J4,.3:NEXT J4:FOR I=1 TO 2000:NEXT I
GOTO 1090
GAIZKI=GAIZKI+1:ASMAT$=”F”:SOUND 300,5
IF GAIZKI=2 THEN 1070
LOCATE 23,11:PRINT “GAIZKI!!! ez duzu ordua zuzen idatzi. Saia zaitez berriro.”
LOCATE 23,11:PRINT “GAIZKI!!! ez duzu ordua zuzen idatzi. Saia zaitez berriro.”
LOCATE 23,11:PRINT “GAIZKI!!! ez duzu ordua zuzen idatzi. Saia zaitez berriro.”
LOCATE 23,5:PRINT “GAIZKI!!! Ez duzu asmatu, “;:COLOR 13:PRINT ORDUA$;:COLOR 11:
IF H=1 AND M=0 THEN PRINT “ da.”; ELSE PRINT “ dira.”
FOR I=1 TO 3000:NEXT I:LOCATE 23,1:PRINT SPC(79)
WEND
COLOR 11:LOCATE 23,1:PRINT SPC(79):LOCATE 25,25:PRINT “Jarraitu nahi al duzu
(B/E)?”;:BEEP:GEH$=””
WHILE GEH$<>”B” AND GEH$<>”b” AND GEH$<>”E” AND GEH$<>”e”
GEH$=INKEY$
WEND
LOCATE 25,1:PRINT SPC(79);
WEND
RETURN
REM AMAIA ARIKETA
REM
REM ZENB
COLOR 3:I=0
IF Z<10 THEN I=I+1:D(I)=0
WHILE Z>=10
I=I+1:D(I)=INT(Z/10):Z=Z MOD 10
WEND
I=I+1:D(I)=Z
FOR II=1 TO I
X=X+(II-1)*7
IF D(II)=1 THEN RESTORE 2500:GOTO 1380
IF D(II)=2 THEN RESTORE 2510:GOTO 1380
IF D(II)=3 THEN RESTORE 2520:GOTO 1380
IF D(II)=4 THEN RESTORE 2530:GOTO 1380
IF D(II)=5 THEN RESTORE 2540:GOTO 1380
IF D(II)=6 THEN RESTORE 2550:GOTO 1380
IF D(II)=7 THEN RESTORE 2560:GOTO 1380
IF D(II)=8 THEN RESTORE 2570:GOTO 1380
IF D(II)=9 THEN RESTORE 2580:GOTO 1380
IF D(II)=0 THEN RESTORE 2590
FOR JJ=1 TO 6:READ L$:LOCATE Y+JJ-1,X:PRINT L$:NEXT JJ
NEXT II
RETURN
REM AMAIA ZENB
REM
REM IRAKURRI
FOR J4=1 TO 3:SOUND 1000*J4,.3:NEXT J4:LOCATE YK,XK:PRINT “ ”;CHR$(29);:ERAN$=””
TE$=INKEY$:WHILE TE$<>””:TE$=INKEY$:WEND:TE$=” “:J4=1
WHILE (J4<=LUZERA) AND (ASC(TE$)<>13)
TE$=””:WHILE TE$=””:TE$=INKEY$:WEND
IF ASC(TE$)=13 THEN 1560
IF ASC(TE$)<>8 THEN 1550
IF J4=1 THEN 1530
J4=J4-1:ERAN$=LEFT$(ERAN$,J4-1):PRINT CHR$(29);:PRINT “.”;CHR$(29);
GOTO 1560
TE$=” “
GOTO 1560
IF LEN(TE$)=1 THEN LOCATE CSRLIN,POS(O):PRINT TE$;:ERAN$=ERAN$+TE$:
SOUND 2000,.8:J4=J4+1
WEND
ER$=””
ZU=1:WHILE MID$(ERAN$,ZU,1)=” “:ZU=ZU+1:WEND
ERAN$=RIGHT$(ERAN$,LEN(ERAN$)-ZU+1)
FOR I=1 TO LEN(ERAN$)
IF ASC(MID$(ERAN$,I,1))>=97 OR ASC(MID$(ERAN$,I,1))=32 THEN 1630
ER$=ER$+CHR$(ASC(MID$(ERAN$,I,1))+32):GOTO 1640
ER$=ER$+MID$(ERAN$,I,1)
NEXT I
ERAN$=ER$
RETURN
REM AMAIA IRAKURRI
REM
DATA “ordubata”,”ordubata”,”ordubiak”,”ordubi”,”hirurak”,”hiru”,”laurak”,”lau”,
”bostak”,”bost”,”seiak”,”sei”
DATA “zazpiak”,”zazpi”,”zortziak”,”zortzi”,”bederatziak”,”bederatzi”,”hamarrak”,
”hamar”,”hamaikak”,”hamaika”, ”hamabiak”, ”hamabi”
DATA “eta bost”,”eta hamar”,”eta laurden”,”eta hogei”,”eta hogeitabost”,”t’erdiak”,
”hogeitabost gutxi”
DATA “hogei gutxi”,”laurden gutxi”,”hamar gutxi”,”bost gutxi”
REM
DATA “ “,” “,” “,” “,” “,” “
DATA “ “,” “,” “,” “,” “,” “
DATA “ “,” “,” “,” ”,” “,” ”
DATA “ “,” “,” “,” “,” “,” “
DATA “ “,” “,” “,” “,” “,” “
DATA “ “,” “,” “,” “,” “,” “
DATA “ “,” “,” “,” “,” “,” “
DATA “ “,” “,” “,” “,” “,” “
DATA “ “,” “,” “,” “,” “,” “
DATA “ “,” “,” “,” “,” “,” “
Gai honi buruzko eduki gehiago
Elhuyarrek garatutako teknologia