[Haskell-cafe] Homework help - calculator function

SM Design social_media at abv.bg
Wed Jun 22 22:39:30 CEST 2011


 
 I have a homework which is very important to be done but I can't complete the task at all. The program i should write is:       Make calculator-   function in  
Haskell.     The function argument is a list of strings and also form such
    list, as each string of the argument made definite action.     • If the string has the form of an arithmetic expression - calculate this
    expression.
    The string result becomes part of the list-    result.
    If the expression contains a variable which is not
    assigned value, the result is displayed "undefined".     • If the string has the form     Name =
          value calculated from the last expression is
    assigned to the variable with the corresponding name in the list, and in the result list    
is formed a string with type     name = ...     where the site stands blank corresponding value.     If there is not a calculated expression to be assigned to form a
    string "no value".     • If the string is non-blank, but there is a species different from the above two
    case, form the string "error".     • If the string is empty, incl.
    when it contains only spaces, in the result there is    
not form a string.     Expressions consist of integers without sign variables, operations
    + (Addition), - (subtraction), * (multiplication) and / (divide) and parentheses.
    Where no brackets, the operations are performed from left to right, but * and /
    precede the + and -.
    Implementation of any operation gives integer;
     in 
 the division 
 rejected 
 the fractional 
 part  , if 
 any .      Variables 
 have 
 names 
 of 
 one 
 letter 
 - 
 from the 
 Latin 
 small 
 letter  . 
    In the beginning, end or between the elements of each row can have
    spaces - they are irrelevant to its correctness.     Example: the list-argument     ["3 +7 / 2" "2 + x", "= s", "2 * s +4", "", "2 + +4 / 5]     function should provide a result-list     ["6", "undefined", "s = 6", "16", "error"].                    Thank you an advance!   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110622/9f883af0/attachment.htm>


More information about the Haskell-Cafe mailing list