Marletta-Massimo Piegatura della carta dragoni tartarughe ... · informatica finalizzato alla...

34
MARLETTA Massimo http://learningdesigner.org/viewer.php?uri=/shared/fid/1cc3b4e97b6d2034b68eaf90 fdb5784c3e2f15cd3fb22e525628e722bb3263cc url accorciato: https://v.gd/p4A0wb Elenco allegati: 01 – Scheda MERLO 1 - Ricorsione 02 – Scheda MERLO 2 - Autosimilarità Autosimilarità 1 Autosimilarità 2 piegatura della carta schede generazione RPS scheda proprietà della RPS Albero String Rewriting scheda string rewriting Dragon Curve con Python e OpenGL Dragon Curve con Python e Turtle Dragon Curve con Scratch Esempi di piante con String Rewriting String Rewriting - Pianta trenini pista Verifica finale Rubrica di valutazione buildup.py generate1.py string_rewriting_2.py Learning Design for: Piegatura della carta, dragoni, tartarughe e trenini Context Topic: Ricorsione, sequenze numeriche, autosimilarità, curve frattali Total learning time: Number of students: 22 Description: CONTESTO La classe è una seconda del Liceo Scientifico delle Scienze Applicate. In aggiunta all’attività curriculare di Informatica (curata da un docente diverso da quello di Matematica), alcuni alunni della classe (insieme ad altri alunni di varie classi della scuola) svolgono come attività extra curriculare un corso di approfondimento di informatica finalizzato alla partecipazione alle gare delle Olimpiadi Italiane di Informatica; tale attività aggiuntiva è curata dallo stesso docente di Matematica

Transcript of Marletta-Massimo Piegatura della carta dragoni tartarughe ... · informatica finalizzato alla...

MARLETTAMassimo

http://learningdesigner.org/viewer.php?uri=/shared/fid/1cc3b4e97b6d2034b68eaf90fdb5784c3e2f15cd3fb22e525628e722bb3263cc

urlaccorciato:https://v.gd/p4A0wb

Elencoallegati:

• 01–SchedaMERLO1-Ricorsione

• 02–SchedaMERLO2-Autosimilarità

• Autosimilarità1

• Autosimilarità2

• piegaturadellacarta

• schedegenerazioneRPS

• schedaproprietadellaRPS

• AlberoStringRewriting

• schedastringrewriting

• DragonCurveconPythoneOpenGL

• DragonCurveconPythoneTurtle

• DragonCurveconScratch

• EsempidipianteconStringRewriting

• StringRewriting-Pianta

• trenini

• pista

• Verificafinale

• Rubricadivalutazione

• buildup.py

• generate1.py

• string_rewriting_2.py

LearningDesignfor:Piegaturadellacarta,dragoni,tartarugheetrenini

ContextTopic:Ricorsione,sequenzenumeriche,autosimilarità,curvefrattaliTotallearningtime:

Numberofstudents:22

Description:

CONTESTOLa classe è una seconda del Liceo Scientifico delle Scienze Applicate. In aggiunta

all’attività curriculare di Informatica (curata da un docente diverso da quello di

Matematica), alcuni alunni della classe (insieme ad altri alunni di varie classi dellascuola) svolgono come attività extra curriculare un corso di approfondimento di

informatica finalizzato alla partecipazione alle gare delle Olimpiadi Italiane di

Informatica; tale attività aggiuntiva è curata dallo stesso docente di Matematica

(responsabile d’Istituto per le Olimpiadi Italiane di Informatica). Nell’ambito di tale

attivitàvengonoapprofonditiiconcettidistrutturedati(array,alberi,grafi)edeimetodi

perlalorocostruzioneelaloronavigazione.Inoltre,tuttalaclassesvolge–comeattivitàdipotenziamento–un’orasettimanalediCAD(ComputerAidedDrafting),curatadallo

stessodocentediMatematica(accreditatopressoAICAcomeEsaminatoreECDL-CAD).

Tale attività fornisce agli alunni le abilità necessarie a realizzare disegni tecnici conl’ausiliodelcomputerutilizzandosoftwarespecifici(p.es.AutoCAD).

PREREQUISITIGli alunni conoscono il concetto di grafo e di albero, che hanno approfondito ed

utilizzato lo scorso anno per rappresentare relazioni, analizzandone le principaliproprietà. Gli alunni conoscono il concetto di vettore e di componenti di un vettore,

affrontato sia in geometria che – lo scorso anno – in Fisica (con lo stesso docente diMatematica). Hanno anche una conoscenza (sia pure ancora non completa) delle

funzioni goniometriche seno e coseno e di come queste possono essere utilizzate per

determinare le componenti di un vettore di angolo assegnato. Gli alunni inoltreconoscono le basi della programmazione informatica e in particolare hanno una

conoscenzadibasedellinguaggiodiprogrammazionePython,utilizzatofindalloscorso

annodaldocentediMatematicaperesemplificareprocedimentiesemplicialgoritmi(siaperlaMatematicacheperlaFisica).Taleconoscenzaèmaggiormenteapprofonditaper

queglialunnichepartecipanoall’approfondimentoextracurriculareper leOlimpiadidi

Informatica.GlialunnihannoinoltresvoltoqualcheesperienzadicodingconScratch.

LUOGHIEMODALITÀOPERATIVEGlialunnilavorerannoinpiccoligruppiformatidall’insegnante,avendocuradiinserire

