EuraStudy
Appunti/Informatica/Computazione e calcolo numerico
Appunti · InformaticaIT · Maturità

Computazione e calcolo numerico

Il calcolo numerico studia i metodi con cui un calcolatore risolve in modo approssimato problemi matematici che non ammettono soluzione esatta o pratica: dalla rappresentazione finita dei numeri in virgola mobile, con i suoi errori, alla ricerca degli zeri di una funzione (metodo di bisezione) e all'approssimazione di aree e integrali (metodi dei rettangoli e dei trapezi). L'argomento intreccia informatica e matematica nel triennio del Liceo Scientifico delle Scienze Applicate: ogni metodo è un algoritmo iterativo da analizzare per correttezza, efficienza e affidabilità del risultato, e da implementare in un linguaggio di programmazione o in un foglio di calcolo. Imparare a stimare e controllare l'errore è il filo conduttore che lega tutte le tecniche.

4 sezioni·~22 min di lettura·3 competenze·Livello Standard 3 · Approfondimento 1·Verificato · 07/2026

T·121212 / 14
Profilo d’esame
Utilizzare metodi computazionali per risolvere in modo approssimato problemi matematici (equazioni, aree, integrali)Valutare l'errore e l'affidabilità dei risultati ottenuti con metodi numericiCollegare informatica e matematica nella modellizzazione e nel calcolo, implementando gli algoritmi in un linguaggio di programmazione o in un foglio di calcolo (raccordo con Matematica)
Operatori:calcoladeterminadimostraanalizzaspiegadescriviconfrontaclassificaillustragiustificainterpretaimplementa

livello base

È richiesto di conoscere e applicare i metodi numerici fondamentali (bisezione, rettangoli, trapezi), di tradurli in un semplice algoritmo e di stimare l'ordine di grandezza dell'errore.

livello avanzato

L'indirizzo Scienze Applicate approfondisce l'analisi quantitativa dell'errore (rappresentazione in virgola mobile, propagazione, criteri di arresto), il confronto dell'efficienza tra metodi e l'implementazione completa degli algoritmi in un linguaggio di programmazione.

Profondità

Profondità di lettura: Approfondimento

Testo

Dimensione del testo: Standard

Contenuti · 4 sezioni▾
  1. Computazione e calcolo numerico
    • 01Rappresentazione dei numeri ed errori di calcolo◐
    • 02Risoluzione approssimata di equazioni: il metodo di bisezione◐
    • 03Integrazione numerica: metodi dei rettangoli e dei trapezi●
    • 04Elaborazione di dati numerici e implementazione degli algoritmi◐
§ 01

Rappresentazione dei numeri ed errori di calcolo#

●●○StandardLPOSA-informatica-CS-calcolo-numericoLPRappresentazione in virgola mobile e propagazione degli errori

Anatomia di un numero in virgola mobile

Numero in virgola mobileTabella con 3 colonne e 1 righe, Dati: Segno · Esponente · Mantissa; (-1)^s · b^e · m (finita), cella evidenziata: m (finita)SEGNOESPONENTEMANTISSA(-1)^sb^em (finita)
Fig. 1x = (-1)^s · m · b^e. La mantissa m ha cifre finite: le cifre eccedenti sono arrotondate (errore di rappresentazione). Errore relativo E_rel = |x − x̃| / |x|.

Punti chiave

