----------~s,oftware "; m \$ 253 IF CODE m\$<46 OR CODE m\$>57 THEN 130 TO 30 254 LET ll=V~L l\$: LET l2=V~L m \$

260 IF t(ll,4)=0 THEN BEEP 0.1, 0: PR INT ~U;" i l nodo" ; li;" non e' stato assegnato": P~USE 60: 13 O TO 250 261 IF t(l2,4)=0 THEN BEEP 0.1, 0: PR INT ~ 1; .. i l n Q do"; l2;" non e' stato assegnato": P~USE 60: 13 O TO 250 265 GO SUB 3000 266 IF fl=l THEN 130 TO 250 270 FOR i=l TO 3 260 IF C(ll,i)=0 THEN LET C(ll, i)=l2: GO TO 360 300 NEXT i 310 FOR j=l TO 3 320 IF c(l2,J)=0 THEN LET c(l2, j)=ll: GO TO 360 340 NEXT j 350 PRINT" ~SSEGN~RE UN NUOV O NUMERO ~D UNO DEI SEGUEN T I NODI: ..; li; " , "; l2: PFlUSE 100: 130 TO 90 360 GO TO 250 L'RTI + + 369 REM + + :.TAI'1PH 370 CLS 371 BEEP ;110.1 0: INPUT "M~TRICE COORDIN~TE 'M~TRICE UNIONE CONTROLL O

";

""\$

374 IF W\$= .... TH N 130 TO 30 375 IF w\$="MC" THEN GO SUB 3140 360 IF IJl \$="MU" THEN 130 SUB 3090 381 130 TO 371 362 PRINT ~1;" PPEMI UN TRSTO PE p C()NTH1UHPE ": PAUSE 1: P~USE 0 365 130 TO 30 395 REM 400 CLS 402 PRINT "~NGOLI DI"'''ROT~ZION E": PRINT 405 BEEP 0 INPUT "I=\ngo lO d i iotazione ";iX 415 PRINT "ROT X "jiX 420 BEEP 0'~baiNPUT "~n90lo d i iotazione i~ 425 PRINT "RO Y = ";iY 430 BEEP 0.W: INPUT "I=\ngolod i iotazione "j iZ 435 PRINT "ROT Z = ";iZ 440 DIM v (up ,,3): DIM S (3): DIM, i(3): 130 SUB 1000 445 FOR ~=1 TO up 460 GO SUB 1135 465 FOR i=l TO 3 466 LET V(k,i)=S(i) 467 NEXT i 470 NEXT J(, 490 PRINT : PRINT "POSIZIONE OE L" '''PUNTO DI VISTFI": PRINT 500 BEEP 0.1,0: INPUT "Distanza = ";d: BEEP 0. l ,0: INPUT "SP os t amen to = "; f: BEEP 0. 1,0: INPUT "Flltezza = "jh 501 CLS : PRINT "DIST~NZFl = ";d: PRINT "SPOSTAMENTO = "; f: P RINT "~LTEZZA = "jh 502 BEEP 0.1,0: INPUT "Vuoi dis €gnaie '? "jb\$ 503 IF B\$="S" THEN 130 TO 508 504 IF B\$<>"N" THEN 130 TO 502 505 130 TO 30 508 CLS 510 LET P=f-d*TFlN (PI/6) 520 LET t=2*d*TAN (PI/6): LET h 1=175/255*t: LET i=hl/2-h

'\e.&: r:.,

r==_

MCmicrocomputer

n. 38 - febbraio

=

1985

",:

525 FOR n=l TO up 530 IF t(n,4)=0 THEN 130 TO 790 534 LET nl=n 537 130 SUB 1490 540 FOR i=l TO 3 550 LET b(i,l)=ss 560 NEXT i 570 FOR i=l TO 3 580 LET b(i,2)=tt 590 NEXT i 600 LET tl=0 610 IF (NOT (ss>=0 ~ND S5<=255) ) OR (NOT (tt> =0 ~NO tt <=175» T HEN LET t1=1 620 FOR J(,=1TO 3 630 IF c(n,~)=0 THEN LET b(K,3) =-1: GO TO 730 640 LET n1=c(n,k) 650 GO SUB 1490 660 LET t2=0 670 IF (NOT (ss>=0 FlND SS<=255) ) OR (NOT (tt>=0 ~ND tt<=175» T HEN LET t2=1 680 LET b(~,3)=ss 690 LET b(k,4):tt 700 IF t1+t2>0 THEN 130 SUB 1540 705 IF t1+t2=1 THEN GO sue 1590 : 130 TO 730 710 IF t1=0 ~ND t2=0 THEN GO TO 730 720 130 SUB 1830 730 NEXT k 740 POR k=l TO 3 750 IF b(J(,,3) <0 THEN 130 TO 770 760 PLOT INT b(~,l) ,INT b(~,2): DRFlW INT b (IC. ,3) -INT b (IC. ,1) ,INT b(K,4)-INT b(IC.,2) 770·NEXT IC. 790 NEXT n 800 BEEP 0.1,,0: INPUT "Stampa Disegno _ U

mtAI

801 800 802 803 804 810 1000 1005

Co n t

.. , _\$

i

o l l

, I

IF i\$="S"

THEN

COPY

: 130 TO

IF i\$= .... THEN 130 TO 30 IF r\$="O" THEN 130 TO 500 GO TO 800 DI=\TA0 175,0,255 RESTOR É ' LET cz=COS iZ: LET 5z=SIN

i

1010 1015 1020 1025 1030

FOR i=l TO 2 FOR j=l TO 3 RERD a(i,j) NEXT j: NEXT i LET cX=COS iX: LET SX=5IN

i

1035 1040 1045 1050 1055

FOR i=l TO 2 FOR j=l TO 3 REA D d(i,j) NEXT J: NEXT· i LET cy=COS iY: LET sy=SIN

i

Z

x

Y

1060 1065 1070 1075 1080 1135 1140 1145 TO 1150 1155 1160 1165 1170 1175

FOR i=l TO 2 FOR J=l TO 3 RERD 9(i,J) NEXT j: NEXT RETURN IF iX<>0 THEN GO TO 1150 FOR i=l TO 3 LET 5 (i)=t (~,i): NEXT i: 130 1180 FOR j=l TO 2 LET S(j)=0 FOR n=l TO 3 LET s (j) =S (J)+ t (~,n) *d (J ,n) NEXT n: NEXT j LET s(3)=5(2): LET S(2)=5(1 (C'OI11;nua

a pagina

/3X)

137

Febbraio 1985

Febbraio 1985