Vous êtes sur la page 1sur 14

Département d’Informatique novembre 2005

Première année LMD MIAS


Test1 d’Info1
Nom : groupe :
Prénom :

Exercice1 :
1) Faire la trace de l’algorithme qui suit pour a=3 et
b=2
Algo test ; la trace:
I,c,A,b : entier ;
Debut lire(a); lire(b);
C :=1 ; i :=a ;
Tantque i>0 faire
Debut c:=c*b;
i:=i-1;
Fin
Ecrire(c);
Fin.

Que fait cet algorithme? Rep: …..

Exercice2 : ecrire l’algorithme qui permet de calculer :


C = a+b – a*b
2*a a+b

Exercice 3 : écrire l’algorithme et le programme C qui permet de calculer :


R= x+ x(x-1)+x(x-1)(x-2) +x(x-1)(x-2)(x-3)+…………+ x(x-1)(x-2)….(x-n)
1! 2! 3! n!
Département d’Informatique novembre 2005
Première année LMD MIAS
Test2 d’Info1

Nom : groupe :
Prenom :

Exercice
Soit un vecteur de 6 caractères qui représente un texte usto suivi de 2 caractères
blanc .
A)Ecrire un programme C qui permet
1) affiche ce vecteur sur la même ligne

2) de décaler les éléments de ce vecteur d’une position vers la gauche en


insérant le premier caractère à la dernière position.
Exemple :
U S T O  STO U

3) répète les opérations 1 et 2 précédentes 20 fois.


B) que fait ce programme

Exercice 3 : 8pts
Soit une matrice Mat de taille N,M (ne dépassant pas 100,200) à valeur binaire
(0 ou 1). On désire écrire un programme Pascal qui permet de déterminer la
ligne et la colonne (la Position) de la plus longue chaîne composée de 0.
Exemple : Mat(4,8)

00110011
01011101
01100000  La ligne est 3 la colonne est 4 la longueur est 5
01110101
^
1) Ecrire une procédure ou fonction qui donne le numéro de colonne et
longueur de la plus longue chaine composée de 0 pour une ligne d’une
matrice.
Ecrire le programme Pascal qui utilise cette procédure pour déterminer la ligne
et la colonne de la plus longue chaine.
Département d’Informatique janvier 2006
Première année LMD MIAS

Examen d’ASD1 1h 30
Exercice 1: 5pts

Ecrire l’algorithme qui permet de calculer le nombre de fois qu’apparait la


valeur val lu dans un vecteur V.
Exemple : V[2,-5,3,7, 3,8] Val = 3 Elle apparait deux fois.

Exercice 2 : 7pts
Soit un tableau A d’entiers. Ecrire le programme C qui permet de construire le
vecteur B contenant les valeurs pairs de A et le vecteur C(20) contenant les
valeurs impairs de A.

Exercice 3: 8 pts
Soit une matrice d’entiers de taille(20,30) et est creuse (creuse : elle possède
plusieurs zéro dépassant 80% de l’ensemble des valeurs)
Ecrire un programme C
1) qui a pour but de construire un tableau nbcol(20) contenant pour chaque
ligne le nombre de colonnes à valeurs différentes de zéro et un vecteur
colval(12) contenant des couples (numéro-colonne, valeur) des valeurs des
colonnes différentes de zéro.

2) afficher le nombre de valeurs différentes de zéro de la 1ère ligne suivi de


tous les couples (numéro-colonne, valeur) puis ceux de la 2ème ligne ext….

Exemple :
70003
0 0 0 0
05004
20000

nbcol : {2,0,2,1}
colval :{{0,7} ,{4,3},{1,5},{4,4},{0,2}}

Affichage
0  2 [0] 7 [4] 3
1  0
2  2 [1 ] 5 [4] 4
3  1 [0 ] 2
Département d’Informatique Février 2011
Première année LMD MIAS

Examen d’ASD1 1h 30
Exercice 1 : 6pts

Ecrire le programme C qui vérifie si un vecteur est positif ou non.


Un vecteur est positif si la somme des éléments du vecteur est positive.

exemple1 : v1 est positif et v2 n’est pas positif :

v1 -4 -5 8 6

v2 5 3 6 -46

Exercice 2 : 8pts

Soit un vecteur V de taille N (ne dépassant pas 100) à valeur binaire (0


ou 1). Ecrire un programme en Pascal qui permet de déterminer la
position (Pos) et la longueur (Long) de la plus longue sous-chaîne
composée de 0.

0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0

Pos=9 Long=5

Exercice 3 : 7pts

Soit une matrice de caractères où chaque ligne représente un mot. Ecrire un programme C

1) qui vérifie si une ligne d’une matrice est un palindrome l’affiche.


2)Ecrire le programme qui compte le nombre de palindromes dans la matrice.

