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.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education