Calcolo numerico
Definizione
Un algoritmo è una successione finita di istruzioni scritte in modo chiaro, le quali partendo da dati iniziali al fine di ottenere dei risultati. Un algoritmo per essere definito tale deve essere risolvibile in un tempo finito (istruzioni finite non implicano esecuzioni finite, a causa di eventuali loop).
Tipi di istruzioni per un algoritmo
Vi sono tre tipi di istruzioni per un algoritmo:
- Ingresso
- Interno
- Uscita
Istruzioni di assegnazione
Per istruzioni di assegnazione si intendono quelle generali tipo: poni a:=b-c oppure poni s:=c.
Istruzioni di scelta
Per istruzioni di scelta si intende: se a > 0 f(a).
Istruzioni di ripetizione
Per istruzioni di ripetizione si intende: ripeti questo fino a.
Espressioni degli algoritmi
Gli algoritmi possono presentare istruzioni espresse:
- Italiano (poni, ripeti)
- Linguaggio a blocchi { } [ ]
- Pseudoprogrammazione {for }
Esempio: Calcola la somma di n numeri
- Leggi n e a1, a2, ..., an
- Poni
s:=0 - Per
i := 1, 2, ..., n - Poni
s:=s+ai - Scrivi s
- Stop
Inizializzazione
L'inizializzazione può essere di qualunque valore, anche s:=a1 o s:=a1+a2, basta poi partire da valori congruenti di i, tipo i:=2.
Per il prodotto, l'elemento neutro non è zero ma è 1.
Esempio: Calcolate la somma di n numeri
- Leggi n, a1, a2, an
- Poni
s:=0 - Per
i:=1,2,...,n - Poni
s:=s+ai - Scrivi s
- Stop
Inizializzazione alternativa
L’inizializzazione può essere di qualunque valore, anche s:=a1 o s:=a1+a2. In base però partire da valori congruenti di s:=a1 i:= ....
Per il prodotto l’elemento neutro non è zero ma è 1.
Esempio 1
- Leggi n, an, an-1,...,a1, x
- Poni
p = a0 - Per
i = 1, 2,..., n - Poni
p = p * x + ai - Scrivi p
- Stop
Esempio 2
- Leggi n, a0, a1,...,an, x
- Poni
p = 1 - Poni
s = a0 - Per
i = 1, 2,..., n - Poni
p = p * x s = s + ai * p- Scrivi s
- Stop
Esempio 3
- Leggi n, a0, a1,..., an, x
- Poni
s = an - Per
i = n-1, n-2,...,0 s = s * x + ai- Scrivi s
- Stop
Esempio: Calcolo della media aritmetica di n numeri
- Leggi n, x1,..., xn
- Poni
s:=x1 - Per
i:=3,...,n s:=s+xi- Poni media
s/n - Scrivi media
- Stop
Esempio: Costruire la matrice A i cui elementi aij = 1/(i+j)
- Leggi n
- Per i, j = 1, … , n
aij=1/(i+j)- Scrivi A
- Stop
Esempio: Risolvere il sistema lineare Ax=b
- Leggi A, b, n
- Per
i:=1, … , n - Se
aii =0vai all’istruzione xi= bi/aii- Scrivi
xi=(x1, x2, ..., xn) - Stop
- Scrivi “sistema non risolvibile”
- Stop
Esempio: Risolvere il sistema lineare Ax=b dove A è una matrice non triangolare superiore
- Leggi A, b, n
- Se
ann = 0vai all'istruzione 7 - Altrimenti vai in sequenza
xn = bn/ann- Per
i = n-1 ... 1 - Se
aii = 0vai all'istruzione 7 - Altrimenti vai in sequenza
xi = (bi - ∑j=i+1naijxj)/aii
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.