algorithme algobox suite de Cyracuse
-
Kkuznik dernière édition par
je dois effectuer un algoritme avec algobox pour une suite numerique dans la quelle je dois inclure deux conditions " si n est pair et si n est impair"
comment s'ecrivent ces conditions ? merci
-
BONJOUR ( un petit "bonjour" fait plaisir ! )
Idées,
Tu prends "Si...Alors" et tu coches Sinon
-
Kkuznik dernière édition par
excusez moi c'est la premiere fois que j'oublie de saluer !
j'ai bien pris " si..alors" mais je crois qu'algobox le comprend pas les mots " pairs et impairs " comment les exprimer autrement ? merci
-
Pour pair :
Si tu as appelé n la variable nombre utilisée , tu peux utiliser "floor(n/2)" qui calcule le quotient entier de n par 2 .
Si le quotient entier de n/2 vaut n/2 , alors n est pair , Sinon n est impair.Tu dois pouvoir utiliser :
floor(n/2)==n/2 ( pour n pair ) Il faudra tester
-
floor(n/2) représente le quotient entient de n/2.
Pour comprendre , je te donne des exemples .
un exemple de n pair : n=6 donc n/2=3 donc floor(n/2)=3
un exemple de n impair : n=7 donc n/2=3.5 donc floor(n/2)=3floor(n/2)=n/2 est une traduction de n pair
floor(n/2)≠n/2 est une traduction de n impair
-
Kkuznik dernière édition par
floor(n/2) représente le quotient entient de n/2.
Pour comprendre , je te donne des exemples .
merci voici mon essai qui est refusé par algobox ?
-
tu as mis une parenthèse de trop !
Indique l'énoncé précis de ton exercice , si autre chose te gène.
-
Kkuznik dernière édition par
je vous remercie voici l'enoncé
Un est definiepar son 1er terme Uo et par le procede suivant-si n est pair, Un+1=1/2n
-si n est impair, Un+1= 3n+1ecrire un algoritme demandant la valeur du 1er terme puis les 10 termes de Un
-
Es-tu sûr de ton énoncé ? C'est peut-être cela , mais si , pour UnU_nUn pair , il y avait eu "un+1=un2u_{n+1}=\frac{u_n}{2}un+1=2un" et pour UnU_nUn impair "un+1=3un+1u_{n+1}=3u_n+1un+1=3un+1" , ce serait l'agorithme classique de Cyracuse ?
-
Pour le cas où c'est bien l'algorithme que je t'ai indiqué :
Premier terme U0U_0U0 appelé a et suite de Cyracuse , je t'indique un algorithme possible.
Il fonctionne maisteste le ( je ne l'ai pas testé ) , et modifie le éventuellement si ce n'est pas la bonne suite.C'est seulement un exemple.
[/img]
-
Kkuznik dernière édition par
merci bien encore une petite precision je ne trouve pas sur mon clavier comment faire la fleche horizontale qui est apres le "0" du 1er " afficher ?
-
J'ai utilisé -> ( "moins" suivi de "supérieur" )
Tu n'es pas obligé de faire ainsi ! Tu peux rédiger avec plus de détails.
C'est pour la lisibilité des réponses :
A l'affichage , chaque indice est écrit en correspondance avec la valeur du terme de la suite.
-
Kkuznik dernière édition par
je ne comprends pas pourquoi il y a 3 variables , ( a ? )
-
a est la valeur du premier terme u0u_0u0 de la suite
u est un terme de la suite ( qui prend les valeurs u1u_1u1,u2u_2u2,...,u10u_{10}u10 )
i est le "compteur " de tours ( de 1 à 10)
-
Kkuznik dernière édition par
je vous remercie j' abandonne..... j'ai choisi "s "car j'aimais bien les math mais ces algoritmes me font perdre beaucoup de temps et je n'en vois pas l'interet .Ce n'est pas du raisonnement mais l'art de " couper les cheveux en 4
merci de votre aide
-
Ce serait bien que , au moins , tu comprennes les algorithmes faits ( en les testant toi même avec un papier et un crayon pour comprendre le fonctionnement ) et petit à petit , tu t'habitueras.
L'algorithmique est un exercice de logique très particulier qui amène à la programmation en informatique .
Dans les études de Maths en enseignement supérieur , il y a , entre autre , un peu de programmation . Alors , il ne faut pas les négliger en totalité .Bon courage !
-
Kkuznik dernière édition par
merci je fais un dernier essai............... mais que signifie "0->" qui ne figure pas dans les variables ?
-
Je croyais te l'avoir déjà indiqué...
AFFICHER "0 -> " ainsi que AFFICHER "->" n'est que du TEXTE pour que les résultats obtenus soient facilement compréhensibles . Cela ne sert pas au fonctionnement du programme .
Tu peux supprimer ces deux lignes d'affichage pour voir ce que cela donne. Le programme marche aussi bien mais on comprend moins bien les résultats.
Tu peux(toujours entre guillemets "...") faire afficher tout le texte que tu veux pour améliorer la présentation des résultats.
-
Kkuznik dernière édition par
mtschoon
Je croyais te l'avoir déjà indiqué...AFFICHER "0 -> " ainsi que AFFICHER "->" n'est que du TEXTE pour que les résultats obtenus soient facilement compréhensibles . Cela ne sert pas au fonctionnement du programme .
Tu peux supprimer ces deux lignes d'affichage pour voir ce que cela donne. Le programme marche aussi bien mais on comprend moins bien les résultats.
Tu peux(toujours entre guillemets "...") faire afficher tout le texte que tu veux pour améliorer la présentation des résultats.
je vous remercie j'ai lu sur internet que cet algo de syracuse se terminait toujours par 1 Celui que j'ai refait sur algobox avec a = 3 ne s'arrete plus !!
-
L'algorithme que tu montres et qui s'arrête à la ligne 17 n'est pas terminé.
Si ton algorithme est bien tapé , seules les 10 premières valeurs ( u1u_1u1...u10u_{10}u10 )sont calculées et affichées vu que i varie de 1 à 10
Ce que tu as lu était peut-être confus...l'algorithme de syracuse ne se termine pas par 1 ...
Si tu es curieux , je te propose un article ( mais on s'éloigne de ton exercice )
-
Kkuznik dernière édition par
bonjour merci de me preciser si, quand Uo= 15 cet algoritme dont on demande les 50 premiers temes est correct ?
-
Je vais répondre OUI et NON !
Ton programme fonction mais seulementpour le premier terme égal à 15.
Dans ce cas , il faut supprimer la variable a et la ligneLire aqui ne servent à rienSi tu veux un programme général qui soit utilisable dans tous les cas , il fautlaisser la variable a , laisser la ligne lire a et mettre u prend la valeur a
Ainsi , le programme attend que l'utilisateur donne la valeur du premier terme a ( 15 par exemple , ou toute autre valeur ) et s'exécute.
-
Kkuznik dernière édition par
Avec un camarade nous avons comparé nos resultats qui sont differents le sien se termine par une serie de " 4 2 1 4 2 1 4 2 1.................
dans la condition des nombres pairs il l'ecrit u%2==0
ou est la verité ? merci
-
La condition u%2==0 pour "nombre pair" est bonne mathématiquement .
Maintenant , il faut analyser ces algorithmes et de les tester pour voir ce que comprend Algobox.
-
Je viens de tester l'algorithme "à la main" ( ce que je t'avais conseillé de faire )
La réaction d'Algobox est bizarre avec floor ( cette commande fonctionne bien sur ma calculette ; Algobox ne donne pas de massage d'erreur mais comprend mal ! ).
Avec u%2==0 ( qui veut dire que "le reste de la division de n par 2 est nul" ) , Algobox comprend parfaitement bien et ne se trompe pas.
Tu prends donc cette condition pour n pair , sans toucher à tout le reste du programme
-
Kkuznik dernière édition par
je vous remercie j'ai enfin terminé! je ne suis pas convaincu que l'informatique me fera gagner du temps !!
-
Gagner du temps ! vraiment pas ... c'est sûr !!
Mais , c'est très satisfaisant quand ça fonctionne !Bon DM .
-
Mmathtous dernière édition par
Si je puis me permettre, kuznik, il ne s'agit pas d'informatique mais d'algorithmique.
De nombreux problèmes ne sont résolus qu'en utilisant des algorithmes.
Ainsi, le plus célèbre (et le plus utile) est l'algorithme donnant le PGCD de deux entiers : il n'y a pas de "formule" pour le calculer.
-
Tout à fait Mathtous.
kuznik pensait , je crois , à la programmation en informatique , qui est l'écriture de l'algorithme dans un langage informatique .