<html><body bgcolor="#FFFFFF"><div><br></div><div><br>On Oct 4, 2012, at 12:17 PM, Ashley Fowler &lt;<a href="mailto:afowler2@broncos.uncfsu.edu">afowler2@broncos.uncfsu.edu</a>&gt; wrote:<br><br></div><div></div><blockquote type="cite"><div>
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<div>I need to write a function that takes a list and cubes the whole list, for instance,&nbsp;<span style="white-space: pre-wrap; ">(cube-all '(3 4 2 5)) returns (27 64 8 125).</span></div></div></div></blockquote><div><br></div>OK, that's one good test case. &nbsp;My students would be dinged for writing only one, but maybe your instructor isn't so demanding.<div><br><blockquote type="cite"><div><div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<div><span style="white-space: pre-wrap; "><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">So far I have the code below, but it is not working out like I want it to. Any advice or suggestions?</span><br></span></div>
<div>(define cube-all&nbsp;</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>(lambda (ls)</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>(if (null? ls)</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>&nbsp; &nbsp; &nbsp;ls</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>(cons(car ls)(cube-all (cdr ls))</div>
</div>


</div></blockquote><div><br></div>What I call the "inventory with values" technique. &nbsp;Write down all the expressions you're likely to need inside the function, one on a line: in your case,</div><div>ls</div><div>(null? ls)</div><div>(car ls)</div><div>(cdr ls)</div><div>(cube-all (cdr ls))</div><div>Also write down the words "right answer" on another line.</div><div>Next, write the data type of each expression next to it.</div><div>Then pick a not-too-simple example (the one you gave, '(3 4 2 5), will work nicely). &nbsp;Write down next to each expression its value for that example.</div><div>Then look at the value of "right answer" and ask how you could get it from the values of the other expressions. &nbsp;Which of the other expressions resembles it most closely? &nbsp;(Usually the result of a recursive call.) &nbsp;What would you need to do to that similar value to get _exactly_ the right answer?</div><div>Once you've got an expression that works for this example, try it on other examples.<br><div><br></div><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); "><br><br>Stephen Bloch<div><a href="mailto:sbloch@adelphi.edu">sbloch@adelphi.edu</a></div></span></div></body></html>