Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algorithme, dm

Posté par
loula12
19-01-11 à 12:36

Bonjour! Je suis en seconde et j'ai un exercice à rendre pour vendredi prochain. J'ai commencé à réfléchir mais ai du mal...
voici l'énoncé:

"On choisit deux entiers non nuls P et n. Écrire l'algorithme permettant d'afficher la liste n de nombres construits de la manière suivante:
   - la liste commence par le nombre P
   - on passe d'un nombre de la liste au suivant en le divisant par 2 s'il est pair; sinon on lui ajoute 3"

j'ai essayé, comme mon prof nous l'a expliqué de remplacer P et n par 2 nombres au hasard et d'appliquer:
si n=6 et P=500
500 - 250 - 125 - 128 - 64 - 32

Voila donc mon brouillon pour l'algorithme... pouvez vous me corrigez?
soit Z les nombres suivants P
Entrée:  saisir n et P
Traitement: si P est pair, alors Z prend la valeur P/2
                   si P est impair, alors Z prend la valeur P+3
                   Fin de si
Sortie: afficher la liste



Merci

Posté par
Paper
re : Algorithme, dm 19-01-11 à 13:10

Alors, n'ayant pas fait les algorithmes en seconde (pas au programme il y a 3 ans), je les ait néanmoins utilisé en informatique.

Connait-tu la boucle "tantque" ?

Posté par
loula12
re : Algorithme, dm 19-01-11 à 13:15

oui, ça doit être la réforme
et non je ne connais pas... on a fait la boucle et les conditions enfin je crois mais c'est tout... mais je crois que mon prof a dit que mercredi (prochain) on ferait ça (le "tantque"...)
mais je pense que c'est possible qu'il nous est donné un truc comme ça pour "découvrir"  

Posté par
Paper
re : Algorithme, dm 19-01-11 à 13:18

Ok, mais ça me semble donc bizarre, car on répète l'action de calcul de Z, n fois (n étant entré par l'utilisateur) ... Donc logiquement il faudrait une boucle "tantque" ...

Posté par
Paper
re : Algorithme, dm 19-01-11 à 13:18

Qu'as-tu vu sinon comme "boucle" ?

Posté par
loula12
re : Algorithme, dm 19-01-11 à 13:24

on a vu un exercice avec une boucle où le traitement commençait avec "pou" et finissais avec "fin de pour" mais je crois que c'est tout! et dans la leçon qu'on a, il n' y a pas de nom à la boucle que l'on a fait... désolée...

Posté par
Paper
re : Algorithme, dm 19-01-11 à 13:25

Ah oui, on peut en effet faire avec "pour".

Du coup, tu veux que je te donne ma solution avec "tantque" ou avec "pour" ?

Posté par
loula12
re : Algorithme, dm 19-01-11 à 13:26

ben si on peut faire avec "pour" plutôt avec "pou" alors vu que tantque on l'a pas vu... donc ce que j'ai fais c'est faux (je me disais aussi ^^ )

Posté par
Paper
re : Algorithme, dm 19-01-11 à 13:28

Ah, c'est "pou" et pas "pour" ?

Sinon c'est quoi la syntaxe du "pou" ?

pour (condition) ... ????

Posté par
loula12
re : Algorithme, dm 19-01-11 à 13:29

non non non désolée faute de frappe

Posté par
loula12
re : Algorithme, dm 19-01-11 à 13:30

c'est pour

Posté par
Paper
re : Algorithme, dm 19-01-11 à 13:32

Ok, et c'est quoi la syntaxe ?

pour (condition) faire
  action ;
fin pour

??

Posté par
loula12
re : Algorithme, dm 19-01-11 à 13:35

vous me demandez mon avis c'est ça? moi je pensai que c'était "pour"... comme j'ai fais en fait!

Posté par
Paper
re : Algorithme, dm 19-01-11 à 13:36

Non, en fait je demande la syntaxe, c'est-à-dire l'utilisation que l'on fait de "pour" ...

Par exemple pour le "si", on fait :

si (condition) alors
      actions
fin si;

Mais le pour en math, ça s'écrit comment ?

Posté par
loula12
re : Algorithme, dm 19-01-11 à 13:39

?

Posté par
loula12
re : Algorithme, dm 19-01-11 à 13:40

je sais pas...

Posté par
Paper
re : Algorithme, dm 19-01-11 à 13:48

Bon alors tant pis, je met comment j'aurais fait :

Variables P,n ;
afficher (P) ;
pour n > 1 faire
   si P est pair alors
       P <- P/2 ;
       afficher (P) ;
       n <- n - 1 ;
   sinon
       P <- P + 3 ;
       afficher (P) ;
       n <- n - 1 ;
   fin si;
fin pour;

