Section courante

A propos

Section administrative du site

Fonctions mathématiques simulées

Les sous-programmes suivants sont destinés aux utilisateurs de 4K BASIC souhaitant utiliser les fonctions transcendantales non intégrées à 4K BASIC. Les routines correspondantes pour ces fonctions dans la version 8K sont beaucoup plus rapides et plus précises. Les instructions REM de ces sous-programmes sont données à des fins de documentation uniquement et ne doivent pas être saisies car elles occupent une grande quantité de mémoire.

Voici les appels de sous-programme et leurs équivalents 8K :

Équivalent 8K Appel de sous-routine
P9=X9↑Y9 GOSUB 60030
L9=LOG(X9) GOSUB 60090
E9=EXP(X9) GOSUB 60160
C9=COS(X9) GOSUB 60240
T9=TAN(X9) GOSUB 60280
A9=ATN(X9) GOSUB 60310

Les sous-programmes inutiles ne doivent pas être saisis. Veuillez noter quelles variables sont utilisées par chaque sous-programme. Notez également que TAN et COS exigent que la fonction SIN soit conservée lorsque BASIC est chargé et initialisé :

  1. 60000 REM EXPONENTIATION: P9=X9↑Y9
  2. 60010 REM BESOIN: EXP, LOG
  3. 60020 REM VARIABLES UTILISEES: A9,B9,C9,E9,L9,P9,X9,Y9
  4. 60030 P9=1:E9=0: IF Y9=0 THEN RETURN
  5. 60040 IF X9<0 THEN IF INT(Y9)=Y9 THEN P9=1-2*Y9+4*INT(Y9/2):X9=-X9
  6. 60050 IF X9<>0 THEN GOSUB 60090 : X9=Y9*L9 : GOSUB 60160
  7. 60060 P9=P9*E9 : RETURN
  8. 60070 REM LOGARITHME NATUREL: L9=LOG(X9)
  9. 60080 REM VARIABLES UTILISEES: A9,B9,C9,E9,L9,X9
  10. 60090 E9=0:IF X9<=0 THEN PRINT "ERREUR FC DE LOG "; : STOP
  11. 60095 A9=1:B9=2:C9=.5 : REM CECI ACCELERE LA SUITE
  12. 60100 IF X9>=A9 THEN X9=C9*X9 : E9=E9+A9 : GOTO 60100
  13. 60110 IF X9<C9 THEN X9=B9*X9 : E9=E9-A9 : GOTO 60110
  14. 60120 X9=(X9-.707107)/(X9+.707107) : L9=X9*X9
  15. 60130 L9=(((.598979*L9+.961471)*L9+2.88539)*X9+E9-.5) * .693147
  16. 60135 RETURN
  17. 60140 REM EXPONENTIEL: E9=EXP(X9)
  18. 60150 REM VARIABLES UTILISEES: A9,E9,L9,X9
  19. 60160 L9=INT(1.4427*X9)+1 : IF L9<127 THEN 60180
  20. 60170 IF X9>0 THEN PRINT "ERREUR OV DE EXP "; : STOP
  21. 60175 E9=0 : RETURN
  22. 60180 E9=.693147*L9-X9 : A9=1.32988E-3-1.41316E-4*E9
  23. 60190 A9=((A9*E9-8.30136E-3)*E9+4.16574E-2)*E9
  24. 60195 E9=(((A9-.166665)*E9+.5)*E9-1)*E9+1 : A9=2
  25. 60197 IF L9<=Q THEN A9=.5 : L9=-L9 : IF L9=0 THEN RETURN     
  26. 60200 FOR X9=1 TO L9:E9=A9*E9:NEXT X:RETURN
  27. 60210 REM COSINE: C9=COS(X9)
  28. 60220 REM N.B. SIN DOIT ETRE CONSERVE AU TEMPS DE CHARGEMENT
  29. 60230 REM VARIABLES UTILISEES: C9,X9
  30. 60240 C=SIN(X9+1.5708) : RETURN
  31. 60250 REM TANGENTR: T9=TAN(X9)
  32. 60260 REM NÉCESSITE COS (SIN DOIT ÊTRE CONSERVÉ AU TEMPS DE CHARGEMENT)
  33. 60270 REM VARIABLES UTILISEES: C9,T9,X9
  34. 60280 GOSUB 60240 : T9=SIN(X9)/C9 : RETURN
  35. 60290 REM ARCTANGENT: A9=ATN(X9)
  36. 60300 REM VARIABLES UTILISEES: A9,B9,C9,T9,X9
  37. 60310 T9=SGN(X9): X9=ABS(X9): C9=0 : IF X9>1 THEN C9=1 : X9=1/X9
  38. 60320 A9=X9*X9 : B9=((2-86623E-3*A9-1-61657E-2)*A9+4-29096E-2)*A9
  39. 60330 B9=((((B9-7-5289E-2)*A9+-106563)*A9-.142089)*A9+.199936)*A9
  40. 60340 A9=((B9-.333332)*A9+1)*X9 : IF C9=1 THEN A9=1-5708-A9
  41. 60350 A9=T9*A9 : RETURN


Dernière mise à jour : Mercredi, le 29 mars 2023