inciascungruppiunalunno“esperto”diinformaticasceltofraquellichefrequentanoil

potenziamento per le Olimpiadi di Informatica. Le attività si svolgeranno in aula

informaticaconLIMeunapostazionecomputerperognigruppo.

DESCRIZIONEGENERALEDELMODULOIlmoduloproponeunpercorso che esplora le sequenzenumeriche evidenziandone le

proprietà, quale adesempio l'auto-similarità eporta gli alunni alla scopertadidiversialgoritmi di generazione. In particolare viene approfondita la sequenza "Regular

Paperfolding", ovvero la sequenza dei versi delle piegature ottenute ripiegando su sestesso ripetutamenteun fogliodi carta. Ilmodulohaunapprocciobasato sull'inquiry,

sulteam-workesulleattivitàlaboratorialichetendonoasvilupparelecapacitàlogiche,

matematicheealgoritmichedeglialunni.Leattivitàdelmodulanopuntanoasvilupparecompetenzeedabilitàlogiche,matematiche,algoritmiche,oltreadabilitàpratichequali

l'implementazionediuncodice/algoritmo, ildisegnotecnicoalcomputer.Spuntiverso

ulteriori discipline sono possibili (p.es. le ScienzeNaturali a proposito della strutturadelle piante o a proposito della trasmissione genetica richiamata dal procedimento di

StringRewriting).

I passi logici fondamentali per il raggiungimento degli obiettivi cognitivi nonché le

traccedeglisviluppiedeglialgoritmivengonofornitidaldocentesottoformadischede

perillavorodigruppo.TalischedesarannoinalcunicasifornitidaldocenteprimadellalezioneutilizzandolapiattaformaeducativaFidenia,checonsente–senzacheglialunni

debbanoinseriredatipersonalisensibili–dicreareunaclassevirtuale.

AimsIlmoduloprendespuntodall'indaginesuunaparticolaresequenzanumerica(laRegular

Paperfolding Sequence) per condurre gli allievi alla scoperta dell'autosimilarità sotto

varieformemaanchediprocessilogicigeneralizzabiliadaltresequenze.L'attivitàtendeasvilupparelecompetenzediproduzioneeimplementazionedialgoritmieametterein

praticaalcuneabilitàdidisegnoalcalcolatore(CAD)sviluppatedaglialunninelrelativo

corsodipotenziamento.

OutcomesIdentify(Knowledge):IdentificaresequenzenumericheeproprietàApply(Application):Applicarealgoritmiperlacostruzionedisequenzenumericheeperlalororappresentazionesottodiverseforme.

Construct(Application):Generaresequenzenumeriche.Analyse(Analysis):Analizzaresequenzenumericheeloroproprietà.Generalise(Synthesis):Generalizzareproprietà.Showawarenessof(Affectivelearningoutcomes):Essereconsapevolidellavorosvoltodalgruppo.

Appreciate(Affectivelearningoutcomes):Apprezzareilcontributodeglialtri.Beresponsiveto(Affectivelearningoutcomes):Essereresponsabiledellapropriapartedellavorocomplessivo.

Teaching-LearningactivitiesWarming-up&brainstorming.ReadWatchListen 10minutes 22students TutorisavailablePer sollecitare il recupero delle conoscenze pregresse e stimolare l’interesse perl’argomentodaproporre,l’insegnantevisualizzasullaLIMunaprimaschedaMERLO(la

schedaMERLO 1 allegata), nella quale il Target Statement (TS) è la Ricorsione. Nella

schedailnodoconcettualevienepresentatosottotreformediverse:ilTSèl’espressionericorsivadel fattoriale.Lostessoconcettovienepresentatosotto le forme(Q2)diuna

vignettaediunalberobinarioincuiogninodo(X)hacomefiglisestesso(X)eunaltro

elemento (Y) e così via ricorsivamente. Gli altri riquadri della scheda mostrano un

concetto diverso presentato nella stessa forma del TS (Q3), nel caso specifico le

espressioniperilcalcolodellepotenzedelbinomio,eunconcettodiversopresentatoinformadiversa(Q4),ovveroquellodifunzione.

ReadWatchListen 10minutes 22students TutorisavailableDopoladiscussioneguidatal’insegnanteproponeunasecondaschedaMERLO(lascheda

MERLO 2 allegata), nella quale il TS è l’autosimilarità. Tale nodo concettuale viene

rappresentatosottodifferentiforme:ungraficodelsetdiMandelbrot(TS),unospartitomusicale incuiscegliendosoloalcunenotesecondounintervalloregolaresiottienela

stessa melodia (Q2) e una sequenza numerica che ripropone gli stessi valori sia che

vengaselettatutta,siachevengalettaprendendosologlielementidipostopari,sologli

elementidipostimultiplidi4,di8,ecc. (Q2). Glialtririquadridellaschedamostrano

concettidiversiche inuncasocondividono lastessa formadelTS(Q3)e inuncasosipresentanosottounaformadifferente(Q4).

Discuss 10minutes 22students TutorisavailableDurante ladiscussionee l’avanzamentodi congetturedapartedegli alunni, il docente

introduceilconcettodiautosimilaritàenechiariscealcuniaspetti,sottolineandocome

