Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Exercice - Algorithme - Seconde

Posté par
NewMa
16-03-13 à 12:44

Bonjour, j'ai un exercice de maths à faire, sur un algorithme, mais je ne comprends pas les questions (sauf la question 1) où il faut tester des nombres entiers).
Pourriez vous m'aider, s'il vous plaît ??
Je vous en remercie d'avance.


On a l'algorithme suivant :

1) Testez l'algorithme sur plusieurs entiers.

2) Émettez une conjecture concernant cet algorithme et la prouver.

3) Modifier cet algorithme pour qu'il affiche le nombre de boucles effectuées.

Exercice - Algorithme - Seconde

Posté par
Diablow
re : Exercice - Algorithme - Seconde 16-03-13 à 23:25

Bonjour,

je pense qu'il y a une erreur dans l'énoncé.

Soit tu entres n = 20, la boucle "tant que n=20" s'active,  n devient n-4 donc n=16, sortie de la boucle "tant que" et affichage n=16
Sinon ( n <> 20 ), on n'entre pas dans la boucle et on affiche directo la valeur n entrée.

Je ne vois pas l'intérêt de l'exo...

Posté par
jeveuxbientaider
re : Exercice - Algorithme - Seconde 16-03-13 à 23:35

Bonjour,

Je me préparais à faire la même réponse avant que Diablow te réponde ....

Une erreur de frappe possible ! ? !

""Tant que n = 20 "" serait peut-être à remplacer par

""Tant que n 20 """ .... mais j'ai un doute car je ne vois pas l'intérêt de cet algo !

Ecrire un algo ce n'est pas aligner des lignes pour le plaisir de noircir du papier , c'est pour résoudre un problème ! Et dans ce cas je je vois pas où on veut arriver !

Posté par
NewMa
re : Exercice - Algorithme - Seconde 17-03-13 à 10:04

Oui, il y avait une erreur dans l'énoncé, et je ne l'ai pas corrigée dans le topic. Excusez-moi
Le bon énoncé est :

Exercice - Algorithme - Seconde

Posté par
Diablow
re : Exercice - Algorithme - Seconde 17-03-13 à 11:49

Oki....

bon si n=20 c'est fini

Si n<20 on multiplie par 2 jusqu'à ce que n soit sup à 20. Il faut déjà faire la table des nombres qui vont résulter de cette 1er étape:
Voir la 1ere table ci-dessous. On voit que tout les nombres pairs entre 20 et 38 peuvent sortir

On est donc maintenant amenés à voir ce qui se passe quand n est supérieur à 20. Là c'est pas dur, on enlève 4 jusqu'à ce que le nombre soit inférieur à 20. Il faut donc considérer 4 cas:
n=20+4k, le nombre final est 20
n=21+4k, le nombre final est 17
n=22+4k, le nombre final est 18
n=23+4k, le nombre final est 19


donc, on peut dire que l'algorithme fonctionne de la façon suivante:

Cas n°1 : Si n inférieur ou égale à 20
Sous cas n° 1/1 : Si le n est égale à 5, 10, 20, on tombe sur 20 après 0, 1 ou 2 multiplication par 2 et la programme s'arrête.
Sous cas n° 1/2 : Si le nombre n'est pas égale à 5, 10, 20,
- après "quelques" multiplications par 2, on tombe sur un nombre pair compris entre 22 et 38
- on soustrait "quelques" fois le nombre 4 pour arriver soit sur 18, soit sur 20
Sous-sous cas n° 1/2/1 :Si on arrive sur 20, le programme s'arrête
Sous-sous cas n° 1/2/2 :Si on arrive sur 18, on multiplie par 2 soit 36, on soustrait 4 fois 4 (16), on arrive sur 20 et le programme s'arrête.

Cas n°2 : si n supérieur à 20
Après "quelques" soustraction de 4, quatre possibilités
- on arrive à 20, le programme s'arrête
- on arrive à 17, on multiplie par 2 (34), on soustrait 4 fois 4 (16), on arrive à 18, voir le sous-sous cas 1/2/2
- on arrive à 18, voir sous-sous cas 1/2/2
- on arrive à 19, on multiplie par 2 (38), on soustrait 5 fois 4 (20), on arrive à 18, voir le sous-sous cas 1/2/2


Pour compter les iterations, il suffit :
- d'initialiser une variable "0 cpt" juste avant le "tant que n 20"
- ajouter 1 à chaque itération "cpt + 1 cpt" juste avant le "fin si"
- afficher le resultat à la fin "Afficher cpt"

... et le tour est joué...

Exercice - Algorithme - Seconde

Posté par
NewMa
re : Exercice - Algorithme - Seconde 17-03-13 à 12:59

Merci Diablow. Donc, pour compter les itérations, le "nouvel" algorithme sera :

Exercice - Algorithme - Seconde

Posté par
Diablow
re : Exercice - Algorithme - Seconde 17-03-13 à 19:50

Presque...

primo, ça sert à rien de laisser trainer les commentaires dans l'algo, je les ai virés.
secundo (et plus grave), le cpt + 1 => cpt doit être APRES le "fin si". Si tu le places avant, il ne sera exécuté que  dans le cas "sinon".

oki ?

Exercice - Algorithme - Seconde



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