Un calcolatore dispone di una quantità finita di memoria per ogni numero, perciò non può rappresentare esattamente l'insieme infinito e continuo dei numeri reali: ogni valore viene approssimato, e da questa approssimazione nascono gli errori che il calcolo numerico deve riconoscere e dominare. Capire come la macchina memorizza i numeri è quindi il punto di partenza per giudicare l'affidabilità di qualunque risultato.
Nella rappresentazione in virgola fissa il numero di cifre dedicate alla parte intera e a quella frazionaria è prestabilito: la rappresentazione è semplice ma poco flessibile, perché o si perde precisione sui numeri molto piccoli o si esaurisce l'intervallo dei numeri molto grandi. La rappresentazione in virgola mobile (floating point) supera questo limite scrivendo ogni numero nella forma «mantissa per base elevata a un esponente», così da coprire con poche cifre un intervallo molto ampio di valori, dai più piccoli ai più grandi.
Poiché la mantissa ha un numero finito di cifre, la maggior parte dei numeri reali viene approssimata troncando o arrotondando le cifre eccedenti: nasce così l'errore di rappresentazione (o di arrotondamento). Si distingue tra errore assoluto, cioè il valore assoluto della differenza tra il valore vero e quello approssimato, ed errore relativo, cioè il rapporto tra l'errore assoluto e il valore vero, che misura la precisione in modo indipendente dall'ordine di grandezza ed è ciò che davvero conta per giudicare un risultato.
Gli errori non restano isolati: nelle operazioni si combinano e si propagano. Particolarmente insidiosa è la cancellazione numerica, che si verifica quando si sottraggono due numeri quasi uguali: le cifre più significative si annullano e l'errore relativo del risultato può crescere enormemente. Per questo nella pratica si riformulano le espressioni per evitare sottrazioni critiche, si tiene presente che le operazioni in virgola mobile non sono perfettamente associative e si valuta sempre se il risultato finale è significativo rispetto agli errori accumulati.
Eass=∣x−x~∣E_{\text{ass}} = |x - \tilde{x}|Eass​=∣x−x~∣

Errore assoluto

Differenza in valore assoluto tra il valore vero x e il valore approssimato x con tilde; ha la stessa unita di misura della grandezza.

Erel=∣x−x~∣∣x∣,x≠0E_{\text{rel}} = \frac{|x - \tilde{x}|}{|x|}, \qquad x \neq 0Erel​=∣x∣∣x−x~∣​,x=0

Errore relativo

Rapporto tra errore assoluto e modulo del valore vero; e adimensionale e si esprime spesso in percentuale moltiplicando per cento.

x=(−1)s⋅m⋅b ex = (-1)^{s} \cdot m \cdot b^{\,e}x=(−1)s⋅m⋅be

Forma in virgola mobile

Un numero in floating point e dato dal segno s, dalla mantissa m (con numero finito di cifre nella base b) e dall'esponente e; la finitezza di m genera l'errore di rappresentazione.

Esempio svolto

Errore assoluto e relativo di un'approssimazione

Il valore vero di pi greco e 3.14159265; un programma lo memorizza come 3.14159. Determina l'errore assoluto e l'errore relativo dell'approssimazione, ed esprimi quest'ultimo in percentuale.

  1. 01Errore assoluto

    Si sottrae l'approssimato dal vero e si prende il valore assoluto.

  2. 02Errore relativo

    Si divide l'errore assoluto per il modulo del valore vero.

  3. 03In percentuale

    Si moltiplica l'errore relativo per cento.

Risultato: L'errore assoluto e circa 0.00000265 e l'errore relativo circa 8.4 per dieci alla meno sette, cioe meno di un milionesimo: l'approssimazione e ottima e conserva sei cifre significative corrette.

Obiettivo Maturità

  • Saper distinguere con esempi errore assoluto ed errore relativo e calcolarli a partire da un valore vero e da una sua approssimazione: è un classico punto di colloquio e di esercizio della seconda prova.
  • Spiegare perché un calcolatore non rappresenta esattamente i numeri reali e collegare la rappresentazione in virgola mobile (mantissa ed esponente) alla nascita degli errori di arrotondamento.

Errori frequenti

  • Confondere errore assoluto ed errore relativo, oppure dimenticare di prendere il valore assoluto: l'errore è una grandezza non negativa.
  • Ritenere che, aumentando i passi di un metodo, l'errore tenda sempre a zero: oltre un certo punto gli errori di arrotondamento accumulati possono prevalere e peggiorare il risultato.

Approfondimento

La finitezza della mantissa si quantifica con l'epsilon di macchina (machine epsilon): il più piccolo numero «ε» tale che «1 + ε» sia ancora distinguibile da «1» nella rappresentazione della macchina. Esso fissa la precisione relativa dell'aritmetica (in doppia precisione IEEE 754 vale circa «2·10⁻¹⁶», cioè circa 16 cifre decimali significative) e ogni operazione introduce un errore relativo dell'ordine di «ε». Conviene poi distinguere due nature diverse di errore: l'errore di arrotondamento, dovuto alla rappresentazione finita dei numeri, e l'errore di troncamento (o di metodo), dovuto al fatto che un procedimento numerico approssima un'operazione ideale — per esempio interrompe una serie infinita o dimezza un intervallo un numero finito di volte. Due concetti governano infine l'affidabilità di un calcolo. Il numero di condizionamento (condition number) misura quanto un problema è sensibile a piccole variazioni dei dati: un problema mal condizionato amplifica gli errori d'ingresso a prescindere dall'algoritmo usato. La stabilità riguarda invece l'algoritmo: un algoritmo stabile non amplifica indebitamente gli errori di arrotondamento durante l'esecuzione. Un buon risultato numerico richiede entrambe le cose, un problema ben condizionato e un algoritmo stabile, ed è per questo che, di fronte alla cancellazione numerica, si riscrivono le formule — come la formula risolutiva dell'equazione di secondo grado, che si può riformulare per evitare la sottrazione di due quantità quasi uguali.

