program ex1e;
const
nnotes = 3;
nfiches = 100;
nsessions = 100; {
Attention,si vous voulez exécutez ce programme sans
Bug, }
{ il est vivement conseillé de remplacer 100 par 1 ou
2 }
{ Pour que le programme fonctionne bien avec 100 il faut
augmenter l'allocation de la RAm pour l'application ! }
type
fiche = record
num: integer;
nom: string;
groupe: char;
notes: array[1..nnotes] of real;
end;
pfiche = ^fiche;
session = array[1..nfiches] of pfiche;
archive = array[1..nsessions] of ^session;
var
ps: archive;
i, j, k, compteur: integer;
begin
writeln('Exercice 1 e http://www.Software-DS.com');
for j := 1 to nsessions do {
Allocation }
new(ps[j]);
for j := 1 to nsessions do
for i := 1 to nfiches do
new(ps[j]^[i]);
for k := 1 to nsessions do {
initialisation des données }
for i := 1 to nfiches do
begin
ps[k]^[i]^.num := i + (k - 1) * 100;
ps[k]^[i]^.nom := '----------';
ps[k]^[i]^.groupe := '-';
for j := 1 to nnotes do
ps[k]^[i]^.notes[j] := -1.0;
end;
compteur := 0;
for k := 1 to nsessions do {
Affichage }
for i := 1 to nfiches do
begin
writeln('Classement:', ps[k]^[i]^.num : 0, '
Nom:', ps[k]^[i]^.nom, ' Groupe:',
ps[k]^[i]^.groupe);
for j := 1 to 3 do
write(' ', ps[k]^[j]^.notes[j] :
0);
compteur := compteur + 1;
writeln;
if ((compteur mod 20) = 0) then {
Affichage ecran par ecran }
readln;
end;
for j := 1 to nsessions do {
désallocation }
for i := 1 to nfiches do
dispose(ps[j]^[i]);
for j := 1 to nsessions do
dispose(ps[j]);
writeln;
writeln('©2001 All Rights Reserved to
www.Software-DS.com');
{ ©2001 All
Rights Reserved to http://www.Software-DS.com
23/10/01
}
end.
|