Vous êtes sur la page 1sur 13

Université de M’sila Année Universitaire : 2009/2010

Spécialité : LMD SM " 1 ère année"


Module: info1

TD 1

Exercice 1:
Vous allez acheter un ordinateur, quelles sont les caractéristiques que vous devez chercher selon
le domaine d‟utilisation de ce dernier.
Exercice 2:
Expliquer la relation qui lie l‟unité centrale avec les périphériques, en précisant les ports ou les
cartes d‟extension requise ?
Exercice 3:
Où se trouvent les programmes installés avant, durant et après leurs exécutions ?
Exercice 4:
Quelle est la différence entre la mémoire centrale et la mémoire auxiliaire ?
Quelle est la différence entre la mémoire centrale et la mémoire virtuelle ?
Quelle est la différence entre la mémoire auxiliaire et la mémoire virtuelle ?
Quelle est la différence entre la RAM et la ROM.
Exercice 5:
Est ce qu'on peut installer deux systèmes d‟exploitation sur un seul ordinateur ? Pourquoi?
Est-ce que vous pouvez copier le SE installé sur un ordinateur à un autre ? Étudier les cas
possibles.
Exercice 6:
Faire une comparaison entre l‟être humain et l‟ordinateur ?
Université de M’sila Année Universitaire : 2009/2010
Spécialité : LMD SM " 1 ère année"
Module : info1

TD2
Système de numération :
1. Donner la valeur décimale des entiers suivants, la base dans laquelle ces entiers sont codés
étant précisée.
(a) 1011011 et 101010 en binaire (base 2) ;
(b) A1BE et C4F3 en hexadécimal (base 16) ;
(c) 77210 et 31337 en octal (base 8).

2. Coder l‟entier 2 397 successivement en base 2, 8 et 16.

3. Donner la valeur décimale du nombre 10101, dans le cas où il est codé en base 2, 8 ou 16.
Même question avec le nombre 1 0 1 1. 1 2
Même question avec le nombre 6535 codé en base 8 ou 16.
Même question avec le nombre D 3 F. 4 1 6
4. Trouver la valeur 0.726562510 en hexadécimal.
Trouver la valeur de 0.35937510 en base 8.
Trouver la représentation de 34.618 en notation hexadécimale.

5. Combien d‟entiers positifs peut-on coder en binaire sur un octet ? Combien de bits faut-il pour
représenter 65 563 entiers différents en binaire ?

6. Indiquer la valeur codée par le mot de 16 bits 1101100101110101 suivant qu‟il représente un
entier non signé, ou un entier signé (on utilisera le codage «signe et valeur absolue »). Même
question avec le mot 1001000011101101.
7. Trouver la représentation complément à 2 sur 10 bits de position de -27610 .
8. Exemple de codage de réels
(a) Convertir en décimal le nombre octal (27632000000)8 représentant une suite de bits codée
suivant le standard IEEE 754.
(b) Convertir le nombre décimal 716, 8 en binaire suivant le codage IEEE 754.
Université de M’sila Année Universitaire : 2009/2010
Spécialité : LMD SM " 1 ère année"
Module : info1

TD3
Calcul d’expressions logiques:

EXERCICE 1 :
La planète Vega est seulement peuplée de deux sortes de gens : les  qui disent toujours la vérité
et les  qui mentent tout le temps. Un explorateur interstellaire rencontre deux individus de Véga
indiscernables. Quelle question doit-il poser à l'un d'entre eux pour savoir à qui il a affaire ?
EXERCICE 2 :

EXERCICE 3 :

EXERCICE 4:
A l‟aide de la table de vérité de l‟opérateur OUexclusif , Ecrire l‟expression a b à l‟aide des
autres opérateurs.
Université de M’sila Année Universitaire : 2009/2010
Spécialité : LMD SM " 1 ère année"
Module : info1
TD N° : 4 Structure Séquentielle:

Exercice 1 :
Soit l‟algorithme suivant :
Algo exo1 ;
Déclaration
S,X,y,z,i : entier ;
M: reel;
Début
Lire (X) ;i 1 ;
Lire (y) ;i  i+1 ;
Lire (z) ; i  i+1 ;
S x + y+z ;
M S/ i ;
Ecrire ( M) ;
Fin.
Quel est le rôle de cet algorithme, et que représente chaque variable?
Exercice 2 :
La suite d‟instructions suivantes comporte des erreurs de syntaxe, soulignez les.
Lire (a,b) ; 1a 3 ; début
2*a 3 ; b1 -a ; a a+1 ;
b -a ; Lire (a,b) ; Lire (a) ;

