<snapdata remixID="13523102"><project name="Distanz mit Pythagoras" app="Snap! 10, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Distanz mit Pythagoras"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="distance between %&apos;l1&apos; and %&apos;l2&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><block s="reportPower"><block s="reportDifference"><block var="l1"/><block var="l2"/></block><l>2</l></block></block></block></block></script></block-definition><block-definition s="Create dataset with %&apos;n&apos; people" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>dataset</l></list></block><block s="doSetVar"><l>dataset</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportJoinWords"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportUnicodeAsLetter"><block s="reportRandom"><block s="reportUnicode"><l>a</l></block><block s="reportUnicode"><l>z</l></block></block></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block s="reportRandom"><l>3</l><l>7</l></block></block></block></block><block s="reportJoinWords"><list><l>2</l><block s="reportUnicodeAsLetter"><block s="reportRandom"><block s="reportUnicode"><l>a</l></block><block s="reportUnicode"><l>f</l></block></block></block></list></block></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportRandom"><l>1</l><l>10</l></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><l>10</l></block></block></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="n"/></block></block><comment w="191.33333333333334" collapsed="false">Creates a fake dataset to use in demonstations.&#xD;&#xD;The dataset consists of:&#xD;- Name of participant&#xD;- Class of participant&#xD;- 10 Items on a likert scale.</comment></block><block s="doInsertInList"><block s="reportTextSplit"><l>Name;Klasse;Hund|Katze;Pop|Rap;Fondue|Kebap;Arbeit|Freizeit;Mathematik|Französisch;Süsses|Saures;Romanshorn|Salmsach;Berge|Meer;Geld|Liebe;Pokemon|Dragonball</l><l>;</l></block><l>1</l><block var="dataset"/></block><block s="doReport"><block var="dataset"/></block></script></block-definition><block-definition s="table of similarity from %&apos;dataset&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="value"/></block><block s="reportCDR"><block var="dataset"/></block></block></block><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="value"/></block><block s="reportCDR"><block var="dataset"/></block></block></block><custom-block s="distance between %l and %l"><block s="reportListItem"><block s="reportNumbers"><l>3</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="dataset"/></block></block></block><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="value"/></block><block s="reportCDR"><block var="dataset"/></block></block></block><block s="reportListItem"><block s="reportNumbers"><l>3</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="dataset"/></block></block></block><block s="reportListItem"><block s="reportListItem"><l>2</l><block var="value"/></block><block s="reportCDR"><block var="dataset"/></block></block></block></custom-block></list></block></autolambda><list><l>value</l></list></block><block s="reportCrossproduct"><list><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block s="reportCDR"><block var="dataset"/></block></block></block></block><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block s="reportCDR"><block var="dataset"/></block></block></block></block></list></block></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="161.14285714285708" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations>ca:ordena _ segons criteri _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="function"/></list></block></block></script></block-definition><block-definition s="$flash assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations>ca:associació _ _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block var="key"/><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block><block var="a-list"/></block></block></script></block-definition><block-definition s="%&apos;#&apos; for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><comment x="0" y="0" w="228.57142857142858" collapsed="false">This block carries out the given script for each item of the given list, like the primitive FOR EACH.&#xD;&#xD;What&apos;s different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.</comment><header></header><code></code><translations>ca:_ per cada _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doForEach"><l>inner item</l><block var="data"/><script><block s="doSetVar"><l>item</l><block var="inner item"/></block><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="☠︎ linked? %&apos;data&apos;" type="predicate" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_linked(list)</l><list><block var="data"/></list></block></block></script></block-definition><block-definition s="☠︎ link %&apos;data&apos;" type="reporter" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportCDR"><block var="data"/></block></block></block></script></block-definition><block-definition s="printable %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="188.66666666666666" collapsed="false">Takes a (possibly deep) list as input,&#xD;and reports a human-readable text form &#xD;of the list (namely, Lisp notation).&#xD;&#xD;Will not work on circular lists.</comment><header></header><code></code><translations>ca:notació textual de _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><l>()</l></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block s="reportAtomicCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="printable %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l>)</l></list></block></block></script></block-definition><block-definition s="sentence %&apos;phrase&apos;" type="reporter" category="lists"><comment x="0" y="0" w="302.6666666666667" collapsed="false">SENTENCE is the main constructor for sentences, represented&#xD;as lists of words.  It takes zero or more inputs, each of which can&#xD;be either a list or a text string.  If a list, the input is assumed to be&#xD;a list of words.  If a text string, it is converted to a list of words using&#xD;SENTENCE→LIST.  Then all the lists of words are appended to form a new list of words.&#xD;&#xD;If the inputs are lists of lists rather than lists of words, SENTENCE,&#xD;like APPEND, does only one level of flattening, reporting a list of&#xD;all the items of all the input lists.</comment><header></header><code></code><translations>ca:frase _&#xD;</translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><l></l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></autolambda><list></list></block><block var="phrase"/></block></block></block></script></block-definition><block-definition s="$flash zip %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="192" collapsed="false">ZIP takes any number of lists as inputs.  The lists should all be the same length.  ZIP reports a list of lists in which the first item is a list of all the first items, the second item is a list of all the second items, etc.&#xD;Viewing the inputs as the rows of a matrix, ZIP reports its transpose.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="lists"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="lists"><comment x="0" y="0" w="105.33333333333333" collapsed="false">The identity function reports its input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="multimap %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="267.3333333333333" collapsed="false">Takes as input a function of N inputs and N lists.&#xD;The function is called with item 1 of all the lists as its inputs, with item 2 of all the lists as its inputs, and so on.  (The lists should all be the same length.)</comment><header></header><code></code><translations>ca:multi-mapeja _ sobre _&#xD;</translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="function"/><custom-block s="%s"><l></l></custom-block></block></autolambda><list></list></block><custom-block s="$flash zip %mult%l"><block var="lists"/></custom-block></block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="196" collapsed="false">Takes a sentence in text string form and reports the sentence as a list of its words.</comment><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;pt:uma lista com as palavras da frase _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportAtomicKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><l></l></block><l>0</l></list></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="458"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="459"></list></costumes><sounds><list struct="atomic" id="460"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="-7.54674626904822e-14" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="465"><costumes><list struct="atomic" id="466"></list></costumes><sounds><list struct="atomic" id="467"></list></sounds><blocks></blocks><variables></variables><scripts><script x="13.333333333333334" y="6.666666666666667"><block s="receiveGo"></block><block s="doSetVar"><l>dataset</l><custom-block s="Create dataset with %n people"><l>3</l></custom-block><comment w="164.66666666666666" collapsed="false">Or use imported dataset here.</comment></block></script><script x="13.333333333333334" y="93.33333333333333"><block var="dataset"/></script><script x="13.333333333333334" y="117.88888888888891"><block s="doSetVar"><l>people</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block s="reportCDR"><block var="dataset"/></block></block><comment w="90" collapsed="false">Get a list of people from the dataset.</comment></block></script><script x="13.333333333333334" y="181.8888888888889"><block var="people"/></script><script x="13.333333333333334" y="206.44444444444446"><block s="doSetVar"><l>combinations</l><block s="reportCrossproduct"><list><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="people"/></block></block><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="people"/></block></block></list></block></block></script><script x="13.333333333333334" y="290.4444444444445"><block var="combinations"/></script><script x="13.333333333333334" y="315.00000000000006"><custom-block s="distance between %l and %l"><block s="reportNewList"><list><l>1</l><l>5</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l></list><comment w="210.66666666666666" collapsed="false">Calculate distance between two points in a multidimensional space.</comment></block></custom-block></script><script x="13.333333333333334" y="381.00000000000006"><custom-block s="distance between %l and %l"><block s="reportListItem"><block s="reportNumbers"><l>3</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="dataset"/></block></block></block><block s="reportListItem"><l>1</l><block s="reportCDR"><block var="dataset"/></block></block></block><block s="reportListItem"><block s="reportNumbers"><l>3</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="dataset"/></block></block></block><block s="reportListItem"><l>2</l><block s="reportCDR"><block var="dataset"/></block></block></block></custom-block></script><script x="13.333333333333334" y="511.77777777777834"><custom-block s="table of similarity from %l"><block var="dataset"/><comment w="128.66666666666666" collapsed="false">Calculate all distances.</comment></custom-block></script><script x="13.333333333333334" y="563.7777777777784"><block s="doSetVar"><l>distance table</l><custom-block s="table of similarity from %l"><block var="dataset"/></custom-block></block></script><script x="13.888888888888914" y="609.3333333333335"><block var="distance table"/></script><script x="12.333333333333334" y="645.6666666666669"><block s="doSetVar"><l>sorted distance table</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>2</l><l/></block></list></block></block></autolambda><list></list></block><custom-block s="$flash sort %l ordering with %predRing"><block var="distance table"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>3</l><l/></block><block s="reportListItem"><l>3</l><l/></block></list></block></autolambda><list></list></block></custom-block><comment w="150.66666666666666" collapsed="false">Get shortest distances without comparison to itself.</comment></block></block><block s="doInsertInList"><block s="reportNewList"><list><l>Person 1</l><l>Person 2</l><l>Distance</l></list></block><l>1</l><block var="sorted distance table"/></block></script><script x="11.888888888888895" y="793.1111111111113"><block var="sorted distance table"/></script></scripts></sprite><watcher var="dataset" style="normal" x="31.697405184194526" y="15.194458229379796" color="243,118,29" extX="200.00000000000045" extY="129.00000000000003" hidden="true"/><watcher var="combinations" style="normal" x="68.36935166994118" y="207.46561886051066" color="243,118,29" extX="191.84228515625023" extY="150.00000000000023" hidden="true"/><watcher var="people" style="normal" x="18.670586760565282" y="18.670586760566582" color="243,118,29" extX="119.99999999999977" extY="104.99999999999999" hidden="true"/><watcher var="sorted distance table" style="normal" x="18.670586760565282" y="304.9217653222114" color="243,118,29" extX="200" extY="150" hidden="true"/><watcher var="distance table" style="normal" x="18.670586760565282" y="304.9217653222114" color="243,118,29" extX="200" extY="150" hidden="true"/></sprites></stage><variables><variable name="dataset"><list id="631"><item><list struct="atomic" id="632">Name,Klasse,Hund|Katze,Pop|Rap,Fondue|Kebap,Arbeit|Freizeit,Mathematik|Französisch,Süsses|Saures,Romanshorn|Salmsach,Berge|Meer,Geld|Liebe,Pokemon|Dragonball</list></item><item><list struct="atomic" id="633">phtot,2a,9,3,8,2,4,6,6,6,6,6</list></item><item><list struct="atomic" id="634">jorpo,2b,6,4,5,6,3,5,10,5,7,9</list></item><item><list struct="atomic" id="635">jpxzdi,2e,3,6,5,9,10,1,8,8,1,5</list></item></list></variable><variable name="combinations"><list id="636"><item><list struct="atomic" id="637">1,1</list></item><item><list struct="atomic" id="638">1,2</list></item><item><list struct="atomic" id="639">1,3</list></item><item><list struct="atomic" id="640">2,1</list></item><item><list struct="atomic" id="641">2,2</list></item><item><list struct="atomic" id="642">2,3</list></item><item><list struct="atomic" id="643">3,1</list></item><item><list struct="atomic" id="644">3,2</list></item><item><list struct="atomic" id="645">3,3</list></item></list></variable><variable name="people"><list struct="atomic" linked="linked" id="646">phtot,jorpo,jpxzdi</list></variable><variable name="sorted distance table"><list id="647"><item><list struct="atomic" id="648">Person 1,Person 2,Distance</list></item><item><list struct="atomic" id="649">phtot,jorpo,8</list></item><item><list struct="atomic" id="650">jorpo,phtot,8</list></item><item><list struct="atomic" id="651">jorpo,jpxzdi,12.328828005937952</list></item><item><list struct="atomic" id="652">jpxzdi,jorpo,12.328828005937952</list></item><item><list struct="atomic" id="653">phtot,jpxzdi,14.071247279470288</list></item><item><list struct="atomic" id="654">jpxzdi,phtot,14.071247279470288</list></item></list></variable><variable name="distance table"><list id="655"><item><list struct="atomic" id="656">phtot,phtot,0</list></item><item><ref id="649"></ref></item><item><ref id="653"></ref></item><item><ref id="650"></ref></item><item><list struct="atomic" id="657">jorpo,jorpo,0</list></item><item><ref id="651"></ref></item><item><ref id="654"></ref></item><item><ref id="652"></ref></item><item><list struct="atomic" id="658">jpxzdi,jpxzdi,0</list></item></list></variable></variables></scene></scenes></project><media name="Distanz mit Pythagoras" app="Snap! 10, https://snap.berkeley.edu" version="2"></media></snapdata>