Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 Re : Entraide (supérieur) » Scilab - suite de Syracuse » 01-11-2014 23:13:05

Bonsoir et merci beaucoup pour vos messages.

J'arrive bien à trouver mes deux valeurs altmax et volmax à la fin et j'arrive à afficher la plus grande altitude rencontrée et pour quel k, mais je ne comprends pas comment afficher la valeur de k pour la plus grande durée de vol.

En vous en remerciant d'avance,
etoiledouble

#2 Re : Entraide (supérieur) » Scilab - suite de Syracuse » 26-10-2014 23:09:48

Bonsoir Fred, et merci de votre réponse.

Avant votre aide, le programme ne s'exécutait pas. En modifiant le programme en rajoutant u=i avant le boucle for, j'obtiens volmax=59543 et altmax=250504 mais je ne comprends pas comment demander au programme "pour quel k" demandé dans l'énoncé (donc pour quel i si j'ai bien compris?).

En ce qui concerne volmax et altmax j'ai essayé au début vol=max(vol) et alt=max(alt) (et le programme m'a affiché =1000 pour les deux cas automatiquement) comme vu dans une interro, mais visiblement je me suis trompée étant donné que le programme tourne encore...

Je vous remercie de votre aide,
Cordialement,
Maud

#3 Entraide (supérieur) » Scilab - suite de Syracuse » 23-10-2014 14:24:45

etoiledouble
Réponses : 7

Bonjour à toutes et à tous,

je suis nouvelle sur le forum alors veuillez excuser mes quelques maladresses. Je suis en prépa économique et pendant les vacances j'ai un petit travail à faire sur scilab en lien avec la suite de Syracuse dont voici l'énoncé :

"Faire varier k de 1 à 1000 et dire quelle est la plus grande altitude rencontrée et pour quel k ; et dire aussi quelle est la plus grande durée de vol rencontrée et pour quel k"

En suivant le cours, j'aboutis au programme suivant :

u=1
vol=1
alt=1
for i=1:1000
while u <> 1 do
if u==2*floor(u/2) then u=u*2 ; else u=3*u+1 ; end
vol=vol+1
if u>alt then alt=u ; end
end
end
disp(altmax, 'altmax=')
disp(volmax,'volmax=')

Malheureusement, en testant le programme sur scilab, celui-ci ne fonctionne pas. Pouvez-vous m'aidez s'il vous plaît?

En vous en remerciant d'avance,
Maud

Pied de page des forums