π
<-

L'algo mystère

Jeux - Tests.

Re: L'algo mystère

Unread postby davidElmaleh » 04 May 2014, 19:40

Explique..
Image
User avatar
davidElmalehProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 19.6%
 
Posts: 409
Images: 9
Joined: 14 Oct 2012, 23:30
Location: Paris 19
Gender: Male
Calculator(s):
MyCalcs profile
Class: PSI*

Re: L'algo mystère

Unread postby pierrotdu18 » 04 May 2014, 19:43

Je suis d'accord avec Nspirecas.
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Re: L'algo mystère

Unread postby NspireCas » 04 May 2014, 19:43

"Explique.." :p
User avatar
NspireCasModo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.4%
 
Posts: 1304
Images: 7
Joined: 04 Oct 2012, 20:44
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: -

Re: L'algo mystère

Unread postby davidElmaleh » 04 May 2014, 19:45

Il se trouve que j'ai encore une fois fait une erreur dans l'algo.. :p et j'en suis vraiment désolé.
Voici l'énoncé correct et testé :
Je propose une troisième énigme : Voici un algorithme en langage TI-Basic, réalisé sur une TI-Nspire CX CAS:

Code: Select all
Define algomyst()=
Prgm
k:=1
while 1
  x1:=0
  x2:=1/k
  y1:=1/(x1²+1)
  y2:=1/(x2²+1)
  s:=(y1+y2)/(2*k)
  while x2<1
    x1:=x1+1/k
    x2:=x2+1/k
    y1:=1/(x1²+1)
    y2:=1/(x2²+1)
    s:=s+(y1+y2)/(2*k)
  endwhile
  k:=k+1
endwhile
disp s
endPrgm


Si on laisse l'éternité à ce programme, quel est le nombre en sortie?
Image
User avatar
davidElmalehProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 19.6%
 
Posts: 409
Images: 9
Joined: 14 Oct 2012, 23:30
Location: Paris 19
Gender: Male
Calculator(s):
MyCalcs profile
Class: PSI*

Re: L'algo mystère

Unread postby Adriweb » 04 May 2014, 19:46

Quelqu'un peut supprimer les messages intermédiaires si besoin :P
(y compris ce post ci)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.2%
 
Posts: 14778
Images: 1123
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: L'algo mystère

Unread postby Laurae » 04 May 2014, 20:06

Facile encore :p

(y a des erreurs, le résultat ici est faux, à corriger)

Show/Hide spoilerAfficher/Masquer le spoiler
Itération extérieure :
- x1 est toujours statique (0)
- x2 se divise par 1/k, k le nombre d'itérations extérieures
- y1 vaut toujours 1 (1/(0+1) = 1)
- y2 se calcule par (1+1/k)/(2k)

Itération intérieure :
- ne se fait que si x2 < 1
- x1 s'additionne lui même avec 1/k, k le nombre d'itérations extérieures
- x2 s'additionne lui même avec 1/k, k le nombre d'itérations extérieures
- y1 vaut 1/(x1^2+1)
- y2 vaut 1/(x2^2+1)
- s s'additionne lui même avec (y1+y2)/(2k)

Une itération totale d'initialisation donne 1.5.

Une autre itération fait que x2<1 à l'itération interne d'initialisation, or on rajoute des valeurs à x1 et x2 de manière à tendre vers 1 (x2 en priorité car x2>x1), il y a k-1 itérations intérieures car sum(1/k,k,1,(1/k)^-1) = k strict.
Donc ça revient à calculer s = sum((y1+y2)/(2k),k,1,k-1).
x2 tend vers 1 car strictement croissante.
En supposant x2 = 1 (si x2 atteint sa limite), on a y2 = 0.5. Elle est strictement croissante par pas inférieur à 0.5 (k=2 minimum) tel que le pas soit 1/k.
En supposant x1 = 1 (si x1 = x2), on a y1 = 0.5. Elle est strictement croissante par pas inférieur à 0.5 (k=2 minimum) tel que le pas soit 1/k.

D'où les limites par composition :
y2 = 1/2
y1 = 1/2
s = 1/(2k) = 0.5/k = 0

s = 0
User avatar
LauraeAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 78.8%
 