questapossa trovarsi inalcunestrutture innaturache “si ripetonoallo stessomodosuscale diverse”. Ciò accade per esempio nelle piante, nei frutti. La stessa proprietà puòtrovarsi,oltrechenelle formeenellesequenzedinumeri,ancheinaltrestrutture,peresempio inmelodiemusicali.A taleproposito l’insegnantemostraalcune immaginied

invitaglialunniaricercarealtriesempisulweb.

Piegaturedellacarta.ReadWatchListen 10minutes 22students TutorisavailableProseguendo la discussione avviata con le due schedeMERLO, l’insegnante compie la

seguentedimostrazione:-prendeunastrisciadicartaelaripiegasusestessadiversevolte(semprenellostesso

verso);

- apre delicatamente la striscia di carta, senza annullare le pieghe effettuate, ma

lasciandochequestesidisponganoadangolorettomantenendoilversoimpostoconla

piegatura.

Lastrisciadicartaadessorappresentaunpercorsocheèpossibileschematizzarecome

una sequenzadi istruzioni. Inquesto casoogni istruzionedeve servire a chiarire se è

necessariosvoltaredi90°versodestraoversosinistra.E’pertantosufficienteassociare

unsimboloconvenzionaleadognunaditalidueistruzioni(peresempio0perlasvoltaa

sinistrae1perlasvoltaadestraoviceversa).Osservandolastrisciapiegataèpossibiledeterminarepertantounasequenzadi0e1.Laproceduraeseguitaperlapiegaturadella

striscia di carta è riportata, ad esempio, sul sito: http://www.cutoutfoldup.com/216-

dragon-curve.phpdacuiètrattal'immagineallegata.

Practice 15minutes 22students TutorisavailableL’insegnanteinvitaglialunniaripeterel’esperimentoeadannotarelasequenzadi0e1

derivantedallepiegheottenute.Tuttiglialunniotterranno(amenodiunoscambiofra0

e1)unaporzionedellasequenzaseguente:

1101100111001001110110001100100…Qualcuno probabilmente riconoscerà la sequenza numerica della scheda MERLO

precedente.

Investigate 10minutes 22students TutorisavailableL’insegnante spiega che la sequenza ottenuta si chiama Regular PaperfoldingSequence (RPS), proprio perché corrisponde alla sequenza di angoli nei due versiottenuti dalla piegatura “regolare” (ovvero sempre nello stesso verso) di un foglio di

cartaenepreannunciagli elementi allo scopodi indagarne leproprietà (imetodipergenerare la sequenza e quindimettere in grado gli alunni di ricavare gli elementi nel

numerovolutosarannointrodottisubitodopo).L’insegnantefanotarecheconsiderando

solo gli elementi di postopari si ottienedi nuovo la stessa sequenza e argomenta sulfattocheciòimplichi(ricorsivamente)cheancheglielementidipostoparinellanuova

sequenza ottenuta (che sono gli elementi di posto multiplo di 2 al quadrato nellasequenza originaria) devono rappresentare la stessa sequenza, e così via per tutte le

potenze di due. L'insegnante può anche fare riferimento al sito The On-Line

EncyclopediaofIntegerSequences(https://oeis.org)checatalogaedescrivediversele

sequenze numeriche intere. In particolare la sequenza proposta si trova in:

https://oeis.org/A014577.

CostruiamolaRegularPaperfoldingSequence.Investigate 15minutes 22students TutorisavailableL’insegnante, sollecitando la riflessione sulle operazioni di piegatura prima realizzate,

guidaladiscussioneversolaformulazionedialcunimetodiiterativipergenerarelaRPS

che, fra l’altro, consentono di formulare diverse congetture sulle sue proprietà.

L’insegnante fornisce gli studenti le schede allegate in cui sono riepilogati i passaggifondamentali dei metodi proposti. Le dette schede serviranno per la successiva fase

pratica incollaborazione.Leschedesonostatemesseadisposizionedelgruppo-classe

sulla piattaforma Fidenia affinché gli alunni possano affrontare individualmente iproblemitrattatiprimadelladiscussione–investigazioneinclasse.

Collaborate 35minutes 22students TutorisavailableDopo l’esposizione dei metodi e la discussione, l’insegnante forma dei piccoli gruppi,

avendocuradiinserireinciascungruppounalunno“esperto”diinformaticasceltofra

quellichefrequentanoilpotenziamentoperleOlimpiadidiInformatica.L’insegnantefa

scegliereadognigruppounodeimetodidigenerazionedellasequenzachiedendoloro

implementarloinPythonoinScratch,conl'aiutodelleschede.Inquestafaseglialunni

del corso di preparazione alle Olimpiadi di Informatica operano come tutor. Alcuni

esempidirisultatiattesisonoallegati.

Discuss 15minutes 22students TutorisavailableUnelementodiognigrupporiassumeillavorosvoltoallaclasse.Unelementodiciascun

grupporiassumeillavorosvoltoallaclasse.L'insegnantepromuoveunadiscussionesui

risultatiottenutidaciascungruppo.

AnalizziamoleproprietàdellaRegularPaperfoldingSequence.Investigate 10minutes 22students TutorisavailableUnavolta forniti agli alunnigli strumentipergenerare la sequenza, l’insegnanteavvia

unadiscussioneguidataperlaricercadelleproprietàdellasequenza.Unatracciaperla

discussione si trova nel documento allegato, nel quale – fra l’altro – a partire dalle

proprietà della sequenza viene formulato un ulteriore metodo iterativo per la sua

generazione.

Collaborate 25minutes 22students TutorisavailableL’insegnanteinvitaigruppiadimplementaretalealgoritmodigenerazione.Unelementodi ogni gruppo riassume il lavoro svolto alla classe.Unapossibile implementazione in

linguaggioPythonèallegata.

Discuss 15minutes students TutorisavailableUn elemento di ciascun gruppo riassume il lavoro svolto alla classe. L'insegnante

promuoveunadiscussionesuirisultatiottenutidaciascungruppo.

CostruiamolaRegularPaperfoldingSequenceconRicercaeSostituisci.Investigate 15minutes 22students TutorisavailableL’insegnante conduceunadiscussioneper riflettere suimetodi iteratividi costruzionedellasequenzavistifinora.L’insegnanteguidaglialunniallacomprensionedelfattoche

la sequenza può essere ottenuta anche con un procedimento ricorsivo utilizzando la

tecnicadiStringRewriting. I dettagli della tecnica si trovanonella schedaallegata. Intale attività possono essere fatti riferimenti ad argomenti di Scienze Naturali (p.es.

Genetica).

Practice 15minutes 22students TutorisavailableDopo l’esposizione e la discussione, l’insegnante invita gli alunni (in piccoli gruppi) a

rappresentare inGeoGebrauna struttura ad albero che esemplifica taleprocedimentoricorsivo (gli alunni possono ispirarsi alla struttura ad albero presente nella scheda

MERLO1).Unesempiodirisultatoattesoèallegato.

ReadWatchListen 10minutes 22students TutorisavailableL’insegnantemostraaltriesempidi frattaligeneratiperStringRewriting(vediesempi

allegati) e introduceuna implementazionedi tale procedura ricorsiva inPython (vediallegato)emostrailrisultatoottenuto.

Collaborate 10minutes students TutorisavailableL'insegnante invita i gruppi (con il supporto della scheda allegata e l’assistenza degli

alunni“esperti”)ariprodurrel'algoritmoproposto.

