11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Calcolo del PI Greco usando il metodo dell’Ago <strong>di</strong> Buffon<br />

Cifrario Playfair<br />

Appen<strong>di</strong>ce M. Esercizi<br />

Il matematico francese del XVIII secolo De Buffon se n’è uscito con un esperimento insolito. Ha<br />

fatto cadere ripetutamente un ago <strong>di</strong> lunghezza “n” su un pavimento <strong>di</strong> legno, formato da assi<br />

lunghe e strette <strong>di</strong>sposte parallelamente. Le linee <strong>di</strong> giunzione delle assi del pavimento, che sono<br />

tutte della stessa larghezza, si trovano, l’una dall’altra, alla <strong>di</strong>stanza fissa “d”. Ha annotato il numero<br />

totale delle cadute dell’ago nonché il numero <strong>di</strong> volte in cui lo stesso andava ad intersecare le<br />

giunzioni delle assi del pavimento. Il rapporto tra queste due grandezze è risultato essere un<br />

multiplo frazionario del PI Greco.<br />

Prendendo come spunto l’Esempio 12-45, si scriva uno script che esegua una simulazione Monte<br />

Carlo dell’Ago <strong>di</strong> Buffon. Per semplificare le cose, si imposti la lunghezza dell’ago uguale alla<br />

<strong>di</strong>stanza tra le giunzioni, n = d.<br />

Suggerimento: in verità bisogna tenere in considerazione due variabili critiche: la <strong>di</strong>stanza dal<br />

centro dell’ago alla giunzione ad esso più vicina e l’angolo formato dall’ago con quella giunzione.<br />

Per l’esecuzione dei calcoli si dovrà usare bc.<br />

Si implementi in uno script il cifrario Playfair (Wheatstone).<br />

Il cifrario Playfair co<strong>di</strong>fica un testo me<strong>di</strong>ante la sostituzione dei “<strong>di</strong>grammi” (gruppi <strong>di</strong> due lettere).<br />

Per consuetu<strong>di</strong>ne si dovrebbe usare, per la cifratura e la deco<strong>di</strong>fica, una chiave a matrice quadrata<br />

<strong>di</strong> 5 x 5 lettere, poste in un certo or<strong>di</strong>ne.<br />

C O D E S<br />

A B F G H<br />

I K L M N<br />

P Q R T U<br />

V W X Y Z<br />

Ogni lettera alfabetica appare una sola volta, con la "I" che rappresenta<br />

anche la "J". La parola chiave "CODES", scelta arbitrariamente, viene<br />

per prima e, <strong>di</strong> seguito, tutte le lettere dell’alfabeto, or<strong>di</strong>nate da sinistra<br />

a destra, saltando quelle che formano la parola chiave.<br />

Per la cifratura, si sud<strong>di</strong>vide il messaggio in chiaro in <strong>di</strong>grammi<br />

(gruppi <strong>di</strong> 2 lettere). Se un gruppo risulta formato da due lettere<br />

uguali, si cancella la seconda e si forma un nuovo gruppo. Se per<br />

l’ultimo <strong>di</strong>gramma rimane una sola lettera, come seconda si usa un<br />

carattere "nullo", <strong>di</strong> solito una "X".<br />

QUESTO È UN MESSAGGIO TOP SECRET<br />

QU ES TO EU NM ES SA GI OT OP SE CR ET<br />

Per ogni <strong>di</strong>gramma vi sono tre possibilità.<br />

820

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!