Attraverso calcoli diretti di aree si ha che è naturale congetturare che  A(x) = ∫[c,x] f, qualunque sia c nel dominio di f, sia una funzione la cui derivata sia f.  Avete visto, col teorema fondamentale del calcolo integrale, che le cose stanno proprio così.
Tale teorema ci consente da una parte di calcolare integrali definiti ricorrendo alla individuazione di antiderivate, dall'altra di usare metodi per il calcolo approssimato di aree (come quello usato che abbiamo implementato in un javascript) per calcolare o rappresentare graficamente antiderivate in casi in cui non sia possibile o facile determinarle con metodi simbolici.
Per il primo aspetto occorre ricordarsi una certa banca di derivate, su cui basarsi per la individuazione, mediante metodi che vedremo, di antiderivate di svariati tipi di funzioni.
Derivate / integrali definiti di base: qui - o qui - (alcuni trovati/controllati in aula con Maple)

Esercizio Soluzione
Con Maple:
F := x -> abs(x-4)-1;
plot(F, 2..6);

Se non capissi che vale 0 per simmetria potrei fare:
int(F(x),x);
ottenendo:
-1/2*x^2+4*x -x IF x <= 4
1/2*x^2-4*x+16 - x IF 4 < x

Senza calcolare l'integrale indefinito avrei potuto direttamente calcolare
int(F(x), x=2..6);
ottenendo 0.
Esercizi 8.9, 8.10, ..., 8.13 sulle funzioni dagli Oggetti Matematici Controlli con Maple.

Non per tutte le funzioni si possono trovare espressioni per le loro primitive (che usino solo quattro operazioni, potenze, seno, coseno, esponenziale e loro inverse).
Ad es. per x -> sin(x)/x provando con Maple il comando seguente non ottengo niente:
int(sin(x)/x,x);
Posso tuttavia calcolare l'integrale definito con metodi numerici, come quello che abbiamo implementato nel nostro script. Ecco come calcolare con Maple
[1,3] sin(x)/x dx
evalf(int/sin(x)/x, x=1..3));
Se lo voglio con più cifre, ad es.50:
evalf(int(sin(x)/x, x=1..3), 50);
ottengo:
.90256945763228524145637693728879358735217477557139