Disegniamoildrago.Practice 20minutes 22students TutorisavailableL’insegnanteeglialunni“esperti”assistonoisingoligruppinellacodificadelleistruzioni

per rappresentare graficamente la sequenza generata. Ciò può essere fatto in Python

(per esempio utilizzando la libreria matplotlib che fornisce funzioni per larappresentazionegraficadi listenumericheanalogheaquellediMATLAB,o la libreriagraficaOpenGL,o–inmanierapiùsempliceedefficace–lalibreriaTurtlechefornisceleistruzioni per la cosiddetta turtle graphic o grafica della tartaruga) oppure in Scratch,utilizzando la programmazione a blocchi. Nel caso della Turtle Graphic

l’implementazione può essere realizzata leggendo un elemento alla volta la sequenzanumerica e impartendo alla tartaruga i comandiLeft(90) eRight(90) a seconda delvalore letto, seguiti da un comando Forward(). Nel caso di altre librerie grafiche piùgenerali,occorrememorizzare laposizionecorrentedelpenninomedianteuna listadidueelementi(coordinataxecoordinatay)eilsuoorientamentoinun'altralistadidue

elementi (componente x e componente y). Alcuni esempi dei risultati attesi sono

allegati.Alfinedirenderemaggiormenteevidenteilfattochelacurvanonintersecasestessa,èconvenientedisegnarlacongliangoliarrotondatiosmussati.

Discuss 10minutes 22students TutorisavailableL’insegnantespiegachelalineaottenutaprendeilnomediDragonCurvee,insiemeaglialunni,neanalizzalecaratteristiche.Unacaratteristicainteressanteèquellachelacurvanon interseca mai se stessa. L’insegnante invita gli alunni a ricercare sul web

informazionisutalecurva.

Curveetrenini.ReadWatchListen 5minutes 22students TutorisavailableL’insegnantemostraunaimmagineincuisonoraffiguratiibinaricomponibiliutilizzati

peritreninielettricioppureipezzicomponibilidellapistaperautoelettricheediscute

sulfattochelaRegularPaperfoldingSequencepuòrappresentareunpercorsocostituitodaunasequenzaditalipezziincuiiduesimboli0e1rappresentanolecurvea90°inun

senso e nell’altro. La caratteristica della Dragon Curve di non intersecare se stessaassicuracheipezzinonsidebbanomaisovrapporre.

Produce 25minutes 22students TutorisavailableL’insegnanteinvitaglialunniarealizzareundisegnoCADsecondoleseguentiistruzionioperative:-Disegnareilpezzo“curva90°versosinistra”,scrivereuno“0”vicinoalpezzo

edefinireunbloccoconilnome“Curva0”-Disegnareilpezzo“curva90°versodestra”,

scrivere “1” vicino al pezzo e definireunblocco con il nome “Curva1” -Realizzareun

percorsoseguendolaRPSinserendoripetutamenteilblocco“Curva0”incorrispondenza

diun“0”dellasequenzaeilblocco“Curva1”incorrispondenzadiun“1”dellasequenza.

L’insegnainvitaglialunniaverificareapartiredaldisegnoleproprietàdellasequenza.

UnesempiodirisultatoattesoèildisegnoallegatorealizzatoinAutoCAD.Neldisegnoè