Exercice 3:
Calculer la TVA et le prix TTC d'un produit à partir de son prix HT, le taux de TVA étant unique et à
17%.
Exercice 4:
Calculer la surface d'un cercle à partir de la valeur du rayon saisie au clavier (Surface d'un cercle = R2).
Exercice 5 :
Ecrire un algo qui donne le carré d‟un réel.
Exercice 6 :
Ecrire un algorithme qui demande à l‟utilisateur de saisir son nom et son prénom puis afficher bonjour
suivi de nom et de prénom de l‟utilisateur.
Exercice 7 :
Ecrire un algorithme d‟une action qui échange deux variables A et B
A- En utilisant une variable intermédiaire
B- Sans utiliser une variable intermédiaire
Université de M’sila Année Universitaire : 2008/2009
Spécialité : LMD MI " 1 ère année"
Module : info1
TD N° : 4 Structures de contrôle conditionnelles:

Exercice 1 : Simplifier les instructions suivantes :


1)Si X≤Y OU X> Y alors
Ecrire ( ‟ +‟)
Sinon ecrire („ –„) ;
FSi B) Si X > Y alors ecrire („ +‟)
Exercice2 : Reformuler la suite d‟instructions suivante : FSi
A) Si x> Y alors ecrire ( „+‟) Si X< Y alors ecrire („ +‟)
Sinon si X < Y alors ecrire („ +‟) Sinon ecrire („ –„)
Sinon Ecrire („ –„) ;
FSi FSi
FSi
Exercice 3 :
Un magasin de reprographie facture 2,50 DA les dix premières photocopies, 2,00 DA les vingt
suivantes et 1,50 DA au-delà. Ecrivez un algorithme qui demande à l‟utilisateur le nombre de
photocopies effectuées et qui affiche la facture correspondante.
Exercice 4 :
soit x une variable entière > 0 , écrire la suite d‟instructions qui affiche :
Oui si x est divisible par 3 et par 5
Non si x n‟est pas divisible, ni par 3, ni par 5.
Exercice 5 :
Ecrire un algorithme max3 qui retourne le maximum de trois entiers
Exercice 6 :
Ecrire un algorithme permettant de résoudre une équation du premier degré.
Ecrire un algorithme permettant de résoudre une équation du second degré en utilisant des si
alors..
Ecrire le même algorithme avec des selon-que .
Exercice7 :
Ecrire un algorithme qui demande l‟âge d‟un enfant à l‟utilisateur. Ensuite, il l‟informe de sa
catégorie :
1) poussin de 6 à 7 ans .
2) pupille de 8 à 9 ans
3) minime de 10 à 11 ans
4) cadet après 12 ans.
Exercice 8:
Ecrire un algorithme qui donne la durée de vol en heure minute connaissant l‟heure de départ et
l‟heure d‟arrivée ( on considère que le départ et l‟arrivée ont lieu même jour).
Université de M’sila Année Universitaire : 2008/2009
Spécialité : LMD MI " 1 ère année"
Module : info1
TD N° : 5 Structures de contrôle répétitives:
Exercice 1 :
Transformer la suite d‟instructions suivante, en utilisant la boucle tant que et répéter :
Pour i de „a‟ à „d‟ faire
Ecrire ( „ la valeur de i est :‟i) ;
Fpour
Exercice 2 :
Transformer la suite d‟instructions suivante, en utilisant la boucle répéter et pour :
Lire( a) ; lire (b) ;
Tant que a < b faire
a a +1 ;
Ftant que
Exercice 3 :
Transformer la suite d‟instructions suivante, en utilisant la boucle tant que :
Répéter
Ecrire ( veillez entrer un nombre positif‟) ;
Lire (a) ;
Jusqu’à a> 0
Est-ce que vous pouvez utiliser la boucle pour , pourquoi ?
Exercice 4 :
Ecrire le programme qui affiche la somme et la moyenne d‟une suite d‟entiers saisie par l‟utilisateur se
terminant par zéro. Exemple : l‟utilisateur entre 1, puis 5, puis 2, puis 0 : affiche : 8
Exercice 5 :
- Ecrire un algorithme permettant la saisie d‟une suite d‟entiers se terminant par zéro et vérifier si
cette suite contient deux entiers consécutifs égaux en utilisant les structures tant que.
- Refaire le même algorithme en utilisant une structure répéter jusqu'à
Exercice 6 :
Ecrire un algorithme permettant de calculer le PGCD de deux nombres en utilisant l‟astuce suivante :
soustraite le plus petit des deux entiers du plus grand jusqu'à ce qu‟ils soient égaux
Ecrire le même algo en utilisant l‟algorithme d‟Euclide : d‟une part en utilisant uniquement les structures
TANT QUE, d‟autre part en utilisant uniquement les structures REPETER JUSQU'A.
Exercice 7 :
Ecrire un algorithme de multiplication de a et b par addition successives.
Exercice 8:

