0% ont trouvé ce document utile (0 vote)
22 vues4 pages

Atelier 2

Transféré par

nourrr.h1234
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
22 vues4 pages

Atelier 2

Transféré par

nourrr.h1234
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Algorithmique & programmation

Atelier n° 2 2024-2025
Matière
4ème année SI Informatique

a. Les fonctions prédéfinies sur les types numériques

Les fonctions sur les types numériques


En algorithmique En Python Rôle Exemples en Python - Résultat

N abs (X) N = abs (X) Retourne la valeur absolue de X. N = abs (-20) N == 20


N = abs (-5.8) N == 5.8
Retourne l’Entier le plus proche de X. N = round (2.2) N == 2
N arrondi (X) N = round (X) N.B. : En Python, si la partie fractionnaire est N = round (2.8) N == 3
égale à 5, l’entier Pair le plus proche est retourné. N = round (3.5) N == 4
N racinecarrée (X) from math import sqrt Retourne un Réel représentant la racine carrée N = sqrt (9) N == 3.0
N = sqrt (X) de X. N = sqrt (25.0) N == 5.0
Si X < 0, elle provoque une erreur. N = sqrt (-5) Erreur
Naléa (Vi , Vf) from random import Retourne un entier d’une façon aléatoire et N = randint ( 2 , 5 )
randint automatique de l’intervalle [Vi , Vf].
N = randint (Vi,Vf)
b. Les fonctions sur les caractères

Les fonctions sur le type caractère


En algorithmique En Python Rôle Exemples en Python - Résultat
NOrd ( Ca ) N = ord (Ca) Retourne le code ASCII du N = ord ("0") N == 48
caractère Ca. N = ord ("A") N == 65
N = ord ("a") N == 97
CaChr ( X ) Ca = chr (X) Retourne le Caractère Ca = chr (50) Ca == "2"
dont le code ASCII est X. Ca = chr (90) Ca == "Z"

Page 1 sur 4
c. Les fonctions sur les chaînes de caractères

Les fonctions sur le type chaîne de caractères


En algorithmique En Python Rôle Exemples en Python - Résultat
Lolong (Ch) Lo = len (Ch) Retourne un entier représentant le nombre de Lo = len ("Salut") Lo == 5
caractères de la chaîne Ch (la longueur de Ch). Lo = len ("L’élève") Lo == 7
Lo = len ("") Lo == 0
Popos (Ch1, Ch2) Po = Ch2.find (Ch1) Retourne un entier représentant la position de la Ch1 = "Y" Po == 2
1ère occurrence de Ch1 dans Ch2. Elle retourne - Ch2 = "BAYBAY"
1 si Ch1 n’existe pas dans Ch2. Po = Ch2.find (Ch1)
Ch2sous_chaîne(Ch1, Ch2 = Ch1 [Début : Fin] Retourne une copie de la chaîne Ch1 à partir de Ch1 = "BACCALAUREAT"
Début, Fin) l’indice Début à l’indice Fin (position Fin exclu). Ch2 = Ch1 [5 : 12]
Ch2= = "LAUREAT"
Ch2effacer (Ch1, d, f) Ch2= Ch1[ : d]+Ch1 [f: ] Retourne une chaîne Ch2 après avoir effacer, de Ch1 = "INFORMATIQUE"
la chaîne Ch1, les caractères de la position d à la Ch2 = Ch1[:6] + Ch1[11:]
position f (f exclu). Ch2 == "INFORME"
ChMmajus (Ch) ChM = Ch.upper ( ) Retourne la chaîne ChM représentant la Ch = "Bonjour" ChM
conversion en Majuscule de la chaîne Ch. ChM = Ch.upper ( ) =="BONJOUR"