Exemple de mots palindromes: elle


adfda
Département d’Informatique Février 2012
Première année LMD MIAS

Examen d’ASD1

Exercice 1 : 6pts
Etant donné un vecteur V de taille (30), écrire l’algorithme qui permet de
calculer :
E= V[1]+ V[1]*V[2] + V[1]*V[2] *V[3]+…………+ V[1]*V[2] *V[3]*….V[n]
1! 2! 3! n!

Exercice 2 : 6pts
Ecrire le programme C qui compte le nombre de Zéros dans les deux diagonales
d’une matrice carrée.

Exercice 3 : 8pts
Soit à écrire un programme C qui permet de retrouver la ligne d’une matrice de
caractères Mat de taille (20,30) qui ressemble à un vecteur V de caractères de
taille (30).
On définit par « Taux de Ressemblance » entre une ligne et un vecteur
par le nombre de positions (colonnes de la ligne) qui ont des valeurs égales aux
valeurs du vecteur aux mêmes positions (voir l’exemple).
Une ligne I de Mat ressemble au vecteur V si le taux de ressemblance de
ces deux est le plus élevé.

Exemple :
Mat : A B F G J K
T M Z J R L
F B K U O G

V : F M K J O G
Tressemblance (Mat,V,6,1)= 0
Tressemblance (Mat,V,6,2)= 2
Tressemblance (Mat,V,6,3)= 4
La ligne 3 de Mat ressemble à V.

Ecrire le programme C qui détermine la ligne de la matrice Mat qui ressemble à


V.
Département d’Informatique Juin 2012
1ère Année LMD MIAS 1h 30

Examen asd2

Exercice 1 : 5pts

Soit une pile d’entiers, on veut compter le nombre de fois qu’une valeur val est répétée dans
cette pile. Ecrire la procédure correspondante.

Exercice 2 : 7 pts

Soit une liste chaînée d’entiers. On veut supprimer tous les éléments en créant une pile P1
pour les positifs ou nuls et P2 pour les négatifs. Ecrire la procédure correspondante.

Exercice 3 : 8pts

Soit une société de Chemins de Fer qui désire automatiser la gestion de ses trains. Pour cela
nous avons besoin de deux fichiers : un fichier train et un fichier réservation. Le fichier train
contient des enregistrements du type suivant :

N° Train Destination HD HA Energie Nsieges

Où HD : horaire de départ et HA :horaire d'arrivée

Le fichier réservation contient des enregistrements du type suivant :

N°Client N°Train Nom N°siege Date

1ère question :
Ecrire la procédure qui détermine les horaires de trains en partance pour Alger et leurs
numéros ?

2ème question :
Ecrire la procédure qui donne la liste des personnes ayant pris le même train à
destination d’Alger ?
Département d’Informatique Janvier 201 4
Première année LMD MIAS
Examen d’Algo1 1h30

Exercice 1: 4pts
soit l’algorithme ;

Program ex;
Var x,y, i:integer ;A: array [1..5]of integer;
Begin
i:=1 ; j:=5 ;
while i<=j do
begin
read(x) ;
y:= x mod 2; {*mod : permet de calculer le reste de la division entière*}
if y<>0 then begin A[i] :=x; i:=i+1;end
else begin A[j] :=x; j:=j-1;end
end;
for i:=1 to 5 do write(v[i]);
End.
1) Faire la trace pour les valeurs de x respectivement : 3, 6, 7, 40, 2
2) Que fait cet algorithme

Exercice 2 : 5pts
Ecrire l’algorithme qui permet de calculer :

R= x+ x(x-1)+x(x-1)(x-2) +x(x-1)(x-2)(x-3)+…………+ x(x-1)(x-2)….(x-n)


1! 2! 3! n!

Exercice 4 : 6pts
Soit une matrice Mat de taille N,M (ne dépassant pas 100,200) à valeurs
entières. Ecrire un algorithme ou programme c qui permet de compter le
nombre de lignes positives. Une ligne de la matrice est dite positive si la somme
de toutes ces valeurs est positive.
Exemple : 0 -5 2 1  la somme -2
1 0 -6 0  la somme -5
0 1 4 0  la somme 5 le nombre de lignes positives est 1
Département d’Informatique Janvier 2015
Première année LMD MIAS
Examen d’Algo1 1h30

Exercice 1: 6pts

Algorithme xx;
var
i,n:entier ;
v:tableau(10) d’entier;
debut
lire (n);
pour i:=1 à n faire lire(v[i])
i :=1 ;
tantque ( i<=n) et(v[i]>0) faire
debut
i:=i+1;
fin
si i>n alors ecrire(’oui’)
sinon ecrire(’non’)
fin.

1) Réecrire cet algorithme en C


