• Aucun résultat trouvé

Sujet Identifiant – Correction

N/A
N/A
Protected

Academic year: 2022

Partager "Sujet Identifiant – Correction"

Copied!
3
0
0

Texte intégral

(1)

Sujet Identifiant – Correction

PARTIE A : Travail sur table 1.

a) Cet algorithme retourne l’indice de la ligne du tableau T contenant la chaîne x. On peut l’appeler Numéro_commune.

b) Au lieu de retouner i, retourner caractère(i+1) ou retouner caractère(T[i][1]).

2. Fonction Conversion(n) Variable : n : entier Début

Si n < 10 alors

Retourner "00" +¿ caractère(n) Sinon si n < 100 alors

Retourner "0" +¿ chaîne(n) Sinon

Retourner chaîne(n) Fin Si

Fin

3. Fonction Identifiants(Listing)

Variables : Listing, L : tableau ; i : entier ; Identifiant : chaîne de caractères Début

Pour i allant de 1 à 530 faire L Listing[i −¿ 1]

Identifiant L[0][0]

Si L[1] = "homme" alors

Identifiant Identifiant +¿ ’1’

Sinon

Identifiant Identifiant +¿ ’2’

Fin Si

Identifiant Identifiant +¿ L[2][2] +¿ L[2][3] +¿ Numéro_commune(L[3]) + Conversion(i)

Rajouter Identifiant à la fin de L Fin Pour

Fin

4. Fonction Ajout_Clé(Identifiant)

Variables : Identifiant : Chaîne de caractères ; S, i, Clé : entier Début

S 0

Pour i allant de 1 à 7 faire

S S +¿ entier(Identifiant[i]) Fin Pour

Clé (66 S) % 11 Si Clé ¿ 10 alors

Retourner Identifiant +¿ Clé Sinon

Retourner Identifiant +¿ ‘X’

Fin Si Fin

(2)

PARTIE B : Implémentation sur machine

## 1. ##

def Numéro_Commune(x) :

i = 0 ; T = [["Paris",1],["Lyon",2],["Marseille",3],["Toulouse",4],["Bordeaux",5]]

while T[i][0] != x : i = i + 1

return str(i+1)

## 2. ##

def Conversion(n) : if n < 10 :

return "00"+str(n) elif n < 100 :

return "0"+str(n) else :

return str(n)

## 3. ##

def Identifiants(Listing) :

for i in range(1,3) : # Pour aller jusqu'à 530 remplacer 3 par 531.

L = Listing[i-1] ; Identifiant = L[0][0]

if L[1] == "homme" :

Identifiant = Identifiant + "1"

else :

Identifiant = Identifiant + "2"

Identifiant = Identifiant + L[2][2] + L[2][3] + Numéro_Commune(L[3]) + Conversion(i) L.append(Identifiant)

Listing = [["AZERTY","femme","1979","Toulouse"],["QWERTY","homme","2001","Paris"]]

Identifiants(Listing) ; print(Listing)

## 4. ##

def Ajout_Clé(Identifiant) : S = 0

for i in range(1,8) :

S = S + int(Identifiant[i]) Clé = (66 - S) % 11 if Clé < 10 :

print(Identifiant + str(Clé)) else :

print(Identifiant + "X")

Ajout_Clé("A2794037") ; Ajout_Clé(Listing[0][4])

(3)

Références

Documents relatifs

Les Alpes sont donc bien le résultat d’une collision faisant suite à une ouverture puis une fermeture d’un océan par subduction du plancher océanique. Les Ophiolites, leur degré

La d6monstration est facile et peut se faire de plusieurs mani6res... Sur une

Autrement dit, on souhaite le (j + 1)-ième consommateur e¤ ectue une commande auprès d’un des deux fournisseurs non choisis par les j premiers consommateurs.. Autrement dit, on

Pour chacune des fonctions, calculer f ′ (x), étu- dier son signe et en déduire les variations de f sur l’in- tervalle

[r]

[r]

et le système (3) pour obtenir une estimation plus préise de b 1 et l'estimation de a obtenu et le deuxième2. jeu de donné et le système (3) pour obtenir une estimation plus préise de

LANCE UN APPEL à tous les fabricants de tabac et promoteurs de sa consommation, pour que, dans l'esprit de la présente résolution et de la résolution WHA39.14, ils s'abstiennent