²
Exercice 1 :
1 - Déclarer (en algorithme et en Python) une variable enregistrement E pour représenter la
fiche :
- d’un employé sachant qu’elle contient les informations suivantes :
nom : chaîne de caractères.
Identifiant : entier.
téléphone : chaine de caractères.
Catégorie : ("A", "B", "C" ou "D").
- d’un étudiant sachant qu’elle contient les informations suivantes :
Nom et prénom : chaîne de 30 caractères maximum
Classe : chaîne de caractères
Date de naissance : un enregistrement qui contient les champs:
jour (entre 1 et 31) ,
mois (entre 1 et 12)
année (< 2022)
- d’un élève sachant qu’elle contient les informations suivantes :
Nom et prénom : chaîne de caractères contenant de lettres majuscules et des
espaces
Adresse : un enregistrement qui contient les champs :
Rue (chaine alphanumérique )
Ville (chaine alphabétique )
Code Postal (entier de 4 chiffres)
Moyenne : Tableau de 10 réels entre 0 et 20.
2 – développer les modules de l'algorithme ci-dessus qui permet Saisir et afficher E sachant
que E est:
Algorithme EX1
a) Un employé Debut
b) Un étudiant Saisie(E);
c) Un élève.
Afficher(E);
Fin.
1
Exercice 2 :
Afin de Vérifier un ensemble de codes de produit on veut ecrire l'algorithme d'un programme
qui procède comme suit :
- Remplir le tableau T par les informations de N codes de produit (avec 3 < N < 50)
sachant que chaque code est une chaine numérique unique de longueur maximum 8.
- Saisir la Clé C, sachant que la clé est un enregistrement définit par :
Nb chiffre : entier
Somme chiffre : entier.
Diviseur : nombre premier de deux chiffres
- Afficher les codes Valides.
Remarque : Un code est dit valide si :
le nombre de ses chiffres est égal à Nb chiffre
la somme de ses chiffres est egal à Somme chiffre
Diviseur est l'un de ses diviseurs.
Exemple Pour N = 4 , la clé :
C 6 22 11
T 11542331 109516 514326 451203
1 2 3 4
Le programme affiche les codes produits Valides Sont : 109516;
Exercice 3 :
Soit l’enregistrement suivant qui définit la facture du STEG
Type
Fact = Enregistrement T–D-O
Ref : chaine
O T/N
Ancien, Nouveau: entier
F1,F2 Fact
Prix : Real
Fin; T Tab
Tab = tableau [0..100] de Fact
Question : Rependre aux propositions suivantes par vrai ou faux
Lire ( F1) F1. Ancien F1.Nouveau +100
F2 F1 F1. Ref F2 . Ancien
F2 T Lire (F2. Prix)
T [ 2 ] F1 Lire (T [ 3 ] )
F1. Ref T [ 2 ] . Ref Lire (T [ 3 ] . Ref )
2
Exercice 4 :
L’administration du lycée enregistre les données suivant pour chaque élève :
Nom _Prénom: chaîne de maximum 30 minuscules commençant par une Majuscule.
Age : entier entre 12 et 20
Moyenne : réel entre 0 et 20
Ecrire un algorithme nommé Scolarité, qui saisit N élèves avec (5≤ N ≤100). Range
les informations des élèves dans un tableau T puis affiche :
Les noms des élèves admis
La meilleure moyenne
Exercice 5 :
Un compte en banque est enregistré pour chaque client avec les spécifications suivantes :
Le numéro de compte (formée de 18 caractères numérique concaténer à un nombre
premier aléatoires de l'intervalle [11..99])
le solde (un réel).
Date limite de la carte Bancaire (chaine de caractère ayant le format jj/mm/aaaa, avec
1 ≤ jj≤31 ; 1 ≤mm≤12 ; aaaa> 2020)
Ecrire un programme Python, qui saisit le nombre de clients N avec (5≤ N ≤100).
Range les informations de chaque compte dans un tableau T puis affiche :
Le total des soldes
Les numéros de comptes des clients dont le montant du solde est inférieur à
une barre donnée ainsi que la somme des montants manquants pour atteindre
cette barre.
Les numéros de comptes des clients ayant une carte bancaire expirée (Date
limite dépassée)
Exercice 6 :
A/ Ecrire l'Algorithme d'un module qui permet de trier le tableau T de N Temps selon l'ordre
croissant, sachant que:
Temps = enregistrement
Heures : 0..23
Minutes: 0..59
Secondes: 0 .. 59
Fin
3
B/ Ecrire l'Algorithme d'un module qui permet de trier le tableau T de N Eleve selon l'ordre
décroissant des moyennes puis selon l'ordre croissant des Noms pour les élèves ayant une
même moyenne, sachant que:
Eleve = enregistrement
Nom : chaine[20]
Age: octet
Moyenne: réel
Fin
Exercice 7 :
Afin de Vérifier un ensemble de données binaires on veut écrire un algorithme qui permet de:
- Remplir le tableau B par les informations de N Bloc binaire (avec 4 ≤ N < 100)
sachant que chaque Bloc binaire est un enregistrement définit par :
ID : chaine de caractères Hexadécimal (contient des chiffres et des caractères
de "A" à "F") de maximum 8 caractères.
Bin : une chaine binaires.
Dominant : 0 ou 1.
- Générer le tableau V qui contient tous les éléments valides du tableau B
o NB : On dit qu'un Bloc Binaire est valide si le champ Dominant contient le
caractère le plus représenté dans la chaine Binaire existante dans le champ Bin.
o Chaque élément du tableau V est un enregistrement définit par :
ID : le même ID de l'élément du tableau B.
Compression : Chaine de caractère qui représente la compression de la
chaine binaire Bin. Exprimé sous forme de : Nombre des Uns suivie de
"1" puis Nombre des Zéros suivie de "0". (Exemple : 10100010111 est
compressé par : 6150)
- Afficher le Tableau V.
Exemple Pour N = 4 :
B F10B 10100010111 1 19BE3 010110111 0 C8549F 10010110 1 9055B1 1000101001 0
1 2 3 4
6150 4160 L'élément ayant ID: 9055B1 est
V F10B 9055B1
valide, En effet le champ Dominant
1 2
contient 0 qui est représenté plus
que les Uns dans le champ Bin.