2) Faites la trace pour v: 6, 4,0,7,-5
3) Que fait cet algoritme

Exercice 2: 6pts

Etant donnée une matrice carrée, écrire l’algorithme (ou le programme C) qui
permet de permuter les éléments de la première diagonale avec les éléments de
la deuxième diagonale.

Exercice 3: 8pts

Soit un vecteur de caractères qui représente une liste de mots séparés par un
caractère ’/ ’. Ecrire l’algorithme qui permet :
1) de calculer le nombre de mots dans ce vecteur.
2) de calculer la longueur du plus long mot.
Exemple :

ALGER/CONSTANTINE/ORAN/BEJAIA/JIJEL

Nbmots=5 Long=11
Département d’Informatique Janvier 2016
Faculté des mathématiques et informatiques
Première année LMD MIAS
Examen d’Algo1
1h30
Exercice 1: 6pts
Algorithme xx;
var i,n:entier ; v:tableau(10) d’entier;
debut
lire (n);
pour i:=1 à n faire lire(v[i])
i :=1 ;
tantque ( i<n) et(v[i] < …..) faire
debut
i:=i+1;
fin
si i=n alors ………….
sinon ....………
fin.
1) Cette algorithme vérifie si le vecteur V est trié (ordonné dans l’ordre
croissant). Récrire cet algorithme en C en complétant le vide
2) Faites la trace pour v: 6, 8,9,7,-5
Exercice 2: 6pts
Etant donnée une matrice carrée, écrire l’algorithme (ou le programme C) qui
permet de calculer le nombre de Zéro dans le triangle inferieur de la matrice
(les éléments de la matrice qui se situent en-dessous de la première diagonale).
Exemple :
4502
6190
4046
0104 Le nombre de zéro est 3

Exercice 3: 8pts
Soit un vecteur V d’entiers d’une grande taille contenant une large répétition de
la valeur zéro. La compression consiste à créer un vecteur VC de petite taille
comme dans l’exemple qui suit :
Exemple :
V 0 0 0 23 0 0 0 0 0 12 0 0 0 0 0 0 61 0 0 0

VC 0 3 23 0 5 12 0 6 61 0 3
1) Ecrire une fonction C qui permet de compresser un vecteur
2) Ecrire une fonction C qui permet de décompresser un vecteur
Département d’Informatique
Première année LMD MIAS novembre 2017
Test1 Algo1
Exercice 1:
Ecrire l’algorithme qui permet de calculer :

R= x + (x*2) + (x*3) +…+ (x*n)


1! 2! 3! n!

Exercice2 :
1) Faire la trace de l’algorithme qui suit pour n=5 et les valeurs de val successivement
15, 8, 4 et 13

Algorithme test ; la trace:


i,c,n,val,r : entier ;
debut
lire(n);
c 0 ; i 1 ;
Tantque i<=n faire
debut
lire(val);
rval mod 2 ;
si r=0 alors cc+1 ;
i:=i+1;
fin
ecrire(c);
fin.

Exercice 3
Complétez le programme C qui étant donnée une valeur x lue dire si elle est premier ou non.
Un nombre x est premier si le reste de la division avec tous les nombres inférieur à x (sauf 1)
est différent de 0.
main()
{int i,c,X ;
scanf(... , ..X);
c 0 ; i 2 ;
while( i…. X )
{
r X mod …. ;
if ( r … 0) {cc+1 ;}
i:=i+1;
}
if ( c .. ) { printf( … la valeur….. est un nombre premier…. , ….) ;}
else { printf( … la valeur….. n’est past un nombre premier…. , ….) ;}
}
Département d’Informatique janvier 2018
Première année LMD MIAS
Examen d’Algo1 1h30mn

Exercice 1 : 5pts

Ecrire le programme C qui permet de calculer le nombre d’occurrences de la valeur Val


qu’apparait dans une matrice.

Exercice 2 : 7pts

Soit un vecteur V d’entiers. On désire crypter (coder) ce vecteur en créant 2 vecteurs Vq et Vr avec la
clé X.
Vq est le vecteur dont les valeurs sont les quotients des valeurs de V par X.
Vr et le vecteur des restes des valeurs de V par X.
Exemple :
V 23 10 7 12 20 5
X=4

Vq 5 2 1 3 5 1

Vr 3 2 3 0 0 1

1) Ecrire une fonction C qui permet de crypter un vecteur en entrée V par la clé en entrée X et
avoir en sortie Vq et Vr suivant l’entête :
void crypter(int V[] ;int n ;int X ;int Vq[],intVr[])

2) Ecrire une fonction C qui permet de décrypter :


void decrypter(int Vq[],Vr[] ;int n ;int X ;int V[])

