Here is a solution to count-short-strings:
;; count-short-strings: list-of-string -> number
;; consumes a list of strings and produces the number
;; of strings in the list with fewer than 6 characters
(define (count-short-strings alos)
(cond [(empty? alos) 0]
[(cons? alos) (cond [(< (string-length (first alos)) 6)
(+ 1 (count-short-strings (rest alos)))]
[else (count-short-strings (rest alos))])]))
An alternative way to write the function is like this:
;; count-short-strings: list-of-string -> number
;; consumes a list of strings and produces the number
;; of strings in the list with fewer than 6 characters
(define (count-short-strings alos)
(cond [(empty? alos) 0]
[(cons? alos) (+ (cond [(< (string-length (first alos)) 6) 1]
[else 0])
(count-short-strings (rest alos))))]))