let pi = 4.*.atan 1.;;
2.*.pi*.0.12;;
let pi = 4.*.atan 1.;;
pi*.0.12**2.;;
Attention, les puissances ne sont définies que pour les nombres flottants en OCaml.
let pi = 4.*.atan 1.
let perimetre r =
2.*.pi*.r;;
print_float (perimetre 5.);;
Les parenthèses permettent de manière générale de regrouper des éléments dans une même expression; sans ces parenthèses, on passerait à la fonction print_float
deux arguments
( perimetre et 5.), ce qu'elle ne prévoit pas !
let pi = 4.*.atan 1.
let surface r =
pi*.r*.r;;
print_float (surface 5.);;
let volume a b c =
a*.b*.c;;
print_float (volume 5. 5. 5.);;
let moyenne a b c =
(a+.b+.c)/.3.;;
print_float (moyenne 10. 12. 8.);;
let rec somme n =
if n = 0
then 0
else n + somme(n-1);;
print_int (somme 10);;
let rec fibo n =
if n = 0
then 0
else if n = 1
then 1
else fibo(n-1)+fibo(n-2);;
print_int (fibo 10);;
let abs n =
if n > 0
then n
else -n;;
print_int (abs 10);
print_newline ();
print_int (abs (-10));;
Pour indiquer un nombre négatif, il faut l'entourer par des parenthèses.
En effet, une expression comme : abs -10
serait interprétée comme une soustraction...
let max a b c d =
let x1 = a/.b in
let x2 = c/.d in
if x1 > x2
then x1
else x2;;
print_float (max 12. 4. 27. 4.);;
let racine a b c =
let delta = b**2.-.4.*.a*.c in
if delta < 0.
then 0., 0.
else if delta = 0.
then (-.b)/.(2.*.a), 0.
else ((-.b)+.sqrt delta)/.(2.*.a), ((-.b)-.sqrt delta)/.(2.*.a);;
racine 1. 0. (-.1.);;
Les résultats renvoyés doivent être tous du même type, ici, un tuple de deux éléments.