Page 1 of 2

Le secret de l'Avent 2019 jour 27 : révélation !

Unread postPosted: 26 Dec 2019, 21:33
by critor
KITT wrote:11980Je suis KITT, la voiture de la série K2000 (ou Knight Rider en anglais) :

Dans ma série apparaissait également régulièrement un ordinateur TIPC (Texas Instruments Professional Computer), sur lequel on avait rajouté quelques autocollants avec le logo Texas Intruments afin de bien mettre en valeur ce constructeur. ;)


Notre énigme de l'Avent 2019 que nous te proposions depuis le 1er décembre avec des indices et morceaux de Python quotidiens est maintenant terminée.

La réponse était donc KITT.

En effet, dans l'épisode 2 de la saison 3 de K2000, Le Roi des robots - 2/2, KITT affiche une première version d'un code source en langage BASIC Applesoft, reconnaissable à ses instructions HTAB et VTAB :


Dans l'épisode 11, Le Caméléon, on voit KITT enfin exécuter ce code, dans une version corrigée et complétée.

Voici le code final en question, que tu pourras par exemple coller et lancer sur un émulateur d'Applesoft BASIC en ligne :
Code: Select all
1  SPEED= 240
50  HOME
55  INPUT "";W$
70  HTAB 9
82  HTAB 9
85  PRINT
90  FOR A = 1 TO 30
100 R =  RND (9)
140  HTAB 1
150  PRINT  SIN (R),
151  HTAB 7: PRINT "      ",
155  HTAB 12
160  PRINT  COS (R),
161  HTAB 19: PRINT "      ",
165  HTAB 24
170  PRINT  TAN (R),
171  HTAB 28: PRINT "       ",
200  NEXT A
300  HOME
350  FOR G = 1 TO 3
400  PRINT "MARK MARSHALL 3526-3782"
410  PRINT "DON SHARP     2415-3816"
420  PRINT "BILL STARK    3454-3921"
430  PRINT "KURT BORG     5647-2931"
440  PRINT "LEROY JOESEPH 5473-3333"
450  PRINT "KEVIN DOWNEY  9990-6969"
460  PRINT "ERIC VESPER   2738-4628"
470  PRINT "MIMI SOUDAN   3425-2837"
480  PRINT "C. GIBSON     3516-9827"
490  PRINT "CHRIS MILLER  4622-2819"
500  PRINT "JOHN SITCOM   2516-3981"
510  PRINT "STEVE PENCE   3617-2938"
520  PRINT "PHIL MORITS   5783-4720"
530  PRINT "MARK FOSTER   4537-1984"
540  PRINT "DEKE MILLER   4527-4729"
550  PRINT "BRAD REYZE    3541-3721"
560  PRINT "RANDY RODGERS 4627-4478"
570  PRINT "DENNIS PARR   3621-2836"
590  PRINT "DAN BUCK      4526-4627"
600  PRINT "A.J. MCDONALD 3619-8972"
610  PRINT "IAN WAYNE     3276-8567"
620  PRINT "JIM DAWSON    4562-4362"
630  PRINT "JUDY ALLEN    5171-9292"
640  PRINT "DAVID CAZARUS 9475-4627"
650  PRINT "MIKE CRAVEN   4562-7829"
660  PRINT "BILL BUSAK    3546-3719"
670  PRINT "HELEN DAVIS   5632-1938"
680  PRINT "CHRIS ALSIP   1113-7858"
690  PRINT "BRUCE GOLSKI  4451-1031"
695  PRINT "DAVE DEVLIN   2541-5463"
700  NEXT G
800  HOME
850  FLASH
875  HTAB 7
880  VTAB 3
900  PRINT "SYSTEMS DEVICE LOADING 5.2"
950  NORMAL
960  FOR G = 1 TO 3
975  PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT
990  PRINT : PRINT : PRINT : PRINT : PRINT
1000  PRINT "     WHAT THE HECK"
1100  PRINT "     THE JURY DECISION"
1200  PRINT "     TO DENY MAYOR SMITH"
1300  PRINT "     HIS CHOICE OF"
1400  PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT
1500  PRINT "     THESE AND OTHER"
1600  PRINT "     STORIES CAN BE SEEN"
1700  PRINT "     ON THE AMAZING"
1800  PRINT "     CANTERBURY STORIES"
1900  PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT
2000  PRINT "     KNIGHT INDUSTRIES"
2100  PRINT "     TWO THOUSAND"
2200  PRINT "     LOADED AND READY"
2300 NEXT G


