Algorithme et Programmation
IUP 1 - Année 2002/2003
TP n°3
Introduction
Les points abordés dans ce TP sont :
if
et switch
while
et for
srand
et rand
(pour générer des nombres aléatoires)
time
(pour obtenir le nombre de secondes écoulées)
sleep
(pour attendre un certain nombre de secondes)
Ce qui est à faire :
n
nombres saisis à la volée.
n
notes saisies à la volée et
affiche la mention correspondante (Passable, Assez Bien, Bien ou Très Bien).
n
de lignes (ou de colonnes),
affiche une table de multiplication comme la suivante (pour n
=9):
x 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 2 2 4 6 8 10 12 14 16 18 3 3 6 9 12 15 18 21 24 27 4 4 8 12 16 20 24 28 32 36 5 5 10 15 20 25 30 35 40 45 6 6 12 18 24 30 36 42 48 54 7 7 14 21 28 35 42 49 56 63 8 8 16 24 32 40 48 56 64 72 9 9 18 27 36 45 54 63 72 81
a
et b
et
propose de réaliser plusieurs opérations arithmétiques de base sur ces 2 nombresQue voulez-vous faire ? + addition (a+b) - soustraction (a-b) * multiplication (a*b) / division entière (a/b) q quitter
Pour les petits jeux que nous cherchons à réaliser dans les questions suivantes,
nous aurons besoin d'une fonction qui tire un nombre au hasard.
Il existe des fonctions C prédéfinies
qui permettent de générer de tels nombres, qualifiés d'aléatoires (ou "random" en anglais)
ou encore pseudo-aléatoires car la machine ne fait que simuler le hasard.
srand
permet d'amorcer le générateur de nombres aléatoires.int
donnée en argument.time
time
prend un argument
qu'il n'est pas nécessaire d'expliquer ici).srand(time(NULL)); /* amorçage du générateur de nombres aléatoires à l'aide de l'heure courante */
rand
à chaque fois que l'on veut obtenir un nombre aléatoire : int
. printf("%d",rand()); /* tirage et affichage d'un nombre aléatoire */
srand
et rand
sont déclarées dans le fichier stdlib.h
et sont donc utilisables dans un programme à condition#include <stdlib.h>
en début de programme.
La fonction time
quant à elle est déclarée dans le fichier time.h
#include <time.h>
).Questions:
x
choisi par l'ordinateur entre 1 et 100.x
auquel cas le jeu s'arrête et
le nombre de propositions est affiché.
n
chiffres
où n
est donné avant le début du jeu.Pour ce dernier exercice vous aurez besoin d'utiliser :
sleep
qui permet de suspendre l'exécution du programme
un certain nombre de secondes donné en argument.sleep(1);
retarde l'exécution du programme d'une seconde.
\r
qui lorsqu'il est affiché replace le curseur en début de ligne
mais sans effacer la ligne.