Ripasso attivo

Il valore vero di una costante è 3.14159265 e un programma ne fornisce l'approssimazione 3.14159. Calcola l'errore assoluto e l'errore relativo dell'approssimazione, esprimendo il secondo anche in percentuale, e commenta il significato dei due valori.

Richiamo attivo

Ricorda i punti chiave — poi rivela.

Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))

§ 02

Risoluzione approssimata di equazioni: il metodo di bisezione#

●●○StandardLPOSA-informatica-CS-calcolo-numericoLPMetodo di bisezione per la ricerca degli zeri di una funzione

Bisezione su f(x) = x² - 2 in [1, 2]

Cambio di segno tra a=1 e b=2Grafico di f(x)=x^2-2, zeri in x = 1.414, crescente, nell’intervallo x da 1 a 211.21.41.61.82−1−0.50.511.52radice ~1.414f(1) = −1f(2) = 2y = 0f(x) = x2-2yx

Punti chiave

Molte equazioni della forma f(x) = 0 non si risolvono con formule esatte: il calcolo numerico le affronta cercando una soluzione approssimata, cioè un valore di x in cui la funzione vale (quasi) zero. Il metodo di bisezione è il più semplice e robusto fra questi metodi, perché si basa su una sola idea geometrica chiara: se una funzione continua cambia segno tra due punti, allora in mezzo deve passare per lo zero.
Il fondamento teorico è il teorema degli zeri (corollario del teorema di Bolzano sulla continuità, ripasso di Matematica): se f è continua su un intervallo chiuso [a, b] e agli estremi assume valori di segno opposto, cioè f(a) e f(b) hanno prodotto negativo, allora esiste almeno un punto c interno all'intervallo in cui f(c) = 0. La bisezione sfrutta questo enunciato per circoscrivere progressivamente lo zero.
Il procedimento è iterativo: si calcola il punto medio m dell'intervallo e si valuta f(m); se f(m) ha lo stesso segno di f(a) lo zero sta nella metà destra e si pone a = m, altrimenti sta nella metà sinistra e si pone b = m. A ogni passo l'intervallo che contiene lo zero si dimezza, quindi la sua ampiezza dopo n passi è l'ampiezza iniziale divisa per due elevato a n. Il metodo si arresta quando l'ampiezza dell'intervallo (o equivalentemente l'errore sulla stima) scende sotto una tolleranza prefissata, oppure quando f(m) è abbastanza vicino a zero.
Il pregio della bisezione è la convergenza garantita: se le ipotesi del teorema sono soddisfatte, il metodo trova sempre lo zero. Il difetto è la lentezza: la convergenza è lineare e occorre dimezzare molte volte l'intervallo per guadagnare poche cifre decimali. Altri metodi (come quelli delle tangenti o delle secanti) convergono più rapidamente ma richiedono ipotesi più forti e possono non convergere; la bisezione resta il metodo di riferimento per la sua affidabilità e per la stima dell'errore semplice e certa.
f(a)⋅f(b)<0  ⇒  ∃ c∈(a,b):f(c)=0f(a)\cdot f(b) < 0 \;\Rightarrow\; \exists\, c \in (a,b): f(c)=0f(a)⋅f(b)<0⇒∃c∈(a,b):f(c)=0

Teorema degli zeri

Se f e continua su [a,b] e assume valori di segno opposto agli estremi, esiste almeno uno zero interno: e la condizione che rende applicabile la bisezione.

m=a+b2m = \frac{a+b}{2}m=2a+b​

Punto medio

Stima corrente della radice a ogni iterazione; sostituisce l'estremo che conserva lo stesso segno di f(m).