Nous t'avions fort fidèlement adapté ce code en Python, mais en y rajoutant un codage affine (Terminale S Spécialité Mathématiques) des chaînes de caractères affichées :
Code: Select all
from random import *
from math import *
from sys import *
ml=11
def htab(n,s=""):
  while(len(s)<n):s+=" "
  return s[:n]
def vtab(n):return "\n"*n
def home():print(vtab(ml))
def main(p1=0,p2=2,p3=0,p4=0,p5=1):
  home()
  for a in range(30):
    r=randint(0,9)
    t=str(sin(r))
    t=htab(6,t)
    t+=" "*6
    t=htab(11,t)
    t+=str(cos(r))
    t=htab(18,t)
    t+=" "*6
    t=htab(23,t)
    t+=str(tan(r))
    print(t)
  home()
  l=[]
  l.append('qlxzmqlxVjlXXpgWEPp^wW')
  l.append('AhOmVjlxFWNygPpwyE')
  l.append('JHXXmVolxzpNgNPpUWy')
  l.append('zMxomJhxQgEN^PWUpy')
  l.append('XZxhvmahZVZFjgN^pPpppp')
  l.append('zZfHOmAhDOZvUUU`PEUEU')
  l.append('ZxHcmfZVFZxW^pwPNEWw')
  l.append('qHqHmVhMAlOpNWgPWwp^')
  l.append('cimQHJVhOpgyEPUwW^')
  l.append('cjxHVmqHXXZxNEWWPWwyU')
  l.append('ahjOmVHochqWgyEPpUwy')
  l.append('VoZfZmFZOcZpEy^PWUpw')
  l.append('FjHXmqhxHoVg^wpPN^W`')
  l.append('qlxzmshVoZxNgp^PyUwN')
  l.append('AZzZmqHXXZxNgW^PN^WU')
  l.append('JxlAmxZvTZpgNyPp^Wy')
  l.append('xlOAvmxhAQZxVNEW^PNN^w')
  l.append('AZOOHVmFlxxEWyPWwpE')
  l.append('AlOmJMczNgWEPNEW^')
  l.append('liaimqcAhOlXApEyUPwU^W')
  l.append('HlOmDlvOZpW^EPwgE^')
  l.append('aHqmAlDVhONgEWPNpEW')
  l.append('aMAvmlXXZOgy^yPUWUW')
  l.append('AlfHAmclTlxMVUN^gPNEW^')
  l.append('qHzZmcxlfZOgEWP^wWU')
  l.append('JHXXmJMVlzpgNEPp^yU')
  l.append('jZXZOmAlfHVgEpWPyUpw')
  l.append('cjxHVmlXVHFyyypP^wgw')
  l.append('JxMcZmQhXVzHNNgyPy`py')
  l.append('AlfZmAZfXHOWgNyPgNEp')
  t=len(l)
  l.append('VvVmAZfHcZmXhlAHOQmgiW')
  l.append('DjlomojZmjZcz')
  l.append('ojZmaMxvmAZcHVHhO')
  l.append('ohmAZOvmqlvhxmVqHoj')
  l.append('jHVmcjhHcZmhs')
  l.append('ojZVZmlOAmhojZx')
  l.append('VohxHZVmclOmJZmVZZO')
  l.append('hOmojZmlqlTHOQ')
  l.append('clOoZxJMxvmVohxHZV')
  l.append('zOHQjomHOAMVoxHZV')
  l.append('oDhmojhMVlOA')
  l.append('XhlAZAmlOAmxZlAv')
  l.append('BmlHOVHmlssHcjZmqhOmchAZi')
  l.append('_MHmVMHVPaZmu')
  for k in range(len(l)):l[k]=da(l[k],p1,p2,p3,p4,p5)
  for k in range(t):l[k]=htab(14,l[k][:-9])+l[k][-9:]
  for g in range(3):
    for k in range(t):print(l[k])
  home()
  print(vtab(2),htab(6)+l[k+1])
  t=k+2
  for g in range(3):
    print(vtab(ml-12))
    u=t
    for f in range(3):
      print(vtab(ml-10))
      for k in range(u,u+4-(f==2)):print(htab(4)+l[k])
      u=k+1 