rappresentatalaDragonCurve(realizzataconiblocchi"curva90°versodestra"e"curva

90°versosinistra")ottenutaperalcunipassidellaproceduraiterativa.Adognipassoil

pezzo centrale è rappresentato in rosso; si osservi come gli altri pezzi sono dispostiintornoaquellocentralesecondoleregoleprecedentementeindividuate.

Discuss 5minutes 22students TutorisavailableL'insegnanteincoraggialadiscussionesuilavorisvolti.

Dallestringheallepiante.ReadWatchListen 10minutes 22students TutorisavailableL’insegnante, riprendendo i discorsi su come è possibile generare la Regalar

Paperfolding Sequence mediante String Rewriting, con l’aiuto del web, mostra altriesempidifrattaligeneraticontaletecnica(allegati).Inparticolareillustral’algoritmoin

Python allegato per la generazione di una pianta, descrivendone schematicamente la

legge.IntaleattivitàpossonoesserefattiriferimentiadargomentidiScienzeNaturali.

Il programma verrà messo a disposizione degli alunni sul gruppo-classe della

piattaforma Fidenia affinché gli alunni possano sperimentare liberamente, a casa,ulterioricasidiStringRewriting.

Practice 10minutes 22students TutorisavailableAttraversoricerchesulwebglialunnipotrannoindividuarealtreleggidisostituzioneeprovare a modificare il programma per visualizzarle. Alcuni esempi tratti da

http://www.cs.unh.edu/~charpov/programming-lsystems.htmlsonoallegati.

Verificafinaleevalutazione.Produce 45minutes 22students TutorisavailableLe verifica a conclusione dell’attività consiste nel proporre agli alunni altre sequenze(nel caso specifico la “One’s Counting Sequence” e l’AlternatePaperfolding Sequence),

chiedendo loro di indagane alcune proprietà, di scrivere algoritmi per generarle e di

rappresentaleriproducendoquindi,inmanieraoriginale,quantosvoltoinmodoguidato

duranteilmodulo.

Discuss 10minutes 22students TutorisavailableL'insegnantepromuoveladiscussionesuglielaboratisvolti.

Valutazione: l'insegnanteosserveràtutto il lavorosvoltodaigruppidurante ilmodulo,annotando interazioni e comportamenti. Il lavoro di gruppo, i prodotti, nonché

l'elaborato finale saranno valutati con riferimento alla rubrica allegata. Gli indicatori

presiinconsiderazionecomprendonolacapacitàdischematizzareerisolvereproblemi,

la capacità di esporre i processi logici seguiti e i risultati ottenuti, la capacità di

relazionarsi all'interno del gruppo e di contribuire al raggiungimento di un risultato

comune.

MASSIMOMARLETTASOLUZIONE:TS=RICORSIONE1.Contrassegnaleaffermazioni(almenodue)checondividonolostessosignificatomatematico.2.Indicaleragionichetihannoguidatonellascelta

rATS

1! = 1

$! = $ ⋅ $ − 1 !

rBQ2

rCQ2

rDQ3

' + ) * = '* + 2 ∙ ' ∙ ) + )*

' + ) - = '- + 3 ∙ '* ∙ ) ++3 ∙ ' ∙ )* + )-

' + ) / = '/ + 01 ∙ '/21 ∙ ) + ⋯

+0/21 ∙ ' ∙ )/21 + )/

rEQ4

1

42

39

1

f(x)

MASSIMOMARLETTASOLUZIONE:TS=AUTOSIMILARITA’1.Contrassegnaleaffermazioni(almenodue)checondividonolostessosignificatomatematico.2.Indicaleragionichetihannoguidatonellascelta.

rAQ2

rBQ2

rCQ3

rDQ4AxB a b c d1 (a,1) (b,1) (c,1) (d,1)2 (a,2) (b,2) (c,2) (d,2)3 (a,3) (b,3) (c,3) (d,3)4 (a,4) (b,4) (c,4) (d,4)

rETS

“Piegaturadellacarta,dragoni,tartarugheetrenini”

prof.MassimoMarletta

MetodiperlacostruzionedellaRegularPaperfoldingSequence

SCHEDA1:Costruzioneperinterposizionedielementi

Analizzandoilprocedimentoseguitoperlapiegaturadellastrisciadicarta,sipuòosservarequantosegue:-Laprimapiegaformataametàdellastrisciarappresentaun�.-Unasuccessivapiegaturainserisceun�primaeuno�dopol’elementogiàpresente.-Ogniulteriorepiegaturainseriscenellasequenza�e�alternatifraglielementiesistenti.Lasequenzapuòquindiesseregeneratasecondoloschemaseguente:1)Inizialmentehosolol’elemento�:�2)Inseriscoallasuasinistra�eallasuadestra�:

���3)Dispongofraglielementiesistentiunasequenzaalternatadi�e�:

�������4)Ripetoilpasso3.

“Piegaturadellacarta,dragoni,tartarugheetrenini”

prof.MassimoMarletta

MetodiperlacostruzionedellaRegularPaperfoldingSequence

SCHEDA2:Costruzioneperaggiuntadielementiincoda(anti-simmetria)

