Prove di esame per il corso di Laboratorio di Matematica

1 Compito del 3 giugno 2005, versione 1

Esercizio 1: Dato un triangolo T, indichiamo con M(T) il triangolo che ha come vertici i punti medi dei lati di T. Scrivere un programma di tipo funzione che, dati tre punti P, Q, R che individuano i vertici di un triangolo T = P QR e un naturale n ≥ 1, disegni gli n + 1 triangoli

T, M(T), M^{2}(T) = M(M(T)), …, M^{n}(T).

Esercizio 2: Scrivere un programma di tipo funzione che calcola il numero di fattori primi che dividono un numero intero positivo n. Ad esempio, se n = 12 il programma deve restituire 2.

Esercizio 3: La funzione

f(x) = x^{x}

è ben definita e invertibile come applicazione da (1, +∞) in (1, +∞). Scrivere un programma di tipo funzione che, dato x ∈ (1, +∞), calcoli f^{−1}(x) usando il metodo di bisezione con una precisione di 10^{−3}. Con tale programma, calcolare il valore di f^{−1}(3). Scrivere il valore ottenuto.

Esercizio 4: Sia I(a, b) il numero

I(a, b) = ∫_{a}^{b} sin(x^{2})dx

(1) Scrivere un programma di tipo funzione che dati a, b e N calcoli il valore di I(a, b) usando la formula di quadratura dei trapezi con una partizione di N intervalli.

(2) Calcolare il valore di I(100, 150) usando una partizione di 500 000 intervalli e dare una stima dell’errore che si commette. Scrivere i valori ottenuti.

(3) È possibile stabilire se I(100, 150) è positivo o negativo con il calcolo appena fatto?

2 compito del 3 giugno 2005, versione 2