En≤b−a2 nE_n \le \frac{b-a}{2^{\,n}}En​≤2nb−a​

Errore dopo n passi

L'ampiezza dell'intervallo, e dunque l'errore massimo sulla stima, si dimezza a ogni iterazione: imponendo questo valore minore della tolleranza si ricava il numero n di passi.

Esempio svolto

Tre passi di bisezione per radice di 2

Approssima la soluzione positiva di x^2 - 2 = 0 nell'intervallo [1, 2] con tre passi del metodo di bisezione. Riporta a ogni passo l'intervallo, il punto medio m, il segno di f(m) e l'errore massimo.

  1. 01Verifica ipotesi

    f(1) = 1 - 2 = -1 < 0 e f(2) = 4 - 2 = 2 > 0: segni opposti, il teorema garantisce uno zero in (1, 2).

  2. 02Passo 1

    m = 1.5; f(1.5) = 2.25 - 2 = 0.25 > 0, stesso segno di f(2): lo zero e a sinistra, nuovo intervallo [1, 1.5]. Errore massimo 0.5.

  3. 03Passo 2

    m = 1.25; f(1.25) = 1.5625 - 2 = -0.4375 < 0, stesso segno di f(1): lo zero e a destra, nuovo intervallo [1.25, 1.5]. Errore massimo 0.25.

  4. 04Passo 3

    m = 1.375; f(1.375) = 1.890625 - 2 = -0.109375 < 0, lo zero e a destra, nuovo intervallo [1.375, 1.5]. Errore massimo 0.125.

Risultato: Dopo tre passi la radice e localizzata in [1.375, 1.5], con stima centrale 1.4375 ed errore massimo 0.125; il valore vero radice di 2 e circa 1.41421, dentro l'intervallo trovato.

Obiettivo Maturità

  • Enunciare correttamente le ipotesi del teorema degli zeri (continuita su un intervallo chiuso e segni opposti agli estremi) e collegarle al funzionamento della bisezione: e la giustificazione richiesta al colloquio e nelle prove scritte.
  • Saper ricavare il numero di iterazioni necessarie a garantire una data tolleranza a partire dalla formula dell'ampiezza dell'intervallo dimezzato.

Errori frequenti

  • Applicare la bisezione senza verificare il cambio di segno agli estremi: se f(a) e f(b) hanno lo stesso segno il teorema non garantisce alcuno zero e il metodo non e applicabile.
  • Confondere il punto medio m con la radice esatta: m e solo la stima corrente; l'errore e al piu la semiampiezza dell'intervallo, non zero.

Approfondimento

Il pregio della bisezione — la stima dell'errore certa — si traduce in una formula esplicita per il numero di iterazioni. Dopo n dimezzamenti l'ampiezza dell'intervallo è «(b−a)/2ⁿ», che è anche la maggiorazione dell'errore sulla stima; imporre che scenda sotto una tolleranza «tol» dà «(b−a)/2ⁿ < tol», da cui, prendendo il logaritmo, «n > log₂((b−a)/tol)». Per dimezzare l'errore serve dunque una sola iterazione in più: la convergenza è lineare, e per guadagnare una cifra decimale (fattore 10) occorrono circa «log₂ 10 ≈ 3,3» iterazioni. Metodi più rapidi esistono: il metodo di Newton (delle tangenti) approssima la funzione con la sua retta tangente e itera secondo la regola «x_nuovo = x − f(x)/f'(x)», ottenendo una convergenza quadratica — il numero di cifre corrette all'incirca raddoppia a ogni passo — ma richiede la derivata, un buon punto di partenza e può divergere se le ipotesi non sono rispettate; il metodo delle secanti sostituisce la derivata con un rapporto incrementale. La bisezione resta il metodo di riferimento proprio perché baratta la velocità con l'affidabilità assoluta: converge sempre, purché valgano le ipotesi del teorema degli zeri, ed è spesso usata per «avvicinarsi» alla radice prima di passare a un metodo più veloce ma più fragile.

Ripasso attivo

Considera la funzione f(x) = x^2 - 2 sull'intervallo [1, 2]. Verifica le ipotesi del teorema degli zeri ed esegui tre passi del metodo di bisezione, indicando a ogni passo l'intervallo, il punto medio, il segno di f nel punto medio e l'errore massimo sulla stima.

Richiamo attivo

