Question: State Machine: Using C programming, use the following requiremenets to program the states: State 0 1 A B H B G F C E C

State Machine: Using C programming, use the following requiremenets to program the states:

State 0 1
A B H
B G F
C E C
D A G
E H D
F C B
G A C
H F D

Starting state: B

Requirements:

No Commands: Before any commands are issued to your program, it should print out the starting state.

One/Zero Commands: These commands (a `0' or a `1' on a line by itself) must print to stdout the name of the next state given the supplied input, and update the current state.

Change command: The change command is invoked by the letter `c' followed by a `1' or a `0' followed by the name of a state (i.e. a single letter in the range AH). This command modifies the state machine such that the `0' (or `1') command applied to the current state will cause the machine to change to the named state and that this change is the state machine configuration will continue. This command should produce no output.

Print command: The print command is invoked with the single letter `p'. It should print to stdout the state machine configuration as currently specified (i.e. including changes that may have been made with change commands) in the same format that your state machine was specified with.

Garbage Identify command: This command is invoked with the single letter `g'. It should identify all states that are reachable or unreachable from the current state. It always produces output to stdout.

If all states are reachable, it should output No garbage. Otherwise, it should output

Garbage: where is the list of the state names that are no longer reachable.

Delete command: This command is invoked with `d', optionally followed by the name of a state to delete. When the d command is invoked without the optional argument, it should delete (i.e. mark as deleted) all un-deleted states that are unreachable. If there are no such unreachable un-deleted states, it should print:

No states deleted.

Otherwise, it should print the message:

Deleted:

If the d command is followed by an argument that it the valid name of a state, it should print out either the message:

Deleted.

if the state is not reachable and not already deleted. Otherwise, it should print out the message:

Not deleted.

If a state is successfully deleted, it should no longer appear in the list of states produced by the print command and it should be disallowed as a final argument to the change command.

As an example for the following state, the input and output are given below in the TableState Machine: Using C programming, use the following requiremenets to program the

states: State 0 1 A B H B G F C E

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!