Question: For your first project you will be tasked with programming a DFA using a graph package which you are tasked with making yourself. Actually making

For your first project you will be tasked with programming a DFA using a graph package which you are tasked with making yourself. Actually making a DFA is not very hard, however the point of this project is to review the requirement of COMP 333 by building something you should have been able to build by the end of COMP 282. You are free use the language of your choice so long as it is object oriented. This means you can use C++, C#, or Java.(JAVA Please) Recall from your previous section of COMP 282 that graphs are mathemat- ical representations of entities that have connections between one another. In computer science and in mathematics, a graph G is an ordered set consisting two sets. A nite set V that consisting of Vertices and a nite set E consisting of an ordered pair of vertices called Edges. Vertices are nodes or points (ex- ample: point a and b) while Edges are the connection from one point to the other. To emphasize that a graph G is made of two sets, we tend to represent it as G = (V;E) or G(V;E) . The reason for that is due to the fact that we can have different graphs with either different or subsets of V and E, for example we could have a graph G(V;E) and a graph G(N;C). Your DFA should read it's rules from a text le and then build a DFA that will model the said rules. To build your DFA, you will need to be able to read them from a le somewhere. You can build a GUI prompt to nd a text le with the required rules for your DFA or you can simply include it in your folder. Bellow is a lab from COMP 182 that I have included with slight modications every semester for the class. You are more than free to use the method included there for your project. You are also free to use two les instead of a single one for the rules. Example : 1 les for the connections, another for for whether the state is nal or not. Your DFA has two main methods: Making a DFA which is handled by the constructor, and validating a sequence. It is at this point where you should probably identify what the type of inputs you will be accepting for your DFA. Since we will be validating strings, you should make your weights be of type characters, that way they can be both numbers and letters. Do not include any print statement in your classes. The console is a shared component, you shouldn't access it randomly. Inclusion of print statements will result in a 10% deduction. DO NOT MAKE YOUR GRAPHS OR YOUR GRAPH COM- PONENTS PUBLIC. THEY SHOULD NOT BE VISILBLE OUT- SIDE THE PACKAGE. I WILL NOT GRADE YOUR PROJECT IF YOU FAIL TO ACCOUNT FOR THAT! Do not make any of your elds static. I will not even grade your submis- sions and you will receive a failing grade. You must submit a project with multiple classes. You need a separate and independent main class for executing your code. Submitting one class with a main method will result in a 10% deduction. Organize and re-factor your code, Sloppy code will result in a 10% deduc- tion. This is not the rst week of COMP 110, you will need to structure your code so that it is reasonable. Do not include all of the user interface in one main method, rather call on other methods which perform a specic task. Control your user input so that the methods are invoked with valid inputs. Failure to control for input will result in a 10% deduction. Exceptions are acceptable but they are not the best. 9

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!