Mathematical expression translator - Printable Version +- Qbasicnews.com (http://qbasicnews.com/newforum) +-- Forum: QbasicNews.Com (http://qbasicnews.com/newforum/forum-3.html) +--- Forum: Challenges (http://qbasicnews.com/newforum/forum-10.html) +--- Thread: Mathematical expression translator (/thread-10109.html) |
Re: Mathematical expression translator - Frontrunner - 04-24-2008 Thank you for pointing me to the confusion. I have changed the original example ;D b is indeed an array. But you have seen it right that the challenge is all about an parsing correction! Sorry for the confusion. Kind regards, Frontrunner Re: Mathematical expression translator - Ralph - 04-24-2008 There is nothing as good for explaining as one or more examples! Could you post at least one, good example of a math expression and the qbasic equivalent code that you would want? That would help a lot!!! Re: Mathematical expression translator - wildcard - 04-24-2008 Frontrunner: No problem, haven't got to using it yet though still working on the simpler bracket-less parser. Ralph: The challenge is to write a converter/parser that changes x ^ y to pow(x,y) however in the context of a more complex equation such as posted. Re: Mathematical expression translator - Ralph - 04-24-2008 Thanks, Wildcard. I've never tried things like this before. At first thought, it would seem that the algorithm would look for each character ^, then, for each, compare the characters going backwards and consider where to stop, put a "(" there, then continue until either a "(" or any mathematical function is found; next, do the same, going forward. If this is the way to do it, I can see I would flounder in all the considerations I would have to take into account! It really is too much for me, and definetely, "Not my cup of tea!" Re: Mathematical expression translator - Frontrunner - 04-25-2008 Hi All... Ralph I see you are understanding the problem quite good and your approach is also good. As for your reference I will give another tricky example: Basic a = -x ^ 3 - 3 * x ^ 2 + 4 * x - (x ^ 3 + x ^ 2 - 2) * (-1) C a = -pow(x,3) - 3 * pow(x,2) + 4 * x - (pow(x,3) + pow(x,2) - 2) * (-1) Kind regards, Frontrunner Re: Mathematical expression translator - wildcard - 04-25-2008 It's proving to be a nice challenge for getting back into some coding. My parser is coming along nicely, just need to figure out how to cope with brackets and arrays. Re: Mathematical expression translator - Frontrunner - 04-25-2008 Hi Wildcard, I am glad to see you are making good progress 8) Cheers, Frontrunner Re: Mathematical expression translator - Ralph - 04-25-2008 Frontrunner: I am going to try to make the code to solve for the simple multiple occurrances of the general type. variable^power, which shouldn't be too difficult. Once I succeed, I will try to go one step farther, considering an array*power. After that, I will publish a list of all the cases I can think of, and ask for input on other cases I will have missed. As to your good-will post to Wildcard, whom I consider to be an Ace of a wildcard, ha, ha, it makew me think that Wildcard is the true "frontrunner". Sorry for the lame pun, but I just couln't resist it! Re: Mathematical expression translator - Ralph - 04-26-2008 Frontrunner: Though I'm not competing, here is my beginning code, with all my thoghts so far. It seems to work fine for Example1. If you approve it, I will code for Example2 and, maybe, Example3 : Code: 'B2C-Tran is a QuickBASIC to C translator for the C "pow" (power) function. Re: Mathematical expression translator - Frontrunner - 04-26-2008 whom I consider to be an Ace of a wildcard, ha, ha, it makew me think that Wildcard is the true "frontrunner". ;D Lol Ralph! Thanks for your contribution so far. The way you are tackling the problem is interesting but you have to consider that the conversion should work in all situations and not only with examples where assignments are included. So you really need a parse engine to make this work. But it is good to see you are doing your best! Cheers, Frontrunner |