Discuter:J (langage)

Un article de Wikipédia, l'encyclopédie libre.

[modifier] extrait de la page principale

A reformuler avant insertion :



[modifier] NB. <bof> « J.exe »

... et [Windows (plusieurs version)], [MS D.O.S.], [Windows CE pour le Pocket PC] etc. La documentation malheureusement en anglais comporte plus d'une douzaine d'ouvrages. Ce language « dévore » les calculs numériques, booléens, vectoriels, matriciels ... connaît les nombres premiers, complexes, binaires, bases 2 à 35 ... Le programme est entièrement gratuit! y compris la licence depuis la version 5.03a, et s'installe dans son répertoire sans aucun débordement ailleurs.

NB.------------------------------------------------------------

exemple: par « copier/ coller » depuis la fenêtre J503a.exe; utilisée comme interpréteur, sans 'programmation'; seuls les NB. sont ajoutés, (c'est le commentaire); le minuscule PPC dispose de la version 5.01, entièrement compatible, y compris les fichiers programme en code ASCII.

NB.------------------------------------------------------------

les calculs sont effectués de la droite vers la gauche, à l'envers, surprenant, sans priorité entre les opérateurs, (plusieurs dizaines). Le système autorise

  plus=: +
  mult=: * 
  et   3 plus 5 mult 8     ? à qui la priorité?

NB.------------------------------------------------------------

  • NB. générateur de nombres entiers

i.12

0 1 2 3 4 5 6 7 8 9 10 11

  • NB. la somme

+/i.12

66

  • NB. table de Pythagore addition
  • NB. affectation à un nom =:

entier+/entier=:i.12

 0  1  2  3  4  5  6  7  8  9 10 11
 1  2  3  4  5  6  7  8  9 10 11 12
 2  3  4  5  6  7  8  9 10 11 12 13
 3  4  5  6  7  8  9 10 11 12 13 14
 4  5  6  7  8  9 10 11 12 13 14 15
 5  6  7  8  9 10 11 12 13 14 15 16
 6  7  8  9 10 11 12 13 14 15 16 17
 7  8  9 10 11 12 13 14 15 16 17 18
 8  9 10 11 12 13 14 15 16 17 18 19
 9 10 11 12 13 14 15 16 17 18 19 20
10 11 12 13 14 15 16 17 18 19 20 21
11 12 13 14 15 16 17 18 19 20 21 22
  • NB. table de Pythagore mutiplication

entier*/entier=:i.12

0  0  0  0  0  0  0  0  0  0   0   0
0  1  2  3  4  5  6  7  8  9  10  11
0  2  4  6  8 10 12 14 16 18  20  22
0  3  6  9 12 15 18 21 24 27  30  33
0  4  8 12 16 20 24 28 32 36  40  44
0  5 10 15 20 25 30 35 40 45  50  55
0  6 12 18 24 30 36 42 48 54  60  66
0  7 14 21 28 35 42 49 56 63  70  77
0  8 16 24 32 40 48 56 64 72  80  88
0  9 18 27 36 45 54 63 72 81  90  99
0 10 20 30 40 50 60 70 80 90 100 110
0 11 22 33 44 55 66 77 88 99 110 121
  • NB. les 12 premiers nombres premiers
  p:i.12

2 3 5 7 11 13 17 19 23 29 31 37

  • NB. recherche de facteurs premiers
  • NB. sur des nombres premiers
  ,q:p:i.12

2 3 5 7 11 13 17 19 23 29 31 37

NB. les nombres premiers sont ... premiers.
  • NB. décomposition en facteurs
  q:4 8 9 18 28 100 254
2   2 0 0
2   2 2 0
3   3 0 0
2   3 3 0
2   2 7 0
2   2 5 5
2 127 0 0
  • NB. matrice 2 lignes 2 colonnes
   2 2$1 2 3 4
1 2
3 4
  • NB. inversion de matrice
   %.2 2$1 2 3 4
 _2    1
1.5 _0.5
  • NB. déterminant
  -/ . * 2 2$1 2 3 4

_2

  • NB. racine carrée de moins 1 -> un nombre complexe
  (_1)^0.5

0j1

  • NB. racines carrées en séries
  %:_1 _2 _4 2 9

0j1 0j1.41421 0j2 1.41421 3

  • NB. un carré en simple précision (20 chiffres)
  *:123456789012345678901234567890

1.52416e58

  • NB. le même carré en précision étendue (entiers seulement)
  *:123456789012345678901234567890x

15241578753238836750495351562536198787501905199875019052100

  • NB. décomposition binaire = puissances de 2
  #:8+2+1

1 0 1 1

  • NB. 8 premiers nombres entiers en binaires
  • NB. < avec un cadre
  i.8

0 1 2 3 4 5 6 7

  <#: i.8
+-----+
|0 0 0|
|0 0 1|
|0 1 0|
|0 1 1|
|1 0 0|
|1 0 1|
|1 1 0|
|1 1 1|
+-----+
  • NB. trois additions en une fois
  2 3 4+3 4 5

5 7 9

  • NB. les douze premiers carrés « naturels »
  (i.12) ,. *:i.12
 0   0
 1   1
 2   4
 3   9
 4  16
 5  25
 6  36
 7  49
 8  64
 9  81
10 100
11 121

NB.------------------------------------------------------------

  • NB. calcul de PI par la série de LIEBNITZ
  • NB. PI=4 x (1 -1/3 +1/5 -1/7+ 1/9+ 1/11 ....)
  • NB. somme alternée peu convergente
  • NB. visualisation « pas à pas »
    • NB. les nombres entiers
  i.20

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

  • NB. leurs doubles
  +:i.20

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38

  • NB. 1 en plus -> la suite des nbres impairs
  >:+:i.20

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39

  • NB. les inverses
  %>:+:i.8

1 0.333333 0.2 0.142857 0.111111 0.0909091 0.0769231 0.0666667

  • NB. 4 fois la somme alternée des inverses // 20 termes
 4*-/ % >:+:i.20

3.09162

  • NB. 200 termes
 4*-/ % >:+:i.200

3.13659

  • NB. 20000 termes
 4*-/ % >:+:i.20000

3.14109

  • NB. affichage 20 chiffes (maximum)
  (9!:11)20
 4*-/ % >:+:i.20000

3.1415426535898248

  • NB. 1 fois PI puissance 1
  1p1

3.1415926535897931

  • NB. écart
 1p1-4*-/ % >:+:i.20000

4.9999999968353137e_5

  • NB. ratio
 1p1%4*-/ % >:+:i.20000

1.0000159157476061

  • NB. 20 millions de termes
  • NB. le disque s'agite (RAM 1/2 gigaoctet)
 1p1%4*-/ % >:+:i.20e6

1.0000000159154945

  • NB. la seule ligne utile, 2 millions de termes
  • NB. 14 caractères & 2 secondes suffisent.
           4*-/ % >:+:i.  2e6
           3.1415921535897935
  • NB. <eof>