Converting polynomial and rational expressions to normal form
The aim of this research is to design and implement a program that will be able to manipulate multiple algebraic expressions and transform them to a 'normalised form' . The expression to be manipulated is user defined (the user will be able to input an expression or read it from a file). This expression will be read in by a scanner and checked with a parser using a set of grammar rules which are to be defined later on. The expression will be able to contain constants (both real and imaginary), identifiers (strings or individual characters) and operators which include +, -, *, /, ( ), A (power sign), E (exponential sign for constants). The algebraic manipulation process simplifies and sorts the expression into order. The simplification involves removing all bracketed expressions by various methods including multiplying them out. Like terms will then be collected together and sorted into a user defined order. The order can be alphabetical, terms in ascending or descending power etc. For rational expressions , the whole expression is converted into one fraction. The program will also be able to inform the user of the total degree of the expression or if, for example, the expression considered is a polynomial in x, then the program will inform the user of the degree of the polynomial with respect to x. The program is built on a PC platform and an Object Oriented language will be used. The language initially used was Borland Turbo Pascal version 7 which uses Turbo Vision (Object Oriented data structures and user interface), but with the advent of 32 bit programming Borland C++ 5 was considered a better choice. The STL (Standard Template Library) is used for the data structures and OWL (Object Windows Library) is used for the user interface.