CC-BY-NC-SA
Algoritmo: procedura rigorosa di passi per risolvere un problema.
Strutture dei dati: dati organizzati, cioè indicizzati. Strutture dati più utilizzate: pila, coda, albero.
+ **Pila**: *last in, first out* (LIFO). L'ultimo a entrare è il primo ad uscire.
+ **Coda**: *first in, first out*.
+ **Albero**: dati gerarchizzati.
Si è sentita male e la lezione è saltata
Quando è l’appello dell’esame di novembre? In che forma è l’esame?
Parliamo di logica proposizionale, “cioè di espressioni che hanno valore vero o falso”.
Def. proposizione: una proposizione è un sintagma che può essere vero o falso, cioè a cui possiamo dare un valore di verità.
Le proposizioni possono essere composte utilizzando congiunzione, negazione, disgiunzione.
I connettivi (o operatori) e, oppure, se…allora, non possono essere descritti semanticamente, cioè essere descritti come funzioni di verità dei loro componenti.
Funzione: dati due insiemi, dato un valore A, c’è un valore corrispondente in B
I connettivi logici sono funzione, perché dall’insieme di partenza (vero, falso), vanno a collegarsi a solo un elemento dell’insieme
espressione conn. logico javascript
"e" ^ &, &&
"oppure" v I, II
"se...allora" $\rightarrow$
"~" - !
es. A OR B OR C AND D
Procedo da sinistra a destra perché hanno tutti la stessa priorità.
Come 1 + 2 + 3 - 4 = 2. + e - hanno stessa priorità.
1 + 2 * 3 = 7 (* ha priorità su +) (1 + 2) * 3 = 9 (in questo modo do la priorità alla parentesi)
NOT A OR B: prima applichiamo il NOT e poi al risultato di NOT applichiamo OR con B
Se ci fosse scritto NOT(A OR B) allora si applicherebbe l’OR.
Calcoliamo NOT A OR B
A B (NOT A) (NOT A) OR B
f f t t
f t t t
t f f f
t t f t
Calcoliamo A → B
A B | A $\rightarrow$ B
f f t
f t t
t f f
t t t
Le due tavole di verità, quella di NOT (A OR B), e quella dell’implicazione, si equivalgono. Per questo, diciamo che L’implicazione è un connettivo derivato. Il connettivo ‘implicazione’, non è presente in Javascript, ma noi all’occorrenza possiamo esprimerlo come NOT A OR B
!(true || false) -> false
!true && !false -> false
!(5 >= 2 || 3 > 5) -> false
!(3 == 2 + 1) -> false
!(3 > 5) || 1 > 6 -> true
Calcoliamo con una tavola di verità l’espressione $!(!A && !B)$
A B !A !B !A && !B $!(!A && !B)$ f f t t t f f t t f f t t f f t f t t t f f f t
L’espressione al punto 6 prende il nome di Legge di De Morgan
$!(!A && !B)$ = A && B
Legge di De
Morgan (per la congiunzione)
Calcoliamo con una tavola di verità l’espressione !(!A||!B)
A B !A !B !A || !B !(!A || !B) f f t t t f f t t f t f t f f t t f t t f f f t
Il frontend di un sito web ha 3 componenti: