0001 ! visicm2 PICHERET PEIRE PPCT211 PPCP309 10/02/85 VERs 21/1/87 0002 ! necessite les ROM VISICALC et hp75 I/O 0010 INTEGER P,C,R,F5,V5,V0,F1,X0,Y0,X1,Y1,Z0,Z1,Z2,S1,S4,S5,S6,S7 0020 RCLVAR 0030 T2$=CHR$(13)&"" @ M2=0 0040 DIM B0$[96],M$[96],T$[96] 0060 OPTION BASE 1 0061 DIM P1(4,4),P2(2),Q(4) 0062 INTEGER T0,T8,T,T2,T3(6) 0063 M1=100 @ GOSUB 8795 0064 T=GETSTATUS(0) @ ON K GOSUB 115,116,117,118,119 0065 PUTSTATUS 0,T 0066 FOR M=1 TO 2 0067 FOR N=1 TO 4 0070 READ P1(M,N) 0071 NEXT N 0072 NEXT M 0075 GOTO 151 0080 DATA 250,279,5050,4200,850,479,4850,3140 0082 DATA 250,4000,5050,7479,850,4220,4850,6879 0084 DATA 5250,279,10250,4200,5850,479,9850,3140 0086 DATA 5250,4000,10250,7479,5850,4220,9850,6879 0101 DATA 250,279,5050,7479,850,1079,4850,6679 0104 DATA 5250,279,10250,7479,5850,1079,9850,6679 0107 DATA 250,279,10250,4200,1850,479,9850,3140 0110 DATA 250,4000,10250,7479,1850,4220,9850,6879 0112 ! 0113 DATA 250,279,10250,7479,1850,1079,9850,6679 0115 RESTORE 113 @ T=0 @ RETURN 0116 RESTORE 101 @ T=120 @ RETURN 0117 RESTORE 107 @ T=121 @ RETURN 0118 RESTORE 80 @ T=122 @ RETURN 0119 IF T=0 THEN 63 ELSE GOSUBX T @ GOTO 65 0120 RESTORE 104 @ T=0 @ RETURN 0121 RESTORE 110 @ T=0 @ RETURN 0122 RESTORE 82 @ T=123 @ RETURN 0123 RESTORE 84 @ T=124 @ RETURN 0124 RESTORE 86 @ T=0 @ RETURN 0151 ! 0155 IF PRT$#":G1" THEN P1$=PRT$ @ PRINTER IS ":G1" 0400 DEF FNP7(X) = 2*PI*X/U1 0401 DEF FNP8(X,Y) 0421 IF 0#POS("NAERROR",GETVALUE$(X,Y,1)) THEN FNP8=0 @ GOTO 451 0426 FNP8=VAL(GETVALUE$(X,Y,1)) 0451 END DEF 0487 ! 0491 DEF FNP9(X,Y) ! CALCUL du PAS GRADUTIONS 0492 D=-1*(MAX((X-Y)/X,Y/X)/2-1) 0493 D=D*(X/10^INT(LOG10(X))) 0494 DATA 5,6,8,10,12,16,20,25,50,60,80,100 0495 RESTORE 494 @ FOR Y=1 TO 12 @ READ L @ L=L/10 0496 IF DPI*1.5 THEN K=1 ELSE K=-9 3619 PRINT "PA";Q(3);Q(4); 3620 PRINT "CP";K;0;"LB";GETLABEL$(0,T3(N1));" ";STR$(IP(T1/U1*100));"%";CHR$(3) 3625 A=A+T1 3635 P2(1)=COS(FNP7(A)) 3640 P2(2)=SIN(FNP7(A)) @ Q1=2 @ GOSUB 6700 3650 PRINT "PA";Q(1);Q(2);"PD";Q(3);Q(4);"PU" 3670 NEXT N1 @ PRINT "SI";L9/7;H9/7;"PA";P1(2,1);P1(2,4);"CP1,1"; 3675 PRINT "LB";GETLABEL$(T0,0);CHR$(3) 3999 GOTO 2270 4170 IF N1#1 THEN RETURN 4171 PRINT "PA";Q(1);Q(2);"XT;" 4190 PRINT "CP-.33,-1;LB";GETLABEL$(M,0);CHR$(3) @ RETURN 5000 ! 5010 T1=0 5020 U=INF @ U1=EPS 5030 FOR N=T0 TO T8 5040 T4=0 5050 FOR N1=1 TO T2 5060 GOSUB 7000 5070 IF U>T1 THEN U=T1 5080 T4=T4+T1 5090 IF T#2 THEN 5110 5100 IF U13 THEN 9123 9210 IF K=1 THEN RETURN 9220 IF K=2 THEN POP @ GOTO 9990 9230 IF K=3 THEN POP @ P=0 @ GOTO 9990 9399 RETURN 9982 IF V0 THEN CURSOFF 9983 SETWIN @ DISP MESSAGE$(2) @ RETURN 9990 PRINT "sp;" @ PRINTER IS DSP$ @ V5=3 @ STOVAR @ END