Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Référence de commandes et fonctions
Les premiers pas
Les fondements d'Altair BASIC
L'Extended BASIC
Comment est charger BASIC 4K et 8K
Comment est chargé Extended BASIC
Boîte de dialogue d'initialisation
Conseils d'espace
Conseils de vitesse
Fonctions mathématiques simulées
Conversion de programmes de base non écrits pour l'Altair BASIC
Utilisation de l'interface ACR
Référence des codes d'erreurs
Fonctions dérivées
Codes de caractères ASCII
Préface
Notes légal
Dictionnaire
Recherche

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


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Mercredi, le 29 mars 2023