Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 23-12-2018 15:50:55

inconnueX
Membre
Inscription : 23-12-2018
Messages : 10

Nombre de codes possibles & algorythmique à écrire en Python

Bonjour,

Je bloque sur le dernier exercice de mon devoir de maths niveau seconde.Il est fait en 2 parties:

Première Partie
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 répété à l'intérieur d'un même code. Par exemple 0027 et 5855 sont des codes possibles.

1.Combien de codes peut on ainsi formé?

Seconde Partie

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 suivi d'une clé calculée à l'aide de l'algorythme 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.

Programmer cet algorythme en Python.Le faire fonctionner pour N=2292.



Merci beaucoup pour votre aide.

Hors ligne

#2 23-12-2018 15:54:29

inconnueX
Membre
Inscription : 23-12-2018
Messages : 10

Re : Nombre de codes possibles & algorythmique à écrire en Python

Re: CORRECTION
J ai fait une erreur ici:

inconnueX a écrit :

Traitement :       Tant que K 4 :

Entre le K et le 4 le signe ''inférieur ou égal'' n'est pas passé

c est donc:

                                 
Traitement :       Tant que K inf ou egal à 4

Hors ligne

#3 23-12-2018 18:25:39

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 401

Re : Nombre de codes possibles & algorythmique à écrire en Python

Bonsoir,

Partie 1
Tu as 4 positions, pour chacune 10 possibilités...
Combien en tout ?
Si tu ne vois pas, imagine deux positions
Pour chaque nombre en position 1, 10 possibilités en position 2 : 10 solutions mais en position 1, il y a 10 solutions aussi.
Donc tu vas avoir 10 fois 10 solutions...
Et pour 4 positions ?

Partie 2
Le travail est mâché : il y a juste a suivre les instructions...
Affectations avant tant que : on peut tout faire en 1 ligne
Affecter 2292 à N.
Pas sorcier :
N=2292

Initialisation :
P,S,K=N,0,1

Traitement
Tant que, c'est while.
Le chiffre des unités de P n'est rien d'autre que le reste dans la division euclidienne de P par 10...
ce reste se trouve avec %...

Affecter à P la valeur (P −U) /10 : à mon avis c'est plutôt (P-U)//10, le quotient euclidien, plutôt que (P-U)/10, le quotient décimal exact (même si ça ne change pas la valeur de la Clé)

SAUF si vous travaillez avec une version de Python appartenant à la branche 2.x (on est maintenant à 3.7).
Comment le savoir ?
Si on écrit print "a" et qu'il n'y a pas d'erreur à la validation c'est du Python 2.x... sinon le message d'erreur est :
SyntaxError: Missing parentheses in call to 'print'

Au fait que représente cette clé qu'on calcule ? Je n'ai rien trouvé dans l'énoncé qui me le dise....

A toi de jouer, montre ce que tu as fait...

@+

.

Hors ligne

#4 24-12-2018 13:27:26

inconnueX
Membre
Inscription : 23-12-2018
Messages : 10

Re : Nombre de codes possibles & algorythmique à écrire en Python

Bonjour,

Partie 1:

On doit faire 10 puissance 4 ce qui donne 10 000 codes possibles

Est ce correct?

Hors ligne

#5 24-12-2018 13:46:38

inconnueX
Membre
Inscription : 23-12-2018
Messages : 10

Re : Nombre de codes possibles & algorythmique à écrire en Python

Partie 2

Voici le début de mon programme:

>>> N=2292
>>> P,S,K=N,0,1


Ensuite pour la ligne ''Tant que K inf ou egal à 4" je ne sais pas comment écrire ''inférieur ou égal'" en Python.
Pour la ligne "Affecter à U le chiffre des unités de P"" je n'ai pas compris ce que je dois faire

Et pour répondre a votre question, la clé correspond un identifiant pour l'accès au réseau informatique (en fait c'est écris dans l'énoncé vous avez du mal lire!)

Merci beaucoup pour votre aide

Hors ligne

#6 24-12-2018 14:29:27

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 401

Re : Nombre de codes possibles & algorythmique à écrire en Python

Re,


je ne sais pas comment écrire ''inférieur ou égal'" en Python.

Tout simplement <= ....

Donc
while K<=4:

Ensuite, "affecter à P la valeur  de N" veut dire, écrire P=N
Puisque N=2292, alors P aussi. Et le chiffre des unités de P s'obtient en prenant le reste de la division eucildienne de P par 10...

Si tu prends un nombre V=18387, le chiffre des unités est 7, celui des dizaines est 8, celui des centaines est 3...
Avec Python tu demandes 18397%10 et il te donne la réponse 7.

Donc en réponse à ta question, U va prendre la valeur P%10...

Allez, on continue !

@+

Hors ligne

#7 25-12-2018 13:55:13

inconnueX
Membre
Inscription : 23-12-2018
Messages : 10

Re : Nombre de codes possibles & algorythmique à écrire en Python

Bonjour

Pour la partie 1 vous ne m a avez pas dit si ce que j ai fait est juste?

Partie 2
Voilà ce que j ai fait
>>> N=2292
>>> P,S,K=N,0,1
>>>while K<=4
>>> U = P%10         
>>> K=K+1
>>> S=S+K*U
>>> P= (P-U)/10
>>> R= S%7             
>>> C=7-R

Est ce correct?

Merci beaucoup

Dernière modification par inconnueX (25-12-2018 13:57:52)

Hors ligne

#8 25-12-2018 14:01:04

inconnueX
Membre
Inscription : 23-12-2018
Messages : 10

