menu prev next

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.


Copyright B Brown/P Henry/CIT, 1988-1995. Tous droits réservés.
Copyright UCL/INGI, 1995. Tous droits réservés
URL: http://candix1.fsa.ucl.ac.be/langages/Pascal/tutoriel/pas052.htm
menu prev next