dimanche 15 mars 2020

La HP-12c et le mystère de la façade dorée

Quand on évoque la HP-12C, on ne peut s'empêcher de rappeler l'exceptionnelle longévité de cette calculatrice financière sortie en 1981. Elle est en effet toujours diffusée, sans interruption depuis 39 ans au moment où j'écris ces lignes. Seuls quelques détails permettent de distinguer ses différentes évolutions matérielles. La version vendue actuellement est nommée HP-12C Platinum. Sa façade est devenue grise métallisée, et non plus dorée comme les anciennes. Cependant, ses fonctions n'ont presque pas évolué depuis quatre décennies. Par quel miracle cet objet électronique a-t-il survécu si longtemps, bien au delà de la durée initialement estimée par ses concepteurs ? Quelle est donc la vraie raison du succès planétaire de la HP-12C ? Même la durée de vie des trois piles bouton LR44 de la version originale est exceptionnelle : 12 ans ; et même parfois plus ! On sourit en apprenant que les concepteurs HP auraient souhaité doter la machine originale d'un indicateur du niveau des piles. Enfin, la robustesse de cette série HP Voyager est indéniable. Le positionnement du clavier en mode paysage aurait été choisi pour cette raison : pour une protection optimale de l'écran LCD entre les bordures plastique ; si l'on en croit Dennis Harms (le chef de projet de la première HP-12C).

HP-12C de 1982

Je n'ai jamais eu l'occasion d'utiliser intensivement une calculatrice financière, ni dans mon cursus, ni dans ma profession. Pour le moment, cette HP-12C est le seul modèle non scientifique de ma collection. En réalité, pour couper les cheveux en quatre, ma HP-30B était bien une calculette financière au départ. Mais sa modification en WP-34S scientifique est quasi définitive car l'overlay est collé sur les touches. Sinon, si je devais choisir une de mes machines pour effectuer un calcul financier en 2020, peut-être que je prendrais ma volumineuse et récente Casio fx-CP400 ? D'abord parce que la liste des fonctions financières pré-programmées dans cette Casio est plutôt longue. Ensuite, parce que son mode d'emploi est relativement intuitif. On pourrait même affirmer que ses fonctions sont auto-documentées. Mais mon choix serait de toute évidence stupide pour les calculs utilisant des fonctions directement accessibles sur la HP-12C. Je vais prendre un exemple pour illustrer mon propos : si un livre coûte 85 € HT, quel est son prix TTC ? Sur la Casio, comme sur de nombreuses machines modernes, c'est laborieux. Tout d'abord, le démarrage n'est pas instantané comme sur la HP-12C. Ensuite, on doit naviguer dans un cliquodrome, éventuellement aidé du stylet, pour configurer correctement l'affichage :

Appui sur [Settings] (à gauche)
puis [Format de base] 
Format nombre [Fixe 2] et cocher [Calcul décimal] 
[Valid]

Ensuite le calcul proprement dit :

85+(85x5.5%)[EXE]

Le problème sur la Casio, c'est qu'il n'y a pas de touche [%] physique, on doit donc aller la chercher de la façon suivante :

[Keyboard]
[abc]
[Symb.]
[%]

Pour d'autres calculs éventuels à suivre, le clavier virtuel pourra rester affiché ; en occupant la moitié inférieure de l'écran. Nous allons voir que ces petits tracas n'existent pas sur HP-12C. Tout d'abord, le format d'affichage est à deux décimales par défaut après une ré-initialisation complète. Sinon, pour passer au format monétaire, c'est deux touches :

[f] 2

Ensuite, pour effectuer le calcul décrit ci-dessus, c'est 8 touches (moitié moins que sur la Casio) :

85 [ENTER] 5.5 [%] [+]

Le résultat correctement arrondi pour le prix du livre est donc 89,68€ TTC.

Un dernier petit avantage de la HP, c'est qu'elle a affiché le montant de la TVA en résultat intermédiaire (4,68€). L'affichage explicite de cette valeur nécessiterait de manipuler encore le clavier et l'écran tactile de la fx-CP400... ou bien, de changer de méthode ? L'usage du tableur intégré à la Casio serait sans doute une alternative viable. Mais sans contestation possible, sur cette épreuve, c'est une victoire pour la HP-12C.

