Please test all your programs carefully and include all the test cases with your program. You should have at least 3 tests for each function, except the ones that produce an image or a scene.
Recall the function first-letter-A?
that
we wrote in
class. Here is our code (with slightly modified test cases):
Working from this example, perform the following steps:
;; (first-letter-A? str) -> boolean
;; str: string
;; consumes a string, returns true
;; if this string starts with a capital A, otherwise returns false
(define (first-letter-A? str)
(string=? (substring str 0 1) "A"))
(check-expect (first-letter-A? "AbC") true)
(check-expect (first-letter-A? "abC") false)
(check-expect (first-letter-A? "bcde") false)
;(check-expect (first-letter-A? "") false)
(check-expect (first-letter-A? "aaAAaaaa") false)
A?
that consumes a string
and returns true
if this string is "A"
and false
otherwise. Use the tests we've written in
class to test your function. Don't forget to write test cases for
your function.first-letter-A?
to use A?
as a
helper function
instead of directly checking that the substring is
"A". first-letter-A?
should work exactly as before
(pass all the same check-expect tests). false
for it, as the commented out test case
indicates. You can use cond
or if
or
(better!) combine your conditions using boolean operations, such
as and, or, not
(either approach will get full credit if
works correctly). first-letter-A?
for this question, make a copy
of your solution for question 2 and comment it out. This way you can
always go back if you get to it (and I cajn grade it separately from
your answer to this question).
a-or-A?
that consumes a string and
returns true
if this string is "A" or "a"
and false
otherwise.first-letter-a-or-A?
that works
according to its name.Modify the version 5 of the landing rocket example (figure 4 in Prologue so that when the width of the scene is changed, the rocket is placed in the middle of the new scene.
Exercises 24 (5 points) and 25 (5 points) in Section 2.2.