Posts: 1685
Images: 22
Joined: 25 Jun 2010, 00:00
Location: France, La Défense
Gender: Male
Calculator(s):
MyCalcs profile
Class: Professeur, Etudiant, Formateur

Re: L'algo mystère

Unread postby Laurae » 04 May 2014, 20:17

Sinon, y a une erreur car While 1 est impossible ?
User avatar
LauraeAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 78.8%
 
Posts: 1685
Images: 22
Joined: 25 Jun 2010, 00:00
Location: France, La Défense
Gender: Male
Calculator(s):
MyCalcs profile
Class: Professeur, Etudiant, Formateur

Re: L'algo mystère

Unread postby Levak » 04 May 2014, 21:17

Laurae wrote:Sinon, y a une erreur car While 1 est impossible ?

Ouai, mais on a compris : While 1 = 1
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: L'algo mystère

Unread postby Samos » 04 May 2014, 21:57

davidElmaleh wrote:
Code: Select all
Define algomyst()=
Prgm
k:=1
while 1
  x1:=0
  x2:=1/k
  y1:=1/(x1²+1)
  y2:=1/(x2²+1)
  s:=(y1+y2)/(2*k)
  while x2<1
    x1:=x1+1/k
    x2:=x2+1/k
    y1:=1/(x1²+1)
    y2:=1/(x2²+1)
    s:=s+(y1+y2)/(2*k)
  endwhile
  k:=k+1
endwhile
disp s
endPrgm



Quand k tend vers l'infini, 1/k tend vers 0
excepté pour l'initialisation, on admet que x1 est à peu près égal à x2.
On admet aussi y1 est à peu près égal à y2.
On pose f(x)=1/(x²+1)
donc y1+y2=2f(x2)
On peut dire que s:=s+2*f(x2)/(2*k)
s:=s+f(x2)/k

on représente s par une somme: s=somme (x2 allant de 0 à 1 avec un pas de 1/k) de f(x2)*1/k
Mais k tend vers l'infini, on pourrait la représenter comme l'intégrale de 0 à 1 de 1/(x2²+1) en fonction de x2
s=F(1)-F(0)
(désolé,) j'ai demandé à Xcas d'intégrer et j'ai obtenu que F(x)=tan-1(x)
tan-1(1)=pi/4 et tan-1(0)=0 donc s tend vers pi/4-0 soit pi/4.

Désolé pour la rigueur et pour le mal aux yeux x)

J'ose proposer une énigme dont le résultat n'est pas dur à interpréter mais j'espère que la justification vous donnera du mal :p

Code: Select all
:Prompt X
:.5X->X
:Disp 1/sin(tan-1(1/(x*sin(cos-1(1-1/x


J'espère ne pas avoir fait d'erreurs (on peut aussi enlever le Disp sur les z80)

EDIT: ça ne fonctionne que pour X>1
User avatar
Samos
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 57.2%
 
Posts: 50
Joined: 28 Jul 2012, 20:26
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: C'est compliqué.

Re: L'algo mystère

Unread postby Bisam » 04 May 2014, 22:13

Là, c'est des maths... mais en premier lieu, le calcul n'est défini que si le X de départ (celui du Prompt) est supérieur ou égal à 1.
Ensuite, on a les infos suivantes :
$mathjax$\sin(\cos^{-1}(y))=\sqrt{1-y^2}$mathjax$
donc
$mathjax$\displaystyle{x\times\sin(\cos^{-1}(1-\frac{1}{x}))=x\times\sqrt{1-(1-\frac{1}{x})^2}=x\times\sqrt{\frac{2}{x}-\frac{1}{x^2}}=\sqrt{2x-1}}$mathjax$

Par ailleurs :
$mathjax$\displaystyle{\sin(\tan^{-1}(y))=\frac{y}{\sqrt{1+y^2}}}$mathjax$
donc
$mathjax$\displaystyle{\frac{1}{\sin(\tan^{-1}(\frac{1}{y}))}=\sqrt{y^2+1}}$mathjax$


On en déduit que le résultat final est la racine carrée du nombre entré... mais seulement si ce nombre est supérieur ou égal à 1.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

PreviousNext

Return to Jeux

Who is online

Users browsing this forum: ClaudeBot [spider] and 0 guests

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
875 utilisateurs:
>852 invités
>15 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)