MswLogo - Introductory Worksheet

Copyright © by Mark Baker 1997 Copyright waiver Return to MarkChrisSoft home page

The Commander
This allows instructions to be entered and executed immediately. Type your instructions into the input box, then press return. There is a triangular pointer on the main MswLogo screen, this is called the turtle (for historical reasons)! The turtle obeys the commands or instructions, that you type into the Commander. This is an artistic turtle and it is holding a pen, so that when it moves, a line is drawn on the screen. To repeat an instruction entered earlier, click on it in the window above the input box (the output box), then press return. Alternatively, you can double click on the item. Press the Status button to see what Logo is doing at any time. Press the No Status button to close the status window.

Simple Drawing
forward, back right, left pen up pen down arc home clearscreen Moves the pen forwards/backwards, eg. forward 100 moves the pen forward 100 units Turn right/left e.g. right 90 means turn right 90 degrees Picks up the pen so that it is above the screen Puts the pen down on the screen Draws an arc. arc 360 50 draws a full circle, of radius 50. arc 180 50 draws a semi-circle of radius 50. Returns the turtle to its starting position Clears the screen (rubs everything out) and returns the turtle to its starting (home) position

Note: Spaces are important. forward100 is illegal, forward 100 is legal right90 is illegal, right 90 is legal 1. Click on the input box and type in these instructions. Draw a sketch in your books to show the shape that is drawn: forward 100 right 90 forward 50

so Logo allows you to use abbreviations for some of the most common commands. draw the shape on the screen first. left pen up pen down clearscreen fd / bk rt / lt pu pd cs 4. arc 360 50 pu fd 50 pd arc 360 50 Abbreviate Commands These programs take a lot of typing. What do these instructions draw? Draw a sketch of it in your books. forward. .left 20 forward 100 right 20 back 100 home 2. then write the instructions into your book. What do these instructions draw? Draw a sketch of it in your books. What do these instructions draw? fd 120 lt 90 pu fd 50 lt 90 pd fd 120 pu home For each of the questions below. back right. forward 120 left 90 forward 50 left 90 forward 120 left 90 forward 50 3.

5. 7. Repeat Structure . 8. Write down the instructions that will draw these shapes. Write down the instruction that will draw a circle. Write down the instructions that will draw a triangle. Enter them on the computer and debug (correct) them. with sides of length 80. Write down the instructions that will draw a square. Write the correct instructions in your book. 6. with sides of length 100 (see diagram below). of radius 50.

10. rt 90. For the square procedure we want one parameter. Logo allows you to write procedures which are useful sets of instructions. rt 90. Draw a rectangle using the repeat instruction. Sending Parameters The DrawSquare procedure is very useful. 9. Write the instructions that you used in your book. rt 90 To make this easier you can use a loop structure (or repetition structure) to repeat the same instructions as many times as you like. What shape do these instructions draw? repeat 8 [fd 40 rt 45] 11.Often you want to repeat the same instructions several times. It is no good if you want to draw squares of different sizes. You could draw the square using these instructions: repeat 4 [fd 50 rt 90] Everything inside the bracket is done four times. 13. Often you would be repeating the same basic shapes. Enter it on the computer to test that it works. 12. Write the instructions that you used in your book. the length of the sides. Write another procedure. Draw a hexagon (six-sided shape) using the repeat instruction.g. which will create the procedure DrawSquare: to DrawSquare repeat 4 [fd 100 rt 90] end Now enter the instruction "DrawSquare" (this is known as "calling the procedure") and explain what happens. rectangles and so on. Write a procedure in your book that will draw a rectangle. 14. A parameter is a value that you send into a procedure and you can use a parameter to change the size of the square that is drawn. It would be much more useful if you could vary (change) the size of the square. . Type in these instructions. to draw a shape of your own choice. 15. e. fd 50. when drawing a square you would need: fd 50. so long as you always want to draw a square where all the sides are 100 units long. fd 50. rt 90. Try to draw a square using the repeat instruction. Write the instructions that you used in your book. fd 50. Procedures Using Logo to draw a complicated picture would take a long time. squares. You can then call them up whenever you want to. Write the instructions into your book and draw a sketch to show what happens when you call your procedure.

all of them a different size. Use this procedure to draw some shapes. FD 100 . eg. 22. Enter these commands: DrawSquare2 50 DrawSquare2 75 DrawSquare2 100 18. 24. so that other people can understand what you have done. Use this procedure to draw four shapes. Enter this procedure. using different numbers for length and sides. to Draw :length repeat 3 [FD :length RT 120] end 20.1] setpencolor[255 0 0] Sets the width of the line drawn to 10 units Sets the width back to normal again Sets the colour of the pen to red.to DrawSquare2 :length repeat 4 [fd :length rt 90] end 16. Explain what the procedure POLYGON does. Other colours include: [0 255 0] green [0 0 255] blue [128 128 128] grey . Anything that comes after the semi-colon is ignored by the program and is just there as a programmer's comment. What shape does it draw? 21.0/:sides] end 23. Enter this procedure. Enter this procedure: to polygon :length :sides repeat :sides [FD :length RT 360. Sketch the design that these three commands draw. Comments You should always try and put helpful comments in your programs. 17.this moves you forward 100 units Changing Pen Attributes (Properties) setpensize[10 10] setpensize[1. 19. You can do this in Logo by typing a semi-colon.

