<snapdata remixID="9763121"><project name="AbstractDataType Lecture Template" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><stage name="Stage" width="480" height="360" costume="1" 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" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAFt0lEQVR4nO3avVEjQRAG0HWwcQkCbxPAkK/eouQQAzkQBM7lcEGQw10OODhkcGegu6IofiQxuzsz/V7VWGAItDvT018PAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJDFOI5n2+32Zrvd3ozjeLb25wGAru12u4uIuIuIx4h42K/HiLjb7XYXa38+AOhKRFxN0/QzIp4i4n6apst/P5um6TIi7iPiaf87Vyt+VABo22azOY+I24j4tV+3m83mvNTvAwCvlLjRfnZjBgD2xnE8i4jr0pnuO5nxtaEtANJb6oCc64AHgKas2SI2tAVAKrUNSdX2eQCgqBZunIa2AOhCq5mroS0AmtTLAdZqAQFAMj23cFtooQOQSLYhpmx/LwCVcSPs+8YPQEVkou/rJfMGoDIOmMMoUAAoQov1dFr0ABzFkFFZ/p8AfMqNbX46CgAMwyCzXItMHSApB0AdFEAASWiB1ksEANAZQ0Bt8X0BNM6Nqn06FgCNkCn2SWYPUCkbdA4KLIBKaFHmJWIAWJghHV7zPADMzI2Hr+iIABQi8+MUZgIATmQDpQQFHMCBtBCZiwgD4A1DNCzJ8wak50bC2nRcgDRkctTIzAHQLRscLVAgAt3Q4qNVIhKgOYZc6InnGaieGwO909EBqiEzIyMzDcBqbECgAAUWpAUH7xPBAMUZQoHDeV+Ab1PRw/foGAEHk2lBeWYmgA/ZIGB+ClzgPy0yWIeIBxIyJAL18D5CAipuqJuOFHRE5gTtMZMBDfMCQ/sU0NAQLSzokwgJKmSIA/LwvkMFVMSQm44XLEgmBLxl5gNm5AUDvqJAh4K0mIBTiKjgBIYsgFLsJ3AAFSswJx01eEVmAyzNTAmpeQGAtbkAkIoWEFAjERhdMgQBtMJ+RRdUlEDLdOxoikwF6I2ZFarmAQV654JBVbRogIxEbKzCkALAC/shi1DxAXxMR5CiZB4AxzETw7d4gAC+xwWGo2ihAJQnwuNdhggAlmG/ZRgGFRnAmnQck5FJANTFzE3nfMEAdXNB6owWB0B7RISNEvID9MF+3ggVE0C/dDQrIzMAyMVMz8p8AQC5uYAtTAsCgLdEkDMRwgNwCOdFISoaAE6lY3okPX0ASjIz9AX/IADm5IL3hhYBAEtLG3EKyQGoQZrzKG3FAUD1uuvI6rkD0JLmZ5Ka/wMASK25C2R3V3gA0qs2Qk0TYgOQWjXnXbUVAQDMbPGOb3M9cQCY0ewzT4aqAOBjxS+ohqoA4DgnR7TVhMwA0LBX5+nvT89TQ1UAMI8PO8r7nvWfiHiepunHPu+1LMuyLKvg2p+xz/Fy5j4Ma38gy7Isy8q4Vr6YAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlPQXGmhSsYhZtNwAAAAASUVORK5CYII=</pentrails><costumes><list id="2"><item><costume name="XY Grid" center-x="240" center-y="180" image="data:image/png;base64,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" id="3"/></item></list></costumes><sounds><list struct="atomic" id="4"></list></sounds><variables></variables><blocks></blocks><scripts><script x="306.47783251231533" y="57.01847290640404"><block s="doForEach"><l>item</l><l/><script></script></block></script></scripts><sprites><sprite name="Sprite" idx="1" x="240" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="13"><costumes><list struct="atomic" id="14"></list></costumes><sounds><list struct="atomic" id="15"></list></sounds><blocks></blocks><variables></variables><scripts><script x="463.2758620689656" y="124.14532019704433"><block s="reportNewList"><list><l>240</l><l>0</l><l>0</l><l>100</l><l>-240</l><l>0</l><l>240</l><l></l></list><comment w="165.3694581280788" collapsed="false">odd index numbers are x points&#xD;even index numbers are y points&#xD;draws a Triangle</comment></block></script><comment x="521.8226600985222" y="193.74384236453196" w="307.2413793103449" collapsed="false">The list of numbers is confusing because it is not obvious which numbers are x and which are y coordinates. It will also be difficult to maintain (add or delete coordinates to the lists).&#xD;It would be better to create a matrix (a list of list). Each item in the list will be a list of x and y coordinates.</comment><comment x="15.492610837438463" y="14.21510673234802" w="414.1379310344828" collapsed="false">Abstract Data Types (ADT) is a custom data type created by the programmer to provide meaning to the data in your program. It is not built into the programming language. ADT are created with custom constructor and selector functions (blocks).&#xD;ADT are a form of abstraction because they make are program easier to understand, read, and debug.</comment><comment x="505.56650246305423" y="10" w="290.9852216748768" collapsed="false">Lists and Numbers are examples of Primitive Data Types</comment><comment x="15.911330049261096" y="106.05911330049264" w="413.1527093596059" collapsed="false">Step 1: Create A Reporter block (the constructor) that will take two numbers as the domain (x and y coordinates) and output a list as the range.</comment><comment x="10.492610837438434" y="196.2068965517241" w="421.5270935960591" collapsed="false">Step 2: Create two report blocks (the selectors) that will take the list created by the contructor block as the domain and output a single number as the range (one the x coordinate the second block the y coordinate).</comment><comment x="10" y="319.35960591133005" w="343.69458128078816" collapsed="false">Step 3: Create a list that stores the necessary Coordinte Points to draw your specified shape </comment><comment x="523.7931034482759" y="304.5812807881773" w="304.2857142857142" collapsed="false">Step 4: Create a Draw Shape Command Block whose domain will be the list of Coordinate Points create in step 3. The command block will draw the shape on the screen by using a the for each item block and the selector blocks created in Step 2.</comment><script x="434.967660687827" y="57.603858784893134"><block s="reportNewList"><list><l>240</l><l>0</l><l>0</l><l>100</l><l>-240</l><l>0</l><l>0</l><l>-100</l><l>240</l><l>0</l></list><comment w="165.3694581280788" collapsed="false">odd index numbers are x points&#xD;even index numbers are y points&#xD;draws a diamond</comment></block></script><script x="571.8768472906404" y="526.7405582922825"><custom-block s="Coordinate Points, X Point: %s Y Point: %s"><l>0</l><l>210</l></custom-block></script><script x="37.8768472906404" y="407.74055829228246"><custom-block s="x coordinates %l"><custom-block s="Coordinate Points, X Point: %s Y Point: %s"><l>240</l><l>0</l></custom-block></custom-block></script><script x="10" y="276.74055829228246"><custom-block s="Coordinate Points, X Point: %s Y Point: %s"><l></l><l></l></custom-block></script><script x="36.8768472906404" y="435.74055829228246"><custom-block s="y coordinates %l"><custom-block s="Coordinate Points, X Point: %s Y Point: %s"><l>100</l><l>7</l></custom-block></custom-block></script><script x="169" y="660.7405582922826"><block s="doForEach"><l>item</l><block var="points"/><script><block s="doSayFor"><block var="item"/><l>2</l></block></script></block></script><script x="28" y="475.24055829228257"><block s="clear"></block><block s="down"></block><block s="doDeclareVariables"><list><l>points</l></list></block><block s="doSetVar"><l>points</l><block s="reportNewList"><list><custom-block s="Coordinate Points, X Point: %s Y Point: %s"><l>240</l><l>0</l></custom-block><custom-block s="Coordinate Points, X Point: %s Y Point: %s"><l>0</l><l>100</l></custom-block><custom-block s="Coordinate Points, X Point: %s Y Point: %s"><l>-240</l><l>0</l></custom-block><custom-block s="Coordinate Points, X Point: %s Y Point: %s"><l>240</l><l>0</l></custom-block></list></block></block><custom-block s="Draw a Shape %l"><block var="points"/></custom-block></script></scripts></sprite></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Coordinate Points, X Point: %&apos;x#&apos; Y Point: %&apos;y #&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="x#"/><block var="y #"/></list></block></block></script></block-definition><block-definition s="x coordinates %&apos;coordinates&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="coordinates"/></block></block></script></block-definition><block-definition s="y coordinates %&apos;coordinates&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="coordinates"/></block></block></script></block-definition><block-definition s="Draw a Shape %&apos;data points&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doForEach"><l>item</l><block var="data points"/><script><block s="gotoXY"><custom-block s="x coordinates %l"><l/></custom-block><custom-block s="y coordinates %l"><l/></custom-block></block></script></block></script></block-definition></blocks><variables></variables></project><media name="AbstractDataType Lecture Template" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>