We’ve already found the Contract for gt, generated Examples and described the pattern with a Function Definition. Let’s review our process, beginning with the Word Problem.

Define a function called gt, which makes solid green triangles of whatever size we want.

Contract and Purpose Statement

Every contract has three parts…​

gt::Number->Image

Consumes a size, and produces a solid green triangle of that size.

Examples

Write some examples, then circle and label what changes…​

examples:

gt (10) is triangle​(​10, "solid", "green"​)

gt (20) is triangle​(​20, "solid", "green"​)

end

Definition

Write the definition, giving variable names to all your input values…​

fun gt(size):

triangle​(​size, "solid", "green"​)

end

Now, let’s apply the same steps to think through a new problem!

Define a function called bc, which makes solid blue circles of whatever radius we want.

Contract and Purpose Statement

Every contract has three parts…​

__::______->_____

_

Examples

Write some examples, then circle and label what changes…​

examples:

__ (__) is ___________________________

__ (__) is ___________________________

end

Definition

Write the definition, giving variable names to all your input values…​

fun __(______):

_______________________________

end

These materials were developed partly through support of the National Science Foundation, (awards 1042210, 1535276, 1648684, 1738598, 2031479, and 1501927). CCbadge Bootstrap by the Bootstrap Community is licensed under a Creative Commons 4.0 Unported License. This license does not grant permission to run training or professional development. Offering training or professional development with materials substantially derived from Bootstrap must be approved in writing by a Bootstrap Director. Permissions beyond the scope of this license, such as to run training, may be available by contacting contact@BootstrapWorld.org.