Ecrire un algorithme qui affiche successivement les nombres pairs puis les nombres impairs jusqu‟à à une
valeur limite lue en début d‟algorithme.
Exercice 9 :
Ecrire un algorithme qui lit N nombres réels correspondant à des poids d‟animaux et qui détermine le plus
lourd et le plus léger. Ces poids extrêmes seront affichés.
Exercice 10 :
La suite de Fibonacci est définie par u0 = u1 = 1 et la relation de réecurrence suivante :
v n ϵ N, un+2 = un+1 + un
Ecrire l‟algorithme fibo qui calcule le n-ième terme de la suite de Fibonacci.
Université de M’sila Année Universitaire : 2008/2009
Spécialité : LMD MI " 1 ère année"
Module : info1
TD N° : 6 les tableaux:
1- Déclarer un tableau de 10 réels et l‟initialiser avec la valeur 0.
2- Écrire l‟algorithme RemplirTableau qui remplit un tableau de 10 notes (réelles) avec des
valeurs demandées à l‟utilisateur.
3-Écrire l‟algorithme AfficheTableau qui permet d‟afficher les 10 valeurs contenues dans le
tableau
4-Écrire l‟algorithme SommeTableau calculant la somme des valeurs du tableau précédent
5- Écrire l‟algorithme permettant de renverser le contenu d‟un tableau contenant des caractères.
6- On dispose à présent de deux tableaux de tailles identiques T1 et T2 contenant les notes de
contrôle continu et d‟examen d‟un étudiant pour 9 UE données. On souhaite à partir de ces deux
tableaux constituer un troisième tableau (noté T3) contenant les moyennes pondérées par les
coefficients suivants :
a. Contrôle continu (T1) : coefficient 1
b. Examen terminal (T2) : coefficient 2
Écrire l‟algorithme CalculMoyenneTableau permettant à partir des deux premiers tableaux de
remplir un troisième tableau T3 en utilisant les coefficients donnés.
Exemple :

7- Soit T un tableau de taille NMAX contenant au maximum n entiers (n < NMAX) rangés dans
l'ordre croissant. Ecrire un algorithme qui insère un nouvel élément e dans un tableau T en
respectant l'ordre croissant.
8- Donner un algorithme pour supprimer un élément à la position k donné d'un tableau d'entiers.
9- Ecrire un algorithme qui calcule la somme des éléments de la diagonale d'une matrice carrée.
10- Donner un algorithme pour permuter La i ième ligne et la k ième ligne d'une matrice.
Université de M’sila Année Universitaire : 2008/2009
Spécialité : LMD MI " 1 ère année"
Module : info1
TD N° : 7 les enregistrements:
Exercice 1 )Heures

1) Créer des types intervalles heure_t, minute_t et seconde_t, puis un type enregistrement
temps_t.
2) Soit t1 et t2 deux temps_t. Faire un programme qui lit t1 et t2 et qui dit si ils sont égaux.
3) Modifier le programme pour qu'il dise si t1 < t2.
a) Avec une expression booléenne.
b) Avec des if then else.
Exercice 2 ) addition de complexe

Ecrire un program d’addition de complexes;


Exercice 3) point

Proposer une entité de données pour stocker un point dans le plan puis calculer

- la distance entre deux points


