implicit none 
complex :: z1=(1,2), z2=(1.5,5.25), z
real :: r,x,y
integer :: n

! exemples d'operations usuelles
write(*,*)'z1 = ',z1
write(*,*)'z2 = ',z2
write(*,*)'partie reelle : ',real(z2),'partie imaginaire : ',aimag(z2)
write(*,*)'z1+z2 = ',z1+z2
write(*,*)'z1*z2 = ',z1*z2
write(*,*)'z1**3 = ',z1**3

! pour l'entree : ecrire (reel,imaginaire)
write(*,*)'donnez un nombre complexe'
read *,z

! quelques exemples de sorties
print *,z
write(*,*)z
print '("z = ",2f5.2)',z
write(*,'("z = ",2f5.2)')z
print '("z= ",f5.2, " + ", f6.3, "i")',z

! si on change de type
r = z2
write(*,*)'z2 passe au reel ', r
n = z2
write(*,*)'z2 passe a  l integer ',n

! construction d'un complexe a partir de 2 reels
print *,'donnez deux reels'
read *,x,y
z = cmplx(x,y)
print *,'complexe correspondant ',z

end
