{ Type agrege de stockage des informations } { relatives a une position en trois dimensions } structure position3D   reel x <- 0.0   reel y <- 0.0   reel z <- 0.0 fin structure { Type agrege de stockage des informations } { relatives a un parallelepipede rectangle } { a faces orthogonales aux axes } { min: sommet ou les x, y et z sont minimum } { max: sommet ou les x, y et z sont maximum } structure parallelepipede   position3D min   position3D max fin structure { Type agrege de stockage des informations } { relatives a un parallelepipede rectangle } { a faces orthogonales aux axes } { centre: position du centre du parallelepipede } { largeur, hauteur et profondeur: } { longueurs des cotes selon les axes x, y, et z } structure parallelepipede2   position3D centre   reel largeur <- 0.0   reel hauteur <- 0.0   reel profondeur <- 0.0 fin structure { Type agrege de stockage des informations } { relatives a un parallelepipede rectangle } { a faces orthogonales aux axes } { min: sommet ou les x, y et z sont minimum } { largeur, hauteur et profondeur: } { longueurs des cotes selon les axes x, y, et z } structure parallelepipede3   position3D min   reel largeur <- 0.0   reel hauteur <- 0.0   reel profondeur <- 0.0 fin structure { Type agrege de stockage des informations } { relatives a un parallelepipede rectangle } { a faces orthogonales aux axes } { s1: un sommet quelconque du parallelepipede } { s2: le sommet oppose de s1 } structure parallelepipede4   position3D s1   position3D s2 fin structure { Programme principal } action principale() parallelepipede cb reel volume afficherln("SVP, x, y & z du sommet min?") cb.min.x <- saisir() cb.min.y <- saisir() cb.min.z <- saisir() afficherln("SVP, x, y & z du sommet max?") cb.max.x <- saisir() cb.max.y <- saisir() cb.max.z <- saisir() volume <- (cb.max.x-cb.min.x)* (cb.max.y-cb.min.y)* (cb.max.z-cb.min.z) afficherln("Volume: ",volume) fin action