1. Move right. 2. Loop: 2.1. If the current symbol is x, change it to $ and move right. Otherwise exit loop. 2.2. Scan rightwards, past x's and #'s to find y. 2.3. If y found, change it to # and move right. Otherwise reject.

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter4: Selection Structures
Section: Chapter Questions
Problem 14PP
icon
Related questions
Question
The following is a high level description for a luring machine M. List the first four elements of L(M) in
lexicographic order (shortest first, then alphabetically if same length).
1. Move right.
2. Loop:
2.1. If the current symbol is x, change it to $ and move right. Otherwise exit loop.
2.2. Scan rightwards, past x's and #'s to find y.
2.3. If y found, change it to # and move right. Otherwise reject.
2.4. Scan rightwards, past y's and %'s to find z.
2.5. If z found, change it to % and move left. Otherwise reject.
2.6. Scan leftwards, past x's, y's, #'s and %'s to find $.
2.7. When finding the first $, move right, and go back to 2.1.
3. If the current symbol is #, more right. Otherwise reject.
4. Scan rightwards, past #'s and %'s, to find the blank symbol.
5. When finding the first blank symbol, move right and accept.
€, xyz, xxyyzz, xxxyyyzzz
xyz, xxyyzz, xxxyyyzzz, xxxxyyyyzzzz
€, ZyX, ZZYYXX, ZZZYYYXXX
zYX, ZZYYXX, ZZZYYYXXX, ZZZZYYYYXXXX
Transcribed Image Text:The following is a high level description for a luring machine M. List the first four elements of L(M) in lexicographic order (shortest first, then alphabetically if same length). 1. Move right. 2. Loop: 2.1. If the current symbol is x, change it to $ and move right. Otherwise exit loop. 2.2. Scan rightwards, past x's and #'s to find y. 2.3. If y found, change it to # and move right. Otherwise reject. 2.4. Scan rightwards, past y's and %'s to find z. 2.5. If z found, change it to % and move left. Otherwise reject. 2.6. Scan leftwards, past x's, y's, #'s and %'s to find $. 2.7. When finding the first $, move right, and go back to 2.1. 3. If the current symbol is #, more right. Otherwise reject. 4. Scan rightwards, past #'s and %'s, to find the blank symbol. 5. When finding the first blank symbol, move right and accept. €, xyz, xxyyzz, xxxyyyzzz xyz, xxyyzz, xxxyyyzzz, xxxxyyyyzzzz €, ZyX, ZZYYXX, ZZZYYYXXX zYX, ZZYYXX, ZZZYYYXXX, ZZZZYYYYXXXX
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Types of Loop
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