Vous êtes sur la page 1sur 2

Classe 

: 4ème SI 1
Ministère de l’Education
Lycée Mourouj 1 Devoir de Contrôle N°4
***** Matière : Algorithmique et Programmation
Enseignante : Imen HAJRI Durée 1H
Mardi 21 Février 2023

Exercice n°1 (12pts):
En vue de crypter les codes des clients d’une société, on utilise le principe de la suite de Look and
Say, Dans cette suite, un terme se détermine en annonçant les chiffres (nombre de
répétitions) formant le terme précédent.
Exemple 1 : si on commence par le chiffre « 1 ».
U0=  « 1 »
U1=  « 11 »
U2= « 21 »
U3=  « 1211 »
U4= « 111221 »
U5= « 312211 »
U6= « 13112221 »
On dispose d’un fichier texte « codes.txt » déjà rempli dont chaque ligne est formée d’une chaîne
numérique, on veut créer un fichier de données « calcodes.dat » où chaque enregistrement est
composé de trois champs :
- code de base : issu d’une ligne du fichier « codes.txt ».
- k : un nombre aléatoire entre 3 et 10, avec lequel on va calculer le kième terme de chaque
chiffre du code client.
- Résultat : la valeur finale du code après le cryptage.
Exemple 2 : Soit code =  « 254 » et k = 4, le résultat final est égal à «311231153114 ».

Travail demandé  :
1. Quel est l’ordre de récurrence de la suite de Look and Say. Justifier.
2. Ecrire un algorithme du module Suite (c, k) qui permet de calculer le kième terme de la
suite Look and Say avec c le premier terme (un chiffre entre « 0 » et « 9 »).
3. En utilisant le module Suite (c, k), écrire un algorithme du module Crypter (f1,f2) qui
permet de remplir le fichier « calcodes.dat » (f2) à partir du fichier « codes.txt » (f1).
Exercice n°2 (8pts):
Dans le domaine d’algèbre linéaire, on dit un élément directeur ou pivot d’une ligne d’une matrice
A (n*m), sa première valeur non nulle.
On dit qu’une matrice est sous sa forme échelonnée si :
- Chaque pivot d’une ligne est à droite du pivot de la ligne en dessus.
- Tous les éléments de la colonne sous un élément directeur sont nuls.
- Toutes les lignes nulles sont à la fin de la matrice : si toutes les valeurs d’une ligne sont à
0, les lignes en dessous doivent être pareilles.
Exemple
2 2 -5 0 3 2 -5 0 3
0 1 3
0 0 0 0 4 0 5 -1
0 0 4 -1
0 0 8 -1 0 0 0 0
0 0 0 0

A est une matrice échelonnée A n’est pas échelonnée A n’est pas échelonnée

1/2
Travail demandé  :

1. Ecrire un algorithme d’un module Pivot (A, i, m) qui permet de retourner l’indice du
premier élément non nul dans une ligne i, si la ligne ne contient que des 0, l’indice retourné
est le nombre de colonnes.
2. En utilisant le module Pivot(A,i,m), écrire un algorithme d’un module Ehelon(A,n,m) qui
permet de vérifier si une matrice A de n lignes et m colonnes est échelonnée ou non.

2/2

Vous aimerez peut-être aussi