using Logo.[0 0 0] black setpencolor [r g b] The general case.co. e-mail mbaker@rmplc. hideturtle setpos[x. Additional Commands Here are some additional commands that you might like to experiment with. all numbers from 0-255.uk Last revision: 24th May 1997 . where r = amount of red. to explain what you have done. 30. Enter the commands on the computer and correct any errors (bugs) in your program. Create your own picture or design. Draw a sketch of your picture/design in your book and write down the commands that you think you will need. 27. Your Own Picture 25. showturtle. using different pen colours and different line widths. You might want to write some new procedures too. Explain what bugs you found in your program and what you had to do to correct them. 29. 28. Add some comments to your program. Print out the finished program and glue it into your book. You should try and use some of the procedures that you have already entered.y] (must use penup if you do not want a line drawn from your current position) Return to MarkChrisSoft home page Author: Mark Baker. 26. g = amount of green and b = amount of blue.

. An approximation of a circle can be constructed easily with 360 small rotations and a step forward: REPEAT 360 [FD 1 RIGHT 1]. FD 20 PENUP FD 20 PENDOWN FD 20 PENUP FD 20 PENDOWN FD 20 .com Term 1 Class activities . The turtle's pen can be lifted and lowered. REPEAT 36[ RT 10 REPEAT 360 [FD 1 RT 1]] [edit] Defining procedures. the need for an editor Basic Chair .Logo commands The pen Turtle drawing a dotted Line The analogy of a turtle with a pen attached to its tail is often used. .http://www. REPEAT is one. giving spectacular results with little effort. drawing a line and moving lifting the pen so it won't draw anything not drawing but moving lowering the pen so it draws again drawing a line and moving [edit] Loops There are three loop (repeat) commands. Loops may be embedded. . . This draws a box. REPEAT 4 [FD 100 LEFT 90] The command "FD 100 LEFT 90" is executed four times.softronix. thus drawing a rudimentary dotted line.

and the turtle's pen must erase.(to enter the editor mode. All Logos can invoke an Editor. the word :thesize takes the value 200 so when FD :thesize is executed. The pen can be restored with the command PENPAINT (PPT). usually by EDALL. The process is the same. the sequence REPEAT 4 [FD 100 LEFT 90] FD 200 will be executed. In UCBLogo. the procedure is limited to the physical line length of the input device. In the editor. The word CHAIR can be used as a command. CS REPEAT 20 [CHAIR WAIT 200 ERASECHAIR FD 20] Logo can pass extra information to its words. It passes the information 'by value' and the colon is pronounced as 'the value of'.Procedures can be defined on the command line. The procedure." that enables easy entry by novices and yet meet the needs of high powered users. procedures may be written over many lines. using the TO END pair: TO CHAIR REPEAT 4 [FD 100 RT 90] FD 200 END However. EDALL . the turtle can be set to erase using the command PENERASE (PE). and return information.(to enter the editor mode. then the actual procedure) TO ERASECHAIR PE BK 200 REPEAT 4 [FD 100 RT 90] PPT END CS CHAIR WAIT 200 ERASECHAIR A WAIT delay between the drawing and the erasing introduces the illusion of motion. for example. then the actual procedure) TO CHAIR :thesize REPEAT 4 [FD :thesize RT 90] FD :thesize FD :thesize . (word) is instructed to expect something and give that something a name. any time CHAIR is entered. but the definition will be lost once the Logo session is over. except that in the former a line is deposited on the display device and in the latter a line is removed. Using the turtle analogy. [edit] Animation Logo was designed in spirit of "low threshold and no ceiling. REPEAT 4 [CHAIR] would repeat the CHAIR operation four times. Now any future FD movements will erase anything beneath them. When the procedure is run with a command like CHAIR 200. as nothing is interpreted until the edit is complete. EDALL TO CHAIR REPEAT 4 [FD 100 RT 90] END FD 200 The new word is saved into the available vocabulary. the interpreter understands 'FD the value of 200'. The colon is used for this purpose. the turtle's pen must paint. EDALL . Internally procedures are words and in this case. Animations require both the ability to draw shapes and to erase shapes.

END CS REPEAT 9 [CHAIR 50 RT 20 CHAIR 100 WAIT 50 RT 20] .