Créer un algorithme "a la main".

Publié le 21 nov. 2013 il y a 10A par Anonyme - Fin › 28 nov. 2013 dans 10A
5

Sujet du devoir

Dans un lycée, un code d'accès à la photocopieuse est attribué à chaque professeur. Ce code est un nombre à 4 chiffres choisis dans la liste {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, chaque chiffre pouvant être repéré à l'intérieur d'un même code. Par exemple 0027 et 5855 sont des codes possibles.

1)Combien de codes peut-on ainsi former ?
2)Ce code permet aussi de définir un identifiant pour l'accès au réseau informatique. L'identifiant est constitué du code à 4 chiffres suivie d'une clé calculée à l'aide de l'algorithme suivant :

Entrée : N est le code à 4 chiffres
Initialisation : Affecter à P la valeur de N ;
Affecter à S la valeur 0 ;
Affecter à K la valeur 1.
Traitement : Tant que K 4 :
Affecter à U le chiffre des unités de P ;
Affecter à K la valeur K+1 ;
Affecter à S la valeur S+K*U ;
Affecter à P la valeur P −U/10;
Affecter à R le reste de la division euclidienne de S par 7 ;
Affecter à C la valeur 7-R.
Sortie (la « clé ») : Afficher C.

a) Faire fonctionner l'algorithme avec N = 2 282.
b) Dans cette question, toute trace de recherche, même incomplète, ou d'initiative même non fructueuse, sera prise en compte dans l'évaluation.
Un professeur s'identifie sur le réseau informatique en entrant le code 4732 suivi de la clé 7. L'accès au réseau lui est refusé. Le professeur est sûr des 3 derniers chiffres du code et de la clé, l'erreur porte sur le 1er chiffre du code (qui n'est donc pas égal à 4). Quel est ce 1er chiffre ?

Où j'en suis dans mon devoir

1 / j'ai trouvé 10*10*10*10 = 10^4 soit 10000 codes possibles.

2 / J'ai fait le traitement en ligne et pas sous forme verticale.
J'ai décomposé les 4 étapes.
Je les marques :

Etape 1 : P = 2282; S=0; K=1 (en variables)
donc U= 2 ; K=1+1 ; S=0+2*2 ; P=(2282-2)/10 ; R=4 ; C=7-4
donc K=2 ; S=4 ; P=228 ; R=4 ; C=3 comme K < 4 je continue.

J'en arrive à l'étape 4 (j'abrège les 2 et 3) et je trouve.

Etape 4 : P=2; S=36 ; K=4 ; U=2
donc K=5 ; S=46 ; P=2-2/10 ; R=4 ; C=3
Comme K > 4 j'arrête

La clé qui correspond à N=2282 est 3.

J'ai fait comme ça au devoir d'avant, mais le prof m'a marqué peu de points en m'indiquant : METHODE NON RESPECTEE.

Pourtant mon résultat était juste, mais j'ai eu faux parceque mon écriture est en ligne et pas en colonne.

Pourquoi on me marque que c'est faux alors que le résultat est juste ?

Qui peut me donner la méthode pour retranscrire les valeurs en COLONNE mais pas en ligne ?

Je ne comprends pas (manque de logique...)

Merci



1 commentaire pour ce devoir


5
Anonyme
Posté le 21 nov. 2013
Bonjour,

1. sur 4 chiffres, tu peux composer 9999 codes differents, pas 10000.

2.
si ton professeur te demande une présentation en tableau, pourquoi ne pas le faire ? C'est juste une présentation, ça ne change rien à ta logique.

tu as autant de colonnes que de variables.
Ici, les colonnes N , P, S, K, U, R, C
chaque ligne correspond à une étape
tu commences pas l'étape 0 (avant d'entrer dans la boucle tant que).

NB : dans ton algorithme il manque la FIN DU TANT QUE
==> ou s'arrête la boucle ?
je suis à peu près certaine que
-Affecter à R le reste de la division euclidienne de S par 7 ;
-Affecter à C la valeur 7-R.
-Sortie (la « clé ») : Afficher C.
ne font pas partie de la boucle.

Corrige stp, pour qu'on puisse te dire si ce que tu écris est juste ou non..

OK ?

Ils ont besoin d'aide !

Il faut être inscrit pour aider

Crée un compte gratuit pour aider

Je m'inscrisOU

J'ai déjà un compte

Je me connecte