def da(a,b,c,d,e,f):
  g,h=0,""
  while f*g%c!=1:g+=1
  for k in range(len(a)):h+=chr(g*(ord(a[k])-d-e)%c+b)
  return h

Le décodage d'une seule de ces chaînes permettait de trouver la réponse via une simple recherche Google.

11828La réponse a été trouvée et formulée :
  • dès le 20 décembre par RdB qui a tilté sur les 125 Mo de mémoire de KITT (ou plus précisément dans la série 1000 Mbits), capacité peu usuelle en informatique où tout se chiffre normalement en puissances de 2
  • puis le 24 décembre par Pavel qui quant à lui s'est appuyé sur le script Python fourni et en a cassé le codage affine

Félicitations, vous gagnez donc tous les deux les 2 superbes calculatrices TI-Nspire CX II-T mises en jeu ! :bj:

Téléchargement : KITT animation
(pour TI-83 Premium CE connectée à un TI-RGB Array via un TI-Innovator Hub)

Re: Le secret de l'Avent 2019 jour 27 : révélation !

Unread postPosted: 26 Dec 2019, 22:04
by Noury
Heureusement que ça se termine, je n'aurais pas pu continuer.
Je dois me faire opérer de la main demain (plantage de couteau à huitres :? ).
Joyeux Noël ?

Re: Le secret de l'Avent 2019 jour 27 : révélation !

Unread postPosted: 26 Dec 2019, 22:07
by critor
Ah, ces huîtres...

Bon courage et bon rétablissement à toi.

Re: Le secret de l'Avent 2019 jour 27 : révélation !

Unread postPosted: 26 Dec 2019, 23:30
by Adriweb
Félicitations aux gagnants qui ont pu trouver :)

Re: Le secret de l'Avent 2019 jour 27 : révélation !

Unread postPosted: 27 Dec 2019, 11:39
by edgar13
Bravo à vous. :#top#:
Je ne pensais pas du tout à ce genre de réponse. :'D

Re: Le secret de l'Avent 2019 jour 27 : révélation !

Unread postPosted: 27 Dec 2019, 12:33
by critor
Voici le TIPC (Texas Instruments Professional Computer) tel que commercialisé :


Sur le TIPC apparaissant dans la série K2000, on note 3 gros stickers rajoutés sur l'unité centrale, l'écran et le clavier avec le logo Texas Instruments, afin que le téléspectateur ait moins de chances de rater la marque : ;)

Re: Le secret de l'Avent 2019 jour 27 : révélation !

Unread postPosted: 28 Dec 2019, 23:04
by RdB
Un peu surpris d'avoir gagné car même si ma réponse me semblait bien convenir, l'absence de réponse positive de Critor m'avait laissé penser que ma proposition n'était pas la bonne.

Donc pour expliquer comment j'ai trouvé KITT au moment où je l'ai trouvé, je ne me suis pas servi du programme, mais des indices. A cette date, le programme était incomplet, et la seule chose dont nous disposions était un tirage aléatoire, donc pas utile concrètement (je pensais même que ça servirait à afficher des flocons ou un truc du genre au début).

Donc en suivant les indices, et comme a semblé le faire @cent20, j'ai épluché pas mal de site d'informatique "vintage", à la recherche d'un écran vert, soient des ordis dans la décennie 1975-1985 environ. Avant, les ordinateurs n'avaient pas vraiment d'affichage incorporé, après, ils sont passés en couleur. J'ai découvert les TI-99 et les TI-CC40, mais rien de concluant.

