Q.1
The basic process in this example is:
to draw a box with the drawBox block
to set all the pixels in the rectangle to black
to use the drawRectangle block and fill in the box with smaller and smaller rectangles.
Q.2
The structure of this program is...
Two big loops to iterate across the right X and Y values to make a box
One big loop to iterate across the right X and Y values to make a box
One big loop to iterate across all the pixels, then only blacken the ones with the right X and Y values to draw the box