Re : Nombre de codes possibles & algorythmique à écrire en Python

Re

je viens de tester mon programme et python me donne C=7

Est ce que vous trouvez pareil chez vous

Merci

Hors ligne

#9 25-12-2018 21:24:05

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 401

Re : Nombre de codes possibles & algorythmique à écrire en Python

Re,

Oui...
Tu pouvais le savoir en faisant les calculs "à la main"...
En principe ton programme ne fonctionne pas...
En effet
tous ces >>> n'ont rien à faire là.
Après while k<=4 il manque 2 points...

N=2292
P,S,K=N,0,1
while K<=4:
    U = P%10        
    K=K+1
    S=S+K*U
    P= (P-U)/10
    R= S%7            
C=7-R
print("La clé C est  :",C)
 

Codage "propre" respectant l'indentation et qu'on peut taper tel quel dans la console (l'IDLE de Python) en cliquant sur File puis sur New Window qui va ouvrir une fenêtre vide.
Dans cette fenêtre vide (où il n'y a pas de >>>) soit tu tapes le texte, soit tu fais un copier/coller de celui_ci...
Lorsque c'est fait, tu appuies sur F5 ou tu cliques sur Run puis sur Run Module.

Il va te dire que tu dois lui donner un nom pour le sauvgarder  : Appelle-le par ex comme moi InconnueX et valide...

@+

Hors ligne

#10 26-12-2018 12:50:53

inconnueX
Membre
Inscription : 23-12-2018
Messages : 10

Re : Nombre de codes possibles & algorythmique à écrire en Python

Re

effectivement pour les 2 points après le while K<=4 je ne les avait pas mis dans mon msg mais sur Python je ne les ai pas oubliés!

Merci bcp pour votre aide

Et pour la partie 1 ça donne bien 10 000 codes possibles?

Merci

Hors ligne

#11 26-12-2018 13:16:27

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 401

Re : Nombre de codes possibles & algorythmique à écrire en Python

Re,

Oui, bien sûr...
[tex]10^4=10\times 10\times 10\times 10=10000[/tex]

Au plaisir.

@+

Hors ligne

#12 26-12-2018 13:59:00

inconnueX
Membre
Inscription : 23-12-2018
Messages : 10

Re : Nombre de codes possibles & algorythmique à écrire en Python

daccord merci encore

Hors ligne

#13 26-12-2018 14:07:40

inconnueX
Membre
Inscription : 23-12-2018
Messages : 10

Re : Nombre de codes possibles & algorythmique à écrire en Python

Re

jai un problème lors de l ouverture de mon fichier: je l ai bien enregistré mais quand j essaye de l ouvrir, il y a une fenetre qui s ouvre mais elle se referme juste après

Est ce que vous savez a quoi c est lié?
Merci

Hors ligne

#14 26-12-2018 16:00:37

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 401

Re : Nombre de codes possibles & algorythmique à écrire en Python

Voyons, voyons...
Je pense... Une petite fenêtre (tu as le temps d'apercevoir un fond noir) s'ouvre puis disparaît et tu as à peine le temps d'apercevoir un fond noir.

1ere question toute bête : est-ce que par hasard, tu cliquerais deux fois sur le fichier (que tu as enregistré) pour le lancer ?
Si oui, ça ne marche pas comme ça.

Tu dois sélectionner ton fichier : clique gauche 1 fois dessus puis clique droit une fois dessus et passe la flèche de la souris sur  Edit w ith IDLE et tu vois apparaître un nouveau cadre : Edit w ith IDLE Python x.x (c'est le n° de version) 32 (ou 64) bits : déplace la souris et une fois dessus : clique gauche une fois...
l'IDLE Windows s'est lancé et tu vois ton programme...
Oui ou Non ?
Oui...
Ouvre le menu Run, et va cliquer gauche sur Run Module (F5)
Non... 
Alors...Je voudrais savoir :
Qui a installé Python sur ta machine  ? Toi avec instructions données par ton prof ?
Première fois que tu utilises Python et que tu as ce problème ?
Y a -t-il un raccourci sur ton bureau sur lequel cliquer pour lancer Python  ?

Et quand tu as lancé Python, (comme quand tu as tapé tes lignes de code) vois-tu quelque chose comme ça :

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>

Es-tu capable de trouver le dossier Python avec l'explorateur Windows sur ton disque dur ?
Si oui, et si tu n'as pas d'icône pour lancer Python :
- Clique 2 fois (avec bouton gauche) sur le dossier Python
- Cherche le sous-dossier Lib (majuscule suivie de deux minuscules). Clique gauche 2 fois dessus
- cherche le sous-dossier idlelib (7  lettres minuscules). Clique gauche 2 fois dessus
- Dans ce dossier, figure un fichier nommé idle.pyw. Copie-le (clic droit dessus et clic gauche sur la ligne copier - presque en bas)
- Va sur le bureau, choisis un emplacement vide, clique droit à cet emplacement et choisis coller.

Pour lancer Python, il n'y a plus qu'à cliquer deux fois sur l'icône installée.
Clique alors sur File puis sur Open
Cherche le fichier InconnueX, clic gauche dessus 1 fois et clic sur Ouvrir.
Ton programme apparaît dans une fenêtre :
Ouvre le menu Run, et va cliquer gauche sur Run Module (F5).

Si rien de tout cela ne marchait, il resterait encore une solution...

@+

Hors ligne

#15 28-12-2018 09:08:40

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 401

Re : Nombre de codes possibles & algorythmique à écrire en Python

Salut,

Où en es-tu ?

@+

Hors ligne

Pied de page des forums