Taccuino Senza Nome
Taccuino Senza Nome
Lungwaggi
prog na wormand
me
LINGUAGGI IMPERATIVI
· Linguaggi di programmazione più usati
· Basati Sull'architettura di VON Neumann : l'architettura Costituita da Due Elementi FCUdamentali : MEMORIA E PROCESSORE
LINGUAGGI LOGICI
·
sono più di alto Livello rispetto al Lingualci imperativi
·
Codice Non più Eseguito In Ordine Ma seccudo lu albero di Derivazione
a Non Esiste il calcetto di assegnamento e di variabile ( come nei Linguagli imperativil ma esiste il concetto di Unificazione
Linguaggi FUNZIONALI
· mette el centro il concetto di fluzicue
a -ob - a
a cara ,
boobia -o SEK : a -or tipo dell'identità
Il
Skk M
-
kMCkM1
-
M
S
-d
CzEro 3z = z) a -Db - D
boad
UNO = 1 Sz-pSz - Fluziee Ib-oal -ob 0 a
-
m = 1sz -
ass ... (Sz)) C: D
-
* ha Questa struttura
M Imb
Fwzi Ha COME RISULTATO
Succ
1
X =
We cent Ent
&
- yz = xy(Yz)
Lyz-D YCYCYell
succ2x =
& Ye -o Y (xyzl
c+ 1) G Applico
m volte +1 a zerc
Ottence m
=M
Plum
&m) MOLTIPLICAZIONE
c+-
= m
-
-
M C +
m) wo We Dire NIENTE
& <tr)0= m n -
succ(1ij -0i(i(ij))
-(vz -
-3y(yz)
*
-
1 Y2 -0 (15 0 i (i (ij)) y(yz))
-
(v2 - o
(1j -0 X(y(yj)(yel)
- D(
ULTIMA VERSIONE :
map (t) XS Lista di Fluziari
ZAD [] - = [] Sum
(zap (map (t)+s) ys)
ZAP - tj = []
[2]
Ex Memorizzata per riche [[12] ,
[45] ,
[18]]
[[,318]]
=
[3] [[247] , [23]] Trasposta
IDEA RICORSIVA
Insiemi che contenco a
E Na
Finiscei n
D
Prim = [x1 + + [2 , m
]
...
,
Factors + = [1, x]]
>Primi
2 . 3 5 .....
,
cacaT :: [Ta]] -
p [a] Tipo = Specifica Di c
PROGRAMMA
folder (++) []
ATTENTICE : NO :
"
ma :
A D
Ex : [ 1 : 2 : 33 ++ 4: 5]
(1 : [2 : 33) ++ [4 , 5]
1: (2 : 3[]) ++ [45])
.
1 (2: (3 : [] ++ [45])
foldin +o = folde +o
C: ) : a -
> [a] -
> [a]
Ca ob - - oc
b a
fap f + Y =fyx
Cb -oc) - s (b - xd o(a
- x)
- -
C
4
cfgx =
f(g +
c = C ) .
& (+ , y) = 2x +y x)
,
--
for' fo c = c
REVERSE [] = []
=REVERSE []
= []
X : x S
LEMMA
= REVERSE YS REVERSE XS
=REVERSE YS Cdef di ++ 1
= REVERSE YS + REVERSE []
12
..
=Reverse (x cas++yS11
(defeeverse
:
=Creverse ys ++
reversets)+x]) ipotesi induttive
=REVERSE YS + (Reverse Xs ++ [J (
A A
OSSERVAZIONE :
&. HEAD =Head . Made (se festretta) (fè stretta se f defined = undefined)
Lo
Dimostrazione parametro : []
Ca Head) [] e c headi)) f
woefined
. = =
estrema
UNDEFINED
-
-
head f [] (
(map
= head []
=CDEFINED
Ex
px()+100 HEAD
Map
(Ex :
=
map
= + +s
DIM
-
Caso BASE :
map (f .
g) [] = []
-
-
map f(mapg[])
map f []
DASSO Induttivo :
Map (f ·
g) (x : X S) = (f .
g) x :
map (f
.
g) xs
DAssC =
f(g(x) : map (fg)xs
indutto
(
fcg(x)) map fc mapg xs)
= :
= map f cgx :
magxs)
map f c mapg(x : xs)
I J
-D REVERSE [] = []
-
specifica programma di cul Riccosca OCME where =
length s
la correttezza)
REVERSE"XS = REVERSE XS
it (1) overloading : per comodità utilizza stesso mame e simboli
dada
class Eq a where
-
( =
,
= )
,
(/ =) : a -
0a 0
-
Bool
>it f
CEq a ,
Numal =7 a -- Bool X = y P P(x) = PCY)
x1 = y = mot(x = = y)
t : Book o Book
data SetteNami=Gol
-
sola Quccide
... 2 altro 7
instance Eq Bool
-
where
-=- - - False
Nat
t Succ
- =: Zero = False
Soccx = = Succy = x = = Y
C = = 1 (Succx)(Succy) = x = = Y
C = =1 -
- =False
a - a - o Bool
classi im
gerarchic
Instance Ord Nat where
Succ-1Zerc= False
Succ + : Succy
& X LY