From 4dad6a872bb11642ed41854e3c73657f809a3fa8 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Wed, 24 Mar 2021 15:58:31 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Rename=20and=20improve=20TitleBo?= =?UTF-8?q?x=20into=20appuntiweb/Box?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 4 +- src/components/Box.js | 22 ++ src/components/Box.module.css | 3 + src/components/TitleBox.js | 20 -- src/routes/Fisica/index.js | 442 ++++++++++++++++----------------- src/routes/Gestinfo/index.js | 450 +++++++++++++++++----------------- src/routes/Home.js | 22 +- 7 files changed, 484 insertions(+), 479 deletions(-) create mode 100644 src/components/Box.js create mode 100644 src/components/Box.module.css delete mode 100644 src/components/TitleBox.js diff --git a/src/App.js b/src/App.js index a96e218..18a26ce 100644 --- a/src/App.js +++ b/src/App.js @@ -1,5 +1,5 @@ -import React, {Fragment, useState} from "react"; -import {BaseLink, Bluelib, Main} from "bluelib/lib/components"; +import React, {useState} from "react"; +import {Bluelib, Main} from "bluelib/lib/components"; import {Switch, Route} from "react-router-dom"; import Home from "./routes/Home"; import Error404 from "./routes/Error404"; diff --git a/src/components/Box.js b/src/components/Box.js new file mode 100644 index 0000000..e6d4279 --- /dev/null +++ b/src/components/Box.js @@ -0,0 +1,22 @@ +import React from "react"; +import {Box as BluelibBox, Title} from "bluelib/lib/components"; +import PropTypes from "prop-types"; +import classNames from "classnames" +import Style from "./Box.module.css" + + +export default function Box({children, className, title, Type = BluelibBox, ...props}) { + return ( + + + {title} + + {children} + + ) +} + +Box.propTypes = { + children: PropTypes.node, + title: PropTypes.node +} diff --git a/src/components/Box.module.css b/src/components/Box.module.css new file mode 100644 index 0000000..d59cd75 --- /dev/null +++ b/src/components/Box.module.css @@ -0,0 +1,3 @@ +.Panel { + min-width: 240px; +} diff --git a/src/components/TitleBox.js b/src/components/TitleBox.js deleted file mode 100644 index a51ca04..0000000 --- a/src/components/TitleBox.js +++ /dev/null @@ -1,20 +0,0 @@ -import React from "react"; -import {Box, Title} from "bluelib/lib/components"; -import PropTypes from "prop-types"; - - -export default function TitleBox({children, title}) { - return ( - - - {title} - - {children} - - ) -} - -TitleBox.propTypes = { - children: PropTypes.node, - title: PropTypes.node -} diff --git a/src/routes/Fisica/index.js b/src/routes/Fisica/index.js index a6b5f81..1e211ea 100644 --- a/src/routes/Fisica/index.js +++ b/src/routes/Fisica/index.js @@ -3,7 +3,7 @@ import {default as Latex} from "bluelib/lib/components/LatexMath" import Todo from "../../components/Todo" import TitleSplit, {default as Section} from "../../components/TitleSplit" -import TitleBox, {default as Panel} from "../../components/TitleBox" +import Box from "../../components/Box" const r = String.raw; @@ -27,12 +27,12 @@ export default function Fisica() { return (
- +

Questa parte non è ancora stata scritta.

-
- + +

🎓 Il corso è stato tenuto dalla Prof.ssa Rossella Brunetti.

@@ -42,16 +42,16 @@ export default function Fisica() {

🎥 Le videolezioni non sono più disponibili.

-
- + +
  • 📄 Dispense
  • 📰 Wikipedia
-
+
- +

Usa le regole base della trigonometria:

@@ -64,8 +64,8 @@ export default function Fisica() {

{r`\left | \vec{v}_y \right | = \left | \vec{v} \right | \cos \alpha`}

-
- + +

Scomponi in componenti, poi sommali:

@@ -75,8 +75,8 @@ export default function Fisica() {

Produce il vettore risultante dall'applicazione della regola del parallelogramma.

-
- + +

Alla fine è sempre una somma:

@@ -86,8 +86,8 @@ export default function Fisica() {

Produce il vettore che parte da w e arriva a v.

-
- + +

Si chiama scalare perchè il risultato è uno scalare, non un vettore.

@@ -98,8 +98,8 @@ export default function Fisica() { Produce il modulo della proiezione di {r`\vec{a}`} su {r`\vec{b}`}.

-
- + +

Si chiama vettoriale perchè il risultato è un altro vettore.

@@ -114,18 +114,18 @@ export default function Fisica() {

Non è commutativo!

-
+
- +

Se un corpo puntiforme ha forza risultante nulla, allora la sua velocità non cambia.

{r`\Sigma \vec{F} = 0 \Longleftrightarrow \Delta v = 0`}

-
- + +

La forza risultante di un corpo è direttamente proporzionale alla sua accelerazione, e la costante di proporzionalità è la massa. @@ -133,18 +133,18 @@ export default function Fisica() {

{r`\Sigma \vec{F} = m \vec{a}`}

-
- + +

Due corpi esercitano forze uguali e opposte uno sull'altro.

{r`\vec{F}_{21} = -\vec{F}_{12}`}

-
+
- +

Due corpi puntiformi si attirano uno verso l'altro con forza:

@@ -157,8 +157,8 @@ export default function Fisica() {

{r`G = 6.67 \cdot 10^{-11} \frac{N m^2}{{kg}^2}`}

-
- + +

Se nel sistema di riferimento consideriamo la Terra ferma, allora un corpo è attratto verso la Terra con forza peso uguale a: @@ -172,8 +172,8 @@ export default function Fisica() {

{r`g = 9.81 \frac{m}{s^2}`}

-
- + +

Per pianeti diversi dalla Terra vale la stessa regola:

@@ -189,10 +189,10 @@ export default function Fisica() {

{r`g_{marte} = 3.71 \frac{m}{s^2}`}

-
+
- +

Si oppone alle forze applicate alla superficie di contatto.

@@ -200,8 +200,8 @@ export default function Fisica() { Un libro appoggiato su un tavolo ha la forza di gravità che lo attira verso il terreno e la forza normale che lo trattiene dal cadere.

-
- + +

Impedisce a un corpo di muoversi se non viene spinto da una forza che supera una certa soglia: @@ -209,24 +209,24 @@ export default function Fisica() {

{r`\left | \vec{F} \right | \leq \mu_{s} \left | \vec{F}_{normale} \right |`}

-
- + +

Rallenta i corpi che si stanno muovendo finchè essi non si fermano:

{r`\left | \vec{F} \right | \leq \mu_{d} \left | \vec{F}_{normale} \right |`}

-
- + +

E' forza trasmessa tra due estremi di una fune.

Può essere redirezionata per mezzo di carrucole.

-
- + +

Una molla cerca sempre di tornare alla sua posizione indeformata con forza:

@@ -236,18 +236,18 @@ export default function Fisica() {

(E' negativa perchè la forza è opposta a quella applicata per deformarla.)

-
+
- +

È un vettore che indica la posizione di un corpo rispetto a un'origine.

{r`\Delta \vec{s} = \vec{s}(fine) - \vec{s}(inizio)`}

-
- + +

È un vettore che misura la variazione di posizione nel tempo.

@@ -260,8 +260,8 @@ export default function Fisica() {

{r`\vec{v} = \lim_{\Delta t \to 0} \frac{\Delta \vec{s}}{\Delta t} = \frac{d \vec{s}}{dt}`}

-
- + +

È un vettore che misura la variazione di velocità nel tempo.

@@ -275,8 +275,8 @@ export default function Fisica() {

{r`\vec{a} = \lim_{\Delta v \to 0} \frac{\Delta \vec{v}}{\Delta t} = \frac{d \vec{v}}{d t} = \frac{d^2 \vec{s}}{d t^2}`}

-
- Quantità di moto (momento lineare)}> + + Quantità di moto (momento lineare)}>

La quantità di moto è una proprietà vettoriale dei corpi:

@@ -289,86 +289,86 @@ export default function Fisica() {

{r`\Sigma \vec{F} = 0 \Longleftrightarrow \Delta \vec{p} = 0`}

-
+
- +

La legge oraria è:

{r`s(t) = v \cdot \Delta t + s(0)`}

-
- + +

È costante:

{r`v(t) = k`}

-
- + +

La velocità non varia:

{r`a(t) = 0`}

-
- + +

Si applica la prima legge di Newton:

f(t) = 0

-
+
- +

La legge oraria è:

{r`s(t) = \frac{1}{2} a \cdot (\Delta t)^2 + v(0) \cdot (\Delta t) + s(0)`}

-
- + +

È una retta:

{r`v(t) = a \Delta t + v(0)`}

-
- + +

È costante:

{r`a(t) = k`}

-
- + +

Si applica la prima legge di Newton:

f(t) = m a

-
+
- +

E' la distanza dal centro massima che raggiunge il corpo.

(L'ampiezza di una sinusoide.)

-
- + +

Indica quanto in fretta cambia la posizione del corpo.

@@ -378,56 +378,56 @@ export default function Fisica() {

{r`\omega = \frac{2 \pi}{T}`}

-
- + +

E' una sinusoide:

{r`s(t) = A \sin (\omega \cdot t + \phi)`}

-
- + +

E' la sinusoide dello spostamento, sfasata di {r`\frac{\pi}{2}`}:

{r`v(t) = A \sin (\omega \cdot t + \phi + \frac{\pi}{2})`}

-
- + +

E' la sinusoide della velocità, sfasata di {r`\pi`}:

{r`a(t) = A \sin (\omega \cdot t + \phi + \pi)`}

-
- + +

Si applica la prima legge di Newton:

f(t) = m a

-
+
- +

Il moto parabolico è dato sommando un moto rettilineo uniforme sull'asse orizzontale e un moto rettilineo uniformemente accelerato sull'asse verticale.

-
- + +

Il moto parabolico è dato sommando due moti armonici semplici: uno sull'asse X, e l'altro, sfasato di {r`\frac{\pi}{2}`}, sull'asse Y.

-
+
- +

Velocità angolare

@@ -437,24 +437,24 @@ export default function Fisica() {

{r`\omega = \frac{2 \pi}{T}`}

-
- + +

E' l'angolo percorso dal corpo rispetto alla posizione iniziale.

Si indica con {r`\phi`}, e generalmente si usa in radianti.

-
- + +

Si applicano le formule per la circonferenza:

{r`v = \frac{\Delta s}{t} = \frac{2 \pi \cdot r}{T} = \omega r`}

-
- + +

Il corpo ha sempre un accelerazione verso il centro che gli impedisce di abbandonare il moto: @@ -462,18 +462,18 @@ export default function Fisica() {

{r`a = \frac{v^2}{r} = r \cdot \omega^2 = v \cdot \omega`}

-
- + +

È verso il centro e si calcola con:

{r`F = m \cdot a`}

-
+
- +

E' compiuto da una forza che sposta un corpo.

@@ -484,8 +484,8 @@ export default function Fisica() { (Se la forza non è parallela allo spostamento, il prodotto scalare ci fa considerare solo la componente parallela.)

-
- + +

Un corpo ha energia cinetica in ogni momento uguale a:

@@ -499,8 +499,8 @@ export default function Fisica() {

{r`\Delta E_c = W`}

-
- + +

Un corpo ha energia potenziale in ogni momento pari a:

@@ -510,16 +510,16 @@ export default function Fisica() {

(Con h uguale a un altezza scelta come punto di riferimento.)

-
- + +

Una molla ha sempre energia potenziale elastica pari a:

{r`E_{p_e} = \frac{1}{2} k x^2`}

-
- + +

Sono conservative le forze per le quali il lavoro compiuto non dipende dal percorso seguito per andare dalla partenza all'arrivo. @@ -535,18 +535,18 @@ export default function Fisica() {

{r`E = E_k + E_p`}

-
- + +

È la velocità di trasferimento di energia:

{r`P = \frac{\Delta E}{\Delta t}`}

-
+
- +

È una proprietà dei corpi che può essere positiva o negativa.

@@ -560,8 +560,8 @@ export default function Fisica() { Cariche opposte si attraggono; cariche uguali si respingono.

-
- + +

Più ioni ha un corpo, meglio la carica si muove attraverso di esso. @@ -573,38 +573,38 @@ export default function Fisica() {

Il corpo umano è un buon conduttore.

-
+
- +

E' possibile polarizzare un corpo per accumulare la carica di un segno in una certa zona.

-
+
- +

Se un corpo conduttore è in contatto con la Terra, le cariche su di esso saranno equilibrate e il corpo diventerà elettricamente neutro (con stesso numero di cariche positive e negative all'interno).

-
+
- +

Strofinando tra loro due corpi isolanti, essi si polarizzeranno per strofinio.

-
- + +

Toccando un conduttore con un corpo carico, il conduttore potrà polarizzarsi per contatto.

-
- + +

Se un corpo conduttore ha cariche "esterne" di un certo segno vicino, esso avrà tutte le cariche del segno opposto in equilibrio vicino alle cariche @@ -619,10 +619,10 @@ export default function Fisica() { Staccando il conduttore da terra e rimuovendo le cariche esterne, esso si ritroverà caricato del segno opposto rispetto alle cariche esterne.

-
+
- +

Due corpi carichi si attraggono tra loro con forza:

@@ -633,8 +633,8 @@ export default function Fisica() { {r`k`} è la costante di Coulomb, e vale {r`k = 8.99 \cdot 10^9 \frac{N \cdot m^2}{C^2}`}.

-
- + +

La costante {r`k`} è in realtà dipendente da un altra costante, {r`\epsilon_0`}, la permeabilità del vuoto. @@ -645,16 +645,16 @@ export default function Fisica() {

{r`\left | \vec{F}_{elettrica} \right | = \frac{q_1 \cdot q_2}{4 \pi \cdot \epsilon_0 \cdot s^2}`}

-
- + +

Misura che forza viene applicata in ogni punto su una carica unitaria:

{r`\vec{E} = \frac{\vec{F}_{elettrica}}{q} = \frac{-k \cdot q}{s^2}`}

-
- + +

È la differenza tra "quanto" campo elettrico entra e quanto campo elettrico esce da una certa area. @@ -675,8 +675,8 @@ export default function Fisica() {

Circa. E' una specie di integrale...

-
- + +

Il flusso elettrico è direttamente proporzionale alla carica presente all'interno della superficie. @@ -687,18 +687,18 @@ export default function Fisica() {

Ovvero, i campi elettrostatici sono generati dalle cariche elettriche.

-
+
- +

Un corpo carico vicino ad altre cariche possiede un'energia potenziale elettrica {r`U_e`}.

-
+
- Potenziale elettrico (tensione)}> + Potenziale elettrico (tensione)}>

È il valore dell'energia potenziale elettrica per una carica unitaria.

@@ -712,8 +712,8 @@ export default function Fisica() { In una batteria è detto forza elettromotrice, e corrisponde al lavoro compiuto da una batteria ideale per spostare una carica unitaria tra i due poli.

-
- Corrente elettrica (intensità)}> + + Corrente elettrica (intensità)}>

Quanta carica passa attraverso un'area (perpendicolare al flusso) nel tempo.

@@ -726,30 +726,30 @@ export default function Fisica() {

La sua unità di misura è l'Ampere ({r`A`}).

-
- Corrente continua ( + Corrente continua (DC)}>

Quando in un circuito la direzione della corrente è costante.

-
- Corrente alternata ( + Corrente alternata (AC)}>

Quando in un circuito la direzione della corrente si alterna periodicamente.

-
- + +

Possiamo calcolare la potenza di un circuito:

{r`P = \frac{\Delta U_e}{\Delta t} = I \cdot \Delta V = I^2 \cdot R = \frac{(\Delta V)^2}{R}`}

-
+
- +

Riduce l'intensità di corrente, e converte parte del potenziale in calore.

@@ -776,8 +776,8 @@ export default function Fisica() {

{r`\rho = \rho_0 (1 + \alpha(T - T_0))`}

-
- + +

Immagazzina potenziale elettrico, permettendo di riutilizzarla in seguito.

@@ -813,8 +813,8 @@ export default function Fisica() {

La sua unità di misura è il Farad ({r`Fa`})

-
- + +

Misura la corrente elettrica se messo in serie.

@@ -822,8 +822,8 @@ export default function Fisica() { (Funzionamento: ha una resistenza interna bassisima in modo da non influire significativamente sulla corrente.)

-
- + +

Misura la differenza di potenziale se messo in parallelo.

@@ -831,36 +831,36 @@ export default function Fisica() { (Funzionamento: ha una resistenza altissima in modo da non influire significativamente sulla tensione.)

-
+
- +

Per nodo si intende un qualsiasi punto del circuito.

Da un nodo entra ed esce la stessa corrente.

-
- + +

Per maglia si intende un qualsiasi percorso chiuso all'interno del circuito.

In una maglia chiusa, la somma delle differenze di potenziale è 0.

-
+
- +

Più parti di circuito sono in serie se sono consecutive e senza biforcazioni.

Parti di circuito in serie sono attraversate dalla stessa corrente.

-
- + +

Più parti di circuito sono in parallelo tra loro se hanno lo stesso punto di partenza e lo stesso punto di arrivo. @@ -868,10 +868,10 @@ export default function Fisica() {

Parti di circuito in parallelo hanno la stessa differenza di potenziale.

-
+
- +

Nei circuiti in serie, tutte le resistenze possono essere sostituite con una equivalente dalla resistenza della somma di tutte le quelle sostituite: @@ -879,8 +879,8 @@ export default function Fisica() {

{r`R_{serie} = \sum_{i=1}^{n} R_i`}

-
- + +

Nei circuiti in parallelo, tutte le resistenze possono essere sostituite con una equivalente dalla resistenza di: @@ -888,10 +888,10 @@ export default function Fisica() {

{r`R_{parallelo} = \frac{1}{\sum_{i=1}^{n} \frac{1}{R_i}}`}

-
+
- +

Nei circuiti in serie, tutti i condensatori possono essere sostituiti con uno equivalente dalla capacità di: @@ -899,8 +899,8 @@ export default function Fisica() {

{r`C_{serie} = \frac{1}{\sum_{i=1}^{n} \frac{1}{C_i}}`}

-
- + +

Nei circuiti in parallelo, tutte i condensatori possono essere sostituite con uno equivalente dalla capacità della somma di tutti quelli sostituiti: @@ -908,10 +908,10 @@ export default function Fisica() {

{r`C_{parallelo} = \sum_{i=1}^{n} C_n`}

-
+
- +

E' una costante fisica fondamentale che rappresenta quanto un materiale si magnetizza facilmente. @@ -919,8 +919,8 @@ export default function Fisica() {

{r`\mu_0 = 4 \pi \cdot 10^{-7} \frac{H}{m}`} ({r`\frac{N}{A^2}`})

-
- + +

Come un campo elettrico, ma per i magneti.

@@ -928,8 +928,8 @@ export default function Fisica() { Il suo simbolo è {r`B`}, e la sua unità di misura è il Tesla (T).

-
- + +

È "quanto" campo magnetico attraversa un percorso chiuso.

@@ -946,16 +946,16 @@ export default function Fisica() {

La sua unità di misura è il Weber ({r`Wb = T \cdot m^2`}).

-
- + +

Il flusso magnetico attraverso qualsiasi superficie chiusa è sempre nullo.

Ovvero, non esistono monopoli magnetici.

-
- + +

L'intensità di corrente che attraversa un percorso chiuso è direttamente proporzionale al flusso magnetico dello stesso percorso. @@ -963,10 +963,10 @@ export default function Fisica() {

{r`\Phi_B = \mu_0 \cdot I`}

-
+
- Forza magnetica su carica puntiforme (Forza di Lorentz)}>

I campi magnetici applicano una forza sulle cariche vicine: @@ -985,8 +985,8 @@ export default function Fisica() { In un campo magnetico uniforme, una velocità perpendicolare al campo porta alla creazione di un moto circolare uniforme.

-
- + +

I campi magnetici influenzano ovviamente anche le cariche presenti in un conduttore:

@@ -999,16 +999,16 @@ export default function Fisica() { vettore che punta nella direzione di scorrimento della corrente e ha come modulo la lunghezza del conduttore.

-
+
- +

Una spira in cui passa corrente produce un campo magnetico perpendicolare al piano creato dalla spira.

-
- + +

Un solenoide sono tante spire avvolte in modo da formare una specie di cilindro.

@@ -1018,8 +1018,8 @@ export default function Fisica() {

{r`\left | \vec{B} \right | = \mu_0 \cdot I \cdot \frac{A_{vvolgimenti}}{L_{unghezzafilo}}`}

-
- + +

Caso particolare della Legge di Ampère. @@ -1039,10 +1039,10 @@ export default function Fisica() { attraversati da correnti opposte si respingono.

-
+
- +

Un conduttore perpendicolare ad un campo magnetico può ottenere una differenza di potenziale se messo in movimento in un direzione perpendicolare alla direzione del @@ -1062,8 +1062,8 @@ export default function Fisica() { Dove v è la velocità del conduttore, B è l'intensità del campo magnetico ed L è la lunghezza del conduttore.

-
- + +

In un campo magnetico {r`B`} uniforme e perpendicolare al piano di una spira di area {r`A`}, il flusso magnetico si può determinare con la Legge @@ -1072,10 +1072,10 @@ export default function Fisica() {

{r`\Phi_B = \vec{B} \cdot \vec{A} = B \cdot A \cdot \cos(\alpha)`}

-
+
- +

Dice che la forza elettromotrice media indotta in un percorso dipende dalla variazione nel tempo del flusso magnetico nello stesso percorso. @@ -1087,8 +1087,8 @@ export default function Fisica() { Il meno è dovuto alla Legge di Lenz, che specifica qualitativamente il verso della forza elettromotrice indotta.

-
- + +

In un solenoide, la forza elettromotrice indotta è uguale a:

@@ -1098,15 +1098,15 @@ export default function Fisica() {

Dove {r`N`} è il numero delle spire del solenoide.

-
- + +

Correnti o campi elettrici variabili creano un campo magnetico.

-
+
- +

Nel vuoto, il campo elettrico {r`E`} e il campo magnetico {r`B`} sono perpendicolari tra loro e la direzione di @@ -1128,8 +1128,8 @@ export default function Fisica() {

{r`c = \frac{1}{\sqrt{\epsilon_0 \cdot \mu_0}} = 3.00 \cdot 10^8 \frac{m}{s}`}

-
- + +

{r`A(t) = A_{max} \cdot \sin \left ( \frac{2 \pi}{\lambda} - \omega t + \phi \right )`}

@@ -1139,10 +1139,10 @@ export default function Fisica() { vettore d'onda, {r`\omega`} la frequenza angolare e {r`\phi`} la fase.

-
+
- +

I solidi, se portati ad alta temperatura, emettono luce con uno spettro continuo. @@ -1160,8 +1160,8 @@ export default function Fisica() { Con {r`R = 1.097 \cdot 10^7 \frac{1}{m}`}, detta costante di Rydberg, e {r`n`} un numero intero.

-
- + +

Una grandezza si dice quantizzata (o discreta) se può assumere solo determinati valori.

@@ -1177,10 +1177,10 @@ export default function Fisica() { minimo possibile per la carica (talvolta espressa come {r`\hbar = \left ( \frac{h}{2 \pi} \right )`}.

-
+
- +

L'energia degli elettroni è quantizzata.

@@ -1212,10 +1212,10 @@ export default function Fisica() { Questo modello funziona solo per atomi con numero atomico basso. Atomi con molti elettroni hanno comportamenti diversi, descritti dal modello di

-
+
- +

Nei solidi, le lunghezze d'onda sono talmente tanto vicine da poter essere considerate una banda. @@ -1223,10 +1223,10 @@ export default function Fisica() {

Possono però comunque avere dei gap dovuti agli intervalli di energia non ammessi.

-
+
- +

Refactor this

@@ -1243,8 +1243,8 @@ export default function Fisica() { Se il gap è invece dell'ordine di grandezza di {r`1 eV`}, allora il corpo è un semiconduttore.

-
- + +

Legami in cui mancano elettroni.

@@ -1253,8 +1253,8 @@ export default function Fisica() { le lacune, creandone altre, e spostandole in direzione opposta a quella della corrente.

-
- + +

Se si inserisce in un cristallo semiconduttore si inserisce un atomo con numero atomico diverso, si otterrà: @@ -1270,21 +1270,21 @@ export default function Fisica() {

Maggiore impurezza porta a maggiore conduttività.

-
- + +

Aumentando la temperatura di un semiconduttore si aumenta la conduttività, perchè eccita le particelle e favorisce il movimento di elettroni e lacune.

-
+
Ottica (non l'abbiamo fatta)}> - +

I corpi possono assorbire o riflettere le onde elettromagnetiche che li colpiscono.

-
- + +

Un corpo nero è un corpo che assorbe tutte le onde elettromagnetiche che riceve senza rifletterne nessuna. @@ -1296,21 +1296,21 @@ export default function Fisica() {

{r`\lambda_{max} \cdot T`} è costante.

-
- + +

L'energia assorbita e emessa dai corpi neri è quantizzata.

-
- + +

Un onda magnetica con un quanto di energia è detta fotone:

{r`E_{fotone} = h \cdot f`}

-
- + +

A volte, i fotoni che colpiscono un metallo possono estrarvi degli elettroni e creare una differenza di potenziale. @@ -1325,7 +1325,7 @@ export default function Fisica() {

Non c'è nessun ritardo tra l'assorbimento del fotone e l'estrazione di elettroni.

-
+
) diff --git a/src/routes/Gestinfo/index.js b/src/routes/Gestinfo/index.js index 2f93e30..2190ad9 100644 --- a/src/routes/Gestinfo/index.js +++ b/src/routes/Gestinfo/index.js @@ -14,7 +14,7 @@ import { } from "bluelib/lib/components"; import LatexMath from "bluelib/lib/components/LatexMath"; import TitleSplit from "../../components/TitleSplit"; -import TitleBox from "../../components/TitleBox"; +import Box from "../../components/Box"; import IR from "./abbr/IR"; import API from "./abbr/API"; import Token from "./components/Token"; @@ -38,15 +38,15 @@ export default function Gestinfo() { return (
- +

Si parla di come processare enormi quantità di testo al fine di effettuarvi ricerche.

-
- + +

🎓 Il corso è stato tenuto dalla Prof.ssa Federica Mandreoli.

@@ -56,27 +56,27 @@ export default function Gestinfo() {

🎥 Le videolezioni non sono più disponibili.

-
- + +
  • 📄 Dispense su Dolly
  • 📰 Wikipedia
  • 🗒️ Appunti open-source di Sharon Guerzoni
-
+
- +

È il processo di raccolta documenti, elaborazione query e richiamo di più risposte.

Un'applicazione che effettua si chiama motore di ricerca.

-
+
- +

Sono le unità con cui lavora il motore di ricerca.

@@ -95,8 +95,8 @@ export default function Gestinfo() {

Un insieme di documenti è detto collezione.

-
- + +

La richiesta di informazioni effettuata da un utente, in un linguaggio che il motore di ricerca è in grado di capire.

@@ -109,8 +109,8 @@ export default function Gestinfo() { -
- + +

I documenti che il motore di ricerca sceglie di mostrare all'utente in quanto li ha ritenuti rilevanti alla query effettuata.

@@ -120,10 +120,10 @@ export default function Gestinfo() { -
+
- +

Astrazione che rappresenta un singolo significato di una parola o .

@@ -138,8 +138,8 @@ export default function Gestinfo() {
  • ...
  • -
    - {`q`}-grammi}> + + {`q`}-grammi}>

    Sequenze di {`q`} caratteri e spazi vuoti (░).

    @@ -162,20 +162,20 @@ export default function Gestinfo() { ░░c ░ci cia iao ao░ o░░

    -
    +
    - +

    Una procedura svolta quando un documento viene aggiunto al motore di ricerca, permettendone l'indicizzazione e in seguito il richiamo.

    È suddivisa in varie fasi, generalmente 5 o 6.

    -
    +
    - +

    Tutte le parole del documento vengono trasformate in token.

    @@ -188,8 +188,8 @@ export default function Gestinfo() { -
    - + +

    Il motore di ricerca decide come trattare i simboli tipografici, la grafia delle lettere, le cifre, modificando l'insieme di token come ritiene necessario.

    @@ -224,8 +224,8 @@ export default function Gestinfo() { -
    - + +

    Le stopwords, i token ritenuti inutili ai fini delle ricerche, vengono eliminate dall'insieme di token ottenuto nel passo precedente.

    @@ -244,10 +244,10 @@ export default function Gestinfo() { The Who -
    +
    - +

    Ai token del passo precedente vengono sostituite le radici (stems) oppure le forme base (lemmas) delle parole.

    @@ -282,8 +282,8 @@ export default function Gestinfo() { -
    - + +

    Il motore di ricerca stabilisce la relativa importanza di ciascun token dell'insieme, in modo da determinare più facilmente in seguito la rilevanza del documento in cui si trovano.

    @@ -296,8 +296,8 @@ export default function Gestinfo() {

    Essi solitamente sono individuati da parser e scanner, che analizzano la semantica di ciascun token.

    -
    - + +

    Opzionalmente, l'intero documento può essere inserito in una o più categorie di un thesaurus, una gerarchia predeterminata di categorie di documenti.

    @@ -333,10 +333,10 @@ export default function Gestinfo() { -
    +
    - +

    Una misura di quanto due token hanno significati in comune.

    @@ -355,29 +355,29 @@ export default function Gestinfo() {

    Generalmente si basa su un thesaurus.

    -
    - + +

    La word sense disambiguation sfrutta la similitudine tra l'ononimo e i token circostanti per stabilire il significato corretto.

    Talvolta alla similitudine sono aggiunte anche altre informazioni, come la distanza tra i token e dati provenienti da sorgenti esterne.

    -
    +
    - +

    Un modo di misurare la similitudine tra due token basato sulla loro posizione all'interno del thesaurus.

    - +

    Si basa sull'inverso della distanza tra i due token all'interno dell'albero:

    {`sim_{pd}(t_1, t_2) = \\frac{1}{dist(t_1, t_2) + 1}`} -
    - +
    +

    Si basa sulla profondità del minimo antenato comune tra i due token:

    @@ -385,10 +385,10 @@ export default function Gestinfo() { -
    +
    - - Similitudine -based}> + + Similitudine -based}>

    L' è una misura probabilistica di quanto un token sia inaspettato all'interno di un documento.

    @@ -402,40 +402,40 @@ export default function Gestinfo() { - +

    Si basa sull' del minimo antenato comune:

    {`sim_{r} (t_1,t_2) = ic \\left( mac_{\\ t_1,t_2} \\right)`} -
    -
    + + - +

    Una parte della normalizzazione dei token che corregge gli errori ortografici commessi durante l'inserimento della query.

    -
    - + +

    Aumenta la soddisfazione dell'utente e gli consente di effettuare ricerche per termini di cui non conosce lo spelling.

    -
    +
    - +

    È possibile trovare per ogni token dei suoi vicini utilizzabili per migliorare la query:

    - +

    Dato un token, si cercano tutti i token entro un certo valore di edit distance.

    - +

    Il numero minimo di operazioni per convertire un token in un altro.

    - +

    Definisce operazioni le seguenti azioni:

    @@ -447,16 +447,16 @@ export default function Gestinfo() { - +

    Matrice costruita per calcolare la distanza di Levenshtein con un algoritmo greedy:

    -
    -
    - +
    +
    +

    Estende la distanza di Levenshtein con una nuova operazione:

    @@ -466,57 +466,57 @@ export default function Gestinfo() { -
    - +
    +

    Differenzia i costi delle varie operazioni, diffenenziando ad esempio in base al carattere sostituito.

    -
    +

    Calcolare l'edit distance {`E`} tra due token è un processo computazionalmente molto costoso {`O(n^2)`}.

    - +

    È possibile evitare di calcolare l'edit distance per la maggior parte dei termini del vocabolario filtrandoli su criteri più veloci.

    - + {r`\left| size(X) - size(Y) \right| \leq k`} {r`\Updownarrow`} {r`E \leq k`} - - +
    + {r`size(X \cap Y) = \max(size(X),\ size(Y)) + q - 1 - (k \cdot q)`} {r`\Updownarrow`} {r`E \leq k`} -
    + - +

    Richiede che venga tenuto traccia delle posizione dei {`q`}-grammi, e prevede che i {`q`}-grammi a più di {`k`} posizioni di distanza non vengano considerati uguali.

    -
    - - - - Tramite overlap dei {`q`}-grammi}> + + + + + Tramite overlap dei {`q`}-grammi}>

    Dato un token, si ordinano i token del vocabolario in base al numero di {`q`}-grammi in comune.

    - +

    Misura di overlap tra due insiemi di {`q`}-grammi {`X`} e {`Y`}:

    @@ -557,16 +557,16 @@ export default function Gestinfo() { -
    -
    - + + +

    Esistono motori di ricerca che usano un algoritmo per convertire i token nella loro corrispondente pronuncia ed effettuano match sulla base di quest'ultima.

    -
    +

    Scoperti i token "vicini", si può optare per varie soluzioni:

    @@ -590,40 +590,40 @@ export default function Gestinfo() { - - + +

    È possibile confrontare ogni token con il contesto dei termini circostanti per rilevare ulteriori errori.

    - +

    Un metodo che prevede di enumerare varie alternative aventi contesti concordi e di restituire quella con il maggior numero di risultati.

    -
    - +
    +

    Un metodo che prevede di enumerare varie alternative aventi contesti concordi e di restituire quella che è stata ricercata più volte.

    -
    + - + - +

    Gli indici sono strutture dati in cui vengono inseriti i documenti e i loro token dopo essere stati preparati.

    L'indicizzazione è la procedura che crea e mantiene aggiornati uno o più indici.

    -
    - + +

    Sono fondamentali per velocizzare notevolmente le ricerche e per permettere certi tipi di operazioni sulle query.

    -
    +
    - +

    Un indice basato sulla costruzione di una matrice in cui le righe sono i documenti, le colonne i token e le celle valori booleani che descrivono se il token compare nel documento.

    @@ -633,13 +633,13 @@ export default function Gestinfo() {

    Una sua evoluzione spazialmente più efficiente è l'inverted index.

    -
    - + +

    L'indice più comune, costituito da tante posting list raggiungibili attraverso un vocabolario.

    - +

    L'insieme di tutte le occorrenze di un dato token.

    @@ -656,8 +656,8 @@ export default function Gestinfo() {

    Non è però altrettanto efficiente in operazioni di negazione.

    -
    - +
    +

    L'insieme delle associazioni tra token e la loro posting list.

    @@ -680,11 +680,11 @@ export default function Gestinfo() {

    Generalmente, occupano spazio logaritmico rispetto al numero di token.

    -
    + - + - +

    Ogni motore di ricerca implementa un diverso query language, un'interfaccia per l'utente che gli permette di effettuare ricerche in base alla sua necessità di informazioni .

    @@ -694,15 +694,15 @@ export default function Gestinfo() {

    Ogni query language può poi implementare diverse funzionalità in base al tipo di documento indicizzato.

    -
    - + +

    Essendo una via di mezzo tra linguaggio naturale e linguaggio di programmazione, permettono a un utente qualunque di fruire del motore di ricerca, senza bisogno di conoscenze approfondite sul suo funzionamento.

    -
    +
    - +

    All'interno della query vengono inserite una o più keywords da ricercare all'interno dei documenti.

    @@ -714,8 +714,8 @@ export default function Gestinfo() { Divina Commedia Dante -
    - + +

    Prevedono la possibilità di richiedere che due o più keyword siano consecutive.

    @@ -727,8 +727,8 @@ export default function Gestinfo() { "Nel mezzo del cammin di nostra vita" -
    - + +

    Prevedono la possibilità di richiedere che due o più keyword siano a una certa distanza una dall'altra.

    @@ -743,10 +743,10 @@ export default function Gestinfo() { Dante /3 Beatrice -
    +
    - +

    Prevedono la possibilità di cercare prefissi, suffissi, sottostringhe e intervalli di keyword.

    @@ -761,8 +761,8 @@ export default function Gestinfo() { **/V?rgilio.png -
    - + +

    Prevedono la possibilità di usare tag provenienti da un thesaurus limitato di cui è garantita la precisione.

    @@ -774,10 +774,10 @@ export default function Gestinfo() { "Plague"[Mesh] -
    +
    - +

    Prevedono la possibilità di limitare la query a specifiche sezioni del documento.

    @@ -789,8 +789,8 @@ export default function Gestinfo() { inauthor:Dante inauthor:Alighieri -
    - + +

    Prevedono la possibilità di effettuare più query e applicare le operazioni di intersezione, unione e negazione sui risultati.

    @@ -802,10 +802,10 @@ export default function Gestinfo() { "Dante" and "Vergil" and ("Devil May Cry" or "DMC") and not "Divina Commedia" -
    +
    Implementazione dei patterns}> - +
    1. Separa prefisso e suffisso in due parti collegate da un AND: @@ -832,16 +832,16 @@ export default function Gestinfo() {

      È costoso in termini di tempo: ci saranno tanti risultati che andranno processati, e l'intersezione è {`O(n + m)`}.

      - - - + + +

      Un particolare vocabolario in cui vengono inserite tutte le possibili permutazioni di wildcard per ogni token:

      -
      +

      È possibile effettuare ricerche wildcard ruotando la wildcard a destra, trasformando tutti i pattern in prefissi:

      @@ -885,16 +885,16 @@ export default function Gestinfo() { -
      - Tramite {`q`}-gram indexes}> - {`q`}-gram index}> + + Tramite {`q`}-gram indexes}> + {`q`}-gram index}>

      Vocabolario aggiuntivo che associa {`q`}-grammi ai token corrispondenti del vocabolario principale.

      -
      +

      È possibile interpretare la ricerca come intersezione di {`q`}-grammi:

      @@ -922,21 +922,21 @@ export default function Gestinfo() { È un'ottima via di mezzo tra prefix-suffix tree e permuterm tree sia per il tempo impiegato sia per lo spazio richiesto.

      -
      + Modelli di }> - +

      Sono modelli matematici in grado di selezionare e ordinare i documenti in base alla loro rilevanza rispetto alla query.

      -
      - + +

      Stabiliscono i risultati richiamati dal motore di ricerca e l'ordine con cui vengono visualizzati.

      -
      +
      - +

      Rappresentano la query come un insieme di index term, e assegnano le rilevanze confrontando l'insieme con gli index term dei documenti.

      @@ -946,9 +946,9 @@ export default function Gestinfo() {

      Ad ogni index term del documento viene indipendentemente assegnato un peso in base alla sua rilevanza nella query.

      -
      + - +

      Modello classico che rappresenta la query come un booleano, e genera la rilevanza valutandolo su ogni documento:

      @@ -956,8 +956,8 @@ export default function Gestinfo() {
    2. 1 se il è vero
    3. 0 se il è falso
    4. - - + +

      Variante del modello booleano che permette ai documenti di soddisfare parzialmente il :

      @@ -974,10 +974,10 @@ export default function Gestinfo() {
    5. OR: {`min( x_{A},\\ x_{B} )`}
    6. NOT: {`1 - x_{A}`}
    7. -
      + - +

      Modello classico che rappresenta il vocabolario come uno spazio vettoriale, in cui ogni dimensione rappresenta un token.

      @@ -994,12 +994,12 @@ export default function Gestinfo() { Le query vengono anch'esse trasformate in vettori {`q`}, e le rilevanze vengono ottenute dalla similitudine vettoriale tra i vettore query e i vettori documenti.

      - Peso }> + Peso }>

      Un metodo di assegnamento peso che si basa sul prodotto dei fattori e :

      {`d_i = tf_{norm}(i) \\cdot idf_{log}(i)`} - : Term frequency}> + : Term frequency}>

      Misura quanto un token è frequente nel singolo documento:

      @@ -1008,8 +1008,8 @@ export default function Gestinfo() { Nella formula principale, viene normalizzato dividendolo per il più alto del documento, limitandolo così a valori tra 0 e 1:

      {`tf_{norm}(i) = \\frac{tf(i)}{\\max_{j:\\ docs}\\ tf(j)}`} -
      - : Inverse document freq.}> +
      + : Inverse document freq.}>

      Misura quanto un token è raro nella collezione di documenti:

      @@ -1018,13 +1018,13 @@ export default function Gestinfo() { Nella formula principale, viene logaritmizzato, al fine di ridurre significativamente il suo impatto:

      {`idf_{log}(i) = \\log(idf(i))`} -
      -
      - + + +

      Un modo di misurare la similitudine tra insiemi di token rappresentati come dimensioni vettoriali.

      - +

      Si basa sulla norma a 2, e corrisponde a cercare l'angolo centrato all'origine tra i due vettori:

      @@ -1044,7 +1044,7 @@ export default function Gestinfo() { -
      +
      -
      +
      - + - +

      Modello classico che ordina i documenti {`d`} in base alla probabilità che siano rilevanti {`R`} per la query {`q`}:

      @@ -1078,8 +1078,8 @@ export default function Gestinfo() {

      Il contributo {r`c_i`} viene poi usato come peso

      -
      - + +

      Modello classico che ordina i documenti in base a un punteggio ad essi assegnato.

      @@ -1088,13 +1088,13 @@ export default function Gestinfo() {

      {`RSV = x \\cdot y \\cdot z`} - Fattore {`x`}}> + Fattore {`x`}}>

      Deriva dal peso dei termini della query presenti nel documento:

      {`x = \\sum_{t \\in q} ( idf_{\\log} )`} -
      - Fattore {`y`}}> +
      + Fattore {`y`}}>

      Deriva dal peso , dalla lunghezza media dei documenti {`L_{avg}`}, la lunghezza del documento specifico {`L_d`} e da due parametri di configurazione {`k_1`} e {`b`}:

      @@ -1105,16 +1105,16 @@ export default function Gestinfo() { -
      - Fattore {`z`}}> + + Fattore {`z`}}>

      Deriva dal peso dei termini della query e da un parametro di configurazione {`k_3`}:

      {`z = \\frac{(k_3 + 1) \\cdot tf_{tq}}{k_3 + tf_{tq}}`} -
      + - - + +

      Modello per classificare documenti intercollegati in base a come essi sono collegati tra loro.

      @@ -1122,14 +1122,14 @@ export default function Gestinfo() { Una pagina non è importante in base a quanto dice di esserlo, ma in base a quanto le altre pagine dicono che lo è. - +

      Algoritmo di Link Analysis Ranking query-independent che assegna un grado a ogni pagina indicizzata.

      - +

      Misura iterativa di quanto una pagina è importante rispetto a tutte le altre indicizzate.

      @@ -1149,7 +1149,7 @@ export default function Gestinfo() { - +

      Funzione che introduce nuovo rank nel sistema ad ogni iterazione.

      @@ -1168,9 +1168,9 @@ export default function Gestinfo() { \end{cases} `} -
      -
      - +
      +
      +

      Rank riscalato a valori inclusi tra 0 e 1.

      @@ -1180,9 +1180,9 @@ export default function Gestinfo() {

      Solitamente, il rank viene rinormalizzato ad ogni iterazione.

      -
      - - + + +

      Algoritmo di Link Analysis Ranking query-dependent che attribuisce due diversi valori ad ogni pagina: autorità e hubness.

      @@ -1193,7 +1193,7 @@ export default function Gestinfo() { Viene applicato solo a un base set, ovvero all'unione del root set (i match della query) con tutti i nodi ad essi direttamente connessi.

      - +

      Misura di quanto la pagina in questione viene referenziata da altri siti autoritativi.

      @@ -1203,8 +1203,8 @@ export default function Gestinfo() { {r` a'_i(p) = \sum_{e:\ entering} h_{i-1}(e) `} -
      - +
      +

      Misura di quanto la pagina in questione referenzia siti autoritativi.

      @@ -1214,10 +1214,10 @@ export default function Gestinfo() { {r` h'_i(p) = \sum_{l:\ leaving} a_{i-1}(l) `} -
      + - +

      Autorità riscalata a valori inclusi tra 0 e 1.

      @@ -1225,8 +1225,8 @@ export default function Gestinfo() { {r` a_i(p) = \frac{a'_i(p)}{\sum_{d:\ pages} \left( a'_i(d) \right)} `} -
      - + +

      Hubness riscalata a valori inclusi tra 0 e 1.

      @@ -1234,77 +1234,77 @@ export default function Gestinfo() { {r` h_i(p) = \frac{h'_i(p)}{\sum_{d:\ pages} \left( h'_i(d) \right)} `} -
      +
      - + - + Profilazione sistemi }> - +

      Misurazioni che vengono effettuate sui sistemi di .

      -
      - + +

      Per vedere quanto funziona bene un sistema di !

      -
      +
      - +

      Per ottenere delle misure, solitamente si preparano in anticipo delle query dette benchmark delle quali si è già a conoscenza dei documenti rilevanti.

      -
      - + +

      Le due misure usate più di frequente per misurare l'utilità dei risultati sono recall e precision.

      - +

      Misura quanti documenti rilevanti sono stati richiamati dalla collezione:

      {`Recall = \\frac{size(A \\cap R)}{size(R)}`} -
      - +
      +

      Misura quanti documenti richiamati sono rilevanti:

      {`Precision = \\frac{size(A \\cap R)}{size(A)}`} -
      + - - + + - +

      La precisione di una query che richiama {`R`} elementi.

      -
      - +
      +

      A precisione {`R`}, il richiamo relativo ad una query.

      -
      + - +

      Curva che associa percentili di richiamo ai corrispondenti valori di R-Precision.

      @@ -1351,8 +1351,8 @@ export default function Gestinfo() {

      È detta standard se usa le percentuali da 10% a 100% come punti.

      -
      - + +

      Mostra il valore massimo di precisione per valori di richiamo maggiori o uguali a quelli del punto.

      @@ -1407,48 +1407,48 @@ export default function Gestinfo() { -
      +
      - - + +

      Esistono misure che riassumono i risultati di più benchmark in una sola.

      - +

      Se si hanno più benchmark, corrispondenti a più curve di richiamo, si possono ottenere le medie dei valori ai vari livelli, ottenendo così una curva di precisione media.

      -
      - +
      +

      La media di tutti i livelli di precisione media.

      -
      + - +

      Misura che combina richiamo e precisione in un singolo valore:

      {r` F = \frac{2}{\frac{1}{Recall} + \frac{1}{Precision}} = 2 \cdot \frac{Recall \cdot Precision}{Recall + Precision} `} -
      - + +

      Complemento della media armonica configurabile che permette di selezionare se dare priorità {`b`} alla precisione ({`b > 1`}) oppure al richiamo ({`b < 1`}):

      {r` E = 1 - \frac{1 + b^2}{\frac{b^2}{Recall} + \frac{1}{Precision}} `} -
      +
      - +

      Misura che attribuisce guadagni decrescenti in base alla precisione di ogni documento richiamato.

      @@ -1499,8 +1499,8 @@ export default function Gestinfo() { -
      - + +

      Variante del Discounted Cumulative Gain che divide il punteggio finale per il valore perfetto ottenibile.

      @@ -1510,52 +1510,52 @@ export default function Gestinfo() {

      {r`NDCG = \frac{\sum_{Docs} \left( Stars \cdot 2^{- Position} \right)}{\sum_{Docs} \left( 5 \cdot 2^{- Position} \right)}`} -
      +
      - + - +

      Il modo in cui i risultati vengono visualizzati all'utente.

      -
      - + +

      Permettere all'utente di vedere velocemente tutti i risultati e di scegliere il risultato a lui più utile.

      -
      +
      - +

      Il motore di ricerca web mostra all'utente un elenco di collegamenti ai documenti richiamati.

      Solitamente include alcuni dati del documento, come titolo, sommario e url.

      - +

      Un breve riassunto del contenuto del documento richiamato.

      - +

      Un sommario i cui contenuti dipendono solo dal documento, e non dalla query immessa.

      -
      - +
      +

      Un sommario che varia da query a query, evidenziando le parti rilevanti del documento.

      -
      +
      -
      - + +
    ) } diff --git a/src/routes/Home.js b/src/routes/Home.js index 5542c2f..9b3a86b 100644 --- a/src/routes/Home.js +++ b/src/routes/Home.js @@ -1,7 +1,7 @@ import React from "react"; import {Size, Anchor, BaseLink as A, Paragraph as P, Bold as B, ListItem as LI} from "bluelib/lib/components"; import TitleSplit from "../components/TitleSplit"; -import TitleBox from "../components/TitleBox"; +import Box from "../components/Box"; import SelectSkin from "../components/SelectSkin"; @@ -9,33 +9,33 @@ export default function Home({skin, setSkin}) { return (
    Appunti open source di Steffo}> - +

    Ciao! Benvenuto a Unisteffo, il sito in cui carico tutto il materiale che uso per studiare!

    Se trovi un errore negli appunti, o un bug del sito, per favore segnalamelo su GitHub!

    -
    - + +

    Se i colori ti deconcentrano, non ti piacciono, o vuoi stampare alcune di queste pagine, puoi cambiare tema del sito qui:

    -
    +
    - +
    • Analisi matematica
    • Algebra lineare
    • Architettura dei calcolatori
    • Algoritmi e strutture dati
    -
    - + +
    • Fisica
    • Programmazione ad oggetti
    • @@ -46,12 +46,12 @@ export default function Home({skin, setSkin}) {
    • Calcolo numerico
    • Ottimizzazione lineare intera
    -
    - + + - +
    )