SICP – cap. 2 – Sequenze come interfacce convenzionali – 55 – esercizi

Continuo da qui, copio qui.

Exercise 2.44: Define the procedure up-split used by corner-split. It is similar to right-split, except that it switches the roles of below and beside.

Da vedersi in stretto collegamento con lo spiegone del post precedente 😊
Bill the Lizard 🚀 al solito spiega bene, lo seguo 😊 Inoltre, contrariamente alla mia predilizione per il (vecchio) terminale, per via della grafica uso Dr.Racket, quando ci vuole ci vuole 😉

I’m going to be using the PLT Scheme SICP Picture Language package to run the examples and exercises. You can load the picture package by putting the following (require...) expression at the beginning of your Scheme file.

The painter primitive in the PLT package behaves slightly differently than the one presented in the text, in that it doesn’t display itself. To display a painter you must call the paint procedure, which takes a painter as its argument.

The einstein [... is] built in to the PLT Scheme Picture Language package. The package also includes procedures for flipping, rotating and combining painter values, similar to those discussed in the lecture.

Now that we can work with painters, we can start to combine them in ways that form patterns. For example, the text shows us how we can combine an image beside a flipped representation of itself, then draw the resulting painter below itself.

We can also define recursive operations, like right-split, which makes painters split and branch towards the right as many times as we specify.

E a questo punto si arriva all’esercizio

Once we have both right-split and up-split defined, we can create balanced patterns by branching in both directions.

By combining four copies of the corner-split pattern, we can create the square-limit pattern from the Escher drawing that we saw in the lecture.

Secondo me Bill non solo rockz ma è anche oltre 👽

La soluzione di sicp-ex è molto simile a quella di Bill; come pure Drewiki.

:mrgreen:

Posta un commento o usa questo indirizzo per il trackback.

Trackback

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: