<?xml version="1.0" encoding="ISO-8859-1" ?>
  <resource>
  <id>5460</id>
  <path>/www/nrich/html/content/id/5460/</path>
  <resourceTypeID>6</resourceTypeID>
  <last_published>2011-02-01T00:00:01</last_published>
  <indexXML>&lt;mdoxml version=&quot;1.0&quot;&gt;&lt;br&gt;&lt;/br&gt;
&lt;p&gt;Logo testbed and demonstrator - version 0.6&lt;br&gt;&lt;/br&gt;
See the &lt;a href=&quot;http://nrich.maths.org/public/viewer.php?obj_id=5460&amp;amp;part=clue&quot;&gt;hint&lt;/a&gt; and &lt;a href=&quot;http://nrich.maths.org/public/viewer.php?obj_id=5460&amp;amp;part=note&quot;&gt;notes&lt;/a&gt; for further explanation. Future versions will incorporate their own help.&lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
We have developed an excellent series of &lt;a href=&quot;http://nrich.maths.org/7963&quot;&gt;interactive articles&lt;/a&gt; to help you to learn how to program in LOGO.&lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
&lt;a href=&quot;/content/id/5460/Logo.swf&quot;&gt;Full Screen Version&lt;/a&gt;&lt;br&gt;&lt;/br&gt;
&lt;mdo:flash height=&quot;400&quot; width=&quot;550&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot; &gt;&lt;/param&gt;&lt;param name=&quot;movie&quot; value=&quot;/content/id/5460/Logo.swf&quot; &gt;&lt;/param&gt;&lt;param name=&quot;flashplayerversion&quot; value=&quot;7&quot; &gt;&lt;/param&gt;&lt;param name=&quot;height&quot; value=&quot;400&quot; &gt;&lt;/param&gt;&lt;param name=&quot;width&quot; value=&quot;550&quot; &gt;&lt;/param&gt;&lt;/mdo:flash&gt;&lt;/p&gt;&lt;/mdoxml&gt;</indexXML>
  <solutionXML/>
  <noteXML>&lt;mdoxml version=&quot;1.0&quot;&gt;&lt;br&gt;&lt;/br&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Release Notes&lt;/span&gt; &lt;br&gt;&lt;/br&gt;
Version 0.6&lt;br&gt;&lt;/br&gt;
&lt;ol&gt;
&lt;li&gt;Ran regression tests again and discovered that v0.5 had indeed
regressed due to problems with returning values from procedures.
v0.6 fixes these.&lt;/li&gt;
&lt;li&gt;Boolean and Logical operations should be added&lt;/li&gt;
&lt;li&gt;Next release should adddress the two major problems of infix
operator precedence and better handling of recursion depth. A new
tokeniser is in the works for this.&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;&lt;/br&gt;
Version 0.5&lt;br&gt;&lt;/br&gt;

&lt;ol&gt;
&lt;li&gt;Added Pause/Resume to Output panel too.&lt;/li&gt;
&lt;li&gt;New primitives: abs arccos cos radarccos radcos arcsin sin
radarcsin radsin arctan tan radarctan radtan exp ln log10 pi power
sqrt setspeed speed&lt;/li&gt;
&lt;li&gt;show and print nowunderstand parenthesised calls as in (show 1
2 3 4 &amp;quot;five), which displays the list [1 2 3 4 five]&lt;/li&gt;
&lt;li&gt;Fixed a race bug in turtle animation&lt;/li&gt;
&lt;li&gt;Added support for comments . These start with a semicolon and
continue to the end of line.&lt;/li&gt;
&lt;li&gt;Added numeric range checking to primitive calls. e.g. (arccos
-2) will print 'arccos doesn't like -2 as input'.&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;&lt;/br&gt;
Version 0.4&lt;br&gt;&lt;/br&gt;

&lt;ol&gt;
&lt;li&gt;Turtle movements are now animated so you can see them
happening.&lt;/li&gt;
&lt;li&gt;Added Turtle speed control. The fastest speed (10) skips the
animation.&lt;/li&gt;
&lt;li&gt;Added Pause/Resume button&lt;/li&gt;
&lt;li&gt;Fixed bug in 'left'&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;&lt;/br&gt;
Version 0.3&lt;br&gt;&lt;/br&gt;

