UNIVERSITE BLAISE PASCAL                                               Année 2001-2002
U.F.R. Sciences Exactes et Naturelles
D.E.U.G. MIAS-MASS - S1 - Examen Partiel d'Informatique

Documents et calculateurs interdits                                                  durée: 2 heures
L'emploi des instructions EXIT, HALT et GOTO est interdit
Le barême est donné à titre indicatif.

Exercice I (sur 4 points) :

    Le but du "programme" suivant est de calculer le plus grand élément d'une suite de nombres réels ayant au plus dix termes. La personne qui a écrit le programme ne maîtrisait pas le langage Pascal.

program maximum;
var a=array[1..n] of real;
    max : real;
    i : integer;
begin
   write('Donnez le nombre de termes de la suite: ');
   readln(n);
until ((1 <= n) and (n <=10));
for i:=1 to n do
   write('a[',i,']);
   readln(a[i]);
for i:=1 to n do
   if (a[1] < max) then max:=a[i];
writeln('Le plus grand élément de la suite est : ',max);
end.

Reécrire ce programme en éliminant les erreurs.

Exercice II (sur 8 points) :

    Pour le mois de septembre 2001, on connaît les valeurs (en degrés Celsius) des températures mesurées toutes les six heures, à partir de 0 heure, et les quantités journalières de précipitations (en l/m2).

Ecrire un programme permettant successivement :

1)  La saisie des températures et des précipitations. Pour les données (températures et précipitations) utiliser seulement deux variables indicées à un indice. La saisie sera effectuée jour par jour; le programme contiendra les instructions nécessaires pour que son exécution présente, à l'écran, la saisie des données pour chaque jour selon le modèle suivant:
 
Tournez S.V.P.



Le 01.09.2001 :
Températures :
    à 00 heures : 10
    à 06 heures : 12
    à 12 heures : 20
    à 18 heures : 18
Précipitations : 0.5

Les valeurs en gras ci-dessus correspondent aux données entrées par l'utilisateur.

2)  L'affichage :
a) du total des précipitations pour le mois de septembre;

b) de la température maximale du mois de septembre avec le jour et l'heure associés (on supposera qu'il existe un seul maximum);

c) de la liste des jours du mois de septembre pour lesquels la température mesurée à 0 heure est supérieure à la température mesurée à 6 heures.

Exercice III (sur 8 points) : Pour cet exercice, on n'utilisera pas de variable indicée

On considère :

(i) la suite de Fibonacci Fn,_n entier naturel, définie par les relations suivantes :
   F0=0,   F1=1,   et   Fn+2=Fn+Fn+1,    pour tout entier naturel n.

(ii) des entiers a, b et m tels que 2<=a<=b et 2<=m<=10.

On rappelle que la suite de Fibonacci est strictement croissante et qu'elle tend vers l'infini.

I. On considère la ligne de Pascal suivante, concernant des variables entières :

X:=F0; F0:=F1; F1:=X+F0;

Si avant l'exécution de cette ligne F0 contient l'entier p et F1 l'entier q, quels seront les contenus de F0 et F1 après l'exécution des trois instructions ?

II. Ecrire un programme permettant :
a. la saisie de a,b et de m avec contrôle ;

b. au choix de l'utilisateur par CASE OF :
-1- le calcul et l'affichage du nombre de termes de la suite de Fibonacci appartenant à l'intervalle [a,b];

-2- le calcul et l'affichage de la moyenne arithmétique des m premiers termes de la suite de Fibonacci;

-3- l'affichage de m premiers termes impairs de la suite de Fibonacci.
III. Ajouter au programme précédent les instructions permettant:
a) d'effectuer de nouveau le traitement proposé dans II avec les mêmes valeurs de a, b, m;

b) de recommencer avec d'autres valeurs pour a, b, m sans sortir du programme.