Soileh Lurkeur professionnel | crazynoob61 a écrit :
Bonsoir, Je sollicite votre aide car je suis bloqué dans la création de deux petits programmes en Octave, cela va surement vous paraître simpliste, mais moi je bugue là-dessus. 1er exo: En retranchant plusieurs fois la valeur 7 à un entier positif, on finit par obtenir zéro dans le cas où il est divisible par 7 et une valeur négative dans le cas contraire. Utiliser cette propriété pour écrire un programme en Octave qui demande un nombre à l'utilisateur puis qui détermine et affiche si cet entier est un multiple de 7 ou non. Voici ce que j'ai fait : A=input('Entrez un nombre :') while((A-7) !=0) A=A-7 endwhile disp('Le nombre entré est un multiple de 7') Le problème c'est que je n'arrive pas à sortir de la boucle quand (A-7) est effectivement différent de 0.
2eme exo: (celui-ci j'ai encore plus de mal) Pour tester l'efficacité d'un médicament, on veut répartir au hasard 100 sujets en 2 groupes (groupe placebo et groupe traité). Ecrire un programme réalisant cette répartition: pour chaque sujet, on tire une valeur au hasard entre 0 et 1; on affecte le sujet au groupe placebo si cette valeur est inférieure à 0.5, au groupe traité sinon. Le programme devra afficher le nombre de sujets dans chaque groupe. Voici ce que j'ai fait : for C=1:100 rand if (rand<0.5) A=C endif if (rand>0.5) B=C endif endfor disp('sujet groupe placebo') disp(A) disp('sujet groupe traité') disp(B)
Help
|
!
Même si je n'ai pas fait d'Octave, je vais essayer de te répondre
- Pour ton exercice 1, la condition de ta boucle while ne correspond pas à ce qui est indiqué dans la première phrase : on doit obtenir soit 0 soit un nombre négatif en soustrayant plusieurs fois le chiffre 7 au nombre saisi. C'est à la sortie de ta boucle que tu peux tester si le nombre final est égal à 0, ou inférieur.
- Pour ton exercice 2, celui-ci te demande de compter le nombre de personnes de chaque groupe. Il te suffit d'incrémenter la valeur de A ou de C suivant le nombre de ton rand au lieu de le fixer à une valeur C. De plus, il manque un cas qui n'apparaît pas dans tes 2 if : celui où ton rand est égal à 0,5. il faudrait un test du genre if (rand<0.5) ... else... Par contre, je ne sais pas si ton rand te donne une valeur comprise entre 0 et 1
---------------
And in the end, the love you take is equal to the love you make
|