&lt;ol&gt;
&lt;li&gt;Fixed Run button behaviour&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;&lt;/br&gt;
Version 0.2 
&lt;ol&gt;
&lt;li&gt;(sum 1 2 3) and (product 1 2 3 4) now work. Note that (+ 1 2 3)
returns a syntax error because + is an infix operator. (1 + 2 + 3)
is the equivalent syntax for +. (* is similar)&lt;/li&gt;
&lt;li&gt;Print and Show now mirror MSWLogo behaviour correctly&lt;/li&gt;
&lt;li&gt;There needs to be a separate command panel&lt;/li&gt;
&lt;li&gt;Need Single Step&lt;/li&gt;
&lt;li&gt;Hitting the Run button while the program is running confuses
it.&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;&lt;/br&gt;
Version 0.1 
&lt;ol&gt;
&lt;li&gt;Operator precedence is not supported yet. Use parenthesis. e.g.
(2*3)+4&lt;/li&gt;
&lt;li&gt;The code reader does not distinguish unary minus (negative
numbers) from binary subtraction well and can get confused. Use
parenthesis.&lt;/li&gt;
&lt;li&gt;Recursion is only supported to a depth of 255 calls.&lt;/li&gt;
&lt;li&gt;Load and Save only allow you to save one program&lt;/li&gt;
&lt;li&gt;There is no inbuilt help system yet&lt;/li&gt;
&lt;li&gt;(sum 1 2 3) only sums 1 and 2&lt;/li&gt;
&lt;li&gt;Quite a few primitives are still missing&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;&lt;/br&gt;&lt;/mdoxml&gt;</noteXML>
  <clueXML>&lt;mdoxml version=&quot;1.0&quot;&gt;&lt;br&gt;&lt;/br&gt;
Commands roughly follow MSWLogo syntax, so until we have a complete
help system, please use the MSWLogo help for deeper explanations.
&lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
Command names are case insensitive. &lt;br&gt;&lt;/br&gt;
e.g. 'print', 'PRINT, and 'Print' are all equivalent.&lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
Here is the list of Logo commands that are currently supported in
some shape or form. &lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
&lt;code&gt;+ - * / = &amp;lt; &amp;gt; abs arccos arcsin arctan back bk butfirst
butlast clearscreen cos cs difference empty equalp exp first
forward fd fput greaterp halt heading hideturtle ht if ifelse int
item last left lessp list ln log10 lput make member minus pd
pendown penup pi power print product pu quotient radarccos
radarcsin radarctan radcos radsin radtan repeat right run sentence
setpc setpencolor setpencolour setpensize setspeed setx setxy sety
show showturtle sin speed sqrt st sum tan trace untrace wait word
xpos ypos&lt;/code&gt; &lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
The demonstrator starts with the editor already containing a
working program. Press Run to test this. You should see it output
to both the turtle graphics window and the output window.&lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
To enter your own program, clear the editor panel and type it in.
Use 'Revert' to restore the demonstration program.&lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
In this version you may save a copy of one program using the Save
button. This will be restored to the editor panel when you press
Load. The code is stored on your computer so Load will only restore
a program you saved earlier using the same machine.&lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
If you want to save a program into a file, you can do so by
selecting the text, then Right-Click &amp;gt; Copy. Paste the result
into any text editor and save. You can use something like Notepad,
Word, TextEdit for this last step. &lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
To reload a program saved in this manner, simply paste the text
back into the editor box with Right-Click &amp;gt; Paste. &lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
Window panels can be moved, minimised, and resized. To illustrate
different problems we can configure these panels appropriately and
seed the editor with some initial logo code. &lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Differences from MSWLogo&lt;/span&gt;
&lt;br&gt;&lt;/br&gt;

&lt;ul&gt;
&lt;li&gt;SETSPEED sets the turtle animation speed. It needs a number
between 1 and 10. SPEED returns the current turtle speed.&lt;/li&gt;
&lt;li&gt;Just one turtle is allowed&lt;/li&gt;
&lt;li&gt;The turtle can only move in 2D space.&lt;/li&gt;
&lt;li&gt;We don't plan to support BURY and related commands, functional
programming constructs (APPLY, YIELD, MAP,...), exception handling
with THROW and CATCH, legacy Windows colour palettes and patterns,
Logo generated user controls (RADIOBUTTONCREATE,...)&lt;/li&gt;
&lt;li&gt;The following will be supported only if needed: the ARRAY data
type, BITMAPTURTLE&lt;/li&gt;
&lt;li&gt;These can never be supported due to the limitations of Flash
and/or online delivery: File I/O, 3D, POLY commands
(POLYSTART,...), access to MIDI devices, Mouse I/O.&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;&lt;/br&gt;
&lt;br&gt;&lt;/br&gt;&lt;/mdoxml&gt;</clueXML>
  <canonXML/>
  <end_user_role>2</end_user_role>
  <difficulty>3</difficulty>
  <keystage1>0</keystage1>
  <keystage2>1</keystage2>
  <keystage3>1</keystage3>
  <keystage4>1</keystage4>
  <keystage4plus>1</keystage4plus>
  <title>Logo</title>
  <description>This is a complete Logo development system which runs in the Flash
Player. It can therefore be used to introduce Logo problems over
the web without the need to refer readers to external programs
which have to be downloaded and installed.</description>
  <spec_group>Information and Communications Technology
    <specifier>Logo</specifier>
  </spec_group>
  <spec_group>Information and Communications Technology
    <specifier>Programming</specifier>
  </spec_group>
</resource>