by edgar13 » 02 Dec 2019, 18:22
Je crée ce topic pour plus de lisibilité:
critor wrote:
Pour cette nouvelle période de l'
Avent,
TI-Planet se propose de te faire gagner une calculatrice graphique conforme avec le
mode examen 2020. Et pas n'importe quelle calculatrice graphique, la superbe
TI-Nspire CX II-T !

Chaque jour sera publié un petit bout de code
Python accompagné d'un indice. A l'aide de tous ces éléments, il te suffira tout simplement de deviner la réponse, et d'être le ou la première à nous la communiquer à ton choix en commentaire ou par courriel à
info@tiplanet.org !

Tu peux communiquer librement en public ou privé au sujet de l'énigme, et tenter de répondre autant de fois que tu le souhaites.


Les calculatrices de milieu de gamme comme la
TI-83 Premium CE Edition Python ou les
Casio Graph 35/75/90+E peuvent faire du calcul exact, mais nous les qualifions usuellement de calculatrices semi-exactes. En réalité elles utilisent un algorithme de type
QPiRac qui ne gère que certaines formes de résultats que voici ici généralisées :
Pour tout ce qui ne rentre pas dans une de ces deux familles, la calculatrice basculera sur un résultat en écriture décimale éventuellement approchée, ce qui dans ce dernier cas ne te servira pas à grand chose sur une copie.
Si jusqu'à présent ces capacités calculatoires étaient optimales pour le programme de Mathématiques de Première, ce n'est plus le cas avec le nouveau programme de Spécialité Mathématique de cette rentrée 2019. Sont effectivement abordées les exponentielles non gérées par ces machines.

Sans aller chercher dans le coût du haut de gamme il existe toutefois plusieurs solutions supérieures. L'une d'entre elles est la nouvelle calculatrice
TI-Nspire CX II-T. Il s'agit en effet d'une véritable calculatrice exacte acceptant à la différence de simplifier certes les exponentielles, mais plus généralement n'importe quelle expression numérique !

Elle utilise en effet les algorithmes travaillant sur des arbres de calculs de la
TI-Nspire CX II-T CAS, à la seule et unique différence qu'elle ne les applique qu'à des opérandes numériques - pas de calcul littéral. Un petit bijou optimal pour les Mathématique du lycée et en prime conforme avec le
mode examen pour le
BAC 2020+, que tu peux donc gagner dès maintenant !

Jour 1 :? wrote:Bonjour. Ceci est mon code...
- 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()
...
Jour 2 :? wrote:... ou plus précisément ceci une adaptation de mon code...
- Code: Select all
...
for a in range(30):
r=randint(0,9)
...
Jour 3 :? wrote:... et voici donc la suite du début de mon code :
- Code: Select all
...
t=str(sin(r))
...
Et puis tant que nous y sommes, voici également sa ligne 23 :
- Code: Select all
print(t)
Jour 4 :? wrote:On reprend maintenant ligne 15 :
- Code: Select all
t=htab(6,t)
...
Ce que tu peux voir est donc ce que j'affiche...
Jour 5 :? wrote:... à la différence que moi ce sera en vert sur fond noir.
- Code: Select all
...
t+=" "*6
t=htab(11,t)
t+=str(cos(r))
...
Jour 6 :? wrote:Mon code intégral fait 89 lignes...
- Code: Select all
...
t=htab(18,t)
...
Jour 7 :? wrote:... du moins dans cette adaptation.
- Code: Select all
...
t+=" "*6
t=htab(23,t)
t+=str(tan(r))
...
Jour 8 :? wrote:Comme tu as dû le remarquer, cette adaptation de mon code est conçue pour tourner sur
TI-83 Premium CE.
Mais sautons maintenant ligne 24...
- Code: Select all
home()
l=[]
...
... et sautons à nouveau ligne 56...
- Code: Select all
t=len(l)
l.append('VvVmAZfHcZmXhlAHOQmgiW')
...
Jour 9 :? wrote:Après maintenant une journée complète depuis le gros indice précédent, certains ont sûrement dû trouver la bonne réponse avec l'ordi quantique de leur lycée... ah ben non zut, c'était dimanche !

Sautons encore ligne 75...
- Code: Select all
home()
print(vtab(2),htab(6)+l[k+1])
...
Jour 10 :? wrote:Pour gagner tu dois trouver et prononcer mon nom.