- projection d‟un point sur l‟axe des abscisses

Exercice 4)

Soit le tableau répertoire dont les éléments sont de type personne, chaque personne possède un nom et un
numéro de portable
Ecrire un algorithme permettant la saisie des éléments dans le tableau répertoire , puis chercher le numéro
de portable d‟un nom donné .
Université de M’sila Année Universitaire : 2008/2009
Spécialité : LMD MI " 1 ère année"
Module : info1
TD N° : 8 LES SOUS PROGRAMMES:

Exo1 :
Ecrire une fonction qui fait la somme des entiers compris dans un intervalle.
Exo2 :
Écrire une procédure qui affiche la nature d'un nombre entier (pair ou impair).
Exo3 :
Écrire une procédure qui calcule la somme des entiers compris entre i et j.
Exo4 :
Écrire en langage algorithmique une procédure prenant en paramètres d‟entrée :
• un tableau d‟entiers (on considérera qu‟un type Tab adéquat a été déclaré),
• la taille N de ce tableau,
Et affichant le contenu du tableau, de plus grand élément au plus petit.
Exo 5:
Faire un sous-programme qui donne le volume d‟un cylindre en faisant appel à une fonction „aire
d‟un cercle‟.
Exo6:
Ecrire une fonction max2 qui retourne le maximum de deux entiers.
a- En utilisant si et sinon
b- Sans utilisation de sinon

Ecrire une fonction max3 qui retourne le maximum de trois entiers en faisant appel à max2 qui
retourne le maximum de deux entiers.
Exo7:
Ecrire une fonction qui permet la saisie d‟un tableau.
Ecrire une fonction Afficher qui affiche a l‟écran le contenu d‟un tableau.
Faite le programme principale qui permettra d‟accéder a ces fonctions .
Exo 8 :
Ecrire un programme PREMIERS affichant les nombres premiers inférieurs à 100. On utilisera
une fonction PREMIER prenant un nombre entier et retournant true si le nombre est premier,
false sinon.
Université de M’sila Année Universitaire : 2008/2009
Spécialité : LMD MI " 1 ère année"
Module : info1
TD N° : 9 La récursivité:
Exo1 :
On appelle "palindrome" un mot ou une phrase qui se lit de la même façon à l'endroit comme à
l'envers, sans tenir compte des espaces.

Exemple : le mot "ABCBA" est un palindrome.

La phrase "ESOPE RESTE ET SE REPOSE" (sans tenir compte des espaces on obtient le mot
"ESOPERESTEETSEREPOSE") se lit de façon identique de la gauche vers la droite ou de la
droite vers la gauche.
Ecrire une fonction récursive qui teste si une chaine donnée est palindrome ou non.
Exo2 :
Ecrire une fonction récursive qui teste l'existence d'une lettre donnée dans une chaîne de
caractères donnée.
Exo3 :
Ecrire une fonction récursive qui calcule la somme des éléments d‟un tableau de N entier.
Exo 4 :
Ecrire une fonction de recherche dichotomique d‟un entier dans un tableau ordonné.
Exo 5 :
Transformer la procédure suivante à une procédure recursive:
procedure affiche;
var a, b: integer;
begin
for a := 0 to 3 do
for b := 0 to 9 do
write (a * 10 + b);
end;

Exo 6 :
Tour de Hanoi :
Le but du jeu est de déplacer n disques, initialement empilés sur une tour, vers une autre tour. Le
nombre de tours est toujours 3. La seule action ´élémentaire est de déplacer un disque d‟une tour
vers une autre. Ce mouvement est possible s‟il n‟y a aucun disque sur cette tour ou si le dernier
disque de la pile est plus grand que le disque que l‟on veut déplacer.
Pour déplacer n disques de la tour 1 vers 3, une façon de faire est d‟empiler les n − 1 plus petits
sur la tour 2, de déplacer le plus grand disque de 1 vers 3, puis d‟amener à leur tour les n−1 petits
disques sur cette tour. Le tour est joué !
Université de M’sila Année Universitaire : 2008/2009
Spécialité : LMD MI " 1 ère année"
Module : info1
TD N° : 10 Les méthodes de tri
Exo1 :

Tri par bulles.


