• Aucun résultat trouvé

TD 1

N/A
N/A
Protected

Academic year: 2022

Partager "TD 1"

Copied!
13
0
0

Texte intégral

(1)

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 ?

(2)

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.

(3)

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.

(4)

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) ; 2*a 3 ; b -a ;

1a 3 ; b1 -a ; Lire (a,b) ;

début a a+1 ; 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

(5)

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

Exercice2 : Reformuler la suite d‟instructions suivante : A) Si x> Y alors ecrire ( „+‟)

Sinon si X < Y alors ecrire („ +‟) Sinon Ecrire („ –„) ; 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).

B) Si X > Y alors ecrire („ +‟) FSi

Si X< Y alors ecrire („ +‟) Sinon ecrire („ –„) FSi

(6)

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.

(7)

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èmeligne et la k ièmeligne d'une matrice.

(8)

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é .

(9)

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.

(10)

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é !

(11)

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.

(12)

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.

(13)

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.

Références

Documents relatifs

Veiller à la propreté de la classe, vérifier les cases, passer le balai quand cela est nécessaire, ranger la bibliothèque, tailler. les

Ce mode de tri sera implémenté avec deux procédures utilisant les variables globales A et n pour désigner le tableau et sa taille. La procédure principale (figure 3) est appelée

Donc

[r]

Insoluble dans les liquides mais présente une activité grandement augmentée par saturation dans l'alcool.. Réactivité très variable selon les périodes de

Construire le polygone des fréquences (on choisira comme valeur le centre

Lexique contenu dans les dictées. Dictée de mots entrainés Dictée de mots

Consignes : je découpe les vignettes et je range les arbres du plus petit au plus