Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

exercice sur les algorithmes

Posté par
llmab
21-10-14 à 17:43

bonjour,
j'ai un dm à faire mais je suis vraiment bloquée à la question 2

voici l'algorithme :
variable : n, u entier naturel
entrée : saisir n
initialisation : u prend la valeur n
traitement : tantque u >=37 faire
                     u prend la valeur u-37
                    fintantque
sortie : afficher n et u

question 1 : afficher pour n =35 et n =55
question 2 : soit un entier naturel n quelconque. quel lien existe t-il entre n et le nombre u obtenu en sortie?

réponse question 1 ) pour n =35 u= 3535
                                 pour n =55 u =5518

réponse question 2) je suis vraiment bloquée pouvez vous me donner une petite aide afin que je réussisse à me débloquée l'exercice svp

merci d'avance à ceux qui m'aideront

Posté par
Nengo
re : exercice sur les algorithmes 21-10-14 à 17:47

Bonjour,

comment as-tu obtenu ces résultats pour la question 1) ?

Posté par
llmab
re : exercice sur les algorithmes 21-10-14 à 17:49

pour la question 1 j'ai rentré la formule dans le logiciel algobox

Posté par
llmab
re : exercice sur les algorithmes 21-10-14 à 17:58

aider moi svp je suis vraiment bloqué

Posté par
Nengo
re : exercice sur les algorithmes 21-10-14 à 18:06

Essaye de le faire "manuellement" :

tu ne peux pas réussir la question 2), puisque tes résultats à la 1) sont incorrects

Dès la première ligne du programme, ça doit attirer ton attention :

tu l'exécutes avec la valeur 35, et la première ligne est "tant que ..."

Posté par
llmab
re : exercice sur les algorithmes 21-10-14 à 18:12

oui je veux bien les faire à la main sauf que mon prof m'a appris à faire les algorithmes que à l'aide du logiciel algobox
en revanche j'ai remarqué à la première ligne que u doit être inférieur ou égal à 37 non?

Posté par
Nengo
re : exercice sur les algorithmes 21-10-14 à 18:50

Donc tu ne sais faire un algorithme qu'en le rentrant dans un logiciel ?

variable : n, u entier naturel
entrée : saisir n
initialisation : u prend la valeur n
traitement : tantque u >=37 faire
                     u prend la valeur u-37
                    fintantque
sortie : afficher n et u

Représente-toi l'algorithme comme agissant sur des cases dessinées sur une feuille : une case "n", une case "u"
Alors, entrée : on a n=35

Bon ben initialisation, u=n, du coup dans nos deux cases on a la même chose !

Traitement : Tant que u >= 37 ! Est-ce le cas ici ? Si oui, on peut lire la suite, si non, ce n'est même pas la peine de regarder ce qu'il se passe dans notre boucle "tant que", puisqu'on ne l'exécute pas !
Ici, on a u=35, donc notre u ne satisfait pas la condition !
On passe la boucle "tant que", on arrive à la sortie : afficher u et n, et bien le contenu de nos cases n'a pas changé, c'est 35 pour les deux !

En revanche, avec n=55,
donc initialisation : u=55, et là notre u est bien supérieur ou égal à 37 ! Donc on rentre dans la boucle :
on nous dit que u vaut u-37, donc notre "nouveau" u vaut 55 ("l'ancien u") - 37 = 55-37=18
Notre u vaut maintenant 8, on revient au début de la boucle tant que et on regarde si u satisfait la condition : plus maintenant !
Donc on arrive à la sortie avec u=18 et n=55 !

Je te conseille d'essayer avec quelques autres nombres, pour voir si tu as bien compris


Ensuite, pour la question 2, il faut trouver le lien entre le u qui sort, et notre entier n au début :
Au début, u=n, et puis on lui retire 37 autant de fois qu'on peut, tant que l'on reste dans les positifs, et on renvoit ce qu'il reste à la fin ..... A quoi ça te fait penser ?

Si tu ne vois pas, demande-toi quand est-ce-que l'algorithme va nous renvoyer 0 !

Posté par
llmab
re : exercice sur les algorithmes 21-10-14 à 19:05

ah ok merci beaucoup j'ai enfin compris la question 1
l'algorithme va nous renvoyer 0 quand n =37 non? par contre je ne voie pas du tout à quoi cela peut me faire penser dsl.

Posté par
llmab
re : exercice sur les algorithmes 21-10-14 à 19:11

est ce que le lien entre n et u c'est que n=u-37?

Posté par
Nengo
re : exercice sur les algorithmes 21-10-14 à 19:41

Alors, si on prend n=37 oui, ça va nous renvoyer 0 , mais ce n'est pas le seul cas, 0 aussi en fait !
Et il y en a encore d'autres : regarde 74, 111 et 148

On peut dire que n=u-37 seulement quand on a fait une seule fois la boucle "tant que", si on la fait deux fois, ou plus, ou même zéro fois, ce n'est pas vrai !

En fait, en me relisant j'ai vu que j'avais utilisé le mot "reste" dans mon précédent message : il est particulièrement adapté ici

Posté par
llmab
re : exercice sur les algorithmes 21-10-14 à 20:13

74, 111, 148 sont égal à 0 car se sont des multiple de37 non ?
par contre je ne comprend vraiment pas pour la question2

Posté par
Nengo
re : exercice sur les algorithmes 21-10-14 à 20:25

Oui, ça va te renvoyer 0 car ce sont des multiples de 37 !

