Programmes Octave
imhere614
-
jisisv Messages postés 3645 Date d'inscription Statut Modérateur Dernière intervention -
jisisv Messages postés 3645 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je suis encore bloqué dans la réalisation de deux petits programmes en Octave, j'essaie pourtant, je vous assure.
Je demande donc votre aide, qqu peut-il m'aider s'il vous plaît ?
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)
je suis encore bloqué dans la réalisation de deux petits programmes en Octave, j'essaie pourtant, je vous assure.
Je demande donc votre aide, qqu peut-il m'aider s'il vous plaît ?
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)
A voir également:
- Programmes Octave
- Gnu octave - Télécharger - Édition & Programmation
- Programmes au démarrage windows - Guide
- Mettre en veille des programmes - Guide
- Complément logiciel microsoft publier au format pdf ou xps pour les programmes microsoft office 2007 - Télécharger - Bureautique
- Comment savoir quels sont les programmes inutiles sur mon pc ? - Guide
4 réponses
J'ai trouvé les réponses, si cela peut aider :
1er exo:
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
2eme exo:
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)
1er exo:
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
2eme exo:
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)
Pour le premier
ohand@osiris: ~/src/octave $ cat div7.msera plus fonctionnel.
A=input('Entrez un nombre :')
while( A-7 >=0 )
A=A-7;
endwhile
if (0 == A)
disp('Le nombre entré est un multiple de 7')
else
disp('Le nombre entré n est pas un multiple de 7')
endif
johand@osiris: ~/src/octave $ octave -q div7.m
warning: function ./test.m shadows a core library function
warning: function ./diff.m shadows a built-in function
Entrez un nombre :18
A = 18
Le nombre entré n est pas un multiple de 7
johand@osiris: ~/src/octave $ octave -q div7.m
warning: function ./test.m shadows a core library function
warning: function ./diff.m shadows a built-in function
Entrez un nombre :21
A = 21
Le nombre entré est un multiple de 7
Utilise les facilités offertes par octave:
Voir
Matrices and Vectors
GNU Octave pdf manual
johand@osiris: ~/src/CCM/octave $ cat placebo.m
#!/usr/bin/octave -q
effectif=100;
plan = round(rand(1,effectif));
display(sum(plan));
johand@osiris: ~/src/CCM/octave $ ./placebo.m
50
Voir
Matrices and Vectors
GNU Octave pdf manual