En tant que collectionneur, je m'intéresse parfois à la provenance et à l'histoire des machines que je manipule. La HP-12C que je tiens entre mes mains a été vendue dans la région Lyonnaise, dans un magasin nommé "DOM" (fermé depuis longtemps). Elle porte le numéro de série 2201A02826, que l'on peut décoder grâce aux informations fournies par le HP Museum. Les numéros de série des HP anciennes sont en effet au format YYWWC##### dans lequel :
  • 'YY' est le nombre d'années qui se sont écoulées depuis 1960
  • 'WW' correspond approximativement à la semaine de fabrication
  • 'C' est la première lettre du pays en anglais : A pour "America" (USA), B pour "Brazil", G pour "Germany", J pour "Japan", S pour "Singapore" et M pour "Malaysia" ou "Indonesia".
  • '#####' est enfin un numéro unique dans l'année et la semaine de fabrication du pays concerné
Ma HP-12C est donc la 2826e machine à être sortie d'une usine américaine la semaine 01 en janvier 1982. Toutes les calculettes HP actuelles sont bien entendu produites en Chine. En ces temps de Covid-19, on pointe du doigt, à juste titre, le résultat de certaines politiques industrielles. Pour la production des objets électroniques en Europe, notre dépendance vis à vis de la Chine est sans doute devenue bien trop élevée. Quant aux très beaux clones de calculatrices HP produits par la société SwissMicro (DM12L par exemple) avec leurs composants STMicroelectronics, il n'est pas évident de comprendre le rôle précis de chaque site (design, fabrication, assemblage).

Clairement, les performances sont secondaires une machine comme la HP-12C. Je dirais même plus :  certains financiers, obnubilés par la justesse du résultat, seraient même rassurés par un temps d'attente substantiel sur les calculs complexes. Cela dit, par rapport à mes autres machines, de quoi est réellement capable ce CPU de la série "HP Nut" . Celui-ci est cadencé à la modeste fréquence de 220 kHz et associé à une puce nommée avec humour "R2D2" (RAM/ROM/Display Driver). Pour évaluer sa relative lenteur, je vais faire tourner mon programme habituel de test de primalité naïf, dans une version strictement identique à celle de la HP-25 :

Test de primalité pour HP-12C

Le calcul sur le nombre 524287 prend environ 5 minutes sur la HP-12C qui est donc étonnamment plus rapide que la HP-15C au CPU identique. Il est vrai que ma version pour la HP-12C est légèrement différente ; car les labels numérotés ne sont pas disponibles.

Pour conclure, voici ci-dessous un autre programme, un peu plus complexe, que j'ai converti pour la HP-12C. Il permet de compter le nombre de façons différentes d'obtenir 1€ (ou 100 centimes) en utilisant les pièces existantes (1 centime, 2 centimes, 5 centimes, 10 centimes, 20 centimes, 50 centimes et 1 €). On suppose qu'on dispose d'autant de pièces de chaque sorte que nécessaire. Mon algorithme en Basic pour Casio PB-1000 est le suivant :

10 INPUT N:T=1
20 FOR A=0 TO N STEP 50
30 FOR B=A TO N STEP 20
40 FOR C=B TO N STEP 10
50 FOR D=C TO N STEP 5
60 T=T+INT((N+2-D)/2)
70 NEXT D:NEXT C:NEXT B:NEXT A
80 PRINT T

On peut lancer ce programme sur la Casio après avoir tapé si nécessaire la commande CLEAR 5000,900,7000 (par exemple) pour obtenir une partition mémoire suffisante. Le même programme porté sur la HP-12C, en programmation par séquence de touches et en RPN, est évidemment un peu moins lisible :


Malgré son côté un peu rebutant, la saisie de ce listing est relativement rapide sur la HP-12C. Attention toutefois aux erreurs, car son "éditeur" est ultra rudimentaire : l'insertion entre deux pas de programme n'est pas possible comme sur la TI-57. Attention également à la saisie des GTO après un test (par exemple au pas 27) : il faut s'y reprendre à deux fois avec un BST. Mais, au final, avec 100 (centimes) en entrée, puis [R/S], le résultat est bien le même que sur la Casio : 4563 combinaisons possibles... après presque 6 minutes de calcul. Cela prend moins de 20s sur la PB-1000 de 1986.

Aucun commentaire:

Enregistrer un commentaire