<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body bgcolor="#FFFFFF" fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;"><br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF141656" style="direction: ltr; "><font face="Tahoma" size="2" color="#000000"><b>From:</b> Stephen Bloch [bloch@adelphi.edu]<br>
<b>Sent:</b> Thursday, October 04, 2012 3:38 PM<br>
<b>To:</b> Ashley Fowler<br>
<b>Cc:</b> users@racket-lang.org<br>
<b>Subject:</b> Re: [racket] cube-all<br>
</font><br>
</div>
<div></div>
<div>
<div><br>
</div>
<div><br>
On Oct 4, 2012, at 12:17 PM, Ashley Fowler &lt;<a href="mailto:afowler2@broncos.uncfsu.edu" target="_blank">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="">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 &quot;inventory with values&quot; 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 &quot;right answer&quot; 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 &quot;right answer&quot; 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=""><br>
<br>
Stephen Bloch
<div><a href="mailto:sbloch@adelphi.edu" target="_blank">sbloch@adelphi.edu</a></div>
<div><br>
</div>
<div><br>
</div>
<div><span style="font-family: Tahoma; font-size: 13.600000381469727px; ">I tried using your example. One question. What do you mean by&nbsp;</span>write the data type of each expression next to it?</div>
</span></div>
</div>
</div>
</div>
</body>
</html>