1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| program ex;
uses wincrt;
type
T1 = array[1..90] of string[20];
T2 = array[1..90] of Real;
var
Nom, Prenom: T1;
dc, ds, Moy: T2;
n: Integer;
procedure remplir(var N, P: T1; var S, C: T2; x: Integer);
var
i: Integer;
begin
for i := 1 to x do
begin
Writeln('donner le nom de l''élève N° ', i);
Readln(N[i]);
Writeln('donner le prénom de l''élève N° ', i);
Readln(P[i]);
Writeln('donner la note du devoir de controle');
Readln(C[i]);
Writeln('donner la note du devoir de synthèse');
Readln(S[i]);
end;
end;
function Moyenne(c1, s1: T2; j: Integer): Real;
begin
Moyenne := (c1[j] + 2 * s1[j]) / 3;
end;
procedure calculer(var M: T2; C, S: T2; x: Integer);
var
i: Integer;
begin
for i := 1 to x do
begin
M[i] := Moyenne(c, s, i);
end;
end;
procedure afficher(N, P: T1; M: T2; x: Integer);
var
i: Integer;
begin
for i := 1 to x do
Writeln('l''élève ', N[i], ' ', P[i], ' a une moyenne ', M[i]: 5: 2);
end;
begin
repeat
Writeln('donner n ');
Readln(n);
until (n > 0);
Remplir(Nom, Prenom, Dc, Ds, n);
Calculer(Dc, Ds, Moy, n);
Afficher(Nom, Prenom, Moy, n);
end. |
Partager