We want to shift the Turtle some distance on the X axis and some distance on the Y axis (relative to its current orientation), without drawing anything.
ERASE "jump
TO jump :x :y
  PU FD :y RT 90 FD :x LT 90 PD
END
By using negative numbers, we can shift the Turtle anywhere. For example,
Jump 100 -50 will shift the Turtle 100 steps east and 50 steps south.
We will use the jump procedure defined above. Using REPEAT, we can draw any number of squares:
REPEAT 10 [
  Square 100
  Jump 20 20
]
Regular circle:
ERASE "circle
TO circle
  REPEAT 360
[FD 1 RT 1]
END
The mirror image would be:
ERASE "circle.m
TO circle.m
  REPEAT 360
[FD 1 LT 1]
END
To draw the circles side-by-side:
Circle Circle.m
Imagine holding a plastic square pinned at one corner and rotating it in a clockwise fashion.
Note that, to get the 2x2 paned window we have to consider 3 important factors:
1. The basic pattern is a square.
2. It is drawn 4 times.
3. To draw it 4 times, the Turtle must turn 360/4 degrees each time.
REPEAT 4 [
  Square 100
  RT 90
]
We can similarly draw the other 2 designs using the Square procedure:
REPEAT 6 [
  square 100 RT 360/6
]
REPEAT 8 [
  square 100 RT 360/8
]
We could put the above instructions in the form of a procedure:
First without input; a flower of 8 petals of size 100:
ERASE "sqflower
TO sqflower
  REPEAT 8 [
    square 100 RT 360/8
  ]
END
Next, let's first add the 'size' input:
ERASE "sqflower
TO sqflower :size
  REPEAT 8 [
    square :size RT
360/8
  ]
END
After testing this to verify that we are able to draw 8-petal flowers of different sizes, we will next add the input for number of petals:
ERASE "sqflower
TO sqflower :size :n
  REPEAT :n [
    square :size RT 360/:n
  ]
END
; 3 inputs: L is polygon type, S is polygon size, 
;           M
is # of petals
ERASE "polygon.flower
TO polygon.flower :L :S :M
  REPEAT :M [
    REPEAT :L [FD :S RT 360/:L]
    RT 360/:M
  ]
END
REPEAT 360 [FD 1 RT 1] gives a simple circle.
Four circles:
REPEAT 4 [
  REPEAT 360
[FD 1 RT 1]
  RT 360/4
]
Ten circles:
REPEAT 10 [
  REPEAT 360
[FD 1 RT 1]
  RT 360/10
]
Earth design:
ERASE "circle
TO circle :size
  REPEAT 360 [FD :size/360 RT 1]
END
ERASE "c.pattern
TO c.pattern :n :size
  REPEAT :n [
    circle :size RT
360/:n
  ]
END
Setpensize 2 SETPC 10 c.pattern 36
300
SETPC 4 c.pattern 36 100
ERASE "square
TO square :size
  REPEAT 4 [FD :size RT 90]
END
ERASE "row.of.squares
TO row.of.squares :size :n
  REPEAT :n [
    square :size
    jump :size+10 0
  ]
END
row.of.squares 50 5
row.of.squares 30 8