Dlzlogic tu as été un petit veinard, tu travaillais certainement sur un des systèmes les plus TOP du moment. Certainement un IBM 700 (ou même mieux) ?
Pour ma part, je n'ai connu dans ces années qu'un IBM 116 rudimentaire; il été déjà depuis longtemps obsolette, mais avait été maintenu en action spécifiquement pour le TP d'informatique à destination des étudiants de 1ère et 2de année (DEUG) pour des excercices dirigés et l'initialisation à la programmation. Son unique terminal était réservé au monitoring des programme en cours d'execution. Pour vérifier nos saisies (volontairement) manuelles, nous utilisions le lecteur de carte dans un mode spécial couplé avec l'imprimante (qui faisait le bruit d'un téléx !).
Le système était composé du minium, justement pour que nous apprenions à découper nos travaux et collaborions afin de faire "tourner" le calcul demandé pour l'excercice. La plupart des excercices concernaient la résolution de systèmes d'équation linéaire, inversion de matrice, programmation linéaire avec ou sans containtes; le (petit ?) tambour-mémoire-central aux capacités restraintes tournait surtout pour cela.
C'était très amusant d'apprendre de cette façon, mais cela prenait du temps, j'imagine que pour les usages sérieux et professionel, l'utilisation de ces systèmes était très diffèrente car optimisée pour tirer le meilleur parti de cette technologie et pouvoir programmer, traiter et donner les résultats rapidement et efficacement.
Et effectivement, j'ai moi aussi connu l'époque où les résultats de calculs ne tracaient aucun graphique ni 3D, ni 2D, mais par contre des pages entières de coordonnées. Nous passion alors au bureau d'étude pour faire tracer tout cela par un des dessinateurs (pour le 3D) ou nous faision nous-même le graphique sur papier millimétré !
P.S.: J'ai modifié le dernier organigramme pour qu'il reflète au plus près l'algorithme imposé par l'instruction TANT QUE d'AlgoBox ainsi que les nouveaux noms de variable:

La fin du problème demande que l'on construise un dernier algorithme :
Avec la condition suivante : Si un nombre A de la chaîne dépasse 100, la chaîne est cassé et le processus s'arrête. Une telle chaine n'a pas de longueur
* Ecrire l'algorithme qui calcule la longueur de toutes les chaînes complètes partant de 2 à 100, restitue la longueur de la chaîne complète plus longue que toute les autres et l'entier de départ pour cette chaîne
* Reprendre cette exercice sur une feuille de calcul de tableur.
Cette condition supplémentaire de rupture de la chaine d'une suite s'insère assez facilement dans notre algorithme.
Il suffit de tester si le terme de la suite dépasse 100 et sortir de la boucle de comptage.

Malheureusement, cette façon de faire va poser problème dans Algo-Box, comme dans de nombreux language structuré qui ne supporte pas les GOTO (ou les EXIT/BREAK de boucle !!). Je laisse aux programmeur le soin d'illustrer cela en fonction des languages et style de programmation.
Pour faire dans Algo-Box, je propose de maintenir la structure de boucle TANT QUE et donc de sortir "proprement" de la boucle de comptage en forçant
terme à 1.
Il y a d'autre façon de faire.

Exemple d'utilisation: les ... indiquent les chaines brisées.
- Code: Tout sélectionner
RUN
2( 2) 3( 8) 4( 3) 5( 6) 6( 9) 7(17) 8( 4) 9(20) 10( 7) 11(15)
12(10) 13(10) 14(18) 15... 16( 5) 17(13) 18(21) 19(21) 20( 8) 21( 8)
22(16) 23... 24(11) 25(24) 26(11) 27... 28(19) 29(19) 30... 31...
32( 6) 33(27) 34(14) 35... 36(22) 37... 38(22) 39... 40( 9) 41...
42( 9) 43... 44(17) 45... 46... 47... 48(12) 49... 50(25) 51...
52(12) 53... 54... 55... 56(20) 57... 58(20) 59... 60... 61...
62... 63... 64( 7) 65... 66(28) 67... 68(15) 69... 70... 71...
72(23) 73... 74... 75... 76(23) 77... 78... 79... 80(10) 81...
82... 83... 84(10) 85... 86... 87... 88(18) 89... 90... 91...
92... 93... 94... 95... 96(13) 97... 98... 99... 100(26)
Best 66( 28)
Ready.
LIST
10 bini=1:bcom=1
20 FOR init=2 TO 100
30 : term=init:comp=1:PRINT USING "####";init;
40 : DO UNTIL term=1
50 : : comp=comp+1:IF (term AND 1)=0 THEN term=term/2:ELSE term=1+3*term:IF term>100 THEN term=1:comp=0
60 : LOOP
70 : IF comp=0 THEN PRINT "... ";:ELSE PRINT USING "(##)";comp;:IF comp>bcom THEN bcom=comp:bini=init
80 NEXT init
90 PRINT:PRINT USING "Best ####(###)";bini,bcom:END
Ready.