Esercizio 1: Scrivere un programma di tipo funzione che, dati tre numeri h ∈ [0, 24[, m ∈ [0, 60[ e s ∈ [0, 60[, disegni un orologio analogico che segna le ore h:m:s (ore:minuti:secondi), cioè tre segmenti con un estremo nell’origine di lunghezza \frac{2}{3}, 4/5 e 1 che rappresentino rispettivamente la lancetta delle ore, dei minuti e dei secondi.

Esercizio 2: Scrivere un programma di tipo funzione che, dato N ≥ 0, restituisca la somma dei numeri primi minori o uguali di n che hanno la cifra delle unità uguale a 3 (ad esempio, per N = 15 il programma deve rispondere con 16 dato da 3 + 13). Scrivere il risultato per N = 200.

Esercizio 3: Ogni funzione continua f: [0, 1] → [0, 1] ammette almeno un punto fisso, cioè un valore x_{0} ∈ [0, 1] per il quale si ha

f(x_{0}) = x_{0}.

(1) Scrivere un programma di tipo funzione che, data una applicazione f come sopra, trovi un punto fisso di f applicando opportunamente l’algoritmo di bisezione, con un errore di 10^{−3}.

(2) Calcolare e scrivere il valore di un punto fisso della funzione

f(x) = e^{x−1} − x^{2}.

Esercizio 4:

(1) Scrivere un programma di tipo funzione che, dati due interi positivi n e k, calcoli l’integrale

∫_{2}^{5} sin(kx^{2})dx

usando la formula dei punti medi usando n intervalli.

(2) Calcolare l’integrale del punto precedente per k = 3 con un errore minore di 10^{−3}. Scrivere il risultato trovato e il numero di intervalli usato (motivando).

Esercizio 1: Scrivere un programma di tipo funzione che, dati un numero intero N maggiore o uguale a 3 e due punti P e Q del piano, disegni il poligono regolare di n lati di centro P e con un vertice in Q.

Esercizio 2: Scrivere un programma di tipo funzione che, dato un numero naturale N ≥ 1, scriva le prime N righe del triangolo di tartaglia. Ad esempio, per N = 4 il programma deve scrivere le righe

1 1
1 2 1
1 3 3 1
1 4 6 4 1

(Suggerimento: un modo semplice per stampare una riga di numeri è quello di preparare un vettore X contenente i valori da stampare e usare il comando disp(X).)

Esercizio 3: La funzione

f(x) = e^{x} − log(x) − 3

definita e continua in (0, +∞), convessa (perché è la somma di due funzioni convesse), tende a +∞ agli estremi del suo dominio ed è negativa in x = 1. Quindi la funzione f si annulla esattamente in due punti x_{1}, x_{2} nel suo dominio. Calcolare i valori di x_{1} e x_{2} con la precisione di 10^{−4}.

Esercizio 4:

(1) Scrivere un programma di tipo funzione che, dati due interi positivi k e n calcoli, usando la formula dei punti medi con una partizione di n intervalli,

∫_{2}^{10} cos(x^{k})dx.

(2) Calcolare l’integrale precedente per k = 5 con un errore inferiore a 10^{−3}. Scrivere il risultato trovato e il numero di intervalli usato (motivando).

4 Prova di esame del 12 maggio 2004 (versione 1)

Esercizio 1: Scrivere un programma di tipo funzione che, dato un numero naturale n, calcoli la sommatoria

S(n) = ∑ ; p primo, p ≤ n \frac{1}{p},

e disegni l’istogramma della serie corrispondente (cioè l’istogramma in cui le colonne hanno altezza S(i), i = 1, 2, …, n).

Esercizio 2: Scrivere un programma di tipo funzione che, dato un numero naturale n, generi n punti a caso distribuiti uniformemente nel quadrato [−1, 1] × [−1, 1] e disegni la poligonale che li unisce.

Esercizio 3: La funzione

f(x) = log(sin(x)) + x, 0 < x < π,

tende a −∞ sia in 0^{+} che in π^{−}; vale π/2 per x = π/2 ed è concava in (0, π). Per questo motivo esistono esattamente due valori di x_{1} e x_{2}, appartenenti a (0, π), tali che

f(x_{1}) = f(x_{2}) = 0.

Scrivere un programma che abbia lo scopo di determinare x_{1} e x_{2}, utilizzando l’algoritmo di Newton, con errore inferiore a 10^{−6}. Il programma può essere una funzione, dipendente dai punti iniziali dell’algoritmo di Newton. Scrivere i valori delle radici trovate.

Esercizio 1: Scrivere un programma di tipo funzione che, dato k > 0, disegni la curva parametrica

\{ \begin{matrix}x(t) = t^{k} cos(t) \\ y(t) = t^{k} sin(t) \end{matrix} t ∈ [0, 10π],

Utilizzando una partizione (equispaziata) dell’intervallo [0, 10π] in 10^{4} sottointervalli.

Esercizio 2: Scrivere un programma di tipo funzione che, dato un numero naturale n, dica se è vero o falso che n si scompone nel modo seguente

n = p^{m} − 1,

dove p è un numero primo e m è un numero naturale; nel caso in cui ciò sia vero, il programma deve visualizzare p e m.

Esercizio 3: Scrivere un programma di tipo funzione che, dato un numero naturale n, calcoli l’integrale definitio

∫_{1/n}^{1} \frac{1}{t} sin (\frac{1}{t}) dt,

utilizzando la formula di quadratura dei trapezi, su una partizione equispaziata dell’intervallo di integrazione in n^{2} sottointervalli. Scrivere il valore trovato per n = 60.

Esercizio 1: Scrivere un programma di tipo funzione che, dato un naturale k, disegni la curva di equazioni parametriche

x(t) = (1 + 1/k) cos(t) + 1/k cos((k + 1)t),
y(t) = (1 + 1/k) sin(t) + 1/k sin((k + 1)t),
t ∈ [0, 2π]

utilizzando una partizione equispaziata dell’intervallo [0, 2π] di 10^{3} sottointervalli.

Esercizio 2: La funzione

f(x) = x − log(x), x > 0,

tende a +∞ sia in 0^{+} che in a +∞; vale 1 per x = 1 ed è convessa in (0, +∞). Per questo motivo esistono esattamente due valori x_{1} e x_{2} in (0, +∞), tali che

f(x_{1}) = f(x_{2}) = 2.

Scrivere un programma di tipo funzione che abbia lo scopo di determinare x_{1} e x_{2}, utilizzando l’algoritmo di Newton, con errore inferiore a 10^{−6}. Il programma può essere una funzione, dipendente dai punti iniziali dell’algoritmo di Newton. Scrivere i valori trovati.

Esercizio 3: Scrivere un programma che calcoli l’integrale

∫_{1}^{2} log(1 + x + e^{x})dx,

utilizzando la formula di quadratura dei punti sinistri, con errore a 10^{−3}. Scrivere il valore trovato.

7 Prova di esame del 30 giugno 2003 (versione A)

Esercizio 1: Scrivere un programma (di tipo comando), che determini una soluzione negativa dell’equazione

x^{2} − 20x^{2} + 1 = 0,

utilizzando l’algoritmo di bisezione, con errore inferiore a 10^{−6}.

Esercizio 2: Scrivere un programma che disegni un quadrato di lato 20 e 100 circonferenze di raggio 1 contenute nel quadrato, trangenti tra loro.

Esercizio 3: Scrivete un programma di tipo funzione che, dato un numero naturale n scriva il divisore primo di n che lo divide con potenza massima (se ne esiste più di uno, devono essere scritti tutti). Esempi:

12 = 2^{3} · 3 ↦ 2, 300 = 3 · 2^{2} · 5^{2} ↦ (2, 5).

Esercizio 4: Considerate la funzione

F (x) = ∫_{0}^{x} e^{sin t}dt.

(1) Calcolate il valore di F sui punti di una partizione equispaziata di I = [0, 2π] di passo 1/50, con errore inferiore a 1/1000, utilizzando una qualsiasi delle formule di quadratura viste;

(2) utilizzando il risultato del punto precedente, disegnare il grafico di F in I.

8 Prova di esame del 30 giugno 2003 (versione B)

Esercizio 1: La funzione

f(x) = e^{x^{4}} + x, x ∈ [0, 1],

ha come immagine l’intervallo I = [1, 1 + e] ed è invertibile. Scrivere un programma che disegni il grafico della funzione inversa f^{−1} di f in I:

1. utilizzando un griglia di 100 punti equispaziati in I;

2. calcolando il valore di f^{−1} nei punti della griglia con errore inferiore a 10^{−3}.

Esercizio 2: Scrivete un programma che dati 4 punti nel piano (tramite le loro coordinate cartesiane), disegni i punti ed il più piccolo rettangolo con lati paralleli agli assi coordinati contenente tutti i punti.

Esercizio 3: Scrivete un programma di tipo funzione che dato un numero naturale n verifichi se la sua fattorizzazione è della forma

n = a^{a} · b^{b} · c^{c},

dove a, b e c sono numeri primi distinti.

Esercizio 4: Scrivete un programma che calcoli l’integrale

∫_{0}^{1} sin(x^{2} + 1)dx

con errore inferiore a 10^{3}, utilizzando la formula di quadratura dei trapezi.

9 Prova di esame del 17 luglio 2003

Esercizio 1: Scrivete un programma di tipo funzione che, dato y > 0 determini x > 0 tale che xe^{x} = y con errore inferiore a 10^{−4}, utilizzando il metodo di bisezione.

Esercizio 2: Scrivere un programma di tipo funzione che, dato un numero naturale n, scriva tutti i numeri della forma p · q dove p e q sono divisori primi distinti di n.

Esercizio 3: Utilizzando una delle formule di quadratura viste, calcolare

∫_{0}^{π/2} \frac{1}{1 + sin^{4} x}dx

con errore inferiore a 10^{−2}.

Esercizio 4: Scrivete un programma di tipo funzione che dati n punti nel piano P_{1}, …, P_{n} e un numero i compreso tra 1 e n, disegni il poligono di vertici P_{1}, …, P_{n} e tutte le diagonali del poligono uscenti da P_{i}.

10 Prova di esame del 18 settembre 2003

Esercizio 1: Scrivete un programma di tipo funzione che calcoli la funzione inversa di

f(x) = \frac{e^{x} − e^{−x}}{2} , x ∈ [−1, 1]

con precisione di 10^{−}3, utilizzando il metodo di bisezione. Più precisamente, dato

y ∈ [\frac{1}{2}(e^{−1} − e), \frac{1}{2}(e − e^{−1})]

il programma deve trovare l’unico valore x ∈ [0, 1] tale che

f(x) = y

. Esercizio 2: Scrivere un programma, di tipo comando, che disegni il grafico della funzione

f(x) = x^{2} sin(x),

nell’intervallo [−30, 30], utilizzando un campionamento della funzione con passo h = 0, 001. Esercizio 3: Scrivete un programma di tipo funzione che, dati n numeri naturali, vi dica se tra questi ne esistono almeno due che hanno gli stessi fattori primi, nella decomposizione in fattori primi. Ad esempio, se i numeri dati sono 2, 5, 6 = 2 · 3, 18 = 2 · 3^{2}, la risposta deve essere sì, mentre se i numeri sono 2, 5, 30 = 2 · 3 · 5, 45 = 3^{2} · 5, la risposta deve essere no. Esercizio 4: Scrivere un programma di tipo funzione che, dato un numero intero k, calcoli l’integrale

∫_{k}^{2k} \frac{1}{1 + x^{4}} dx,

utilizzando una delle formule di quadratura viste, con errore inferiore a 10^{−3}.

Esercizio 1: Utilizzando il metodo di Newton, determinare x > 0 tale che

x^{6} + x^{2} + x = 7.

Adottate il seguente criterio di arresto: il programma deve terminare quando la distanza tra due iterate successive è minore o uguale a 10^{−4}.

Esercizio 2: Scrivete un programma di tipo funzione dipendente da due parametri R > 0 e n ∈ N, che disegni una circonferenza di raggio R e n raggi, di cui uno parallelo all’asse delle x, tale che due consecutivi di essi formino angoli uguali.

Esercizio 3: Scrivete un programma di tipo comando che determini il minimo delle quantità

|p − q|

dove p e q sono numeri primi, distinti, consecutivi, minori di 500.

Esercizio 4: Scrivete un programma di tipo funzione che, dato x ∈ [0, 1] calcoli

∫_{0}^{x} (2 − t^{3})^{\frac{1}{3}} dt

con errore inferiore a 10^{−3}, utilizzando una delle formule di quadratura viste.

Esercizio 1: Scrivere un programma di tipo funzione, dipendente da un numero naturale n, che:

1 calcoli i valori della funzione

f(x) = \frac{e^{x^{2}} − e^{−x^{2}}}{2} = sinh(x^{2})

su una partizione equispaziata di [−1, 1] fatta di n intervalli; 2 disegni il grafico di f in [−1, 1].

Esercizio 2: Scrivete un programma che, dati tre punti nel piano (individuati tramite le loro coordinate cartesiane), disegni il triangolo T avente per vertici tali punti e le mediane di T. Esercizio 3: Scrivete un programma che verifichi se il numero 1992002 ammette come fattore un numero della forma p^{2} dove p è un numero primo. Esercizio 4: Scrivete un programma che, dati due punti P e Q nel piano cartesiano e un numero positivo r, disegni la retta per P e Q e una circonferenza di raggio r e tangente alla retta in P. Esercizio 5: La funzione

f(x) = sin^{5}(x) + x

è strettamente crescente, e quindi invertibile, nell’intervallo I = [0, π/2]. L’immagine di I tramite f è J = [0, 2]. Scrivete un programma di tipo funzione che dato y ∈ J determini

f^{−1}(y).

Esercizio 6: Scrivete un programma che, utilizzando una delle formule di quadratura viste, calcoli

∫_{1}^{2} sin(log(x))dx

con errore inferiore a 0,001.

13 Prova di esame dell’8 luglio 2002

Esercizio 1: Scrivere un programma di tipo funzione che dato un numero naturale N, disegni la poligonale nel piano che unisce i punti di coordinate

(x_{i}, \frac{log(x_{i}) − log(x_{i−1})}{x_{i} − x_{i−1}}) , i = 1, 2, 3, …, N,

dove x_{0}, x_{1}, …, x_{N} sono i punti di una partizione equispaziata dell’intervallo [1, 2] in N sottointervalli.

Esercizio 2: Scrivere un programma di tipo funzione che dati due numeri naturali m e n scriva tutti i numeri primi che dividono sia m che n.

Esercizio 3: Scrivere un programma di tipo funzione che, dato un numero naturale n (n ≥ 1), calcoli l’integrale

∫_{n}^{n+1} \frac{sin(t)}{t}dt

con errore inferiore a 1/10, utilizzando la formula di quadratura dei punti destri o sinistri.