This week in class we learned about trees, and saw two examples of data definitions of trees: a rumor mill and a pipeline. We designed one function in class for a pipeline, which determined whether there was water running. We followed the Design Recipe and the data definition from the lecture notes. We developed a template for a function that consumes a pipeline, and returns a boolean value.
Today in lab we will write three more functions that consume pipelines, again using the template each time for a function that consumes a pipeline. The first function will turn on all the faucets, the second one will count all the faucets that are turned on, and the third will modernize the given pipeline.
How to get started
cs101
folder that you created during lab last week.lab6
folder and confirm you see the lab6.rkt
file there
Now you are ready to write some functions using the Design Recipe!
Instructions
lab6.rkt
file lab6
starter code contains the data definition, examples, and template function for a pipeline. It also has the function we developed in class: water-running?
. lab6.rkt
starter code, and add the new function, drip
, which turns on all the faucets in the pipeline. Don't forget to follow the Design Recipe, which means writing tests (check-expect's) before you write the function body, and using the template for a pipeline as the starting point for the function body. You should have at least five (5) tests for this function, using all five (5) examples of a pipeline that we used to test the water-running?
function. count-on
function as specified in the starter code, following the Design Recipe. modernize
function as specified in the starter code, following the Design Recipe.
Get checked off!
Be sure Professor Smith or one of your coaches checks you off as having completed the lab before you
submit your work electronically, and before you leave. We will look for correct program behavior, as
well as well-documented code, including, for each function, a signature, purpose statement, examples,
and check-expect statements.
Submitting your work
lab6.rkt
file onto your browser where it says, “Drag files here to add them to your repository”lab6.rkt
file appear; it'll be just above the Commit Changes section of the page.lab6.rkt
file should now be in your Lab 6 GitHub repository.