An introduction to Logo: drawing, moving, turning, repetition, and basic procedures

Preview:

DESCRIPTION

B.A. (Mahayana Studies) 000-209 Introduction to Computer Science November 2005 - March 2006 12. Logo (Part 1). An introduction to Logo: drawing, moving, turning, repetition, and basic procedures. Overview. 1. What is Logo? 2. Installing Logo 3. Basic Commands 4. Drawing a Square - PowerPoint PPT Presentation

Citation preview

B.A. (Mahayana Studies)000-209 Introduction to Computer Science

November 2005 - March 2006

12. Logo (Part 1)

An introduction to Logo: drawing, moving, turning, repetition, and basic procedures.

000-209 Intro to CS. 12/logo1 2

Overview

1. What is Logo? 2. Installing Logo 3. Basic Commands 4. Drawing a Square 5. More Commands 6. The Repeat Command

continued

000-209 Intro to CS. 12/logo1 3

7. Procedures 8. Circle and Square 9. Drawing a Triangle 10. Drawing a House 11. Drawing a Checkboard 12. MSW Logo Examples

000-209 Intro to CS. 12/logo1 4

1. What is Logo?

A programming language developed at the MIT Artificial Intelligence Lab MIT = Massachusetts Institute of Technology

Logo is easy to learn, but powerful.

Logo has been used in telecommunications, multimedia, and robotics.

000-209 Intro to CS. 12/logo1 5

2. Installing Logo

MSW Logo Website: http://www.softronix.com/logo.html

The set-up kit (Windows installer): http://www.softronix.com/download/mswlogo65.exe

Tutorials The Great Logo Adventure

http://www.softronix.com/download/tgla.zip An Introduction to MSW Logo

http://www.southwest.com.au/~jfuller/logotut/menu.htm

continued

We're using MSW Logo, but there are many other Logo systems.

000-209 Intro to CS. 12/logo1 6

Double click on mswlogo65.exe to start the installation.

The program will be added to the start menu as "Microsoft Windows Logo". called MSW Logo

The MSWLogo directory contains an Examples/ folder (see end of these slides).

000-209 Intro to CS. 12/logo1 7

MSW Logo in Action

turtle drawing area

the turtle

editor

commandwindow

command input window

statuswindow

menus

commandbox

000-209 Intro to CS. 12/logo1 8

What is the Turtle?

Originally, the turtle was a robot that moved around the floor when the user typed Logo commands into a computer.

Today, it is a picture on the Logo drawing area in MSW Logo, the turtle is drawn as a triangle

000-209 Intro to CS. 12/logo1 9

3. Basic Commands

forward <number> the larger the number the farther the turtle will go if you use a large enough number, the turtle will walk

off the screen and wrap around to the other side e.g. forward 40

back <number> the turtle will move backwards e.g. back 33

continued

000-209 Intro to CS. 12/logo1 10

right <number> the number is how many degrees the turtle will turn ri

ght e.g. RIGHT 90

turn the turtle to the right by 90 degrees.

left <number> turns the turtle to the left

000-209 Intro to CS. 12/logo1 11

4. Drawing a Square

forward 100 right 90 forward 100 right 90 forward 100 right 90 forward 100

type these commands intothe command input window, pressing <enter> after each command

000-209 Intro to CS. 12/logo1 12

Error Messages

Your input: forward 10 20

Your input: back

errormessages

000-209 Intro to CS. 12/logo1 13

5. More Commands

penup causes the turtle to pick up its pen so that when it mov

es no line is drawn

pendown puts the pen back down so drawing starts again

continued

000-209 Intro to CS. 12/logo1 14

setpencolor <number> changes the colour of the turtle’s pen e.g. setpencolor 5

make your turtle draw a pink line

continued

MSW Logo hascommand helpunder "Index"

000-209 Intro to CS. 12/logo1 15

clean clears the turtle's drawing area

home moves the turtle back to the center of the drawing area

000-209 Intro to CS. 12/logo1 16

Example Using Setpencolor

forward 100 setpencolor 5 right 72 forward 100 setpencolor 14 right 72 forward 100 setpencolor 3 right 72 forward 100 setpencolor 2 right 72 forward 100

Because the turtle turned right 72 degrees 5 times, it made a pentagon

000-209 Intro to CS. 12/logo1 17

6. The Repeat Command

Get the turtle to do things many times, by using the repeat command.

e.g. repeat 4 [forward 10] move the turtle forward 10 spaces, 4 times the turtle will move forward 40 spaces altogether

In general, you type: repeat <number> [ <commands> ]

000-209 Intro to CS. 12/logo1 18

Draw a Square with Repeat

repeat 4 [forward 100 right 90]

000-209 Intro to CS. 12/logo1 19

Using Repeat

1.What will the following command draw? repeat 3 [forward 100 left 120]

2. Make a circle using the repeat command.

000-209 Intro to CS. 12/logo1 20