Avec l'indice du 19 ("J'ai presque autant de mémoire qu'une TI-Nspire CX"), j'ai cherché des ordis avec 100Mo de mémoire environ, mais ça ne collait plus avec l'écran vert. Car à l'époque, on atteignait rarement quelques Mo de mémoire au grand maximum, plus généralement quelques Ko seulement.

Avec l'indice 20 et les 125 Mo de mémoire, j'ai cherché sur Google avec les mots clés "ordinateur 125 mo memoire -Go" , je suis tombé sur un extrait de livre où, je crois, ils essayaient de quantifier la mémoire humaine, en donnant un ordre de grandeur de "10^9 bits, soit 125Mo". Puis en continuant avec les mêmes mots clés, en page 3, j'ai eu ce lien https://www.tomshardware.fr/ces-ordinateurs-qui-ont-faconne-limagination/10/. J'ai alors creusé en cherchant plus d'info sur KITT grâce à Wikipédia, version anglophone, et pas mal de choses correspondaient : les initiales, le grand frère égocentrique était KARR, programmé pour s'autodéfendre, les confrères pouvaient être les successeurs KITT (Three Thousand) et KIFT.

Voilà, j'ai aussi au fil des recherches relu l'histoire de la Pascaline, que j'avais oubliée, et découvert la vie du sieur de Roberval.

Re: Le secret de l'Avent 2019 jour 27 : révélation !

Unread postPosted: 29 Dec 2019, 00:52
by cent20
RdB wrote: Donc en suivant les indices, et comme a semblé le faire @cent20, j'ai épluché pas mal de site d'informatique "vintage", à la recherche d'un écran vert, soient des ordis dans la décennie 1975-1985 environ. Avant, les ordinateurs n'avaient pas vraiment d'affichage incorporé, après, ils sont passés en couleur. J'ai découvert les TI-99 et les TI-CC40, mais rien de concluant.


On a bien visité les mêmes sites internet, cela correspond au jours où j’ai lancé tout les modèles de l’Apple II comme proposition.

RdB wrote: Avec l'indice du 19 ("J'ai presque autant de mémoire qu'une TI-Nspire CX"), j'ai cherché des ordis avec 100Mo de mémoire environ, mais ça ne collait plus avec l'écran vert. Car à l'époque, on atteignait rarement quelques Mo de mémoire au grand maximum, plus généralement quelques Ko seulement.


Oui j’avais le même problème je me suis alors demandé si le maître de cérémonie n’était pas en train de nous triller

RdB wrote: Avec l'indice 20 et les 125 Mo de mémoire, j'ai cherché sur Google avec les mots clés "ordinateur 125 mo memoire -Go" , je suis tombé sur un extrait de livre où, je crois, ils essayaient de quantifier la mémoire humaine, en donnant un ordre de grandeur de "10^9 bits, soit 125Mo". Puis en continuant avec les mêmes mots clés, en page 3, j'ai eu ce lien https://www.tomshardware.fr/ces-ordinateurs-qui-ont-faconne-limagination/10/. J'ai alors creusé en cherchant plus d'info sur KITT grâce à Wikipédia, version anglophone, et pas mal de choses correspondaient : les initiales, le grand frère égocentrique était KARR, programmé pour s'autodéfendre, les confrères pouvaient être les successeurs KITT (Three Thousand) et KIFT.


Ce qui est énorme c’est que je suis tombé sur le même livre, mais je n’ai pas creusé davantage pensant là encore que c’était un embrouille de l’énigme...

Bravo à toi !

Re: Le secret de l'Avent 2019 jour 27 : révélation !

Unread postPosted: 29 Dec 2019, 12:19
by Azerpogba
Bravo aux gagnant :bj: :bj:

Re: Le secret de l'Avent 2019 jour 27 : révélation !

Unread postPosted: 29 Dec 2019, 21:43
by critor
Donc @RdB et @Pavel, mêmes questions que sur viewtopic.php?f=49&t=23237&start=170#p249506 .

Merci.