n the language of an alien race, all words take the form of Blurbs. A Blurb is a Whoozit followed by between zero or more Whatzits. A Whoozit is the character 'x' followed by between one or more 'y's. A Whatzit is a 'q' followed by either a 'z' or a 'd', followed by a Whoozit. -The program should ask the user to “Enter an alien word:”, read the input as a string, and check whether or not it is a valid word (Blurb). If it is valid, it prints "The word is fine.", otherwise it prints "The word is a mess!". -The program should loop and ask the user for new input until they enter a valid blurb. For Scheme, it is suggested that you review the “input_and_output.rkt” sample program from the first module on functional programming. This program shows how to perform a “loop” that reads in data and processes it. You may find the following forms useful: a. (read) to read a string b. (string->list) to convert the string into a list of characters, c. (display “Hello”) to write Hello to the screen. d. (begin) to help with displaying an output while not breaking out of the running procedure.

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter5: Repetition Statements
Section5.5: A Closer Look: Loop Programming Techniques
Problem 14E
icon
Related questions
Question

USE SCHEME IN DRRACKET.


In the language of an alien race, all words take the form of Blurbs. A Blurb is a Whoozit
followed by between zero or more Whatzits. A Whoozit is the character 'x' followed by
between one or more 'y's. A Whatzit is a 'q' followed by either a 'z' or a 'd', followed by a
Whoozit.

-The program should ask the user to “Enter an alien word:”, read the input
as a string, and check whether or not it is a valid word (Blurb). If it is valid, it prints
"The word is fine.", otherwise it prints "The word is a mess!".

-The program should loop and ask the user for new input until they enter a
valid blurb.






For Scheme, it is suggested that you review the “input_and_output.rkt” sample
program from the first module on functional programming. This program shows how
to perform a “loop” that reads in data and processes it. You may find the following
forms useful:
a. (read) to read a string
b. (string->list) to convert the string into a list of characters,
c. (display “Hello”) to write Hello to the screen.
d. (begin) to help with displaying an output while not breaking out of the running
procedure.

Sample output:
Enter an alien word:
qxxyyyy
The word is a mess!
Enter an alien word:
xyyyyqzqd
The word is a mess!
Enter an alien word:
xyyyyyqzxyyy
The word is fine.
Transcribed Image Text:Sample output: Enter an alien word: qxxyyyy The word is a mess! Enter an alien word: xyyyyqzqd The word is a mess! Enter an alien word: xyyyyyqzxyyy The word is fine.
Expert Solution
Step 1

Let us see the answer:-

Introduction:-

(define (valid-blurb? word)
  (cond ((< (string-length word) 2) #f)
        ((not (eq? (string-ref word 0) #\x)) #f)
        (else (let loop ((i 1))
                (cond ((>= i (string-length word)) #t)
                      ((eq? (string-ref word i) #\y)
                       (loop (+ i 1)))
                      ((and (eq? (string-ref word i) #\q)
                            (eq? (string-ref word (+ i 1)) #\z))
                       (loop (+ i 3)))
                      ((and (eq? (string-ref word i) #\q)
                            (eq? (string-ref word (+ i 1)) #\d))
                       (loop (+ i 3)))
                      (else #f))))))

(define (blurb-check-loop)
  (display "Enter an alien word: ")
  (let ((word (string-trim (read))))
    (if (valid-blurb? word)
        (begin (display "The word is fine.\n")
               #t)
        (begin (display "The word is a mess!\n")
               (blurb-check-loop)))))


(blurb-check-loop)

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Problems on Dynamic Programming
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning