Fattoriale

Con product fattoriale n = product [1..n] Con la ricorsione fattoriale 0 = 1 fattoriale n = n*fattoriale (n-1) Con if … then … else … fattoriale n = if n == 0 then 1 else n*fattoriale (n-1) fattoriale n = if n == 0 then 1 else n*fattoriale (n-1) fattoriale n = if n … Leggi tutto

Segno

… segno x = if x < 0 then -1 else if x == 0 then 0 else 1 oppure segno x = if x < 0 then -1 else if x == 0 then 0 else 1 oppure segno x | x < 0 = -1 | x == 0 = 0 | otherwise … Leggi tutto

Triangoli

… Area Base x altezza areaTriangolo b h = (b*h)/2 Formula di Erone areaErone a b c = sqrt(s*(s-a)*(s-b)*(s-c)) where s = (a+b+c)/2 areaErone a b c = ris where ris = sqrt(s*(s-a)*(s-b)*(s-c)) s = (a+b+c)/2 …

GHCi: comandi

:, ripete l’ultimo comando eseguito :browse, elenco delle funzioni disponibili :browse nomemodulo, elenco delle funzioni disponibili nel modulo :cd cartella, cambia la cartella di lavoro attuale :edit, apre l’ultimo file utilizzato con l’editor di default :edit nomefile, apre il file con l’editor di default :h :help, elenco dei comandi disponibili :l :load nomefile :m : … Leggi tutto

Equazione di 2° grado

Quante soluzioni? numSoluzioni a b c | disc > 0 = 2 | disc == 0 = 1 | otherwise = 0 where disc = b^2-4*a*c Le soluzioni? solEquazione2 a b c = ((-b-sqrt(b^2-4*a*c))/(2*a),(-b+sqrt(b^2-4*a*c))/(2*a)) Con un’espressione locale where solEquazione2 a b c = ((-b-d)/(2*a),(-b+d)/(2*a)) where d = sqrt(b^2-4*a*c) Con un’espressione locale let solEquazione2 a b … Leggi tutto