Exercice : 7pts
Soit une matrice carrée A(n,n) (n ne dépassant pas 100) à valeurs entières.
Ecrire le programme C qui permet de transformer A en matrice diagonale en affectant à chaque
élément de la diagonale par la somme des éléments de sa ligne et affectant 0 aux éléments différents
de la diagonale.

Exemple : 1 3 -2 1 3 0 0 0
-1 0 6 0  0 5 0 0
0 1 4 0 0 0 5 0
3 -2 0 1 0 0 0 2
Département d’Informatique juin 2018
Faculté des mathématiques et informatiques
Première année LMD MIAS

Rattrapage d’Algo 1h30

Exercice 1 : (5pts)
Etant donnée une matrice carrée écrire le programme C qui compte le nombre de
Zéros du triangle supérieur.
Exemple :
4500
6137
4940
0104 le nombre est 3

Exercice 2: 7pts
1)Ecrire une fonction C qui permet de calculer la puissance n de x puiss(x,n).
2)Soit un tableau A de taille N contenant des valeurs 0 et 1 et représente une valeur binaire
d’un nombre. Ecrire une fonction C qui fait appel à la fonction précédente et permet de
calculer la valeur décimale du tableau.
Exemple

N=4 et A : 1 1 0 1
La valeur est 13

Exercice 3: 8pts
Soit un vecteur V1 de caractères qui représente une liste de mots séparés par un
caractère ’/ ’. Ecrire le programme C qui permet de vérifier si un mot V2 se
trouve ou non dans ce vecteur
Exemple :
V1 ALGER/CONSTANTINE/ORAN/BEJAIA/JIJEL

V2 CONSTANTINE
E
Oui V2 se trouve dans V1
Département d’Informatique septembre 2019
Faculté des mathématiques et informatiques
Première année LMD MIAS

Rattrapage ASD1 1h30

Exercice 1 : 6 pts

Ecrire l’algorithme qui permet de calculer :

R= 1 + 2! + 3! + … n!
x (x2) (x3) (xn)

Exercice 2 : 6 pts
Soit P(x) un polynôme défini comme suit :

P(x)=anxn+an−1xn−1+⋯+a0.
Pour évaluer P(x), on utilise le schéma d’ Horner comme suit

P(x)=(⋯(((anx+an−1)x+an−2)x+an−3)⋯)x+a0.

Écrire le programme en C qui prend en entrée son degré N et le tableau des coefficients A(50)
d'un polynôme P ainsi qu’un nombre réel x et qui affiche P(x) suivant la méthode d’Horner.

Exercice 3 : 7pts
Etant donnée une matrice A(20, 20) d’entiers et un vecteur B(20) d’entiers. Ecrire le
programme C qui permet de :
1) Lire la matrice A et le vecteur B(1pt).
2) Compter le nombre de lignes de A égales à B (3 pts)
3) Vérifier si la diagonale principale de A est égale à B(3 pts).
Département d’Informatique novembre 2020
Faculté des mathématiques et informatiques
Première année LMD MIAS

Rattrapage ASD1 1h15mn

Exercice 2 : 4pts
Complétez le programme C suivant qui étant donnée une valeur X lue dire si elle est premier
ou non.
Un nombre X est premier si le reste de la division avec tous les nombres inférieur à X (sauf 1)
est égale à 0.
main()
{int i,b,X ;
scanf(….);
b = 0 ; i =2 ;
while( i …. X && …. = =….. )
{
r = ….% .... ;
if ( r … 0) {b = …. ;}
i=i+1;
}
if (…. ) { printf (…. ) ;
else { printf ( ….) ;}
}

Exercice 2 : 4pts
Soit à lire une chaine de caractères. Ecrire le programme C qui compte le nombre de
majuscules dans cette chaine.

Exercice 3 : 6pts
Soit deux matrices carrées d’ordre n, A(n,n) et B(n,n). Ecrire le programme C qui permet de
construire la matrice C(n,n) à partir des éléments de A et B comme suit :
Les valeurs du triangle supérieur de C sont identiques aux valeurs du triangle supérieur de
A.
Les valeurs du triangle inférieur de C sont identiques aux valeurs du triangle inférieur de B.
Les valeurs de la diagonale de C sont toute nulles.

Exercice 4: 6pts
Etant donnés deux vecteurs V1 et V2 d’entiers ordonnés dans un ordre croissant, où chaque
entier n'apparaît qu'une seule fois dans un tableau. Ecrire un programme C qui permet de lire
les valeurs des deux tableaux et puis construit le tableau V3 contenant l'intersection des deux
premiers.
Exemple :
Tableau V1 : 5 12 19 42 76 86 87 286
Tableau V2 : 3 8 12 16 19 56 86 465 567
Tableau V3: 12 19 86

Vous aimerez peut-être aussi