Chconvch (X) Ch = str (X) Retourne la conversion du nombre X en une N = 358 Ch == "358"
chaîne de caractères. Ch = str (N)
Testestnum (Ch) Pas de correspondance. Retourne VRAI si la chaîne Ch est Ch = "489"
Toutefois, on pourra utiliser convertible en une valeur Test = Ch . isdecimal ( ) Test == True
isdecimal ( ) malgré qu’elle numérique et FAUX dans le cas
ne répond pas aux exigences contraire. Ch = "489.56"
ou bien développer un Test = Ch .isdecimal ( ) Test == False
module qui permet de
réaliser cette tâche.
Nvaleur (Ch) N = int (Ch) Retourne la conversion d’une Ch = "489"
ou bien chaîne Ch en une valeur N = int (Ch) N == 489
N = float (Ch) numérique, si c’est possible. Ch = "489"
N = float (Ch) N == 489.0

Page 2 sur 4
Évaluation 2
Une société commerciale cherche à automatiser l’accès à ses services via des cartes à puces. Chaque carte est caractérisée par un identifiant
unique, une date de création et un code d’accès. Pour cela, on propose d’écrire un programme permettant de :

1) Stocker les identifiants de N cartes dans un tableau IDENT (avec 3≤N≤50), sachant que l’identifiant est une chaîne formée de 8 chiffres.
2) Stocker les dates de création de ces N cartes d’accès dans un tableau Date, sachant qu’une date de création est une chaîne de caractère
formée de deux parties : le jour J et le mois M séparés par le caractère ″/″ (On ne tiendra compte que des contrôles suivant : J est un
entier compris entre 1 et 31 et M est un entier compris entre 1 et 12).
3) Déterminer dans un tableau CODE les N codes à partir du tableau DATE en utilisant le principe ci-après, sachant qu’un code est une
chaîne de 4 chiffres :
• Concaténer J et M pour former un nombre de 2, 3 ou 4 chiffres.
• Multiplier ce nombre par un entier aléatoire X compris entre 5 et 64 afin d’obtenir un nouveau nombre Y
• Former le code de quatre chiffres comme suit :
✓ Si Y est un entier de 4 chiffres, déplacer le chiffre des milliers vers la droite de ce nombre.
✓ Si Y est inférieur à 1000, ajouter des zéros(0) à droite de ce nombre pour que sa longueur soit égale à 4.
✓ Si Y est supérieur à 9999, additionner le nombre formé des quatre chiffres de gauche au nombre formé des chiffres
restants à droite jusqu’à ce que sa longueur soit égale à 4.
4) Afficher les informations relatives à chacune des cartes sous la forme suivante :
Identifiant de la carte : Date de sa création correspondante : Code correspondant

Exemple :
Pour N=3 et les deux tableaux IDENT et DATE suivants :
IDENT 12345678 23456789 34567891
1 2 3
Date 8/11 2/1 24/12
1 2 3
❖ On obtient le tableau CODE suivant :
CODE 1108 6720 1314
1 2 3

Page 3 sur 4
En effet, les codes des cartes sont obtenus comme suit :

• Pour la carte N°1, la concaténation de J et M donne le nombre 811. En supposant que l’entier aléatoire X=10, le nombre obtenu est égal
à 8110 (811*10) qui est composé de 4 chiffres. En déplaçant le chiffre des milliers(8) vers la droite, on obtient le code 1108.
• Pour la carte N°2, la concaténation de J et M donne le nombre 21. En supposant que l’entier aléatoire X=32, le nombre obtenu est égal
à 672 (21*32) qui est inférieur à 1000. En ajoutant un zéro à droite pour que sa longueur soit égale à 4, on obtient le code 6720.
• Pour la carte N°3, la concaténation de J et M donne le nombre 2412. En supposant que l’entier aléatoire X=53, le nombre obtenu est
égal à 127836 (2412*53) qui est supérieur à 9999.
Le nombre formé des 4 chiffres de gauche (1278) sera additionné au nombre formé des chiffres restants à droite (36). On obtient le
code 1314 (1278+36).
❖ Le programme affiche :
12345678 : 8/11 : 1108
23456789 : 2/1 : 6720
34567891 : 24/12 : 1314

Je m’évalue
À la fin de cet atelier, je serai capable de :
Excellent Bien Moyen Insuffisant
Déclarer un tableau de chaînes
Utiliser les fonctions prédéfinies sur les chaînes
Utiliser les fonctions prédéfinies sur les types numériques

Page 4 sur 4

Vous aimerez peut-être aussi