CLASSE Duree
ATTRIBUT PRIVE
DEBUT
	heure : ENTIER
	minute : ENTIER
	seconde : ENTIER
FIN
METHODE PUBLIC
DEBUT
	CONSTRUCTEUR Duree()
	DEBUT
		Duree(0, 0, 0)
	FIN
	CONSTRUCTEUR Duree(h : ENTIER, m : ENTIER, s : ENTIER)
	DEBUT
		SI h < 0
		ALORS
			heure <- -h
		SINON
			heure <- h
		FINSI
		SI m < 0
		ALORS
			minute <- -m
		SINON
			minute <- m
		FINSI
		SI s < 0
		ALORS
			seconde <- -s
		SINON
			seconde <- s
		FINSI
		formater()
	FIN
	PROCEDURE afficher()
	DEBUT
		ECRIRE(heure, ":", minute, ":", seconde)
	FIN
	PROCEDURE ajouter(E : nombre : ENTIER)
	DEBUT
		seconde <- seconde + nombre
		formater()
	FIN
	FONCTION convertir()
	DEBUT
		RETOURNER(heure * 3600 + minute * 60 + seconde)
	FIN
FIN
METHODE PRIVEE
DEBUT
	PROCEDURE formater()
	VAR
		m, h : ENTIER
	DEBUT
		m <- 0
		h <- O
		SI(seconde > 59)
		ALORS
			m <- seconde DIV 60
			seconde <- seconde % 60
		FINSI
		minute <- minute + m
		SI(minute > 59)
		ALORS
			h <- minute DIV 60
			minute <- minute % 60
		FINSI
		heure <- heure + h
	FIN
FIN

