Scheme – Lezione 7 – Le Porte
Posted by THeK3nger in Lisp/Scheme on 06. Nov, 2009 | 0 Comments
Torniamo sulla terra. Lasciamo per un momento tutti i concetti “teorici” e ingegneristici della programmazione Scheme per tornare ad alcuni aspetti pratici. E’ importante, in qualunque linguaggio di programmazione, saper gestire abilmente l’input/output, sia quello “utente” sia quello “file”. Soprattutto in scheme, linguaggio con particolari vocazioni per il data-mining, saper leggere escrivere file diventa fondamentale. [...]
PasswordCheck – La vostra password è sicura?
Posted by THeK3nger in Lisp/Scheme, Reti on 04. Nov, 2009 | 7 Comments
Questa mattina mi sono svegliato con una mezza idea. Avevo bisogno di scrivere un programmino in Scheme che fosse un minimo didattico così da dare del buon materiale a chi segue la mia guida. Inoltre pensavo a un “simulatore di brute forcing” per dare una valutazione approssimata della robustezza delle mie password. Così ho scritto [...]
Scheme – Lezione 6 – Complessita’
Posted by THeK3nger in Lisp/Scheme on 31. Oct, 2009 | 0 Comments
Dopo aver visto come funziona la ricorsione in Scheme dobbiamo valutare un altro aspetto molto rilevante: il costo. Non tutto ciò che logicamente funziona funziona poi all’atto pratico. Ad esempio, se ripescate la funzione ricorsiva della Funzione di Fibonacci e provate a farla partire noterete che già con numeri relativamente bassi (come 100) il sistema [...]
Scheme – Lezione 5 – Ancora Ricorsione
Posted by THeK3nger in Lisp/Scheme on 16. Oct, 2009 | 2 Comments
Nella scorsa lezione abbiamo visto come funziona la semplice ricorsione applicata a funzioni numeriche. La ricorsione è però molto più potente e ci permette di operari anche con oggetti che non siano solamente numeri. Diamo quindi ora una definizione di algoritmo ricorsivo meno formale ma che serve a decifrare meglio il problema a livello pratico. [...]
Scheme – Lezione 4 – Ricorsione Semplice
Posted by THeK3nger in Lisp/Scheme on 14. Oct, 2009 | 0 Comments
Ora che conosciamo tutte le basi di Scheme dobbiamo iniziare la parte più difficile, abituare la nostra testa a ragionare secondo il modello funzionale. Per fare questo non possiamo prescindere dall’uso di un linguaggio un po più matematico ma che, vi assicuro, dopo l’impatto iniziale si rivelerà piuttosto automatico (e se avete dubbi potete sempre [...]
Scheme – Tavola Funzioni Numeriche
Posted by THeK3nger in Lisp/Scheme on 14. Oct, 2009 | 0 Comments
Mettiamo una pausa alle lezioni per mostrare un elenco piuttosto esaustivo delle funzioni di utilità generale che possiamo richiamare durante la programmazione. Le funzioni, come abbiamo già visto, sono tutte in notazione prefissa. Inoltre, a differenza di altri linguaggi, Scheme possiede molte funzioni matematiche, anche complesse, di default, senza dover importare nessun modulo o libreria. [...]
Scheme – Lezione 3 – Condizioni
Posted by THeK3nger in Lisp/Scheme on 11. Oct, 2009 | 0 Comments
Come in ogni linguaggio di programmazione, una delle cose essenziali per scrivere un qualunque programma è la gestione delle condizioni. Una condizione consiste, come penso sappiate, nell’eseguire un blocco di comandi a seconda se sia rispettata o meno una data condizione. In Scheme la gestione delle condizioni è molto completa. Iniziamo quindi a vedere uno [...]
Scheme – Lezione 2 – Manipolazione Liste
Posted by THeK3nger in Lisp/Scheme on 09. Oct, 2009 | 4 Comments
Continuiamo il nostro studio di Scheme analizzando un altro elemento fondamentale della programmazione Lisp: la manipolazione delle liste. Come abbiamo visto in precedenza in Scheme tutto ciò che non è un atomo (numeri, stringhe, caratteri e altri tipi base) è una lista, appare quindi chiara l’importanza che riveste la loro manipolazione nella programmazione funzionale. Per [...]
Scheme – Lezione 1 – Introduzione
Posted by THeK3nger in Lisp/Scheme on 08. Oct, 2009 | 3 Comments
Scheme è uno dei principali dialetti del Lisp. E’ un linguaggio multi paradigma anche se incentrato sul paradigma funzionale per questioni ereditarie. Nonostante ciò con Scheme si può fare praticamente tutto, dalla programmazione a oggetti alla programmazione imperativa, dalla funzionale ricorsiva alla sua versione “logica”. Ci tengo però a precisare che Scheme è e rimane [...]






