Sharp PC-E500/E500S Technikersoftware

SBDF.42$

bunpu subroutines

SBDF.42$ (3.923 Bytes)

600 ' SBDF.42$ (bunpu subroutines)
610 ' INPUT DATA
620 PRINT P3$;:Q9$="":INPUT Q9$
630 IF Q9$="" THEN RETURN ELSE Q9=EVAL Q9$:RETURN
2000 *NU ' NORMAL UPPER
2010 QW1=ABS QX:IF QW1>7THEN P6=0:GOTO 2050
2020 P6#=QW1*(3.80036E-05+QW1*(4.88906E-05+QW1*0.000005383))
2030 P6#=1+QW1*(0.049867347+QW1*(2.11410061E-02+QW1*(3.2776263E-03+P6#)))
2040 P6=0.5*P6#^(-16)
2050 IF QX<0THEN P6=1-P6
2060 RETURN
2070 *NP ' NORMAL PERCENT
2080 IF P6=0.5THEN QX=0:RETURN
2090 IF P6>0.5THEN QW1=1-P6 ELSE QW1=P6
2100 IF QW1=0.05THEN QX=1.64485:GOTO 2200
2110 IF QW1=0.025THEN QX=1.95996:GOTO 2200
2120 IF QW1=0.01THEN QX=2.32635:GOTO 2200
2130 IF QW1=0.005THEN QX=2.57583:GOTO 2200
2140 QW1=-LN (4*QW1*(1-QW1))
2150 QX#=(-3.231081277E-09*QW1+8.360937017E-08)*QW1-1.04527497E-06
2160 QX#=(QX#*QW1+5.824238515E-06)*QW1+6.841218299E-06
2170 QX#=((QX#*QW1-2.250947176E-04)*QW1-8.36435359E-04)*QW1+3.706987906E-02
2180 QX=QX#*QW1+1.570796288
2190 QX=SQR (QW1*QX)
2200 IF P6>0.5THEN QX=-QX
2210 RETURN
2220 *CU 'CHI2 UPPER
2230 QW2=QX:IF QX=0THEN P6=1:RETURN
2240 IF Q5>40THEN 2340
2250 QIOS=2-INT Q5+2*INT (INT Q5/2)
2260 QW3=SQR QX:IF QIOS=1THEN 2280
2270 P6=EXP (-QX/2):QF=P6/2:GOTO 2290
2280 QX=QW3:GOSUB *NU:IF R5 THEN 2370 ELSE P6=2*P6:QF=0.3989422804#*EXP (-QW2/2)/QW3
2290 IF QIOS>(Q5-1)THEN 2330
2300 FOR QIO=QIOS TO Q5-1STEP 2
2310 QF=QF*QW2/QIO:P6=P6+2*QF
2320 NEXT QIO
2330 GOTO 2360
2340 QW3=2/(9*Q5):QX=(CUR (QX/Q5)-1+QW3)/SQR QW3
2350 GOSUB *NU:IF R5 THEN 2370
2360 QX=QW2
2370 RETURN
2380 *CP ' CHI2 PERCENT
2390 IF Q5=1THEN 2460ELSE IF Q5=2THEN QX=-2*LN P6:RETURN
2400 QX1=0:QX2=1:QX3=0.5:QP=P6
2410 QX=1/QX3-1:GOSUB *CU:IF R5 THEN 2450
2420 IF P6<=QP THEN QX1=QX3 ELSE QX2=QX3
2430 QX0=QX3:QX3=(QX1+QX2)/2:IF ABS (QX3-QX0)>(0.00001*QX3)THEN 2410
2440 QX=1/QX3-1:P6=QP
2450 RETURN
2460 QW2=P6:P6=P6/2:GOSUB *NP:IF R5 THEN 2450 ELSE QX=SQU QX:P6=QW2:RETURN
2470 *TU ' T UPPER
2480 RADIAN :IF Q5<>INT Q5 THEN 2550
2490 P5=Q5:Q5=1:QW4=QX
2500 QX=SQU QX
2510 GOSUB *FU:IF R5 THEN 2540
2520 P6=P6/2:Q5=P5:QX=QW4
2530 IF QX<0THEN P6=1-P6
2540 RETURN
2550 QW5=Q5:Q5=INT QW5:GOSUB 2490:IF R5 THEN 2580 ELSE QW6=P6
2560 Q5=INT QW5+1:GOSUB 2490:IF R5 THEN 2580
2570 P6=(P6-QW6)*(QW5-INT QW5)+QW6:Q5=QW5
2580 RETURN
2590 *TP ' T PERCENT
2600 RADIAN :GOSUB *NP:IF R5 THEN 2660
2610 QW2=SQU QX
2620 QW1=QX+(1#+QW2)*QX/(4*Q5)+((5*QW2+16)*QW2+3)*QX/(96*SQU Q5)
2630 QW1=QW1+(((3#*QW2+19)*QW2+17)*QW2-15)*QX/(384*Q5^3)
2640 QW1=QW1+((((79#*QW2+776)*QW2+1482)*QW2-1920)*QW2-945)*QX/(92160*Q5^4)
2650 QX=QW1+(((((27#*QW2+339)*QW2+930)*QW2-1782)*QW2-765)*QW2+17955)*QX/(368640*Q5^5)
2660 RETURN
2670 *FU ' F UPPER
2680 RADIAN :QW1=P5/(P5+Q5*QX)
2690 QW2=SQR (1-QW1)
2700 QMD=2*INT (Q5/2)-Q5+2
2710 QND=2*INT (P5/2)-P5+2
2720 ON QMD*2-QND GOTO 2770,2790,2780
2760 P6=1#-QW2:QW3=QW1*QW2/2:GOTO 2800
2770 P6=1#-2/PI *ATN (QW2/SQR QW1):QW3=QW2*SQR QW1/PI :GOTO 2800
2780 P6=SQR QW1:QW3=(1#-QW1)*P6/2:GOTO 2800
2790 P6=QW1:QW3=(1#-QW1)*P6
2800 FOR QIF=QND TO P5 STEP 2
2810 QJFU=QIF
2820 IF (P5<=QIF)OR (ABS (2#/QIF*QW3)<(0.00001*P6))THEN 2860
2830 P6=P6-2#/QIF*QW3
2840 QW3=QW3*QW1*(QMD/QIF+1)
2850 NEXT
2860 FOR QIF=QMD TO Q5 STEP 2
2870 IF (Q5<=QIF)OR (ABS (2#/QIF*QW3)<(0.00001*P6))THEN 2910
2880 P6=P6+2#/QIF*QW3
2890 QW3=QW3*(1-QW1)*(QJFU/QIF+1)
2900 NEXT
2910 RETURN
2920 *FP ' F PERCENT
2930 RADIAN :IF Q5>30AND P5>30THEN 3000
2940 QX1=0:QX2=1:QQ=0.5:QP=P6
2950 QX=(1/QQ-1)*P5/Q5:GOSUB *FU:IF R5 THEN 2990
2960 IF P6<=QP THEN QX1=QQ ELSE QX2=QQ
2970 QX0=QQ:QQ=(QX1+QX2)/2:IF ABS (QQ-QX0)>(0.00001*QQ)THEN 2950
2980 QX=(1/QQ-1)*P5/Q5:P6=QP
2990 RETURN
3000 GOSUB *NP:IF R5 THEN 3050
3010 QW1=2/9/Q5
3020 QW2=2/9/P5
3030 QW3=(1#-QW1)*(1#-QW2)+QX*SQR (SQU (1#-QW1)*QW2+SQU (1#-QW2)*QW1-QW1*QW2*SQU QX)
3040 QX=(QW3/(SQU (1#-QW2)-QW2*SQU QX))^3
3050 RETURN
10000 *ERR IF ERL =630 RESUME 620
10010 PRINT " Answer not found":R5=1:RESUME 3050

Generated by (c) Casio FX-850P/FX-880P Notepad 2.02

(c) by mani.becker@web.de - http://blog.manib.bplaced.net