salut
ta première méthode ne fonctionne pas si tu as une égalité
tu dois dans l'un des termes écrire >=
max:=ord(a>b)*a+ord(b>=a)*b ;
la deuxieme methode ne fonctionne pas si tes nombre ne sont pas ordonné et positif
reprenons ta fonction
max:=trunc((a+b)/2 + ( a-b)/2) ;
imaginons que l'on a a = 1 et b = 2
le premier termes seras donc égale a (1+2)/2 =>3/2 1.5
le deuxième termes seras donc égale a (1-2)/2 =>-1/2 = -0.5
pour que cela fonctionne il faut la valeur absolue du deuxième terme
max:=(a+b)/2 + Abs(a-b)/2 ;
pour la troisième méthode dans la même veine que le deuxième on utilise la transitivité des opération
Partager