We’ve provided the full Design Recipe for kilos
as an example to help you think through the Design Recipe for days-to-adoption
.
Define a function called kilos
, which consumes a Row of the animals table and computes the number of kilograms the animal weighs (1 kg = 2.2lbs). HINT: use predefined rows like cat-row
to make your examples easier!
Contract and Purpose Statement |
Every contract has three parts…
kilos::Row->Number
Consumes an animal, and muiltiples the pounds by 2.2 to produce kg
Examples |
Write some examples, then circle and label what changes…
examples:
kilos (dog-row) is 2.2 * dog-row["pounds"]
kilos (cat-row) is 2.2 * cat-row["pounds"]
end
Definition |
Write the definition, giving variable names to all your input values…
fun kilos(r):
2.2 * r["pounds"]
end
Define a function called days-to-adopt
, which computes the number of days it took an animal to be adopted by multiplying the number of weeks by 7.
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
★ Practice using build
in Putting it All Together Starter File: Define a new table called kilos
with an extra column for "kilos".
These materials were developed partly through support of the National Science Foundation, (awards 1042210, 1535276, 1648684, 1738598, 2031479, and 1501927). 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.