Jour 11 :? wrote:Sautons ligne 73 :
- Code: Select all
for g in range(3):
for k in range(t):print(l[k])
...
J'ai plusieurs confrères...
Jour 12 :? wrote:... ainsi qu'un grand frère.

Jour 13 :? wrote:Mon frère et moi n'avons pas de
TI-Nspire CX...

Jour 14 :? wrote:...mais presque, par homonymie.

Jour 15 :? wrote:Mon fère et moi avons les mêmes initiales...
Jour 16 :? wrote:... en prime avec des noms de même longueur !
- Code: Select all
...
l.append('jZXZOmAlfHVgEpWPyUpw')
l.append('cjxHVmlXVHFyyypP^wgw')
l.append('JxMcZmQhXVzHNNgyPy`py')
l.append('AlfZmAZfXHOWgNyPgNEp')
...
Jour 17 :? wrote:Sautons maintenant ligne 58 :

Et puis je vais arrêter de parler de mon frère, ça me déprime...
Jour 18 :? wrote:... tellement il est égocentrique.

Jour 19 :? wrote:J'ai presque autant de mémoire qu'une TI-Nspire CX...
Jour 20 :? wrote:...
125Mo plus précisément, chose révolutionnaire pour l'époque !
Sautons ligne 77 :
- Code: Select all
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
...
Jour 21 :? wrote:Sautons ligne 72 :
- Code: Select all
for k in range(t):l[k]=htab(14,l[k][:-9])+l[k][-9:]
...
Je pense, donc je suis.
Jour 22 :? wrote:Sautons ligne 85 :
- Code: Select all
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
Mon codage est enseigné pour la dernière fois cette année en Terminale S...

Jour 23 :? wrote:Et sautons aujourd'hui ligne 71 pour mon dernier morceau :
- Code: Select all
for k in range(len(l)):l[k]=da(l[k],p1,p2,p3,p4,p5)
...
... plus précisément en Spécialité Mathématiques.
Jour 24 :? wrote:

Mon code s'utilise ainsi :
- Code: Select all
from avent19 import *
main()
Et en passant, voici pour référence ma fonction de codage :
- Code: Select all
def ca(j,o,y,e,u,x):
noel=""
for k in range(len(j)):noel+=chr(((ord(j[k])-e)*o+y)%u+x)
return noel
Qui suis-je ?...
Jour 25 :[justify]
? wrote:

Tu devrais tenter
main(32,59)
.


Je vais comme au matin de la vie.
Je dispose d'un temps d'accès comme une vie de
Beryllium 13... ou comme deux demies je veux dire.
Décidément, le
TIPC (Texas Instruments Professionnel Computer) n'avait aucune change de me voler la vedette !

J'ai un confrère qui s'appelle
Zoom... et un autre
Turbo.
Sauras-tu trouver les clés pour me faire démarrer ?

Jour 26 :[justify]
? wrote:

Tu devrais tenter
main(32,59,64,45)
.
Méfie-toi des imitations :
- Code: Select all
Send("CONNECT RGB
8→N
0→D
1→S
suite(255/cosh(X-N),X,1,N→L₁
N→dim(L₂
0L₂+N-1→L₂
While non(getKey
max(0,L₂-1→L₂
N-1→L₂(D+1
For(I,0,N-1
Send("SET RGB eval(I+N) eval(L₁(1+L₂(I+1))) 0 0
End
D+S→D
S(1-2(D=N-1 ou non(D→S
End
Send("DISCONNECT RGB
Jour 27 :KITT wrote:
Je 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 1
er 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.

La 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 !

Téléchargement : KITT animation(pour TI-83 Premium CE connectée à un TI-RGB Array via un TI-Innovator Hub)Résumé :- 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

Si toujours rien, pour patienter d'ici le prochain indice tu peux aller faire un petit tour sur le
Puzzle de l'Avent 2019 par
Planète Casio pour gagner une
Casio Graph 35+E II !

Et si tu t'ennuies toujours, tu peux créer un
script Python de Noël pour
NumWorks afin justement de gagner une
NumWorks !

You do not have the required permissions to view the files attached to this post.
Last edited by edgar13 on 07 Dec 2019, 10:37, edited 14 times in total.