Analizzandoilprocedimentoseguitoperlapiegaturadellastrisciadicarta,sipuòosservarequantosegue:-Laprimapiegaformataametàdellastrisciarappresentaun�.- Immaginiamooradi piegare ripetutamente il foglioedi riaprirlo. Troveremo l’elemento� alcentrodellasequenzaeunostessonumerodielementi(pieghe)primaedopodiquesto.Ciòperchéognivoltacheabbiamopiegatoilfoglio(dopolaprimavolta)abbiamocreatounnumeroparidipiegheequamentedistribuiteprimaedopol’elemento�centrale.Osserviamocheognicoppiadipieghe(inposizionisimmetricherispettoall’elemento�centrale)èformatadaduepiegheaventiversoopposto,datochevengonocreatesuunfogliocheègiàripiegatosusestesso.Allora, se immaginiamodi conoscere solo laprimametàdella sequenza,possiamo ricostruire lasecondametàcomesegue:-Accodoun�checostituiràl’elementocentraledellasequenzacompleta.-Accodoglielementiprecedenti l’� invertendo l’ordine (per lasimmetriadelleposizionidellepieghe)efacendoilcomplementare(perchélepieghecorrispondentisonoopposte)Lasequenzaottenutapuòessereampliataripetutamenteiterandoilprocedimentodescritto.1)Inizialmentehosolol’elemento�:�2) Accodo un altro elemento � (che diventa elemento centrale) e il complementaredell’elemento�,lo�,chesitroveràinposizionesimmetricarispettoall’�:

���3) Accodo un altro elemento� (che diventa elemento centrale) e i complementari dei treelementiprecedentiinposizionisimmetricherispettoaquesti:

���� accodo������ scrivol’elementosimmetricodi�,cambiatoin������� scrivol’elementosimmetricodi�,cambiatoin�������� scrivol’elementosimmetricodi�,cambiatoin�4)Ripetoilpasso3.

“Piegaturadellacarta,dragoni,tartarugheetrenini”

prof.MassimoMarletta

MetodiperlacostruzionedellaRegularPaperfoldingSequence

Costruzioneperaggiuntadielementiincoda(complementaredelvalorecentrale)

Analizzandoilprocedimentoseguitoperlapiegaturadellastrisciadicarta,sipuòosservarequantosegue:-Laprimapiegaformataametàdellastrisciarappresentaun�.- Immaginiamooradi piegare ripetutamente il foglioedi riaprirlo. Troveremo l’elemento� alcentrodellasequenzaeunostessonumerodielementi(pieghe)primaedopodiquesto.Ciòperchéognivoltacheabbiamopiegatoilfoglio(dopolaprimavolta)abbiamocreatounnumeroparidipiegheequamentedistribuiteprimaedopol’elemento�centrale.Osserviamochelepieghedellasecondametàdelfogliosonolaripetizionediquelladellaprimametà,eccettoquellacentralecheèopposta.Allora, se immaginiamodi conoscere solo laprimametàdella sequenza,possiamo ricostruire lasecondametàcomesegue:-Accodoun�checostituiràl’elementocentraledellasequenzacompleta.- Accodo gli elementi precedenti tale� per ottenere gli elementi della seconda metà dellasequenza,modificandosoloilloroelementocentrale.1)Inizialmentehosolol’elemento�:�2) Accodo un altro elemento� (che diventa elemento centrale) e il ricopio l’elemento�precedente,modificandoloperòin�:

���3) Accodo un altro elemento� (che diventa elemento centrale) e ricopio i tre elementiprecedenti

���� accodo������ ricopio������� ricopio�modificandoloin�������� ricopio�4)Ripetoilpasso3.

“Piegaturadellacarta,dragoni,tartarugheetrenini”

prof.MassimoMarletta

Scheda:InvestigazionedelleproprietàdellaRegularPaperfoldingSequence

NumerodielementinellagenerazioneiterativaImetodiiterativiperlagenerazionedellasequenzaprevedonocheadognipassovengaaggiuntounnuovoelementopiùtantielementiquantisonogiàpresentinellasequenza:

¡¡¡¡¡ sequenzaalpasson-1¡¡¡¡¡�¡¡¡¡¡ sequenzaalpassonIlnumerodielementialpassonsipuòpertantoesprimerericorsivamentecome:

!" = 2 ⋅ !"&' + 1conlacondizioneinziale(passobase):

!' = 1datochealpasso1abbiamounsoloelemento.Lasuccessionedelnumerodielementiadognipassoèquindi:

!" = 1, 3, 7, 15, 31, …Ilterminegeneraleditalesuccessioneèstatoda:

!" = 2" − 1Ciòpuòesseredimostratofacilmentesesiriscrivelarelazionericorsivaaggiungendo1alprimoealsecondomembro:

!" + 1 = 2 ⋅ !"&' + 1 + 1dacui

!" + 1 = 2 ⋅ !"&' + 2