Ricorda i punti chiave — poi rivela.

Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))

§ 03

Integrazione numerica: metodi dei rettangoli e dei trapezi#

●●●ApprofondimentoLPOSA-informatica-CS-calcolo-numericoLPMetodi di integrazione numerica (rettangoli, trapezi)

Area sotto f(x) = x² su [0, 1] approssimata con i trapezi

Nodi equidistanti (n=4) sotto la curvaGrafico di f(x)=x^2, zeri in x = 0, intercetta sull’asse y in y = 0, crescente, nell’intervallo x da 0 a 10.20.40.60.810.20.40.60.81x1 = 0.25x2 = 0.5x3 = 0.75f(x) = x2yx

Punti chiave

Calcolare un integrale definito significa misurare l'area compresa tra il grafico di una funzione e l'asse delle ascisse su un intervallo. Quando non si conosce una primitiva, o quando la funzione è data solo per punti, si ricorre all'integrazione numerica: si stima quell'area sommando le aree di tante figure elementari che ricoprono la regione. Più fitta è la suddivisione, migliore è l'approssimazione.
L'idea comune a tutti i metodi è suddividere l'intervallo [a, b] in n sottointervalli di uguale ampiezza h = (b − a)/n, individuando i nodi equidistanti. Su ciascun sottointervallo si sostituisce alla funzione una forma di cui si sa calcolare l'area: un rettangolo nel metodo dei rettangoli, un trapezio nel metodo dei trapezi. La somma di queste aree fornisce la stima dell'integrale.
Nel metodo dei rettangoli l'altezza di ogni rettangolo è il valore della funzione in un punto del sottointervallo: l'estremo sinistro (rettangoli sinistri), l'estremo destro (rettangoli destri) o il punto medio (metodo del punto medio, in genere più accurato). Il metodo è semplice ma, usando un valore costante per tutto il sottointervallo, tende a sovrastimare o sottostimare l'area dove la funzione cresce o decresce.
Nel metodo dei trapezi si congiungono con un segmento i due valori della funzione agli estremi di ogni sottointervallo, approssimando l'area con quella di un trapezio. La somma di tutti i trapezi dà una formula in cui i valori interni della funzione compaiono con peso doppio rispetto ai due estremi. A parità di suddivisione il metodo dei trapezi è più accurato di quello dei rettangoli, perché segue meglio l'andamento della curva; il suo errore diminuisce all'aumentare di n, ma all'infittire della suddivisione si deve tenere presente che aumentano anche il costo di calcolo e gli errori di arrotondamento.
h=b−an,xi=a+i hh = \frac{b-a}{n}, \qquad x_i = a + i\,hh=nb−a​,xi​=a+ih

Passo e nodi

L'intervallo [a,b] e diviso in n sottointervalli di ampiezza h; i nodi x_i (con i da 0 a n) sono equidistanti.

∫abf(x) dx≈h∑i=0n−1f(xi)\int_a^b f(x)\,dx \approx h\sum_{i=0}^{n-1} f(x_i)∫ab​f(x)dx≈hi=0∑n−1​f(xi​)

Metodo dei rettangoli (sinistri)

Ogni rettangolo ha base h e altezza pari al valore della funzione nell'estremo sinistro del sottointervallo; la somma approssima l'area.

∫abf(x) dx≈h2[f(x0)+2∑i=1n−1f(xi)+f(xn)]\int_a^b f(x)\,dx \approx \frac{h}{2}\left[f(x_0) + 2\sum_{i=1}^{n-1} f(x_i) + f(x_n)\right]∫ab​f(x)dx≈2h​[f(x0​)+2i=1∑n−1​f(xi​)+f(xn​)]

Metodo dei trapezi (composito)

I due estremi entrano con peso 1, i nodi interni con peso 2; il fattore h/2 deriva dall'area del singolo trapezio.

Esempio svolto

Integrale di x^2 su [0,1] con rettangoli e trapezi (n = 4)