Ca ne t'aide pas pour la 2) justement ? A voir à quoi correspond la réponse de l'algorithme !

Posté par
llmab
re : exercice sur les algorithmes 21-10-14 à 20:30

est ce que lien est que n =u lorsque n est un multiple de u?

Posté par
llmab
re : exercice sur les algorithmes 21-10-14 à 20:31

heu pardon n=0

Posté par
Nengo
re : exercice sur les algorithmes 21-10-14 à 20:33

C'est l'idée, mais c'est u qui vaut 0, n ne change pas ! Et n n'est pas un multiple de u dans ce cas, mais de 37 !

Posté par
llmab
re : exercice sur les algorithmes 21-10-14 à 20:39

ha oui mince mais je ne voie pas du tout, je comprend pas comment je peux expliquer et trouver la relation entre n et u.
merci pour votre aide car je suis vraiment perdue

je pense que je n'ai pas bien compris la phrase de départ :
"Au début, u=n, et puis on lui retire 37 autant de fois qu'on peut, tant que l'on reste dans les positifs, et on renvoit ce qu'il reste à la fin ..... A quoi ça te fait penser ? "

Posté par
llmab
re : exercice sur les algorithmes 22-10-14 à 08:32

SVP aidez moi

Posté par
llmab
algorithme 22-10-14 à 10:03

bonjour,
j'ai un dm à faire mais je suis vraiment bloquée à la question 2

voici l'algorithme :
variable : n, u entier naturel
entrée : saisir n
initialisation : u prend la valeur n
traitement : tantque u >=37 faire
                     u prend la valeur u-37
                    fintantque
sortie : afficher n et u

question 1 : afficher pour n =35 et n =55
question 2 : soit un entier naturel n quelconque. quel lien existe t-il entre n et le nombre u obtenu en sortie?

réponse question 1 ) pour n =35 u= 35
                                 pour n =55 u =18

réponse question 2) je suis vraiment bloquée pouvez vous me donner une petite aide afin que je réussisse à me débloquée l'exercice svp

merci d'avance à ceux qui m'aideront

*** message déplacé ***

Posté par
Glapion Moderateur
re : algorithme 22-10-14 à 12:20

Bonjour, tu enlèves 37 au nombre jusqu'à que l'on ne puisse plus. Donc en sortie on a le reste de la division du nombre par 37.
n = 37q + r, et ça sort r

*** message déplacé ***

Posté par
llmab
re : algorithme 22-10-14 à 13:08

Ha ok merci beaucoup

*** message déplacé ***

Posté par
jeveuxbientaider
re : algorithme 22-10-14 à 13:11

Bonjour,

    

Le multi-post est interdit , ici !!!

Lire ceci : ------> Sujet ancien- ne plus donner ce lien-merci

et cela : ------> [lien]

*** message déplacé ***

Posté par
Nengo
re : exercice sur les algorithmes 22-10-14 à 14:19

Qu'est-ce-que tu ne comprends pas dans ma phrase ?

Tu prends n'importe quel nombre, si tu peux lui retirer 37 (là, on dit qu'on "peut" si c'est plus grand que 37, car rien ne nous empêche en général de faire, par exemple, 1-37 ! et bien ici on considérera qu'on ne peut pas, on ne le fera tout simplement pas !), et bien tu lui retires 37, et tu regardes si tu peux à nouveau enlever 37, ainsi de suite jusqu'à ce qu'on obtienne un nombre u tel que 0 =< u < 37

Comme tu l'as dit, quand on prend un multiple de 37, on va récupérer 0 !

Si on prend 38, on va récupérer 1, comment peut-on écrire 38 en fonction de 37 ? C'est à dire écrire 38 = 37*q + r
Avec r tel que 0 =< r < 37
Avec 38 c'est immédiat : 38 = 37*1 + 1
Avec 39 : 39 = 37*1 + 2

Et si tu exécutes ton algorithme avec 38 et 39, tu recevrais respectivement 1 et 2 !

Maintenant prenons un nombre bien plus grand : 3706, et écrivons-le de la même façon que précédemment :

3706 = 37*100 + 6 (on a bien 6 qui est supérieur ou égal à 0 et strictement inférieur à 37)

Selon toute logique, que va nous renvoyer l'algorithme si tu commence avec n = 3706 ?


Et enfin, lorsqu'on écrit un entier m comme précédemment : m = pq + r avec 0 =< r < p   (plus haut, on a p=37), qu'est-ce-que r ?
Si tu ne vois pas, dis toi que c'est la division qu'on voit en primaire

Posté par
pseudodk
REP 22-10-14 à 14:44

En fait, u est le reste de la division euclidienne de n par 37.
On a alors u=n-37*k avec k le nombre de tours de la boucle tantque ; cela veut dire que si n<37 ,on a u=n en sortie et si n37, on a en sortie n qui reste inchangé car il ne subit aucun traitement et u qui prend une valeur selon le nombre de tours k de la boucle.

Posté par
llmab
re : exercice sur les algorithmes 23-10-14 à 10:06

donc est ce que le lien entre u et n c'est que si n est inférieur à 37 alors n=u et si n est supérieur à 37 u=n-37x , x étant le nombre de tour que réalise la boucle ?

Posté par
pseudodk
REP 25-10-14 à 14:00

Oui mais il faut dire si est supérieur ou égal à 37, u=n-37x.
Fais quelques essais à la main en prenant n tel que 35n40.



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 1742 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 !