Connexion


Dernières nouvelles

04.05.2010
Licence 1 MI : Info 0203
Mise en ligne des notes
--> accès.
17.05.2010
Licence 1 MI : Info 0201
Mise en ligne des notes de TP test
--> accès.
03.05.2010
Licence 3 MI : Info 0602
Mise en ligne du projet
--> accès.
15.03.2010
Licence 1 MI : Info 0201
Mise en ligne du TP 5
--> accès.

Contact

Courriel :
cyril.rabat [at] univ-reims.fr

Téléphone :
+33-26-91-33-81

Fax :
+33-26-91-33-97

Facebook :
lien Facebook direct

Info 0103 : Travaux Pratiques n°3

   Le but de ce TP est de développer les algorithmes classiques en assembleur.

Algorithmes classiques

Ecrivez les programmes suivants :
  1. On demande à l'utilisateur de saisir x et y et on affiche à l'écran la valeur de xy (x puissance y).
  2. On demande à l'utilisateur de saisir x et on affiche à l'écran x! (factorielle de x).
  3. On souhaite évaluer la racine carrée d'un nombre saisi par l'utilisateur.
    Exemple : si on saisit 9, 10, 11, 12, 13, 14 ou 15, la valeur affichée est 3

La réprésentation binaire

   On souhaite écrire un programme qui affiche à l'écran la représentation ou la valeur binaire d'un entier saisi au clavier. L'affichage étant limité dans le simulateur, le nombre en binaire sera affiché un chiffre par ligne.

Questions

  1. Ecrivez un programme qui demande à l'utilisateur de saisir un nombre et qui affiche la représentation binaire sur 1 octet. L'ordre d'affichage n'a pas d'importance.
       Exemple : si on saisit 5, les lignes affichées seront :

      Sortie -> 1
      Sortie -> 0
      Sortie -> 1
      Sortie -> 0
      Sortie -> 0
      Sortie -> 0
      Sortie -> 0
      Sortie -> 0

  2. Modifiez votre programme pour que l'affichage soit réalisé dans le bon ordre.
       Exemple : si on saisit 68, les lignes affichées seront :

      Sortie -> 0
      Sortie -> 1
      Sortie -> 0
      Sortie -> 0
      Sortie -> 0
      Sortie -> 1
      Sortie -> 0
      Sortie -> 0

  3. Cette fois-ci, on souhaite obtenir la valeur binaire du nombre (i.e. les 0 non significatifs ne doivent pas être affichés) :
       Exemple : si on saisit 5, les lignes affichées seront :

      Sortie -> 1
      Sortie -> 0
      Sortie -> 1

Juste pour rigoler

   Malgrès un affichage simplifié, il est possible d'adapter en assembleur des programmes en Java réalisés en Info0102.

Questions

  1. Le jeu du nombre à déviner. Le but du jeu est de deviner un nombre choisi dans un intervalle donné (ici [0;255]) en donnant successivement des propositions. A chaque proposition, le programme indique au joueur si sa proposition est trop petite ou trop grande par rapport au nombre à deviner.
    1. Ecrivez le programme assembleur. Le nombre à deviner est placé dans la case mémoire 0. Lorsque le joueur propose un nombre :
      • Si la proposition est trop petite, on affiche 0 à l'écran.
      • Si la proposition est trop grande, on affiche 1 à l'écran.
      • Si la proposition est juste, on affiche le résultat et le programme s'arrête.
    2. Modifiez votre programme pour limiter le nombre de coups.
  2. Le jeu de Nim. Ce jeu se joue à deux joueurs. On part avec un certain nombre d'allumettes et chaque joueur tire à tour de rôle, de 1 à 3 allumettes. Le perdant est celui qui tire la dernière allumette.
    1. Ecrivez le jeu de Nim en assembleur. Le nombre d'allumettes est placé dans la case mémoire 0. Pour indiquer que c'est au joueur 1 de jouer, on affiche 0 et pour le joueur 2, on affiche 1. On affiche ensuite le nombre d'allumettes restantes, puis on demande un nombre d'allumettes compris entre 1 et le maximum entre 3 et le nombre d'allumettes restantes. Si le choix est invalide (0 ou supérieur à 3 ou au nombre d'allumettes restantes), on redemande au joueur de saisir un nouveau choix.
    2. Proposez une solution pour joueur contre l'ordinateur.


Version de cette page Mardi 11 Mai 2010