BASIC 1000D
![]() 10 mai 2000 révisé le 15 septembre 2008 |
![]() |
Le Basic 1000d est un langage de programmation permettant la résolution exacte, sous forme symbolique, de problèmes mathématiques (Calcul Formel). Sa programmation, très proche des Basics usuels, permet un apprentissage aisé. A l'origine (1990), il était commercialisé pour Atari ST et TT. C'est maintenant un logiciel gratuit (freeware, graticiel) avec ses fichiers annexes et son source commenté en assembleur MC68K. Ce site distribue une version (v1.20) spécialement adaptée pour l'utilisation sur Mac avec l'émulateur NoSTalgia ou sur PC avec l'émulateur PaCifiST.
Le logiciel Basic 1000d (version 1.20)
est disponible sous forme d'une image-disque,
disk1.st.sit.hqx ou 1000dst.zip (les fichiers
décompressés ont des noms
différents mais sont identiques), qui est directement utilisable par les
émulateurs.
L'image-disque contient le programme 1000D.PRG, les bibliothèques MATH.Z et STND.Z,
le fichier de
configuration CFG1000D.Z, et le fichier d'aide en ligne HELP.Z.
L'image-disque 1000dprg.zip contient plusieurs programmes
intéressants écrits en Basic 1000d.
Ces programmes, en particulier 0TEST.Z, peuvent être utilisés pour
tester les divers émulateurs.
Les utilitaires
mac2st et st2mac pour échanger des fichiers entre le Mac et l'émulateur NoSTalgia
sont fournis avec leurs sources en C.
Ils permettent aussi la traduction de fichiers textes.
Pour ceux qui n'utilisent pas un Mac,
un dossier 1000d contenant
les fichiers 1000D.PRG,
MATH.Z, STND.Z, CFG1000D.Z et HELP.Z est également disponibles sous forme d'une archive zip.
Sur Mac, ce dossier peut être créé par st2mac à partir de disk1.st.
![]() |
|
Le source du Basic 1000d en assembleur MC68K (680x0) est disponible.
Jusqu'à
présent, je ne possédais qu'une documentation manuscrite de ce source (description des algorithmes et
commentaires du code). Je suis en cours d'inclure cette
documentation dans le source du Basic 1000d.
L'archive 1000d.src contient le fichier source SYN.Z (sans commentaires).
Ce source s'assemble avec ASM.PRG, un assembleur freeware qui
fonctionne sur Atari TT, mais ni sur ST, ni sous l'émulateur NoSTalgia.
En modifiant le début de la source (mettre FLAG30=1 et FLAGTT=1),
vous pouvez assembler une version plus rapide pour Atari TT.
ASM.DOC + ASM2.DOC est une doc 1stWord de l'assembleur.
Le fichier algorthm.c contient le source du Basic 1000d avec la description
des algorithmes et les commentaires sur le code.
Les commentaires sont en anglais et en style C++.
Ils ressortiront en couleur si vous utilisez un éditeur de texte C++.
Pour le moment, la version disponible est une version préliminaire qui
ne contient des commentaires et algorithmes que sur les sous-programmes
de manipulations des entiers, rationnels et nombres flottants
(y compris les fonctions exp, log, sin, tan, atn).
Pour la documentation sur le language assembleur voir le site :
La documentation est disponible sous forme de sources TEX ou de
fichiers pdf (affichage web rapide).
Le format TEX nécessite un logiciel comme MAC-GUT (shareware).
Manuel de référenceFac-similé électronique du livre (1990, 529 pages, en français). Le fichier min donne une version plus facilement chargeable du manuel où les illustrations et les deux tables de l'appendice (codes ASCI et motifs de remplissage) ont été ôtées. |
La mise à jour du manuel de référence (1992, en français, 24 pages) corrige des erreurs du Manuel de référence et décrit de nouvelles fonctions.
Flottants réels et complexes jusqu'à 1230 chiffres significatifs
La racine carrée de 2 est calculé avec 1000 chiffres en 1.3 s
Fonctions spéciales (Gamma(x), erf, coefficient 3j, ...)
Entiers et nombres rationnels jusqu'à plus de 19000 chiffres traités exactement
(factorielle 100 est calculé exactement en 0.12 s)
Test de primalité et facteurs premiers
(par exemple la factorisation de 267 - 1 en 193707721 * 761838257287
s'obtient en 12 minutes)
Base de 2 à 36
Calculs modulaires
Développement, substitution et factorisation des polynômes et fractions rationnelles
(x9 + y9 est factorisé en 1 s)
Calculs dans les extensions algébriques
Dérivation, intégration et sommation en termes finis
Géométrie plane (traitement algébrique)
Développements limités
Calculs matriciels (déterminants, inverses)
Résolution exacte de systèmes d'équations
Aide en ligne, éditable à loisir
Bibliothèques de programmes qui enrichissent le Basic de nouvelles fonctions
(Plus de 300 programmes en 2 bibliothèques sont fournis)
Débogueur très sophistiqué
Fonctions musicales, graphiques, tracé de courbes
Programmation structurée sans numéros de lignes
Fonctions et procédures récursives
Le Basic 1000d 1.20 fonctionne parfaitement sous l'émulateur NoSTalgia 0.62
(avec TOS 1.0, 1.4 ou 1.6) de Philippe Gérin.
L'émulateur est si splendide que c'est bien mieux que sur un vrai Atari ST.
Sur un iMAC DV avec un processeur G3 à 400 MHz, le Basic tourne
environ 6 fois plus vite que sur Atari ST avec un processeur 68000 à
8 MHz.
Par contre, le Basic 1000d ne fonctionne pas correctement
sous l'émulateur PowerST 0.2 : certaines fonctions
renvoient des résultats faux ou bloquent le programme.
Par exemple, l'instruction
print intsqr(2^67-1)
ne renvoie pas 12148001999 sous PowerST 0.2.
D'après Philippe Gérin, le Basic 1000d fonctionne bien sous la
version 0.3 de PowerST.
Le Basic 1000d 1.20 fonctionne parfaitement sous l'émulateur PaCifiST de Fréderic Gidouin (j'ai testé les versions v0.46 et v0.48 avec le TOS 1.62). Sur un PC à 450 MHz, le Basic tourne environ 10 fois plus vite que sur Atari ST.
Le Basic 1000d ne fonctionne pas correctement
sous l'émulateur WinSTon v0.4 de Paul Bates.
Certaines fonctions
renvoient des résultats faux ou bloquent le programme.
Par exemple, les instructions :
precision 100
print sin(2)
ne renvoient pas
0.9092974268256816953960198659117448427022549714478902683789730115309673015407
835446201266889249593803~
![]() ![]() Vous voulez joindre l'anneau Anneau Atari Francophone ? |
---|
Site maintenu par Jean-Jacques Labarthe![]() |
[Saute Préc.] [Préc.] [Suiv.] [Sauter suiv.] [Aléatoire] [Liste des sites] |