(!" + 1) = 2 ⋅ (!"&' + 1)E’quindievidentecheiterminidellasuccessione(!" + 1)raddoppianoadognipasso.Pertanto:

!" + 1 = 2"dacuilarelazionecercata.

Estrazionedisotto-sequenzeInvestighiamolecaratteristichedialcunesotto-sequenzedellaRegularPaperfoldingSequence:

���������������������…Seconsideriamosologlielementidipostodispari,otteniamounasequenzaalternatadi�e�:���������������������…Seinvececonsideriamosologlielementidipostopari,otteniamolaRegularPaperfoldSequence!

���������������������…informula:

234 = 24∀7 ∈ ℕOvviamenteseconsideroglielementidipostoparinellasotto-sequenzaottenuta(chesonoglielementidipostomultiplodi4nellasequenzadipartenza),ottengodinuovolaRegularPaperfoldSequence:

���������������������…informula:

2:4 = 24∀7 ∈ ℕNaturalmente, proseguendo il ragionamento possiamo concludere che otterremo la RegularPaperfoldSequencecomesotto-sequenzadeglielementidipostomultiplodiqualsiasipotenzadi2:

23;⋅4 = 24∀7 ∈ ℕ, ∀ℎ ∈ ℕQuindi:laRegularPaperfoldSequencequindicontienesestessa(comesotto-sequenza)infinitevolte!PerrendereciòpiùevidenteprovaascriverelaRPSincolonna,poiscrivilaandandoacapoognidueelementi,poiscrivilaandandoacapoogniquattroelementi.OsservacheglielementisegnatiinrossorappresentanotuttilaRPS:

������

������������

��������������������

����…

��������…

Ilfattochequalunquesotto-sequenzadielementi23;⋅4 coincidaconlaRPS,implicaanchecheglielementidipostodispariinognunaditalisotto-sequenzesianoalternativamente1e0.Riepilogando,considerandoglielementidellasotto-sequenzaavremo:

23;⋅4 = 2=, 1, 23, 0, 2:, 1, 2?, 0, …equindi:

23;⋅4 =24se7%2 = 01se7%4 = 10se7%4 = 3

Avendoindicatocon%l’operazionedimodulo(restodelladivisioneintera).Taleproprietàpuòessereutilizzatacomeulterioremetodopercostruirelasequenza.Glielementidellasequenzapossonoinfattiesseregenerati(inordine)conlaregola:

!D =!D/3 seF%2 = 01 seF%4 = 10 seF%4 = 3

perF > 0

“Piegaturadellacarta,dragoni,tartarugheetrenini”

prof.MassimoMarletta

MetodiperlacostruzionedellaRegularPaperfoldingSequence

SCHEDA4:CostruzionemedianteStringRewriting

Inparticolare,unaanalisideimetodiprecedenticonducealleseguenticonsiderazioni:Lasequenzacompletaècostituitadatreporzioni:

RPS=(X)�(Y)incuilaporzione(X)haasuavoltalaforma:

(X)=(X)�(Y)mentrelaporzione(Y)halaforma:

(Y)=(X)�(Y)E’pertantopossibilegenerarelasequenzaeffettuandoricorsivamentelesostituzioni:

(X)�(Y)[(X)�(Y)]�[(X)�(Y)]

{[(X)�(Y)]�[(X)�(Y)]}�{[(X)�(Y)]�[(X)�(Y)]}Volendotroncarelasequenzaadunalunghezzafinita,dopounnumerosufficientedipassisisostituiscecomesegue:

(X)=�mentrelaporzione{Y}halaforma:

(Y)=�Eciòterminalaproceduraricorsiva,dallaqualesiottienelasequenza:

{[���]�[���]}�{[���]�[���]}

Tracciaperl’implementazione:-DefinireduefunzioniX()eY(),ognunadellequalirestituiscecomerisultatol’espressionechedeveesseresostituita:

X()restituiscelalista:X()+1+Y() Y()restituiscelalista:X()+0+Y()

(in queste espressioni l’operatore “+” ha il significato di concatenare liste di valori, come inlinguaggioPython).LasequenzasiottienecomerisultatodellachiamatadellafunzioneX().Taleproceduracondurrebbeadunnumero infinitodipassi,datocheognunadelledue funzionichiamerebbe se stessa all’infinito. E’ pertantonecessario troncare la serie di chiamatedopounnumeroprefissatodipassi,alloscopodiottenerelasequenzatroncata.CiòpuòesserefattoprevedendonelleduefunzioniX()eY()unparametro(count)chevienedecrementatoadognichiamataefacendosìcheognunadiessesirisolvaadunrisultato(1perX()e0perX())quandotaleparametroarrivaa0.Loschemadellaproceduraèpertanto:

! "#$%& = ! "#$%& − 1 + 1 + ,("#$%& − 1) /0"#$%& > 01 /0"#$%& = 0

, "#$%& = ! "#$%& − 1 + 0 + ,("#$%& − 1) /0"#$%& > 0

0 /0"#$%& = 0LasequenzasiottienecomerisultatodiX(N)doveNvienesceltoparialnumerodipassidopoiqualitroncareilprocedimento.

“Piegaturadellacarta,dragoni,tartarugheetrenini”VERIFICAFINALE

1 LaOne’sCountingSequencepuòesserecostruitaconiseguentipassi:-ilprimoelementoè0-adognipassoaccodatantielementiquantisonoquelliesistenti,incrementandolidi1.Iprimipassidellaproceduraforniscono:00,10,1,1,20,1,1,2,1,2,2,3…Il significato di tale sequenza è quello di indicare quante cifre “1” si trovano nellarappresentazioneinbase2deinumericorrispondenti.Scriviunalgoritmoperlagenerazioneditalesequenza.Stampaglielementidipostopari.Cosaosservi?Stampaglielementidipostomultiplodi4.Cosaosservi?Provaageneralizzaretaleproprietà.

2 LaAlternatePaperfoldingSequence(APS)èlasequenzanumericageneratadallapiegaturainduediunastrisciadicartama,adifferenzadellaRegularPaperfoldingSequence(RPS),inquestocasoilfogliononvienepiegatosemprenellostessoversomaalternativamenteneidueversi.Utilizzandounastrisciadicartapersperimentare l’operazione,scrivialcuni terminidellasequenza.Congettura e verifica un algoritmo per la generazione della APS (assumi che il primoelementosia1).(Suggerimento:unalgoritmosemplicepotrebbeessereunavariantedelmetododell’anti-simmetriapropostoalezione)

3 OsservalaAPSgeneratadaltuoalgoritmoecompletaleseguentiaffermazioni:

a) Glielementichesitrovanoinpostimultiplidi4sonotutti_____.b) Glielementichesitrovano___postidopoquestisonotutti0.

