Category Archives: CALCOLO

I connettivi logici – 3

I connettivi logici applicati a 3 clausole.
Dall’osservazione delle tabelle successive si può dedurre che gli operatori OR, AND, XOR sono associativi.


OR

(p OR q) OR r = p OR (q OR r) = (p OR q OR r)

È vera se almeno una clausola è vera


AND

(p AND q) AND r = p AND (q AND r) = (p AND q AND r)

È vera se tutte le clausole sono vere


XOR

(p XOR q) XOR r = p XOR (q XOR r) = (p XOR q XOR r)

È vera se il numero di clausole vere è dispari



NOR

(p NOR q) NOR<> p NOR (q NOR r) …


NAND

(p NAND q) NAND r <> p NAND (q NAND r) …


XNOR

(p XNOR q) XNOR r = p XNOR (q XNOR r) = (p XNOR q XNOR r)

È vera se il numero di clausole vere è dispari

I connettivi logici – 2

Abbreviazioni per i valori logici:

  • 0=Falso
  • 1=Vero

OR

Vero se almeno una è vera

AND

Vero se entrambe sono vere


XOR

p XOR q = (p AND NOT q) OR (NOT p AND q)
OR esclusivo, vero se solo una è vera


NOR

Nego il risultato di OR
p NOR q = NOT (p OR q)
Vero se entrambe false

NAND

Nego il risultato di AND
p NAND q = NOT (p AND q)
Vero se almeno una è falsa

XNOR

Nego il risultato di XOR
p XNOR q = NOT (p XOR q)
Vero se entrambe vere o entrambe false


IMPLICAZIONE

Se p è vera allora q è vera

COIMPLICAZIONE

p e q sono equivalenti



Tutte…

I connettivi logici

Le proposizioni sono affermazioni che possono essere o vere o false.
La logica proposizionale è costituita da:

  • simboli di proposizione: p, q, r, s, …, X, Y, …
  • connettivi logici: NOT, AND, OR (XOR, NOR, NAND, …)
  • parentesi: (, )
  • valore Falso (F, False, 0)
  • valore Vero (V, T, True, 1)

NOT, negazione

  • Vera se p è falsa
  • Falsa se p è vera


OR, disgiunzione

  • Vera se almeno una tra p e q è vera
  • Falsa se entrambe p e q sono false


AND, congiunzione

  • Vera se entrambe p e q sono vere
  • Falsa se almeno una tra p e q è falsa

Integrazione numerica – Esercizio 1

Calcola \displaystyle \int_{1}^{5}(3x^2+2x+1)\ dx

Osserva

  • Integrale(f) = x^3+x^2+x
  • Integrale(f, a, b) = 152
  • SommaRettangoli(f, a, b, n, 0) = SommaInferiore(f, a, b, n)
  • SommaRettangoli(f, a, b, n, 1) = SommaInferiore(f, a, b, n)

CLIL

Quesiti in inglese


Quesiti in inglese delle Olimpiadi del Problem Solving


John wishes to walk from corner A to corner B through streets as in the following street map. A route from A to B is a combination only of northward segments and eastward segments; an example is shown in bold on the map ([N,E,E,N,N,N,E,E]).

Note that at any corner John has only two choices; actually he can neither go backward, nor increase the distance from destination.

How many routes are there from A to B available to John?


Let be the set of natural numbers whose digits, in decimal representation, are chosen from {1,2,3} such that no digit is repeated.

Find the sum of all these numbers and put it in the box below.
Hint: note that, for example, the numbers 1, 12, 123 belong to.


Materiali didattici


LCG

Linear Congruential Generator

Osserva le operazioni nelle 3 colonne

  1. = a*x (moltiplicazione)
  2. = x+c (addizione)
  3. = RESTO(x; m) (modulo)

oppure, con un solo passo

  • = RESTO(a*x+c; m)


Prova per m=256, 360, 1000, 2000, 10000, 2^10.
Scegli i valori per a e c…

Numeri romani

Il sistema di numerazione con i numeri romani nasce come sistema additivo (unario)

Una sequenza di unità…


