Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2345 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Petits programmes avec Octave

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Petits programmes avec Octave

n°2231125
crazynoob6​1
Posté le 17-06-2014 à 23:10:01  profilanswer
 

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. :pt1cable:    
 
 
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  :jap:

mood
Publicité
Posté le 17-06-2014 à 23:10:01  profilanswer
 

n°2231127
Soileh
Lurkeur professionnel
Posté le 17-06-2014 à 23:31:37  profilanswer
 

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. :pt1cable:    
 
 
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  :jap:


 :hello: !
 
Même si je n'ai pas fait d'Octave, je vais essayer de te répondre [:cupra]

  • 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 :??:


:jap:


---------------
And in the end, the love you take is equal to the love you make
n°2231173
crazynoob6​1
Posté le 18-06-2014 à 12:05:20  profilanswer
 

Merci soileh,  
grâce à ton aide je viens de faire le premier programme, et je m’attelle au second.  :)
 
1er:
 
A=input('Entrez un nombre :')
while A>0
A=A-7
endwhile
if (A==0)
disp('Multiple de 7')
else
disp('Pas multiple de 7')
endif

n°2231174
crazynoob6​1
Posté le 18-06-2014 à 12:23:56  profilanswer
 

Et voici le second :
 
A=0;
B=0;
for C=1:100;
rand;
if (rand<0.5)
A=A+1;
else
B=B+1;
endif
endfor
disp('Nombre de sujets dans le groupe placebo')
disp(A)
disp('Nombre de sujets dans le groupe traité')
disp(B)
 
Merci encore soileh  :bounce:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Petits programmes avec Octave

 

Sujets relatifs
Besoin d'aide pour petits scripts VBS[resolu] problème compilation programmes C sous Dev-C++
Accéder aux programmes TVLancer 2 programmes java sous eclipse
Communication programmes C[Octave]Comment avoir une interface?
fonctions programmes, Machine de péano[Batch] Runas : Executer plusieurs programmes sur invite CMD [Résolu]
Octave avec windows 7 ? 
Plus de sujets relatifs à : Petits programmes avec Octave


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR