10 CLS:KEY OFF 15 PRINT "Written for GWBASIC" 20 LOCATE 10,15:PRINT" R O B 0 T T E A C H I N G" 30 LOCATE 22,5:PRINT "(c) 1987 by REBAQUE" 40 FOR X=1 TO 200000: NEXT X 50 CLS 60 AANTALPOS=50 70 VRIJ = FRE(0) 80 COLOR 7,2 90 SCREEN 0 100 LOCATE 7,1: INPUT "Staat de ROBOT gereed "; VRAAG$ 110 IF VRAAG$ = "j" OR VRAAG$ = "J" THEN 150 120 PRINT 130 PRINT "Zet de ROBOT met de TEST en RESET knop in de neutrale stand" 140 PRINT "en druk daarna op RESET!" 150 PRINT 160 INPUT "Is het ERRORLAMPJE uit "; VRAAG$ 170 IF VRAAG$="j" OR VRAAG$="J" THEN 200 180 PRINT "Druk op RESET !" 190 FOR PAUZE=1 TO 10000: NEXT PAUZE 200 CLS 210 BASIS=0:MBASIS=0 220 DIM ARBASIS(AANTALPOS), HULPBAS(AANTALPOS) 230 SCHOUDER=0:MSCHOUDER=0 240 DIM ARSCHOUDER(AANTALPOS), HULPSCH(AANTALPOS) 250 ELLEBOOG=0:MELLEBOOG=0 260 DIM ARELLEBOOG(AANTALPOS), HULPELL(AANTALPOS) 270 POLSDR=0:MPOLSDR=0 280 DIM ARPOLSDR(AANTALPOS), HULPPD(AANTALPOS) 290 POLSOP=0:MPOLSOP=0 300 DIM ARPOLSOP(AANTALPOS), HULPPO(AANTALPOS) 310 HAND=0:MHAND=0 320 DIM ARHAND(AANTALPOS),HULPHA(AANTALPOS) 330 DIM ARSNELHEID(AANTALPOS),HULPSN(AANTALPOS) 340 POSITIE=1:PLA=0 350 SNELHEID=1 360 LPRINT "Z" 370 LPRINT "S1" 380 FOR X=1 TO 14 390 KEY (X) ON 400 NEXT X 410 GOSUB 3050 420 PRINT:PRINT 430 INPUT "Coordinaten laden uit file (j/n) "; VRAAG$ 440 IF VRAAG$="j" OR VRAAG$="J" THEN GOSUB 4130 450 CLS 460 REM ******************************* 470 REM hoofdroutine 480 REM ******************************* 490 GOSUB 2910 500 ON KEY(12) GOSUB 990: REM cursor links 510 ON KEY(13) GOSUB 1100: REM cursor rechts 520 ON KEY(11) GOSUB 1210: REM cursor op 530 ON KEY(14) GOSUB 1320: REM cursor neer 540 ON KEY(1) GOSUB 1430: REM Fl 550 ON KEY(2) GOSUB 1540: REM F2 560 ON KEY(3) GOSUB 1650: REM F3 570 ON KEY(4) GOSUB 1760: REM F4 580 ON KEY(5) GOSUB 1870: REM F5 590 ON KEY(6) GOSUB 1980: REM F6 600 ON KEY(7) GOSUB 2090: REM F7 610 ON KEY(8) GOSUB 2200: REM F8 620 A$=INKEY$ 630 IF A$ = "1" THEN GOSUB 4130: REM laden uit file 640 IF A$ = "s" THEN GOSUB 2310: REM aantal stappen 650 IF A$ = "v" THEN GOSUB 2410: REM snelheid 660 IF A$ = "b" THEN GOSUB 2530: REM bewaren 670 IF A$ = "h" THEN GOSUB 3050: REM help 680 IF A$ = "o" THEN GOSUB 3330: REM overzicht 690 IF A$ = "t" THEN GOSUB 3520: REM tussenvoegen 700 IF A$ = CHR$(27) THEN GOSUB 4400: REM simulatie 710 IF A$ <> CHR$(8) THEN GOTO 480: REM chr$(8) back space 720 REM ************************************** 730 REM wegschrijven 740 REM ************************************** 750 CLS 760 PRINT " W E G S C H R I J V E N N A A R F I L E" 770 PRINT 780 PRINT 790 INPUT "Wilt u de ingevoerde posities bewaren op disk (j/n) "; VRAAG$ 800 IF VRAAG$="n" OR VRAAG$="N" THEN GOTO 940 810 PRINT 820 INPUT "WiIt u een overzicht van de files op de disk"; VRAAG$ 830 IF VRAAG$="j" OR VRAAG$="J" THEN FILES "*.rbt" 840 PRINT 850 INPUT "Onder welke naam wilt u de gegevens wegschrijven "; NAAM$ 855 PRINT "(max 6 karakters en zonder extention)" 860 IF LEN(NAAM$)>7 THEN GOTO 850 870 OPEN "o",#1,NAAM$+".rbt" 880 PRINT #1,POSITIE 890 FOR X=1 TO POSITIE 900 PRINT #1,ARSNELHEID(X),ARBASIS(X),ARSCHOUDER(X),ARELLEBOOG(X),ARPOLSDR(X),ARPOLSOP(X),ARHAND(X) 910 NEXT X 920 CLOSE #1 930 PRINT 940 INPUT "WiLt U opnieuw beginnen (j/n) "; VRAAG$ 950 IF VRAAG$="j" OR VRAAG$="J" THEN GOSUB 4580: LPRINT "N":CLS:GOTO 430 960 LPRINT "N" 970 CLS 980 END 990 REM ******************************** 1000 REM basis Links 1010 REM ******************************** 1020 IF STAPPEN=0 THEN GOTO 2310 1030 BASIS=STAPPEN+BASIS 1040 MBASIS=STAPPEN+MBASIS 1050 X=STAPPEN 1060 IF MBASIS>950 THEN MBASIS=1000:BASIS=BASIS-STAPPEN:X=0 1070 LPRINT "M";X;",0,0,0,0,0" 1080 X=0 1090 RETURN 1100 REM *************************** 1110 REM basis rechts 1120 REM *************************** 1130 IF STAPPEN=0 THEN GOTO 2310 1140 BASIS=BASIS-STAPPEN 1150 MBASIS=MBASIS-STAPPEN 1160 X=-STAPPEN 1170 IF MBASIS<-950 THEN MBASIS=-1000:BASIS=BASIS+STAPPEN:X=0 1180 LPRINT "M";X;",0,0,0,0,0" 1190 X=0 1200 RETURN 1210 REM *********************************** 1220 REM schouder omhoog 1230 REM *********************************** 1240 IF STAPPEN=0 THEN GOTO 2310 1250 SCHOUDER=SCHOUDER+STAPPEN 1260 MSCHOUDER=MSCHOUDER+STAPPEN 1270 SC=STAPPEN 1280 IF MSCHOUDER>550 THEN MSCHOUDER=600:SCHOUDER=SCHOUDER-STAPPEN:SC=0 1290 LPRINT "M0,";SC;",0,0,0,0" 1300 SC=0 1310 RETURN 1320 REM ******************************* 1330 REM schouder omlaag 1340 REM ******************************* 1350 IF STAPPEN=0 THEN GOTO 2310 1360 SCHOUDER=SCHOUDER-STAPPEN 1370 MSCHOUDER=MSCHOUDER-STAPPEN 1380 SC=-STAPPEN 1390 IF MSCHOUDER<-550 THEN MSCHOUDER=-600:SCHOUDER=SCHOUDER+STAPPEN:SC=0 1400 LPRINT "M0,";SC;",0,0,0,0" 1410 SC=0 1420 RETURN 1430 REM **************************** 1440 REM elleboog omhoog 1450 REM **************************** 1460 IF STAPPEN=0 THEN GOTO 2310 1470 ELLEBOOG=ELLEBOOG+STAPPEN 1480 MELLEBOOG=MELLEBOOG+STAPPEN 1490 EL=STAPPEN 1500 IF MELLEBOOG>550 THEN MELLEBOOG=600:ELLEBOOG=ELLEBOOG-STAPPEN:EL=0 1510 LPRINT "M0,0,";EL;",0 ,0 ,0" 1520 EL=0 1530 RETURN 1540 REM ************************** 1550 REM elleboog omlaag 1560 REM ************************** 1570 IF STAPPEN=0 THEN GOTO 2310 1580 ELLEBOOG=ELLEBOOG-STAPPEN 1590 MELLEBOOG=MELLEBOOG-STAPPEN 1600 EL=-STAPPEN 1610 IF MELLEBOOG<-550 THEN MELLEBOOG=600:ELLEBOOG=ELLEBOOG+STAPPEN:EL=0 1620 LPRINT "M0,0,";EL;",0,0,0" 1630 EL=0 1640 RETURN 1650 REM ********************************* 1660 REM pols draait tegen klok in 1670 REM ********************************* 1680 IF STAPPEN=0 THEN GOTO 2310 1690 POLSDR=POLSDR-STAPPEN 1700 MPOLSDR=MPOLSDR-STAPPEN 1710 PD=-STAPPEN 1720 IF MPOLSDR<-1750 THEN MPOLSDR=-1800:PD=0 1730 LPRINT "M0,0,0,";PD;",";PD;",0" 1740 PD=0 1750 RETURN 1760 REM ******************************** 1770 REM pols draait met klok mee 1780 REM ******************************** 1790 IF STAPPEN=0 THEN GOTO 2310 1800 POLSDR=POLSDR+STAPPEN 1810 MPOLSDR=MPOLSDR+STAPPEN 1820 PD=STAPPEN 1830 IF MPOLSDR>1750 THEN MPOLSDR=1800:POLSDR=POLSDR-STAPPEN:PD=0 1840 LPRINT "M0,0,0,";PD;",";PD;",0" 1850 PD=0 1860 RETURN 1870 REM **************************** 1880 REM pols omhoog 1890 REM **************************** 1900 IF STAPPEN=0 THEN GOTO 2310 1910 POLSOP=POLSOP+STAPPEN 1920 MPOLSOP=MPOLSOP+STAPPEN 1930 PO=STAPPEN 1940 IF MPOLSOP>1750 THEN MPOLSOP=1800:POLSOP=POLSOP-STAPPEN:PO=0 1950 LPRINT "M0,0,0,";-PO;",";PO;",0" 1960 PO=0 1970 RETURN 1980 REM **************************** 1990 REM pols omlaag 2000 REM **************************** 2010 IF STAPPEN=0 THEN GOTO 2310 2020 POLSOP=POLSOP-STAPPEN 2030 MPOLSOP=MPOLSOP-STAPPEN 2040 PO=-STAPPEN 2050 IF MPOLSOP<-1750 THEN MPOLSOP=-1800:POLSOP=POLSOP+STAPPEN:PO=0 2060 LPRINT "M0,0,0,";-PO;",";PO;",0" 2070 PO=0 2080 RETURN 2090 REM ************************** 2100 REM hand open 2110 REM ************************** 2120 IF STAPPEN=0 THEN GOTO 2310 2130 HAND=HAND-STAPPEN 2140 MHAND=MHAND-STAPPEN 2150 HA=-STAPPEN 2160 IF MHAND<-1750 THEN MHAND=-1800:HAND=HAND+STAPPEN:HA=0 2170 LPRINT "M0,0,0,0,0,";HA 2180 HA=0 2190 RETURN 2200 REM ************************** 2210 REM hand dicht 2220 REM ************************** 2230 IF STAPPEN=0 THEN GOTO 2310 2240 HAND=HAND+STAPPEN 2250 MHAND=MHAND+STAPPEN 2260 HA=STAPPEN 2270 IF MHAND>10 THEN MHAND=0:HAND=HAND-STAPPEN:HA=0 2280 LPRINT "M0,0,0,0,0,";HA 2290 HA=0 2300 RETURN 2310 REM ***************************** 2320 REM aantal stappen invoeren 2330 REM ***************************** 2340 CLS 2350 PRINT " S T A P P E N V E R A N D E R E N" 2360 PRINT 2370 INPUT"aantal stappen ";STAPPEN 2380 IF STAPPEN>1800 OR STAPPEN<1 THEN GOTO 2370 2390 CLS 2400 RETURN 2410 REM ************************** 2420 REM snelheid invoeren 2430 REM ************************** 2440 CLS 2450 PRINT " S N E L H E I D V E R A N D E R E N" 2460 PRINT 2470 INPUT "snelheid ";SNELHEID 2480 IF SNELHEID<1 OR SNELHEID>5 THEN GOTO 2470 2490 LPRINT "S"SNELHEID 2500 GOSUB 2850 2510 CLS 2520 RETURN 2530 REM ***************************************** 2540 REM bewaren 2550 REM ***************************************** 2560 CLS 2570 PRINT " B E W A R E N " 2580 PRINT 2590 PRINT "positie:"POSITIE 2600 PRINT 2610 PRINT "BASIS :" BASIS 2620 PRINT "ELLEBOOG :" ELLEBOOG 2630 PRINT "SCHOUDER :" SCHOUDER 2640 PRINT "POLSDRAAIEN :" POLSDR 2650 PRINT "POLS(OP-NEER):" POLSOP 2660 PRINT "HAND :" HAND 2670 PRINT 2680 INPUT "Deze positie bewaren (j/n) ";VRAAG$ 2690 IF VRAAG$="n" OR VRAAG$="N" THEN GOTO 2830 2700 ARBASIS(POSITIE)=BASIS 2710 BASIS=0 2720 ARSCHOUDER(POSITIE)=SCHOUDER 2730 SCHOUDER=0 2740 ARELLEBOOG(POSITIE)=ELLEBOOG 2750 ELLEBOOG=0 2760 ARPOLSDR(POSITIE)=POLSDR 2770 POLSDR=0 2780 ARPOLSOP(POSITIE)=POLSOP 2790 POLSOP=0 2800 ARHAND(POSITIE)=HAND 2810 HAND=0 2820 POSITIE=POSITIE+1 2830 CLS 2840 RETURN 2850 REM *********************************** 2860 REM bewaren snelheid 2870 REM *********************************** 2880 ARSNELHEID(POSITIE)=SNELHEID 2890 POSITIE=POSITIE+1 2900 RETURN 2910 REM ************************************** 2920 REM beeldscherm overzicht 2930 REM ************************************** 2940 LOCATE 1,1:PRINT "stappen:"STAPPEN 2950 LOCATE 1,50:PRINT "positie:"POSITIE 2960 LOCATE 6,20:PRINT "basis :"BASIS 2970 LOCATE 8,20:PRINT "schouder :"SCHOUDER 2980 LOCATE 10,20:PRINT "elleboog :"ELLEBOOG 2990 LOCATE 12,20:PRINT "polsdraaien :"POLSDR 3000 LOCATE 14,20:PRINT "pols (op-neer) :"POLSOP 3010 LOCATE 16,20:PRINT "hand (open-dicht) :"HAND 3020 LOCATE 23,1:PRINT "snelheid:"SNELHEID 3030 LOCATE 23,50:PRINT "vrij posities"AANTALPOS-POSITIE 3040 RETURN 3050 REM ************************************** 3060 REM help 3070 REM ************************************** 3080 CLS:PRINT 3090 PRINT " 0 V E R Z I C H T I N S T R U C T I E S" 3100 PRINT:PRINT 3110 PRINT "CURSOR LINKS : basis links CURSOR RECHTS: basis rechts" 3120 PRINT "CURSOR OMHOOG: schouder omhoog CURSOR OMLAAG: schouder omlaag" 3130 PRINT "F1 : elleboog omhoog F2 : elleboog omlaag" 3140 PRINT "F3 : pols draaien (rechtsom) F4 : pols draaien (linksom)" 3150 PRINT "F5 : pols omhoog F6 : pols omlaag" 3160 PRINT "F7 : hand open F8 : hand dicht" 3170 PRINT:PRINT 3180 PRINT "l : laden uit file" 3190 PRINT "s : aantal stappen veranderen" 3200 PRINT "v : snelheid veranderen" 3210 PRINT "b : posities bewaren " 3220 PRINT "h : help scherm" 3230 PRINT "o : overzicht ingevoerde posities " 3240 PRINT "esc : simulatie ingevoerde posities " 3250 PRINT "t : tussenvoegen van positie(s)" 3260 PRINT CHR$(27) TAB(14)": stoppen invoer posities + wegschrijven + EXIT" 3270 PRINT 3280 PRINT " spatie = terug" 3290 B$=INKEY$ 3300 IF B$<>" " THEN GOTO 3290 3310 CLS 3320 RETURN 3330 REM ******************************* 3340 REM overzicht 3350 REM ******************************* 3360 CLS 3370 PRINT " 0 V E R Z I C H T V A N D E P 0 S I T I E S " 3380 PRINT:PRINT 3390 PRINT "BASIS SCHOUDER ELLEBOOG POLSDRAAIEN POLS(OP-NEER) HAND SNELHEID" 3400 PRINT 3410 FOR TELLER=1 TO POSITIE-1 3420 PRINT ARBASIS(TELLER) TAB(7) ARSCHOUDER(TELLER) TAB(17) ARELLEBOOG(TELLER) TAB(27) ARPOLSDR(TELLER) TAB(39) ARPOLSOP(TELLER) TAB(54) ARHAND(TELLER) TAB(60) ARSNELHEID(TELLER) 3430 REGEL=REGEL+1 3440 IF REGEL>19 THEN FOR WACHT=1 TO 10000:NEXT WACHT:REGEL=0 3450 NEXT TELLER 3460 PRINT:PRINT 3470 PRINT" SPATIE=TERUG NAAR HAND INVOER" 3480 WACHT$=INKEY$ 3490 IF WACHT$<>" " THEN 3480 3500 CLS 3510 RETURN 3520 REM *********************************** 3530 REM tussenvoegen 3540 REM *********************************** 3550 CLS 3560 PRINT " T U S S E N V 0 E G E N " 3570 PRINT 3580 PRINT 3590 FOR LOPER=1 TO POSITIE 3600 HULPBAS(LOPER)=ARBASIS(LOPER) 3610 HULPSCH(LOPER)=ARSCHOUDER(LOPER) 3620 HULPELL(LOPER)=ARELLEBOOG(LOPER) 3630 HULPPD(LOPER)=ARPOLSDR(LOPER) 3640 HULPPO(LOPER)=ARPOLSOP(LOPER) 3650 HULPHA(LOPER)=ARHAND(LOPER) 3660 HULPSN(LOPER)=ARSNELHEID(LOPER) 3670 NEXT LOPER 3680 INPUT "Bij welke positie wilt u iets tussenvoegen ";PLA 3690 IF PLA<=0 THEN GOTO 3680 3700 IF PLA>POSITIE THEN GOTO 460 3710 PRINT 3720 INPUT "Aantal tussen te voegen posities";AANT 3730 IF AANT<0 GOTO 3720 3740 POSITIE=POSITIE+AANT 3750 IF POSITIE>AANTALPOS THEN POSITIE=POSITIE-AANT:GOTO 3720 3760 FOR LOPER=PLA+1 TO AANTALPOS-AANT 3770 IF HULPSN(LOPER)<>0 THEN 3840 3780 ARBASIS(LOPER+AANT)=HULPBAS(LOPER) 3790 ARSCHOUDER(LOPER+AANT)=HULPSCH(LOPER) 3800 ARELLEBOOG(LOPER+AANT)=HULPELL(LOPER) 3810 ARPOLSDR(LOPER+AANT)=HULPPD(LOPER) 3820 ARPOLSOP(LOPER+AANTAL)=HULPPO(LOPER) 3830 ARHAND(LOPER+AANTAL)=HULPHA(LOPER) 3840 ARSNELHEID(LOPER+AANT)=HULPSN(LOPER) 3850 NEXT LOPER 3860 FOR LOPER=PLA+1 TO PLA+AANT 3870 ARSNELHHEID(LOPER)=0 3880 ARBASIS(LOPER)=0 3890 ARSCHOUDER(LOPER)=0 3900 ARELLEBOOG(LOPER)=0 3910 ARPOLSOP(LOPER)=0 3920 APPOLSDR(LOPER)=0 3930 ARHAND(LOPER)=0 3940 NEXT LOPER 3950 CLS 3960 FOR LOPER=PLA+1 TO PLA+AANT 3970 PRINT "positie:"; LOPER 3980 PPINT 3990 INPUT "Snelheid:";ARSNELHEID(LOPER) 4000 IF ARSNELHEID(LOPER)<0 OR ARSNELHEID(LOPER)>5 THEN 3990 4010 IF ARSNELHEID(LOPER)>1 AND ARSNELHEID(LOPER)< 5 THEN 4080 4020 INPUT "Basis :";ARBASIS(LOPER) 4030 INPUT "Schouder :";ARSCHOUDER(LOPER) 4040 INPUT "Elleboog :";ARELLEB00G(LOPER) 4050 INPUT "Posldraaien :";ARPOLSDR(LOPER) 4060 INPUT "Pols (op/neer):";ARPOLSOP(LOPER) 4070 INPUT "Hand :";ARHAND(LOPER) 4080 CLS 4090 NEXT LOPER 4100 GOSUB 3330 4110 CLS 4120 RETURN 4130 REM *********************************** 4140 REM laden 4150 REM *********************************** 4160 GOSUB 4580 4170 CLS 4180 PRINT " L A D E N U I T F I L E " 4190 PRINT 4200 INPUT "Wilt u een overzicht van de files op de disk (j/n) ";VRAAG$ 4210 IF VRAAG$="j" OR VRAAG$="J" THEN FILES "*.rbt" 4220 PRINT 4230 INPUT "Uit welke file wilt u laden (zonder extentie) ";NAAM$ 4240 OPEN "i",#1,NAAM$+".rbt" 4250 INPUT #1, POSITIE 4260 FOR X=1 TO POSITIE 4270 INPUT #1,ARSNELHEID(X),ARBASIS(X),ARSCHOUDER(X),ARELLEB00G(X),ARPOLSDR(X),ARPOLSOP(X),ARHAND(X) 4280 MBASIS=MBASIS+ARBASIS(X) 4290 MSCHOUDER=MSCHOUDER+ARSCHOUDER(X) 4300 MELLEB00G=MELLEB00G+ARELLEB00G(X) 4310 MPOLSDR=MPOLSDR+ARPOLSDR(X) 4320 MPOLSOP=MPOLSOP+ARPOLSOP(X) 4330 MHAND=MHAND+ARHAND(X) 4340 NEXT X 4350 CLOSE #1 4360 CLS 4370 LOCATE 1,6:INPUT "WiIt u EXECUTIE van de stappen (j/n) ";VRAAG$ 4380 IF VRAAG$="j" OR VRAAG$="J" THEN GOSUB 4400 4390 RETURN 4400 REM ************************************ 4410 REM simulatie 4420 REM ************************************ 4430 CLS 4440 PRINT " S I M U L A T I E V A N D E S T A P P E N " 4450 LPRINT "N" 4460 PRINT 4470 PRINT "BASIS SCHOUDER ELLEBOOG POLSDPAAIEN POLS(OP-NEER) HAND SNELHEID " 4480 FOR TELLER=1 TO POSITIE-1 4490 PRINT ARBASIS(TELLER) TAB(7) ARSCHOUDER(TELLER) TAB(17) ARELLEBOOG(TELLER) TAB(27) ARPOLSDR(TELLER) TAB(39) ARPOLSOP(TELLER) TAB(54) ARHAND(TELLER) TAB(60) ARSNELHEID(TELLER) 4500 IF ARSNELHEID(TELLER)<>0 THEN LPRINT "S",ARSNELHEID(TELLER) 4510 LPRINT"M"ARBASIS(TELLER) "," ARSCHOUDER(TELLER) "," ARELLEBOOG(TELLER) "," ARPOLSDR(TELLER) "," ARPOLSOP(TELLER) "," ARHAND(TELLER) 4520 NEXT TELLER 4530 PRINT:PRINT 4540 INPUT "Terug naar NEST (j/n) ";VRAAG$ 4550 IF VRAAG$="j" OR VRAAG$="J" THEN LPRINT"N" 4560 CLS 4570 RETURN 4580 REM ************************************ 4590 REM resetten 4600 REM ************************************ 4610 MBASIS=0:BASIS=0 4620 MSCHOUDER=0:SCHOUDER=0 4630 MELLEBOOG=0:ELLEBOOG=0 4640 MPOLSDR=0:POLSDR=0 4650 MPOLSOP=0:POLSOP=0 4660 MHAND=0:HAND=0 4670 PLA=0 4680 SNELHEID=1 4690 FOR X=1 TO POSITIE+1 4700 ARBASIS(X)=0:HULPBAS(X)=0 4710 ARSCHOUDER(X)=0:HULPSCH(X)=0 4720 ARELLEBOOG(X)=0:HULPELL(X)=0 4730 ARPOLSDR(X)=0:HULPPD(X)=0 4740 ARPOLSOP(X)=0:HULPPO(X)=0 4750 ARHAND(X)=0:HULPHA(X)=0 4760 ARSNELHEID(X)=0:HULPSN(X)=0 4770 NEXT X 4780 POSITIE=1 4790 RETURN