Per poter rappresentare grandezze più grandi con scritture ragionevolemte brevi sono stati introdotti simboli riassuntivi

Osserva: da sinistra verso destra, le cifre di peso maggiore precedono le cifre di peso minore.


Nei secoli successivi il sistema di numerazione è diventato additivo/sottrattivo per poter accorciare ulteriormente la rappresentazione di numeri dispettosi

Osserva: se una cifra precede una cifra con peso maggiore allora la quantità corrispondente deve essere sottratta


Prova con il foglio di calcolo

Con la modalità di traduzione da 0 a 4

  • 0
    • I può solo precedere V e X
    • V può solo precedere X
    • X può solo precedere L e C
    • L può solo precedere C
    • C può solo precedere D e M
  • 1
    • V può precedere L e C
    • L può precedere D e M
  • 2
    • I può precedere L e C
    • X può precedere D e M
  • 3
    • V può precedere D e M
  • 4
    • I può precedere D e M

Numeri pseudocasuali

Processi deterministici e processi casuali

  • Deterministico
  • Casuale
  • Pseudocasuale

Generatori di numeri casuali

  • Hardware
    • TRNG, true random number generator
    • Macro: dado, roulette, pallottoliere, …
    • Micro: rumore termico, effetto fotoelettrico, fenomeni quantistici…
  • Software
    • PRNG, pseudo random number generator
    • Centro del quadrato
    • LCG, Linear Congruential Generator

Bontà degli algoritmi

L’algoritmo è

  1. portabile
  2. veloce

La sequenza di numeri pseudocasuali

  1. ha una distribuzione uniforme
  2. non presenta correlazione
  3. è riproducibile
  4. ha un periodo lungo

La sequenza supera

  1. Criterio di Von Neumann: supera i test statistici.
  2. Criterio di Turing: è indistinguibile da una sequenza hardware.


Codifica: Python

Notazione scientifica

La notazione scientifica permette di rappresentare numeri molto grandi o molto piccoli senza utilizzare lunghe sequenze di cifre.

Dato il numero con 10 cifre

c1c2c3c4…c10

si scrivono un certo numero di cifre significative (per esempio 4) seguite dalla potenza di 10 necessaria a mantenere l’uguaglianza

c1,c2c3c4·109

oppure

c1,c2c3c4 E9

Osserva che appare una sola cifra diversa da zero prima della virgola.

Nei sistemi di calcolo sono comuni 15 cifre significative

Base 2

Le cifre sono 2: 0 e 1

La base delle potenze è 2


Contare in base 2


Da base 2 a base 10

Espandi in somma di potenze

(101)2 = (?)10

(101)2 = 1·220·211·20
= 1·4 + 0·2 + 1·1
= 4 + 0 + 1
= (5)10

(1101)2 = (?)10

(1101)2 = 1·231·220·211·20
= 1·8 + 1·4 + 0·2 + 1·1
= 8 + 4 + 0 + 1
= (13)10


Da base 10 a base 2

Con divisioni intere successive, la conversione è data dai resti delle divisioni (dall’ultimo al primo)

(100)10 = (?)2

(100)10 = (1100100)2

(250)10 = (?)2

(250)10 = (11111010)2

Per svolgere i calcoli in modo più compatto puoi adottare lo schema seguente

Il primo quoziente è il numero da convertire…


Con il foglio di calcolo

  • BASE(250, 2) -> 11111010
  • BASE(250, 2, 16) -> 0000000011111010
  • BINARIO.DECIMALE(11111010) -> 250
  • DECIMALE(11111010, 2) -> 250
  • DECIMALE.BINARIO(250) -> 11111010
  • DECIMALE.BINARIO(250, 16) -> 0000000011111010

Alternativamente, con delle sottrazioni successive, puoi estrarre le potenze di 2 (1, 2, 4, 8, 16, 32, 64, 128, …) dalla più grande alla più piccola

(100)10 = (?)2

100 = 64324
= 1·26 + 1·250·240·231·220·210·20
(100)10 = (1100100)2

(250)10 = (?)2

250 = 12864321682
= 1·271·261·251·241·230·221·210·20
= (1111010)2



Codifica: Python