• 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

Pour tout le monde, le départ a eu lieu au même moment et ils ont tous parcouru le même nombre de kilomètres. Etape 2 : Calculer le nombre de kilomètres affichait sur chaque

Exercice 1 1) Rappeler l’énoncé du théorème de Rolle.. b) Donner les équations des tangentes au graphe de f en les points d’abs-. cisse 0

Il faut au moins 3 planètes par films, il faut 1 ou 2 lieux par planète, il faut au moins 1 combat entre des vaisseaux et 1 combat entre des personnages, une relation

Calculer l'énergie journalière nécessaire au fonctionnement de l'aquarium en remplissant le tableau de l'annexe 2 page 8/8.. En déduire l'énergie journalière nécessaire

1) Un TP de Thermistance nous donne le tableau ci-dessous. Placer les points de ce tableau dans le papier semi-log ci-dessous.. NOM : CORRECTION TPROE SUJET 2 INTERROGATION N°3

Question 3 : Pour un tableau, t.(i) &lt;- x si i est entre 0 (inclus) et la taille de t (exclue) et si x est du type des éléments de t ; pour une chaîne de caractère, c'est

Mais nous pouvons nous demander si ces signes ne sont pas tout bêtement l’indication du geste à faire (comme pour le caret et le signe de transposition) : pour retourner un

Par l’arbre pondéré ci-contre où A et B sont deux événements et A et B sont leurs évènements