1+2;; "Hello" ^ "world";; let x = 2+3;; x+x;; let f x = 2*x + 3;; f 4;; let g x = f ( f x);; 2 + 3 * 4;; 13.4e-3 ;; sqrt(56.3);; 2<3;; 2.5>3.6;; 1 > 5.5;; not false && false ;; not (false && false);; true || false;; 8638 mod 7 =0;; 'a';; '\'';; '\097';; '\039';; int_of_char 'a';; (* int_of_char : char -> int*) char_of_int (int_of_char 'a');; (* char_of_int : int -> char*) "ceci est une chaîne de caractères";; String.length ("ceci est une" ^ " chaîne");; String.uppercase "ceci est une" ;; let x = 1 ;; let y = true;; let b = true in b && (not b) ;; not b;; (let x = 4 + 1 in x*x) + 10;; let a = 3;; let a = 10 in a+1;; a;; let r = if 1<2 then 1.34 else "bonjour" ;; ("il est passé") ^ (if 1<2 then " par ici" else " par là");; ("il est passé") ^ (if 1>2 then " par ici" else " par là");; function a -> a - 2;; let carré = function x -> x*x ;; let carré x = x * x ;; let aire_cercle = let pi = 3.14 in function r -> pi *. r *. r;; let triple y = let car x = x * x in car (y)*y;; let f x = let g y = x + y in (g 2) + x;; function (lo,la) -> lo*la;; let aire_rect (lo,la) = lo*la;; carré(25);; carré 25;; carré true;; carré (3+1);; carré 3 + 4;; aire_rect (3,4);; let x = "ici";; let f s = s ^ x ;; f "Que vois-je? " ;; let x = "la bas";; f "Que vois-je ?" ;; let rec fact n = if n = 0 then 1 else n * fact (n - 1) ;; fact 10 ;; fact (-5);; let somme n = if n = 0 then 0 else n + somme (n - 1) ;; let rec somme n = if n = 0 then 0 else n + somme (n - 1) ;; somme 14;; let h x = if x = 1. then failwith "h : indefini" else 1. /. (x -. 1.);; h 2.;; h 1.;; let predecesseur y = if y <= 0 then failwith "predecesseur : parametre non naturel" else y - 1;; predecesseur (-5);; aire_cercle (h 1.);; [1;2;3];; [1;true];; 1::2::[];; [ [true]; []; [true;false] ] ;; [1;2] @ [3];; let mettre_en_liste x = [x];; mettre_en_liste 1;; let tête l = match l with [] -> failwith "tête : liste vide " | e::r -> e;; let tête l = match l with [] -> failwith "tête : liste vide " | e::_ -> e;; tête [];; tête [1; 2; 3];; tête ["Bonjour"; "Merci"; "Au revoir"];; tête [ [1; 2]; [3] ];; let reste l = match l with | [] -> failwith "reste: liste vide" | _::l' -> l';; reste [];; reste [1; 2; 3];; let zéro_en_tête l = match l with | 0::_ -> true | _ -> false;; let deuxième l = match l with | x1::x2::l' -> x2 | _ -> failwith "deuxième: liste de moins de deux éléments";; let rec zero_est_dans l = match l with [] -> false | 0::_ -> true | _::r -> zero_est_dans r;; let rec lg l = match l with [] -> 0 | _::r -> 1 + (lg r);; [];; (3,true);; (5, ("toto", true), false);; fst (1,2);; fst (1,2,3);; snd (1,2);; (2+4, true && false);; let pred_succ x = (x-1,x+1);; pred_succ 7;; let axe_des_x n = (n, 0.0);; axe_des_x 1.5;; let carré_norme v = match v with | (x,y) -> x *. x +. y *. y;; carré_norme (2.0, 3.0);; let proj1 (x,y) = x;; let u = (1.0, 2.5) in proj1 u;; proj1 (2,3);; proj1 ((3,4), 5);; proj1 ("un texte", true);; proj1 (proj1 ((3,4), 5));; let proj2 (x, y) = y;; let rec div (a,b)= if b=0 then failwith "diviseur nul" else if a (q+1,r);; let rec div (a,b) = if b=0 then failwith "diviseur nul" else if a "cas 1" | (_, 0) -> "cas 2" | (x,y) -> if x=y then "cas 3" else "cas 4";; f (4,5);; f (1,1);; f (3,3);; f (1,0);; f (3,0);; let identite = function x -> x ;; identite 3;; identite [1;3];; (identite true, identite "toto");; let f_constante = function x -> 1 ;; f_constante (f_constante true);;