Le avventure di un Pythonista in Schemeland/10

exploding-head.jpg

In questo puntata chiudo il discorso sulle macro del secondo ordine
iniziato nella puntata scorsa, spiego i segreti dell’operatore di
ellipsis e mostro le soluzioni alle sfide da me lanciate. Inoltre,
spiego come definire una macro define-syntax+ che fornisce delle
funzionalità di introspezione e debugging alle macro che
definisce. Prima di cominciare a leggere, vi consiglio di prepararvi
una grossa scorta di caffè. Come si dice nel mondo Python, questa è
una puntata che rischia di farvi scoppiare la testa, quindi leggetela
con cautela e a vostro rischio e pericolo. Siete avvisati!

[Read more…]

Progetto Eulero: Problema 2

Secondo problema di Eulero.La scorsa settimana abbiamo introdotto il primo di quella che sarà una lunga serie di articoli riguardanti Project Euler. Ringrazio coloro che hanno bloggato circa l’iniziativa o hanno commentato direttamente nel sito, mostrandoci soluzioni persino in GW-Basic e Lua.

Fatti i dovuti ringraziamenti, passiamo subito al problema numero 2, così enunciato:

Ogni nuovo termine nella sequenza di Fibonacci è generato dalla somma dei due termini precedenti. Partendo con 1 e 2, i primi dieci termini saranno:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
Trova la somma di tutti i termini pari nella sequenza, che non eccedono un milione.

[Read more…]

Progetto Eulero: Problema 1

Primo problema. Livello: Facile.Project Euler è un sito che propone più di un centinaio di problemi a carattere matematico. Alcuni di questi possono essere affrontati con carta, penna e un pizzico di astuzia matematica, ma di base si tratta di una sfida algoritmica pensata per programmatori e appassionati di programmazione. C’è da chiedersi se la sfida sia più tra le migliaia di programmatori (con tanto di classifica) o contro se stessi. Infatti Project Euler è ideale per rinfrescarsi la memoria in materia di algoritmi e matematica, oltre ad essere un valido ausilio per misurare i propri progressi nello studio di un nuovo linguaggio di programmazione.

[Read more…]