Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

dm maths numero 2

Posté par
Lyceenes
24-12-15 à 15:08

Bonjour, si je viens vers vous c'est parce que j'ai un problème avec cet algorithme:


Voici quelques consignes:

On appelle code un nombre à 4 chiffres choisis dans la liste: 0,1,2,3,4,5,6,7,8,9 chaque chiffre pouvant être répété à l'intérieur d'un même code.

Par exemple ; 1903 et 8855 sont des codes valables. L'écriture générale étant abcd (avec une barre au dessus mais je ne sais pas faire) on met le trait au dessus pour ne pas confondre l'écriture du nombre avec le produit a*b*c*d


A ce code est associé une clé C calculée à l'aide de l'algo suivant:

Entrée:: N est le code à quantre chiffres

Initialisation: Affecter à P la valeur de N
Affecter à S la valeur 0 (zero)

Traitement: Pour K de 1à4 ,faire:
               Affecter à U le chiffre des unités de P
               Si K est pair
                Alors affecter à S la valeur S+(K+3) x U
                Sinon affecter à S la valeur S+(K+1) x U
Fin si
Affecter à P la valeur (P-U)/10
Fin faire
Affecter à R le reste de la division enuclidienne de S par 9
Affecter à C la valeur 9-R

Sortie : Afficher C

Le code et sa clé constituent un identifiant permettant l'ouverture d'une salle confidentielle.

Alors j'ai essayer de le remmettre sur algobox et ça donne:

Variables:

N est du type nombre
P est du type nombre
S est du type nombre
U est du type nombre
K est du type nombre
C est du type nombre
R est du type nombre

DEBUT ALGORITHME:

P prend la valeur N
S prend la valeur 0 (zero)

Pour N allant de 1 à 4
Debut pour
U prend la valeur P%10
Si (K==0 ou K==2 ou K==4 ou K==6 ou K==8) alors
Debut si
S prend la valeur S+(K+3)*U
Fin si

SINON
Debut sinon
S prend la valeur S+(K+1)*U
FIN SINON

P  prend la valeur (P-U)/10

POUR AFFECTER LA VALEUR DE R JE NE SAIS PAS DU TOUT

affecter à C la valeur 9-R

SORTIE: Afficher C

Merci de votre aide et dites moi si vous y voyez des erreurs et aider moi à affecter la valeur de R (reste de la division euclidienne de S par 9.

Posté par
mathafou Moderateur
re : dm maths numero 2 24-12-15 à 15:26

bonjour, (et bonnes fêtes)

traduire "pour K" en "pour N" ???

reste de la division euclidienne :

c'est bien ce que tu as fait pour obtenir le chiffre des unités non ? c'est bien le reste de la division euclidienne par 10 ...
rien ne t'empêche d'utiliser la même opération algébrique pour obtenir le reste de n'importe quoi dans la division euclidienne par n'importe quoi ...
(sans problème pour des nombres >0, faire gaffe aux définitions si on avait des nombres <0)

et en particulier le test "si pair" est lourdingue écrit comme ça
alors qu'un nombre est pair si et seulement si le reste de sa division euclidienne par 2 est 0.

Posté par
Lyceenes
re : dm maths numero 2 24-12-15 à 18:46

Bonnes fêtes à vous aussi

Mais concrètement vous ecririez quoi pour affecter la valeur de R ?

J'ai mis : S%9

Et pour avoir le K pair je mettrais : %2==0

Posté par
mathafou Moderateur
re : dm maths numero 2 24-12-15 à 18:50

c'est bien ça
R prend la valeur S%9

et SI (K%2==0) etc au lieu de ta batterie de OU

(ne pas oublier de corriger le "pour K" )

Posté par
Lyceenes
re : dm maths numero 2 24-12-15 à 19:13

Merci mais il y a un problème dans mon algorithme , car la première question nous dit:

1)Faire fonctionner cet algorithme avec N=2282 et vérifier que la clé qui lui correspond est 6 .
Mais en le faisant fonctionner, moi je trouve que la clé est 3 .

Donc j'ai bien retapper mon algo et ca donne :

Variables:

N est du type nombre
P est du type nombre
S est du type nombre
U est du type nombre
K est du type nombre
C est du type nombre
R est du type nombre

DEBUT ALGORITHME:

LIRE N
P prend la valeur N
S prend la valeur 0 (zero)

Pour N allant de 1 à 4
Debut pour
U prend la valeur P%10
Si (K%2==0) alors
Debut si
S prend la valeur S+(K+3)*U
Fin si

SINON
Debut sinon
S prend la valeur S+(K+1)*U
FIN SINON

P  prend la valeur (P-U)/10
R prend la valeur S%9
C prend  la valeur 9-R
FIN POUR

Afficher C

FIN ALGORITHME.

Posté par
Lyceenes
re : dm maths numero 2 25-12-15 à 13:34

Y'a une question ou je ne sais pas comment  justifier:

2) Une personne s'identifie en entrant le code 4732 suivi de la clé 4.
L'accés à la salle lui est refusé
La personne est sûre des trois derniers chiffres et du code. L'erreur porte donc sur le premier chiffre du code (qui n'est donc pas égal à 4) Quel est ce premier chiffre ?

En utilisant mon algorithme , j'ai tapé 4732 et en effet je ne trouve pas la clé 4
J'ai donc essayé avec tous les autres chiffres pour le premier (exemple: 1732 , 2732...)
Et c'est en écrivant 3732 que je trouve la clé 4.

Donc le bon code est 3732 mais comment je pourrais le justifier?

Merci

Posté par
mathafou Moderateur
re : dm maths numero 2 26-12-15 à 20:03

ton algorithme est mal traduit
regarde attentivement où se situent
R prend la valeur S%9
C prend la valeur 9-R
il sont après la boucle, pas dedans !!

je pense que si on t'a fait faire un algorithme juste avant c'est pour l'utiliser en essayant les différents codes possibles.

sinon il faut étudier quelle serait la formule mathématique de ce qu'on calcule exactement avec cet algorithme pour en tirer une "équation".
la forme la plus "naturelle" de cette équation est avec les congruences, vues en Terminale.
mais on peut faire sans

appelons abcd (souligné pour remplacer la barre dessus) et déroulons l'algorithme entièrement à la main "en symbolique"
à chaque tour de la boucle "pour K", U prend successivement les valeurs d, c, b puis finalement a
ce qui permet de calculer S

K=1 (impair) S prend la valeur 0 + (1+1)*d = 2d
K=2 (pair) S "" 2d + (2+3)*c = 2d+5c
K=3 (impair) S "" 2d+5c+ (3+1)*b = 2d+5c+4b
K=4 (pair) S "" 2d+5c+4b + (4+3)*a = 2d+5c+4b+7a

le code est donc le "complément à 9" du reste de la division de 2d+5c+4b+7a par 9
donc si on veut faire le calcul "en marche arrière" pour trouver a
on calcule le complément à 9 de la clé connue (5 complément à 9 de 4) donc 5 est le reste de la division de 2d+5c+4b+7a par 9
or on connait 2d+5c+4b, et on en déduit alors 7a puis a
c'est ce dernier calcul qui se fait "avec les congruence" et sinon en récitant les tables de 7 et de 9 patiemment.

rappel : le reste de la division par 9 est la somme des chiffres de la somme des chiffres ... jusqu'à ce qu'il n'en reste qu'un.



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