Posté par
loula12
re : Algorithme, dm 19-01-11 à 18:06

merci c'est gentil de m'aider
bon j'avoue que j'ai pas trop compris...  d'abord les "-" c'est des moins?  et comment avez vous trouvez le 3? et pourquoi P< -P/2 ?

Posté par
Paper
re : Algorithme, dm 19-01-11 à 18:09

Oui, par exemple :

n <- n - 1 est l'équivalent de "A la variable n, j'affecte la variable n moins 1.

Ensuite, tu parles de quel 3 ?

Et pour P <- P/2, ça permet de ne pas utiliser une autre variable, dans la mesure où après le calcul, on l'affiche et on calcule la nouvelle valeur. Mais tu peut aussi une nouvelle variable Z qui enregistre la valeur calculée et qui ensuite l'affiche, c'est la même chose



Voilà, n'hésite pas à me demander si tu n'as pas compris un truc

Posté par
loula12
re : Algorithme, dm 19-01-11 à 18:11

  car pour     P <- P/2     justement, P est plus grand que P/2 non?
  par exemple si P=500, P/2=250 donc P> P/2 non?

Posté par
loula12
re : Algorithme, dm 19-01-11 à 18:12

     pour le 3 je parlai du   P <- P + 3 ;

Posté par
Paper
re : Algorithme, dm 19-01-11 à 18:14

Ah ! Je comprend ce que tu me dis !

En fait, c'est pas "<" mais "<-" et cette flèche veut dire "j'affecte/je donne".

Donc P <- P/2, ce n'est pas "P est inférieur à P/2" mais "la variable P prend comme valeur P/2"

C'est plus clair ?

Posté par
loula12
re : Algorithme, dm 19-01-11 à 18:19

aaah ok!! on avait pas vu ce signe en cours !   donc oui j'ai mieux compris mais ça  "n <- n - 1"  non, j'ai pas compris...?

Posté par
Paper
re : Algorithme, dm 19-01-11 à 18:27

Donc la c'est pareil, à n, j'affecte n - 1.

C'est en fait cette condition qui me permet de n'afficher que les n termes. Je m'explique.

Au début, tu saisis n avec la valeur 6, c'est-à-dire que tu veux afficher les 6 termes de la liste.
Et à chaque fois, tu effectues les mêmes calculs (si P est pair ... sinon si P est impair alors ...) d'où la nécessité d'utiliser une boucle "pour". Cependant, il ne faut pas faire une boucle infini, car on ne veut afficher que les n premiers termes de la liste ! La condition est donc : "on effectue les calculs pour n > 1 et afin d'arrêter cette boucle, on diminue progressivement la valeur de n" et si tu essayes le petit algorithme, tu veras, ça fonctionnera, tu auras bien les 6 termes ! Afin de mieux comprendre, essaye de faire la trace pour P = 500 et n = 6, tu verras, tu comprendras, même moi je me suis aidé d'un exemple !

Voilà, j'espère avoir été le plus clair, dis-moi si un truc te gêne !

Posté par
loula12
re : Algorithme, dm 20-01-11 à 12:32

donc, si je comprend bien on met "n <- n - 1"  pour dire que on avance d'un nombre: si n=6, on met ça pour dire que on passe au suivant, au 5ème?  c'est ça?
et donc, tout ça c'était le traitement, pour la sortie, c'est "afficher la liste"?
en tout cas, merci beaucoup c'est très gentil de m'aider!      (j'ai toujours un peu de mal en maths... )  

Posté par
loula12
re : Algorithme, dm 20-01-11 à 12:33

et on dit,   "n prend la valeur de n-1"    OU    "à n, j'affecte n - 1"    pour "n <- n - 1".
c'est ça?

Posté par
Paper
re : Algorithme, dm 20-01-11 à 13:21

C'est ça oui, "à n j'affecte la valeur n - 1"

J'espère que le fait de diminuer n de 1 a chaque fois ne te dérange pas trop.

On aurait pu aussi prendre une variable que l'on nomme A

Et on aurait fait :    pour A différent de n faire
                       ...
                       A <- A + 1

On initialise A à 1 et tant que A est inférieur (ou égal) à n, on effectue le processus, sans oublier d'ajouter 1 à A pour sortir à un moment de la boucle !

Voilà, si tu as des questions

Posté par
loula12
re : Algorithme, dm 20-01-11 à 16:52

merci beaucoup j'ai compris!!!!!!     je pense que je vais opter pour le "n prend la valeur de n-1".
en tout cas c'est super gentil de m'avoir aidée     
normalement j'ai plus de questions (je pense mais on sait jamais )

Posté par
Paper
re : Algorithme, dm 20-01-11 à 19:06

Ok, sinon n'hésite pas



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !