lab1 by wuzhengqin


									                     CSCE 372 Algorithms, Machines, and Grammars

Program 1: Simulation of Deterministic Finite Automaton DFA
Due: Wednesday, February 20 2002

You may write your code in either Java or C++. The program should prompt for the following
input in this order:
Q: the states
: the alphabet
: the transition function
s: the start state
F: the final states

The program will then prompt the user for input strings (or terminate), and simulate the DFA on
the input string stating if the string was accepted or rejected.

You may wish to start by fixing the alphabet (and other input parameters) to some known values.
This will give you a chance to focus on the construction of the DFA. You should write pseudocode
before you start the program. Make sure you know how you will represent your DFA (i.e., the data
structure). If you have questions please ask them early (i.e., before February 15).


   1. 0-60%: The program is well designed, and the program is adequately documented. The
      program compiles and runs for some fixed DFA that has at least 8 states. The program
      should prompt the user for input strings over the fixed alphabet to test on the DFA.
   2. 61-70%: The program does the above and runs correctly.
   3. 71-85%: The program does the above and works for any user specified DFA.
   4. 86-90%: The program does the above, is well documented, and has user friendly I/O. The
      program has been tested and runs correctly on boundary conditions.
   5. 91-100%: The program has extra features (e.g., graphics that show the reading of the string
      and the current state of the DFA).

To top