ENREGISTREMENTS ET PROCEDURES
Le programme suivant donne un exemple de passage d'un enregistrement
en argument d'une procédure; la procédure modifie cet enregistrement et le
programme principal affiche cette modification.
program TIME (input,output);
type time = record
seconds, minutes, hours : integer
end;
var current, next : time;
{ procédure qui augmente l'heure d'une seconde}
procedure timeupdate( var newtime : time); {passage par adresse}
begin
newtime.seconds := newtime.seconds + 1;
if newtime.seconds = 60 then
begin
newtime.seconds := 0;
newtime.minutes := newtime.minutes + 1;
if newtime.minutes = 60 then
begin
newtime.minutes := 0;
newtime.hours := newtime.hours + 1;
if newtime.hours = 24 then
newtime.hours := 0
end
end
end;
begin
writeln('Introduisez l'heure en utilisant la notation hh mm ss');
readln( current.hours, current.minutes, current.seconds );
timeupdate( current );
writeln('L''heure modifiee est ',current.hours,':',current.minutes,
':',current.seconds)
end.