Stima l'integrale di f(x) = x^2 tra 0 e 1 con n = 4 sottointervalli, usando i rettangoli sinistri e i trapezi; confronta con il valore esatto 1/3.

  1. 01Passo e nodi

    h = (1 - 0)/4 = 0.25; nodi x = 0, 0.25, 0.5, 0.75, 1. Valori: f = 0, 0.0625, 0.25, 0.5625, 1.

  2. 02Rettangoli sinistri

    Si sommano i valori nei nodi sinistri (0, 0.25, 0.5, 0.75) e si moltiplica per h: (0 + 0.0625 + 0.25 + 0.5625) = 0.875; per 0.25 = 0.21875.

  3. 03Trapezi

    Estremi peso 1 (0 e 1), interni peso 2 (0.0625, 0.25, 0.5625). Somma pesata: 0 + 2(0.0625 + 0.25 + 0.5625) + 1 = 0 + 2(0.875) + 1 = 2.75; per h/2 = 0.125.

  4. 04Confronto

    Valore esatto 1/3 = 0.3333... I rettangoli sinistri (0.21875) sottostimano di 0.1146; i trapezi (0.34375) sbagliano solo di 0.0104.

Risultato: Il metodo dei trapezi (0.34375) e nettamente piu accurato dei rettangoli sinistri (0.21875): a parita di suddivisione l'errore dei trapezi e circa un decimo di quello dei rettangoli, confermando che approssimare con segmenti segue meglio la curva.

Obiettivo Maturità

  • Saper scrivere e applicare la formula dei trapezi composita su un intervallo suddiviso in n parti, calcolando correttamente l'ampiezza h e i pesi dei nodi (estremi con peso 1, nodi interni con peso 2).
  • Confrontare rettangoli e trapezi in termini di accuratezza a parita di passo e motivare perche il metodo dei trapezi e in generale migliore: e una richiesta tipica di analisi all'orale e nello scritto.

Errori frequenti

  • Dimenticare il fattore h/2 nella formula dei trapezi oppure non raddoppiare i valori dei nodi interni: la stima risulta sistematicamente errata.
  • Calcolare male l'ampiezza dei sottointervalli usando h = (b - a)/(n+1) o un numero di nodi sbagliato: con n sottointervalli i nodi sono n+1 e l'ampiezza e (b - a)/n.

Approfondimento

I metodi di integrazione si ordinano per accuratezza guardando a come il loro errore diminuisce al ridursi del passo «h». Il metodo dei rettangoli (estremo sinistro o destro) ha un errore che va a zero come «h», cioè linearmente: dimezzare «h» dimezza l'errore. Il metodo del punto medio e quello dei trapezi hanno errore dell'ordine di «h²»: dimezzare «h» riduce l'errore a un quarto, e ciò spiega perché, a parità di suddivisione, i trapezi sono nettamente più precisi dei rettangoli. Un salto ulteriore lo compie il metodo di Simpson, che su ogni coppia di sottointervalli sostituisce alla funzione non un segmento ma un arco di parabola passante per tre punti: il suo errore va come «h⁴», sicché dimezzare «h» lo riduce di ben sedici volte, ed è addirittura esatto per tutti i polinomi fino al terzo grado. La formula composita di Simpson pesa i nodi con il ritmo «1, 4, 2, 4, ..., 4, 1» e richiede un numero pari di sottointervalli. C'è però un limite: infittire «h» a oltranza non conviene, perché quando l'errore di troncamento (che cala con «h») scende sotto il livello degli errori di arrotondamento accumulati (che al contrario crescono con il numero di operazioni), il risultato smette di migliorare e può perfino peggiorare — una manifestazione concreta del compromesso fra le due nature di errore studiate all'inizio del capitolo.

Ripasso attivo

Stima l'integrale di f(x) = x^2 tra 0 e 1 suddividendo l'intervallo in n = 4 parti, applicando sia il metodo dei rettangoli sinistri sia quello dei trapezi. Confronta le due stime con il valore esatto 1/3 e commenta quale metodo e piu accurato.

Richiamo attivo

Ricorda i punti chiave — poi rivela.

