# CAB500

La CAB 500 (pour Calculatrice Automatique Binaire) était une machine à logique magnétique et mémoire tambour (16K mots de 32 bits, 3 000 tr/min) conçue en 1957-1959 par la SEA et produite en une centaine d'exemplaires, le premier livré en 1961. Elle comprenait un mode interactif permettant les calculs en temps réel, et un compilateur incrémental pour un langage de programmation, le PAF, précurseur du BASIC. Alice Recoque a participé à son développement.

## Caractéristiques

Cette calculatrice, orientée vers les applications de calcul scientifique et de statistiques, a une apparence qui évoque celle d'un bureau ordinaire de dimensions 2 × 0,90 × 0,85 m. L'une des grandes particularités pour l'époque de cette machine est qu'elle ne nécessite aucun aménagement spécial comme le conditionnement d'air et peut être branchée sur un secteur triphasé de 220 V. Cette simplicité d'installation est complétée par son faible coût relatif permis par sa technologie qui se fonde sur des éléments logiques magnétiques SYMMAG 200, et une fabrication en série. Sa consommation est de 1 500 W.
La CAB500 a été conçue spécifiquement pour être accessible même à ceux qui n'ont pas de formation technique spécifique en informatique. L'une de ses particularités est sa capacité à fonctionner en mode interactif (calculatrice), permettant aux utilisateurs de travailler directement à partir de son clavier intégré, une machine à écrire télétype. Les fonctions couramment utilisées en mode interactif sont représentées par des lettres, comme « A » pour addition ou « M » pour multiplication. De plus, la machine a la capacité de faire appel à des microprogrammes pour gérer des opérations plus complexes. En mode programmé, elle intègre également un langage innovant de programmation automatique des formules, appelé Programmation automatique des formules (PAF), qui traduit les fonctions en langage machine.
En ce qui concerne les performances, la CAB500 est dotée d'un tambour magnétique qui peut stocker plus de 16 000 nombres de dix chiffres. Cela rend possible des calculs complexes, des analyses statistiques détaillées ou des tâches de gestion administrative volumineuses. Elle permet également des modifications automatiques d'adresse, des ruptures de séquence et l'exécution conditionnelle d'instructions. De plus, elle possède seize registres à accès immédiat pour augmenter la rapidité des opérations.
En termes d'applications, la CAB500 est capable de résoudre des systèmes linéaires ayant plus de 60 inconnues, d'inverser des matrices de plus de 60 ordres et de gérer des problèmes de recherche opérationnelle avec un grand nombre de variables.

### Performances

Tableau de performances :
| Opération | Type | Opérations par seconde |
| Addition - Soustraction | Virgule fixe | 3 125 |
| Addition - Soustraction | Virgule flottante (par microprogrammes) | 25 |
| Multiplication (par microprogramme) | Virgule fixe ou flottante | 16,67 |
| Division (par microprogramme) | Virgule fixe ou flottante | 12,5 |
| Racine carrée (par microprogramme) | Virgule flottante | 12,5 |
| Sinus (par microprogramme) | Virgule flottante | 5 |
* Résolution d'un système d'équations du premier degré à 10 inconnues en virgule flottante : 1,5 min.
* Résolution d'un système d'équations du premier degré pour 18 inconnues : 7 à 10 min.
* Inversion d'une matrice complète d'ordre 25 : environ 30 min.

## Exemple d'un programme en PAF

Pour la résolution d'une équation du second degré :
PAF
140 FIN ALLER EN 10

## Usages notables

D. Starynkevitch, père du langage PAF, a programmé un générateur de poèmes sur le CAB500 s'inspirant de l'œuvre de Raymond Queneau : Cent mille milliards de poèmes.