SICP – cap. 1 – Costruire astrazioni tramite procedure – esercizi – 15

CXjI-w7WAAALw4E

Sempre qui, continuando da qui, ancora esercizi.

Exercise 1.12: The following pattern of numbers is called Pascal’s [da noi Tartaglia] triangle.

btl-pt

The numbers at the edge of the triangle are all 1, and each number inside the triangle is the sum of the two numbers above it. Write a procedure that computes elements of Pascal’s triangle by means of a recursive process.

Ho saltato la nota 35, molto dettagliata anche se non nomina Tartaglia.
Sono in un grosso pasticcio: ho cominciato su carta, costruendo un algoritmo non semplicissimo che costruisce la lista di ordine n (n = 0 per la prima riga). Ma ho bisogno delle liste, non se n’è ancora parlato e poi devo distinguere se n è pari o dispari (quindi serve odd?) e in definitiva è troppo lunga e non elegante 😦
Per cui rifo, d’altronde era richiesta la ricorsività. OK, si può fare, peccato non essere in classe, provare in gruppo discutere come si faceva a scuola, il brain storming (allora non si chiamava così).
Questo è il bello e il tragico di questi esercizi, insistendo una soluzione si trova (non valgono quelle costruite a martellate) ma la mia non la pubblico, molto meglio quelle dei maestri, Bill, ottimo come al solito e descrittivo; Ken sinteticissimo ma senza nessuna spiegazione; S-sol con varie varianti (ahemmm…) illuminanti.

Quindi, ripensandoci mi sono fatto turlupinare ancora una volta! 😳 Devo imparare ad analizzare meglio il problema con carta e matita, senza ‘puter. Quello viene dopo, come verifica.
Pausa qui, devo prepararmi offline per il successivo; senza ‘puter.
Anche perché questi post sono molto più lunghi (nella preparazione) di quelli normali; durano diversi giorni, con aggiunte, modifiche, cancellazioni. Insomma se non piacciono a altri per me sono almeno un tormentone 😉
: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 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...

This site uses Akismet to reduce spam. Learn how your comment data is processed.

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