Modificailtuoalgoritmopervisualizzarelesotto-sequenzedell’APSconisolielementidipostoparieconisoloelementidipostodispari.Cosaosservineiduecasi?FormulaunmetodoperottenerelaAPScomesotto-sequenzadellasotto-sequenzadeglielementidipostodispari.

4 RappresentainAutoCADunpercorsosecondolaAPS.Modificailtuoalgoritmoperrappresentaregraficamentel’APS(p.es.conlaturtlegraphic)econfrontailgraficoottenutoconiltuodisegnoinAutoCAD.

“Piegaturadellacarta,dragoni,tartarugheetrenini”

prof.MassimoMarletta

RUBRICADIVALUTAZIONE

LivelloCriterio

Basso Medio Alto

Capacità di Problem Solving

Il problema non viene compreso correttamente. Le informazioni chiave mancano o non sono interpretate correttamente. Non riesce ad impiegare le conoscenze pregresse. Non giustifica le conclusioni. I risultati non hanno una coerenza interna.

L’analisi del problema è limitata e/o ambigua. Applica poco le conoscenze pregresse. Non sempre giustifica i passaggi logici.

Comprende e verbalizza in modo chiaro ed efficace gli obiettivi ed i termini del problema. Applica in maniera efficace le conoscenze pregresse, riuscendo a generalizzare e ad astrarre. Integra tali conoscenze con le nuove informazioni per giungere alla risoluzione del problema.

Capacità di comunicazione

La descrizione dei procedimenti seguiti e dei risultanti ottenuti è nulla o incoerente

Giunge a conclusioni sostanzialmente corrette ma non è in grado di esporle.

Descrive in maniera chiara, precisa e sintetica i processi logici e le conclusioni.

Lavoro di gruppo

Non produce scambi di informazioni e di conoscenza all’interno del gruppo. Non ascolta gli altri.

Scambia alcune informazioni con gli altri membri del gruppo.

Lavora insieme agli altri membri del gruppo per ricavare conoscenze, applicarle e giungere ai risultati desiderati. Ascolta gli altri e rispetta i loro punti di vista. Contribuisce a rendere il gruppo un ambiente positivo e stimolante per l’apprendimento.

Page 1 of 1

buildup.py 27/07/17, 18:05

## COSTRUZIONE DELLA REGULAR PAPERFOLDING SEQUENCE## Massimo Marletta## numero di elementi della sequenza da generareN = 500

# genera i primi N valori della sequenzadef buildup(N): seq = [] for i in range(0, N): expand(seq) return seq

# aggiunge un valore alla sequenzadef expand(seq): i = len(seq)+1 # indice dell'elemento da aggiungere in base 1 if i % 2 == 0: seq.append(seq[i // 2 - 1]) # -1 perché gli indici in Python

iniziano da 0 elif i % 4 == 1: seq.append(1) elif i % 4 == 3: seq.append(0) # restituisce il valore aggiunto return seq[-1]# scrive la sotto-sequenza dei valori di posto multiplo di kdef printsub(seq, k): for i in range(1, N//k): print("{}{}".format(" "*(k-1), seq[k*i-1]), end="") print()

# genera la sequenzasequence = buildup(N)# visualizza le sottosequenze degli elementi di posto k*2**ifor i in range(0, 6): printsub(sequence, 2**i)

Page 1 of 1

generate1.py 27/07/17, 18:06

## PAPER FOLDING SEQUENCE## metodi iterativi per generare la sequenza## Massimo Marletta## aggiunge elementi alla sequenza Regular Paperfold Sequence# sfuttando la proprietà anti-simmetricadef expand1(seq): if seq: # aggiunge alla sequenza l'elemento centrale 1 # e i complementari degli elementi precedenti in ordine invertito return seq + [1] + [1-x for x in seq[::-1]] return [1]

# aggiunge elementi alla sequenza Regular Paperfold Sequence# facendo il complementare dell'elemento centraledef expand2(seq): if seq: # elementi presenti nella sequenza b = seq[:] # modifica l'elemento centrale b[int(len(b) / 2)] = 1 - b[int(len(b) / 2)] # aggiunge alla sequenza l'elemento centrale 1 # e i complementari degli elementi precedenti in ordine invertito return seq + [1] + b return [1]

seq = [1]seq = expand1(seq)seq = expand1(seq)seq = expand1(seq)print(seq)

seq = [1]seq = expand2(seq)seq = expand2(seq)seq = expand2(seq)print(seq)

Page 1 of 1

string_rewriting_2.py 27/07/17, 18:06

## DRAGON CURVE (PAPERFOLDING SEQUENCE)## genera la sequenza mediante string rewriting## Massimo Marletta

def X(count): if count: return X(count-1) + [1] + Y(count-1) else: return [1]def Y(count): if count: return X(count - 1) + [0] + Y(count - 1) else: return [0]

sequence = X(6)print(sequence)