Petit programme en Octave

Discutez d'informatique ici !
FunkyAnts
Membre Naturel
Messages: 77
Enregistré le: 07 Jan 2014, 19:08

Petit programme en Octave

par FunkyAnts » 14 Juin 2014, 16:32

Bonjour, je sollicite votre aide car je bloque dans la rédaction d'un programme en Octave.

Voici l'énoncé : Ecrire un programme en Octave qui demande un entier à l'utilisateur, puis qui calcule et affiche la factorielle de cet entier.

Voici ce que j'ai fait et qui ne fonctionne pas évidemment :hum:

A=input('Entrez un entier :');
P=A;

while (B != 0 )
B=A-1;
P=A*(B);
endwhile
disp(P)


:help:



Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 14 Juin 2014, 16:46

hello,

cet exercice se prete bien au pseudo code. donc commence par ecrire du pseudo code.
Si tu veux troller, tu peux utiliser factorial(A) qui te retourne la factorielle de A :ptdr:
la vie est une fête :)

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 14 Juin 2014, 16:47

Bonjour,

Pour vérifier ce qui ne fonctionne pas. Essaye d’exécuter ton code sur une feuille de papier avec par exemple A = 4. Cela te permettra de comprendre ce qui ne va pas dans ton code.

lulubibi28
Membre Relatif
Messages: 240
Enregistré le: 10 Nov 2013, 11:18

par lulubibi28 » 14 Juin 2014, 17:20

Tu pourrais trouver pleins de code qui remplissent le boulot sur Google :ptdr: ...

FunkyAnts
Membre Naturel
Messages: 77
Enregistré le: 07 Jan 2014, 19:08

par FunkyAnts » 15 Juin 2014, 14:15

Bonjour,

je n'arrive pas à voir où ça cloche :hein:

ps: de quoi parles-tu lulubibi28 ?

lulubibi28
Membre Relatif
Messages: 240
Enregistré le: 10 Nov 2013, 11:18

par lulubibi28 » 15 Juin 2014, 14:41

FunkyAnts a écrit:Bonjour,

je n'arrive pas à voir où ça cloche :hein:

ps: de quoi parles-tu lulubibi28 ?


Rien , je rigole (c'est juste une rhétorique assez connue ^^)

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

par Rockleader » 15 Juin 2014, 15:32

Je connais pas Octave, mais à mon avis, faire une boucle avec dans sa condition une variable qui n'a pas encore été déclaré ça risque pas de marcher^^
Il manque au moins une initialisation.
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

FunkyAnts
Membre Naturel
Messages: 77
Enregistré le: 07 Jan 2014, 19:08

par FunkyAnts » 15 Juin 2014, 16:45

A=input('Entrez un entier:');
P=0;
while ((A-1)!=0)
P=A*(A-1);
endwhile
disp(P)

J'initialise mais cela ne fonctionne tjrs pas.

joel76
Membre Relatif
Messages: 230
Enregistré le: 11 Fév 2013, 15:31

par joel76 » 15 Juin 2014, 18:58

Pose-toi ces questions :
Quand est-ce que je sors de la boucle ?
Qu'elle est la valeur de A à l'entrée du premier tour de boucle ?
Quelle est la valeur de A à l'entrée du deuxième tour de boule ?
Que dois-je faire pour que ça change ?

FunkyAnts
Membre Naturel
Messages: 77
Enregistré le: 07 Jan 2014, 19:08

par FunkyAnts » 16 Juin 2014, 14:28

C'est bon, problème résolu :

A=input('Entrez un entier:');
P=1;
while (A-1 != 0)
P=P*A
A=A-1;
endwhile
disp(P)

Merci pour votre aide.

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

par Rockleader » 16 Juin 2014, 23:28

FunkyAnts a écrit:C'est bon, problème résolu :

A=input('Entrez un entier:');
P=1;
while (A-1 != 0)
P=P*A
A=A-1;
endwhile
disp(P)

Merci pour votre aide.



Tu es sur ? Il se passe quoi si A=-1 par exemple ?
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

FunkyAnts
Membre Naturel
Messages: 77
Enregistré le: 07 Jan 2014, 19:08

par FunkyAnts » 17 Juin 2014, 07:50

En fait, t'as raison il ne fonctionne que partiellement :
pas si l'on donne un nombre décimal ou un nombre entier négatif !

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 17 Juin 2014, 07:55

Rockleader a écrit:Tu es sur ? Il se passe quoi si A=-1 par exemple ?


En même temps, que dire d'une factorielle d'un nombre négatif ou d'un nombre décimal ?

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

par Rockleader » 17 Juin 2014, 10:27

ampholyte a écrit:En même temps, que dire d'une factorielle d'un nombre négatif ou d'un nombre décimal ?


J'entends bien^^

Juste pour faire remarquer que l'utilisateur si tu lui dis entrer un entier il entrera pas forcement un entier positif

SI c'est juste un truc perso comme ça c'est bon tu sauras t'en servir, mais si c'est un taf à faire moi j'aurais rajouté une boucle sur A tant qu'il n’est pas positif

truc du style

A=-1
while(A<0)
demander A
end while
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

joel76
Membre Relatif
Messages: 230
Enregistré le: 11 Fév 2013, 15:31

par joel76 » 17 Juin 2014, 11:31

C'est tout le problème de la saisie "humaine" des données !

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 17 Juin 2014, 15:11

Tu es sur ? Il se passe quoi si A=-1 par exemple ?

ahah, Rockleader a choisi son école
la vie est une fête :)

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

par Rockleader » 17 Juin 2014, 16:30

fatal_error a écrit:ahah, Rockleader a choisi son école



Ahah c'est vieux ça =) enfin pas si vieux que ça quand j'y repense.

N'empêche c'est en codant qu'on prend de bonnes habitudes ;)
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 17 Juin 2014, 22:24

Rockleader a écrit:Ahah c'est vieux ça =) enfin pas si vieux que ça quand j'y repense.

N'empêche c'est en codant qu'on prend de bonnes habitudes ;)


Tout à fait à condition d'avoir eu des règles lors de l'apprentissage. Quand je lis des vieux codes C de collègue, je m'arrache souvent les cheveux sur des codes très mal indentés et non commentés.

joel76
Membre Relatif
Messages: 230
Enregistré le: 11 Fév 2013, 15:31

par joel76 » 18 Juin 2014, 08:48

Apparemment, la qualité de nos réponses n'a pas convaincu : http://forum.hardware.fr/hfr/Programmation/Divers-6/petits-programmes-octave-sujet_142201_1.htm :ptdr:

lulubibi28
Membre Relatif
Messages: 240
Enregistré le: 10 Nov 2013, 11:18

par lulubibi28 » 18 Juin 2014, 11:02

PS : le langage C n'est pas évident à saisir (enfin les algos ) donc @FunkyAnts faut apprendre aussi "à buter" les codes ... ^^

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite