Final 2001 - UTC

publicité
Informatique - Formation Continue
2000 / 2001
Examen Final - 2 heures - Documents Interdits
Problème n°1 (10 points) : Fichiers et structures de données
On se propose d’écrire un programme Pascal permettant de gérer les notes des étudiants de
l’UV. Les informations à conserver sont les nom, prénom, date de naissance, et notes de
maths, mécanique, électricité, thermodynamique, anglais, informatique et statistiques. On
considère que l’on aura deux notes par matière (un médian et un final). Les coordonnées des
étudiants (et les notes) seront placées dans un tableau, chargé en mémoire depuis un fichier,
en début de session, puis sauvegardé dans un fichier à la sortie du programme.
1°/ (1 pt) Faire la déclaration des types utilisés (tableaux, fichiers, enregistrements …)
2°/ (1 pt) Écrire la procédure saisie (en Pascal) permettant de saisir les coordonnées et notes
des étudiants, et de les placer dans un tableau (en mémoire).
3°/ (1 pt) Donner un algorithme permettant de sauvegarder le tableau d’étudiants dans un
fichier séquentiel.
4°/ (1 pt) Donner un algorithme permettant de lire tout le fichier d’étudiants et d’en faire un
tableau, placé en mémoire centrale.
5°/ (2 pts) Écrire une procédure Pascal permettant de rechercher séquentiellement, dans le
tableau des étudiants (en mémoire), une personne à partir de son nom.
6°/ (2 pts) Écrire une procédure Pascal permettant de rechercher séquentiellement, dans le
tableau des étudiants, placé en mémoire, des personnes à partir d’une note donnée (quels sont
ceux ayant eu un 10 au médian de maths ? Qui a obtenu un 17 au final d’informatique ?).
7°/ (2 pts) Écrire un algorithme permettant de rechercher séquentiellement, dans le tableau
des étudiants, des personnes ayant, dans une matière donnée, une moyenne supérieure
strictement à une note précise (quels sont ceux ayant eu plus de 10 en maths ? Qui a obtenu
plus de 14 en informatique ?).
Problème n°2 (5 points) : Qu’ai-je retenu de mon cours ?
abcde-
Quel est l’intérêt d’un fichier ?
Quels sont les points communs et les différences entre un tableau et un fichier ?
A quoi sert l’instruction VAR placée devant un paramètre dans une procédure ?
Pourquoi choisir l’instruction CASE plutôt que IF ?
Quelle est la différence entre variable locale et variable globale ?
Problème n°3 (5 points) : Triangle de Pascal
La construction du triangle de Pascal est soumise aux règles suivantes :
- les éléments de la première colonne sont égaux à 1: ai, 1 =1
- les autres éléments sont calculés par la formule : ai, j = ai-1, j + ai-1, j-1 avec i, j > 1
Autrement dit un élément est égal à la somme de l'élément situé au-dessus de lui et de
l'élément situé à gauche du précédent. Les éléments non définis par les expressions
précédentes sont nuls.
Exemple :
10000
11000
12100
13310
14641
…………
1°/ Ecrire un algorithme qui calcule et affiche le triangle de Pascal pour les 10 premières
lignes.
2°/ Définir les types de données utilisées et effectuer les déclarations de variables en
PASCAL.
Problème n°4 (5 points) : Restons calme !
Soit le programme suivant :
program asile;
var
a,b : integer; c : real; d : boolean;
function F1( b,d,c : integer):real;
var
a : boolean;
begin
a := true;
F1 := sqrt(sqr(d)-(4*b*c)); b:=12;
Writeln(‘point No 2 : ‘,a,b,c);
end;
procedure F2( var a : integer ; b : integer );
var
c : char ;
begin
c := b ; c := 2*a+c; a := 65 ;
Writeln(‘point No 4 : ‘,a,b,c);
end;
begin { et voici le programme principal }
a := 9 ; b := 6 ;
Writeln(‘point No 1 : ‘,a,b,c);
c := F1( a, b, 1 ) ;
Writeln(‘point No 3 : ‘,a,b,c);
F2( b , 53) ;
Writeln(‘point No 5 : ‘,a,b,c);
end.
Donner les valeurs de a, b et c :
-
dans le programme principal, aux points numéro 1, 3 et 5
dans la fonction F1, au point numéro 2
dans la procédure F2, au point numéro 3.
Téléchargement