Fonti: Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento (Ministero dell'Istruzione e del Merito (MIM))

§ 04

Elaborazione di dati numerici e implementazione degli algoritmi#

●●○StandardLPOSA-informatica-CS-calcolo-numericoLPElaborazione e analisi di dati numerici con strumenti di calcolo automatico (anche fogli di calcolo)LPImplementazione di algoritmi di calcolo numerico in un linguaggio di programmazione

Diagramma di flusso del metodo di bisezione

Diagramma di flusso del metodo di bisezioneGrafo, Inizio → leggi a, b, tol, maxIter; k=0, leggi a, b, tol, maxIter; k=0 → |b−a| < tol o k ≥ maxIter ?, |b−a| < tol o k ≥ maxIter ? → stampa m (Fine), |b−a| < tol o k ≥ maxIter ? → m = (a+b)/2, m = (a+b)/2 → f(a)·f(m) < 0 ?, f(a)·f(m) < 0 ? → b = m, f(a)·f(m) < 0 ? → a = m, b = m → k = k + 1, a = m → k = k + 1, k = k + 1 → |b−a| < tol o k ≥ maxIter ?Inizioleggi a, b, tol,maxIter; k = 0, b−a, < tol o k≥ maxIter ?stampa m (Fine)m = (a+b)/2f(a)·f(m) < 0 ?b = ma = mk = k + 1sìnosìnociclo
Fig. 4Si dimezza l’intervallo [a, b] scegliendo la metà in cui la funzione cambia segno, finché |b−a| < tol oppure si raggiunge il numero massimo di iterazioni.

Punti chiave

Un metodo numerico diventa davvero utile quando è automatizzato: il calcolo a mano serve a capire l'algoritmo, ma è la macchina a eseguire le decine o migliaia di iterazioni necessarie per una buona precisione. Il calcolo numerico si concretizza quindi in due strumenti complementari: il foglio di calcolo, per esplorare dati e tabulare iterazioni in modo immediato, e il linguaggio di programmazione, per implementazioni più generali, riusabili e controllabili.
Il foglio di calcolo (ripasso del biennio) organizza i dati in righe e colonne: ogni cella contiene un valore o una formula che fa riferimento ad altre celle. Tabulando una funzione su una colonna di valori di x si individua per esempio dove cambia segno, preparando la bisezione; oppure si costruisce, riga per riga, la successione dei punti medi o la somma dei contributi di un'integrazione numerica. Le funzioni statistiche integrate (somma, media, massimo, minimo) permettono inoltre di elaborare e interpretare insiemi di dati numerici.
Implementare un algoritmo numerico in un linguaggio di programmazione (ripasso delle strutture di controllo) significa tradurre il metodo in un ciclo: si inizializza lo stato (per esempio gli estremi a e b), si ripete l'aggiornamento finché non è soddisfatto il criterio di arresto e infine si restituisce il risultato. È essenziale prevedere sempre una condizione di terminazione affidabile — una tolleranza sull'errore e, per sicurezza, un numero massimo di iterazioni — per evitare cicli che non finiscono mai.
Qualunque sia lo strumento, valgono i principi generali dell'informatica: l'algoritmo deve essere corretto (produce il risultato atteso sui casi noti), efficiente (raggiunge la precisione voluta con un numero ragionevole di operazioni) e validato con prove ed esempi di controllo. Confrontare l'output del programma con un valore noto — per esempio la radice di 2 o un integrale calcolabile a mano — è il modo onesto per verificare che l'implementazione sia affidabile prima di usarla su problemi nuovi.
∣b−a∣<toloppurek≥maxIter|b - a| < \text{tol} \quad \text{oppure} \quad k \ge \text{maxIter}∣b−a∣<toloppurek≥maxIter

Criterio di arresto

Il ciclo termina quando l'ampiezza dell'intervallo scende sotto la tolleranza voluta, oppure quando si raggiunge il numero massimo di iterazioni di sicurezza.

Esempio svolto

Pseudocodice del metodo di bisezione

Scrivi lo pseudocodice di una procedura BISEZIONE(f, a, b, tol, maxIter) che restituisce un'approssimazione della radice di f in [a, b], con inizializzazione, ciclo e criterio di arresto espliciti.

  1. 01Precondizione

    Verificare che f(a) e f(b) abbiano segno opposto; in caso contrario il metodo non e applicabile e si segnala un errore.

  2. 02Inizializzazione

    Porre k = 0 e calcolare il primo punto medio m = (a + b) / 2.

  3. 03Ciclo

    Finche |b - a| >= tol e k < maxIter: m = (a + b)/2; se f(a)*f(m) < 0 allora b = m altrimenti a = m; incrementare k.

  4. 04Restituzione

    Al termine restituire m come approssimazione della radice, con errore massimo |b - a|/2.

Risultato: PROCEDURA BISEZIONE(f, a, b, tol, maxIter): se f(a)f(b) >= 0 -> errore; k <- 0; FINCHE |b-a| >= tol E k < maxIter: m <- (a+b)/2; SE f(a)f(m) < 0 ALLORA b <- m ALTRIMENTI a <- m; k <- k+1; FINE-FINCHE; RESTITUISCI m. L'algoritmo termina sempre grazie al doppio criterio di arresto (tolleranza e numero massimo di iterazioni).

Obiettivo Maturità

  • Saper descrivere, con pseudocodice o diagramma di flusso, l'algoritmo iterativo di un metodo numerico (bisezione o integrazione), indicando inizializzazione, ciclo e criterio di arresto: e la traccia tipica della seconda prova di Informatica.
  • Motivare la necessita di un doppio criterio di arresto (tolleranza sull'errore E numero massimo di iterazioni) per garantire la terminazione dell'algoritmo.

Errori frequenti

  • Scrivere un ciclo senza condizione di terminazione affidabile (per esempio basata solo su f(m) esattamente uguale a zero), col rischio di un ciclo infinito perche lo zero esatto non viene mai raggiunto in virgola mobile.
  • Non validare l'implementazione su un caso noto: un programma che gira non e necessariamente un programma corretto.

Approfondimento

Implementare un metodo numerico segue sempre lo stesso schema iterativo, che conviene interiorizzare: si inizializza lo stato (per la bisezione, gli estremi «a» e «b» e un contatore); si ripete, dentro un ciclo, l'aggiornamento dello stato (calcolo del punto medio, scelta della metà giusta); si controlla a ogni giro un criterio di arresto composito; si restituisce infine il risultato con una stima dell'errore. Un errore tipico e insidioso in virgola mobile è arrestare un ciclo con un confronto di uguaglianza esatta, come «finché f(m) ≠ 0»: poiché lo zero esatto non viene quasi mai raggiunto nella rappresentazione finita, il ciclo rischia di non terminare mai — per questo si confronta sempre con una tolleranza («|f(m)| < ε») e si aggiunge un tetto al numero di iterazioni come rete di sicurezza. Nella pratica professionale non si reimplementano da zero questi metodi: si usano librerie numeriche mature e ottimizzate (per esempio NumPy e SciPy in Python), che offrono routine collaudate per zeri, integrali e sistemi lineari; scrivere il metodo a mano serve però a capire che cosa quelle librerie fanno e quando possono fallire. Vale infine, come sempre, la regola della validazione: prima di fidarsi di un'implementazione su un problema nuovo, la si prova su casi di cui si conosce la risposta esatta (la radice di 2, un integrale calcolabile a mano), perché un programma che «gira» non è ancora, di per sé, un programma corretto.

Ripasso attivo

Scrivi lo pseudocodice di un algoritmo che implementa il metodo di bisezione per una funzione f su un intervallo [a, b], ricevendo in ingresso una tolleranza tol e un numero massimo di iterazioni maxIter, e restituendo l'approssimazione della radice. Indica esplicitamente inizializzazione, ciclo e criterio di arresto.

Richiamo attivo

Ricorda i punti chiave — poi rivela.

Fonti: Esame di Stato del secondo ciclo — quadri di riferimento e griglie di valutazione (Ministero dell'Istruzione e del Merito (MIM))

Contenuti

Sezione -- / 04

    • 01Rappresentazione dei numeri ed errori di calcolo◐
    • 02Risoluzione approssimata di equazioni: il metodo di bisezione◐
    • 03Integrazione numerica: metodi dei rettangoli e dei trapezi●
    • 04Elaborazione di dati numerici e implementazione degli algoritmi◐

0/4 Letti

Dagli appunti all'allenamento

Computazione e calcolo numerico

Consolida questo argomento con domande dalla banca dati.

~22
min
3
Competenze
Esercitati

Riferimenti e fonti

Fonti

Ministero dell'Istruzione e del Merito (MIM)

  • Indicazioni Nazionali per i Licei (DPR 89/2010, DM 211/2010) — Obiettivi Specifici di Apprendimento
  • Esame di Stato del secondo ciclo — quadri di riferimento e griglie di valutazione

Argomento precedente

Linguaggi di interrogazione e manipolazione dei dati (SQL)

Argomento successivo

Simulazione e modelli computazionali

EuraStudy·Appunti T·12·MMXXVI

Continua con l'argomento successivo: il percorso viene conservato.