Answer 1: Draw a Triangle

repeat 3 [forward 100 left 120]

000-209 Intro to CS. 12/logo1 21

Answer 2: Draw a Circle

repeat 360 [forward 1 right 1]

000-209 Intro to CS. 12/logo1 22

7. Procedures

Add a new command to Logo by writing a procedure.

to <name of your procedure> <command 1> <command 2> :end

A procedure is a new command, built out of other commands

continued

000-209 Intro to CS. 12/logo1 23

For example: to square

repeat 4 [forward 100 right 90] end

The new command (procedure) is for drawing a square it can be used just like other Logo commands

000-209 Intro to CS. 12/logo1 24

Typing in a Procedure

•A "To Mode" window pops up after you type to <name of procedure>

•You enter your procedure line by line, and type end or press Cancel to finish.

continued

000-209 Intro to CS. 12/logo1 25

• After typing repeat 4 [forward 100 right 90] end

continued

000-209 Intro to CS. 12/logo1 26

Executing the procedure: square

000-209 Intro to CS. 12/logo1 27

A Circle Procedure

The program: to circle

repeat 360 [forward 2 right 1] end

Test it out: circle

000-209 Intro to CS. 12/logo1 28

The Edall Button

To add more procedures, or change one you've already written, click on the Edall button.

000-209 Intro to CS. 12/logo1 29

Using Edall

Enter a procedure for drawing a purple pentagon: to pentagon

setpencolor 10 repeat 5 [forward 75 right 72] end

In the Editor "File" menu, select "Save and Exit" when you are finished.

000-209 Intro to CS. 12/logo1 30

A Pentagon

000-209 Intro to CS. 12/logo1 31

Saving Procedures

If want to use the procedures some other time, you should save them.

000-209 Intro to CS. 12/logo1 32

8. Circle and Square

How would you write the procedure circle_and_square to make a drawing that looks like this?

The triangle is the position of the turtle at the end of the procedure.

000-209 Intro to CS. 12/logo1 33

Procedure

to circle_and_square home clean repeat 360 [forward 2 right 1] forward 50 repeat 3 [left 90 forward 100] left 90 forward 50 end

Now change circle_and_square so it uses the circle procedure.

continued

000-209 Intro to CS. 12/logo1 34

A procedure callsanother procedure.

circle_and_square

circle

calls

000-209 Intro to CS. 12/logo1 35

9. Drawing a Triangle

We want a procedure that draws a triangle with a flat base.

This requires different turnings of the turtle:

start

30120

12090

000-209 Intro to CS. 12/logo1 36

000-209 Intro to CS. 12/logo1 37

10. Drawing a House

A simple house is a square with a triangle on top of it.

After drawing the square, the turtle must move to the start of the triangle.

After drawing the triangle, the turtle must move back to its original position.

000-209 Intro to CS. 12/logo1 38

000-209 Intro to CS. 12/logo1 39

Procedure Calls

house

square

calls

triangle

000-209 Intro to CS. 12/logo1 40

11. Drawing a Checkboard

We're going to write a series of procedures that help us make a checkboard.

A checkboard is a series of columns. A column is a series of squares. A square is made from 4 corners.

000-209 Intro to CS. 12/logo1 41

Procedure Calls

checkboard column calls

square corner

I'll write four procedures, that call each other in a chain.

000-209 Intro to CS. 12/logo1 42

Drawing a Corner

We want a procedure that draws a straight line, then turns 90 degrees to the right.

to cornerforward 20right 90end

000-209 Intro to CS. 12/logo1 43

Where did the Turtle Go?

hideturtle make the turtle invisible drawing still occurs, but with no turtle

showturtle makes the turtle visible again

000-209 Intro to CS. 12/logo1 44

Drawing a Square with Corners

A square is four calls to corner:

000-209 Intro to CS. 12/logo1 45

Drawing a Column with Squares

A column is eight squares, followed by the turtle moving back to its starting position.

After drawing a square, the turtle needs to move up by 20 to get to the starting position for the next square.

start

start

continued

000-209 Intro to CS. 12/logo1 46

000-209 Intro to CS. 12/logo1 47

Drawing a Checkboard with Columns

A Checkboard is eight columns.

After drawing a column, the turtle must move right to the starting position for the next column.

At the end of drawing the checkboard, the turtle should move back to the lower-left corner of the checkboard.

000-209 Intro to CS. 12/logo1 48

000-209 Intro to CS. 12/logo1 49

12. MSW Logo Examples

Examples/Misc/curves.lgo continued

000-209 Intro to CS. 12/logo1 50

Examples/3D/Hilbert.lgocontinued

000-209 Intro to CS. 12/logo1 51

Examples/3D/solar.lgo

continued

000-209 Intro to CS. 12/logo1 52

Examples/Misc/clock.lgo

continued

000-209 Intro to CS. 12/logo1 53

Examples/Windows/calc.lgo

Recommended