UNIVERSITE BLAISE PASCAL                                                                             année 2000-2001
U.F.R. Sciences Exactes et Naturelles
D.E.U.G. MIAS-MASS - S1 - Examen d'Informatique - 2ème session

Documents et calculateurs interdits,                                                                            durée : 2 heures
L'emploi des instructions EXIT, HALT et GOTO est interdit.

EXERCICE 1 :

    Quel est l'affichage sur l'écran après l'exécution du programme suivant :

program exercice1;
var i : integer;
procedure P1;
    begin
    i:=i+1;
    write(i,'  ');
    end;
procedure P2(var n:integer);
    begin
    n:=n+1;
    write(n,'  ');
    end;
procedure P3(n:integer);
    begin
    n:=n+1;
    write(n,'  ');
    end;
begin
    i:=1 ; P1 ; writeln(i);
    i:=2 ; P2(i) ; writeln(i);
    i:=3 ; P3(i) ; writeln(i);
    readln;
end.

EXERCICE 2 :

Introduction

    On considère un nuage de N particules où 1<=N<=999. Chacune est repérée par ses cooordonnées réelles positives xi , yi dans un repère orthonormé Ox, Oy. On désigne par G son centre de gravité de coordonnées xg (moyenne des xi) et yg (moyenne des yi).

    On caractérise la dispersion du nuage au choix par :

(i) un calcul de concentration : on plaque sur le nuage un quadrillage régulier d'origine O dont le nombre de lignes L (au plus 20), le nombre de colonnes C (au plus 20) et la taille T des carrés sont fixés par l'utilisateur (cf. exemple pour lequel L=6, C=5 et T=2.5). On calcule combien de particules se trouvent dans chaque carré et on obtient un tableau à deux indices, appelé conc,  représentant la concentration. Les particules hors quadrillage sont comptées à part.
On admettra pour le programme à écrire ci-après qu'aucune particule n'est située sur une ligne (verticale ou horizontale) du quadrillage.

Exemple (le symbole      représente un espace)
 
Affichage des concentrations :

Taille d'un carré :     2.5

         1          1          0          0          0
         0          1          1          1          0
         0          1          3          2          0
         0          0          2          1          0
         0          0          0          1          1
         0          0          0          0          0

2 particule(s) à l'extérieur.
T.S.V.P.


(ii) la distance maximum, la distance minimum et la distance moyenne entre G et les particules, la distance entre deux points de coordonnées (a1,b1) et (a2,b2) étant donnée par la racine carrée de (a1-a2)2+(b1-b2)2.

Questions

1. Ecrire un programme, utilisant les sous-programmes décrits ci-dessous, qui permet :
a) de saisir (avec contrôle) les coordonnées des particules et de calculer leur nombre,
b) de calculer et d'afficher les coordonnées xg, yg de G, le centre de gravité du nuage de particules,
c) de calculer et d'afficher, au choix de l'utilisateur, les paramètres du (i) ou du (ii) caractérisant la dispersion de nuage (dans le cas (i), l'affichage respectera celui de l'exemple précédent).
Prévoir à ce niveau la possibilité de plusieurs traitements.
Remarque : En cas de difficulté à écrire l'un des sous-programmes, il est conseillé de se limiter à l'écriture de son en-tête avec ses paramètres afin de pouvoir l'utiliser.

2. Ecrire un sous-programme SAISIE qui :
a) saisit les coordonnées des particules dont le nombre n'est pas connu a priori, l'arrêt de la saisie ayant lieu par intervention de l'utilisateur qui confirme ou non la poursuite de la saisie ou parce que le nombre maximum autorisé de particules est atteint.
b) calcule le nombre de particules.
3. Ecrire un sous-programme DIST ayant pour entrée les coordonnées a1, b1 et a2, b2 de deux points et pour résultat la distance les séparant.

4. Ecrire un sous-programme DSTAT donnant comme résultat les valeurs des distances de la partie (ii) de l'introduction.

5. Ecrire un sous-programme NUM donnant comme résultat les numéros de la ligne et de la colonne du carré d'un quadrillage où se trouve le point de coordonnées a, b. On ne tiendra pas compte ici de la limitation en nombre de lignes et de colonnes du quadrillage.
(indication : on pourra à ce propos se demander à quoi correspond : trunc(a/T))

6. Ecrire un sous-programme CALCONC qui remplit le tableau des concentrations conc et calcule le nombre de particules extérieures au quadrillage paramétré par L, C et T.

7. Ecrire un sous-programme ECRIRE qui affiche à l'écran un tableau d'entiers d'au plus 20 lignes et 20 colonnes selon le format de l'exemple (attention à l'ordre des lignes).