Tapesort - tri de fichier séquentiel par bandes magnétiques (didactique)

Description

Je suis retombé sur de vieilles cartes perforées contenant un de mas programmes en assembleur 370 servant à trier une bande magnétique sans utiliser de disque; ça doit remonter à 1975 ou par là....
L'algorithme est toujours aussi neuf, même si les supports ont changé.

Le but du jeu : trier un fichier séquentiel sur un support "non réinscriptible" (en ce sens qu'une fois lu, l'enregistrement n'est plus accessible pour une réécriture)
Les moyens : trois bandes magnétiques (plus la sauvegarde de la bande originale, au cas ou...), trois dérouleurs (type IBM 3420, c'est ceux que je connais le mieux...), et de la patience...

Le principe :
On splitte le fichier en séries de séquences croissantes sur deux fichiers séquentiels distincts puis, reprenant ces deux fichiers, on les fusionne et on recommence en reprenant le fichier fusionné en entrée jusqu'à zéro swap de bandes en entrée.
Ici la touche "GENERATE" sert à créer la "bande" d'entrée (TAPE C) et la touche "START" à démarrer la simulation; en fin de tri "START" devient "STOP" et pis voila...

Conclusion :


Il est sûr qu'avec des trucs comme dBase III et autres, sur le moment, ça a cassé le coup...

Mais pour l'histoire...

NOTE :
Il vaut mieux éviter de dépasser les 256 enregistrements sur cette simulation, j'ai fait un test avec 480 rcds et j'ai eu quelque chose comme 2 h de "tournage" en 156 itérations... néanmoins, une fois adapté, ça pourrait faire un "screensaver" potable...

Le voyant rouge sous les têtes de lecture implique une ecriture sur le support, le même en vert, une lecture, et en noir/gris/dégueu, une non-sélection.

J'ai scanné une note de l'époque qu'elle est dans le zip et qui explique le principe de ce SORT/MERGE..

Pour ce qui est du ratio, censé indiquer l'état d'acomplissement du tri, j'ai un doute :
une autre solution serait de compter le nombre de swaps entre les bandes de manoeuvre, plus cela tend vers 1, plus le tri est proche de l'accomplissement... j'y pense

Je commenterai ce source un peu plus tard (et si on me le demande gentiment, quoique, même sinon, d'ailleurs...)

a+

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.