• Non ci sono risultati.

Ricerca dei numeri primi nell’intervallo che va da "2&#34

N/A
N/A
Protected

Academic year: 2021

Condividi "Ricerca dei numeri primi nell’intervallo che va da "2&#34"

Copied!
2
0
0

Testo completo

(1)

Calcolo Numerico Tutoraggio, lezione 10

Autore: Francesco Lunardon

Tempo previsto: 60 minuti. Difficolt´a: # #

Si raccomanda agli studenti di commentare adeguatamente script e function Matlab.

Problema: Si supponga di volere trovare tutti i numeri primi compresi nell’intervallo [2, n], con n numero intero positivo maggiore di 2.

A tale scopo:

1. Si definisca la function numeriprimi 1, che abbia la seguente intestazione:

function [a,b]=numeriprimi_1(n)

%---

% Oggetto:

%

% 1. Ricerca dei numeri primi nell’intervallo che va da "2" a "n", con "n" numero

% intero maggiore di 2. I numeri primi sono immagazzinati in "a" mentre "b" e’ pari

% al tempo di calcolo che e’ stato necessario per eseguire la routine.

%

% 2. La funzione ricerca eventuali divisori di "i" nell’intervallo da 2 a "i-1",

% per ogni numero "i" con valori interi tra 2 a "n".

%---

In particolare:

(a) La function abbia come variabile di input il numero intero n;

(b) La function abbia come variabile di output:

• un vettore a, contenente tutti i numeri primi trovati nell’intervallo.

• uno scalare b con il tempo impiegato per l’operazione di ricerca dei numeri primi.

(c) Si inizializzi il vettore a.

(d) Si usi il comando tic per fare partire il cronometro.

(e) Si definisca un ciclo for con i=2:n per determinare quali numeri da 2 a n siano primi.

(f) Si crei una variabile flag assegnandole il valore 0.

(g) Si crei un secondo ciclo for interno al primo con j=2:(i-1) e si calcoli il resto della divisione tra i e j con il comando rem.

(h) Se il resto ´e zero si ponga la variabile flag uguale a 1 e si esca dal ciclo con il comando break.

(i) Se al termine del ciclo for pi´u interno la variabile flag ´e uguale a 0, inserire il numero appena considerato nel vettore a, dato che ´e un numero primo.

(j) Concluso il ciclo for pi´u esterno, si definisca la variabile b con il comando toc.

2. Si definisca la function numeriprimi 2, che abbia la seguente intestazione:

function [a,b]=numeriprimi_2(n)

%---

% Oggetto:

%

% 1. Ricerca dei numeri primi nell’intervallo che va da "2" a "n", con "n" numero

% intero maggiore di 2. I numeri primi sono immagazzinati in "a" mentre "b" e’ pari

% al tempo di calcolo che e’ stato necessario per eseguire la routine.

%

% 2. La funzione ricerca eventuali divisori di "i" nell’intervallo da 2 a radice

% quadrata di "i", per ogni numero "i" con valori interi tra 2 a "n".

%--- In particolare:

(2)

(a) Si crei una funzione analoga a numeriprimi 1 che ricerchi i divisori della variabile i tra 2 e la radice quadrata di i.

3. Si definisca la function demo numeriprimi in cui:

(a) Si assegni alla variabile n il valore 100000.

(b) Mediante il comando switch scegliere se generare il vettore a ed il tempo impiegato b mediante la funzione numeriprimi 1 o numeriprimi 2.

(c) Si stampino i valori del vettore a in formato decimale, con un numero adeguato di cifre, e del tempo impiegato b, in formato esponenziale, con una cifra prima della virgola e 5 dopo la virgola.

(d) Si scriva in questa tabella l’ultimo valore di a ed il valore di b utilizzando entrambe le funzioni numeriprimi 1 e numeriprimi 2.

a(end) b

Riferimenti

Documenti correlati

Oggetto: Assicurazione obbligatoria dei medici contro le malattie e le lesioni causate dall'azione dei raggi X e delle sostanze radioattive. Alcune Sedi dell'Istituto hanno

Comunque, al fine di evitare, per quanto possibile, errori nella indicazione del numero di codice fiscale sulle denunce stesse e quindi successive rettifiche, sarà

[r]

[r]

ITC “Vittorio Emanuele II –Perugia – Prof... ITC “Vittorio Emanuele II –Perugia

2 Coloro che hanno conseguito il titolo presso l’Università degli Studi di Trento potranno solo dichiarare la data di conseguimento del titolo; le altre

Chi avrà inviato la domanda in tempo utile, ovvero entro la scadenza prevista dal presente bando, potrà successivamente optare per concorrere per eventuali ulteriori borse a

VISTO gli esiti dell’esame delle candidature da parte della Commissione appositamente costituita effettuato in conformità con i criteri di aggiudicazione dopo