Une amélioration possible du tri bulle est le tri de boostrophedon :
- on parcourt le tableau de gauche à droite, en faisant remonter l'élément le plus grand.
- on redescend le tableau de droite à gauche, en faisant descendre le plus petit
- on recommence en ignorant les 2 éléments déjà triés.
Ecrire l‟algorithme de tri de cette approche.

Exo2 :
Tri par sélection
Le tri par sélection peut être amélioré en positionnant à chaque parcours du tableau le plus grand
et le plus petit élément, selon le même principe que celui utilisé pour le tri Boustrophédon.
Ecrire l‟algorithme de tri de cette amélioration.
Exo 3 :
Algorithme de tri shaker
Rechercher en même temps le minimum et le maximum à chaque étape.
Ecrire la procédure de tri correspondante
Exo 4 :
Tri par insertion :
Ecrire la procédure récursive : Procedure Tinser( var T: tab; N: entier) , qui trie un tableau T de N
entiers d‟une manière récursive.
Université de M’sila Année Universitaire : 2008/2009
Spécialité : LMD MI " 1 ère année"
Module : Info1
TD N° : 11 Les Fichiers
Exo1 :
Ecrire l‟algorithme d‟une procédure qui lit un fichier d‟entiers et affiche tous les entiers de ce fichier qui sont pairs.
Ecrire une procédure qui lit un fichier d‟entiers et met dans un autre fichier d‟entiers les valeurs paires.
Ecrire une fonction qui cherche un entier x dans un fichier d‟entiers et retourne :
vrai si x est dans le fichier.
Faux si x n‟existe pas.
Exo2 :
Ecrire une procédure de fusion de deux fichiers d‟entiers triés. Le fichier de sortie doit être trié.
Exo3 :
1- Écrire un programme qui crée un fichier texte nommé “tableX.txt” qui contienne la table
de multiplication pour le nombre X (le fichier “table7.txt” contiendra la table de 7), présentée
sous la forme suivante :
1 x 7 = 7
2 x 7 = 14
etc...
9 x 7 = 63
Exo4 :
-Proposer une structure de données permettant de stocker les informations concernant un produit
d‟un magasin, puis une structure de données permettant de stocker durablement toutes les
informations relatives à touts les produits.
-Définir une procédure de saisie des données relatives à un produit, puis de stockage de ces
données.
- Définir une procédure permettant d‟accéder à la liste des produits et de l‟afficher soit dans un
fichier texte, soit à l‟écran.
- Définir une procédure de consultation des renseignements relatifs à un produit donné. On
suppose que l‟on connaît la position du produit dans le fichier.
-Définir une procédure de modification des renseignements relatifs à un produit donné dont
on connaît la position dans le fichier.
-Définir une procédure de suppression d‟un produit donné dont on connaît la position dans le
fichier.

Exo5 :
Écrire un programme qui affiche le contenu d‟un fichier texte en faisant précéder chaque ligne par
son numéro.
Exo6 :

Écrire un programme qui affiche le contenu d‟un fichier texte, en passant tous les caractères en
majuscules.
Université de M’sila Année Universitaire : 2008/2009
Spécialité : LMD MI " 1 ère année"
Module : Info1
TD N° : 12 * les listes linéaires chaînées*
Soit le type liste suivant :
Type liste= ^ cellule
Cellule=record
info : integer ;
Suivant :liste ;
End ;
Exo1 :
Ecrire une fonction qui retourne la longueur d‟une liste linéaire chaînée.
Exo2 :
Ecrire la procédure qui supprime toutes les cellules d‟une valeur donnée.
Exo 3 :
Soit l une liste d‟entiers triés, écrire une procédure qui supprime les doublons.
Exo4 :
Ecrire une procédure qui renvoie la liste miroir d‟une liste l .
Exo5 :
Ecrire la procédure miroir mais sans créer de nouvelle liste.
Exo6 :
Écrire une fonction vider qui vide la liste.
Exo7
Ecrire une procédure de Parcours récursif de gauche à droite :
procedure parcoursgd (liste:pointeur);

Exo8 :
Ecrire une procédure de Parcours récursif de droite à gauche :
procedure parcoursdg (liste:pointeur);

Exo9 :
Ecrire une procédure de concaténation de deux listes doublement chainées.

Vous aimerez peut-être aussi