Sans disposer des chiffres de ventes officiels, j’ai l’impression que le HP-71B était moins répandu en France que ses concurrents japonais de la même génération ; à savoir le Sharp PC-1500 et le Casio PB-700. La première fois que j’ai entendu parler de la 71B, c’est lorsque je me suis intéressé à nouveau aux machines rétro il y a quelques années, et notamment à la HP-28S de 1988. En effet, ces deux HP partagent un certain nombre de points communs, et notamment leur architecture CPU Saturn 4 bits. C'est grâce à la documentation publique abondante de la 71B que les développements communautaires les plus intéressants de la 28S, bien plus fermée, ont été rendus possibles. Néanmoins, malgré les sept ouvertures présentes sur son boitier, en plus de la trappe à pile, de la prise pour un chargeur externe et de la fente pour le lecteur de cartes magnétiques, l'adjectif "ouvert" s'applique difficilement à la 71B. En effet, bien que sa documentation soit abondante, il reste selon moi un produit propriétaire fermé, qui ne supporte que les standards HP. Par exemple, l'échange de données avec un ordinateur, à travers l'interface HP-IL, reste onéreux et compliqué, même en 2018. Malgré ces réticences, j’ai fini par craquer, et par enchérir sur une HP-71B en bon état sur eBay.
La première chose que j'ai eu envie de calculer, c'est la factorielle de 70. En effet, la plupart des calculettes équivalentes sont limitées à 69!. Ici, le résultat approché de FACT(70) s'affiche sans erreur de dépassement de capacité : 1.197857167E100. Le HP-71B est effectivement la première calculette à proposer une implémentation de la norme IEEE 754 (1985). On a par exemple la commande INF pour symboliser l'infini, ou encore MAXREAL qui correspond à 9.99999999999E499 sur HP-71B.
Sur le HP-71B, quatre trappes en face avant sont prévues pour insérer des extensions mémoires. |
Les touches "Rotate and Clic" sont typiques des HP de l'époque, mais leur disposition est ici originale. L'usage tenu à deux mains, loin d'une table, est possible ; contrairement à la configuration à charnière de ma PB-1000 favorite qui est conçue pour être utilisée posée à plat exclusivement. La tenue de cette HP-71B rigide, en manipulant le clavier à deux pouces, est possible occasionnellement. A l'allumage, on se retrouve en mode d'édition "remplacement", ce qui est classique pour cette génération de pocket. Par contre, la touche [INS] pour le mode insertion est ici nommée [I/R]. Dans le même style, l'habituelle touche [DEL] est ici remplacée par [-CHAR]. D'autre part, la touche [SPC] n'est pas plus large que les autres.
Dans la documentation il est mentionné trois modes d'opération :
- mode éxécution Basic. Dans ce mode, il est possible de faire des calculs directs, sans taper "PRINT". C'est le mode par défaut.
- mode édition programme Basic. En fait, c'est presque le même que le (1). Mais la machine détecte automatiquement que la ligne de programme en cours de saisie commence par un numéro.
- mode calcul. On doit l'appeller par la combinaison des deux touches [f][CALC]. Ce n'est pas un mode RPN, mais il affiche néanmoins le résultat des calculs intermédiaires. L'équivalent de la touche [ANS] des Casio est ici nommée [RES].
Le HP-71B est facile à utiliser comme une calculette en notation algébrique directe. |
10 INPUT "N?";N
20 J=INT(SQR(N)) @ I=2
30 IF FP(N/2)=0 THEN 80
40 FOR I=3 TO J STEP 2
50 IF FP(N/I)=0 THEN 80
60 NEXT I
70 BEEP @ PRINT "1 "; @ GOTO 10
80 PRINT I; @ GOTO 10
Le test sur le nombre 524 287 s'exécute ici en 10 secondes environ. Ce score est un peu meilleur que celui de ses contemporains de 1984, à savoir le Casio PB-700 et le Sharp PC-1500A. Mais, bien entendu, ce n'est pas seulement avec le seul argument de la vitesse que l'on peut justifier un tel écart de prix.
Mon deuxième programme de test, qui teste si un nombre est de Keith, et qui, dans le cas contraire affiche le nombre de Keith suivant, est lui aussi très simple à convertir. Si vous avez oublié ce qu'est un nombre de Keith, j'avais détaillé un algorithme dans mon article précédent sur la WP-34S.
10 DIM N(10)
20 INPUT"N?";N1
30 L=INT(LOG10(N1))+1 @ M=N1 @ S=0
40 FOR I=L TO 1 STEP -1
50 N(I)=MOD(M,10) @ S=S+N(I) @ M=INT(M/10) @ NEXT I
60 I=I+1 @ IF I>L THEN I=1
70 M=2*S-N(I) @ N(I)=S @ S=M @ IF S<N1 THEN 60
80 IF S=N1 THEN BEEP @ PRINT S;"est un Keith" @ END
90 N1=N1+1 @ GOTO30
En conclusion, cette machine polyvalente et riche en fonctions reste toujours passionnante même 34 ans plus tard. En dehors de l'étroitesse de son afficheur LCD, elle n'a qu'un défaut majeur, c'est son prix !
Aucun commentaire:
Enregistrer un commentaire