title: Write a function read number(s, i) that takes a string s and an integer I, and returns a pair consisting of
body: <p>Making a calculator
  In this problem, you have to write a function evaluation that takes a string representation of
  a simple mathematical expression, e.g. &quot;(1+2)<em>3&quot;, and evaluates it to obtain the resulting
  number.
  The input string may include any of the following: positive numbers, +, -, <em>, /, (, ). e
  numbers may or may not contain a decimal part, e.g. the number 3 could be given as &quot;3&quot; or
  as &quot;3.0&quot; or with any number of zeroes. All expressions will be fully parenthesized, e.g. you
  will only be given &quot;(1+(2</em>3))-4&quot;, not &quot;1+2</em>3-4&quot;. Your implementation should return the
  correct result for any possible expression of this form.
  is a complex task that may require multiple helper functions. Here is one suggested
  1
  approach, though you may do it differently as long as it is correct:</p>
  <ol>
  <li>Write a function read number(s, i) that takes a string s and an integer I, and returns a
  pair consisting of (i) the number starting at the ith character of the string, and (ii) the
  index after the last character of the number. For example, read number(&quot;1+(2.4/3)&quot;,3)
  should return (2.4,6) because &quot;2.4&quot; is formed from characters 3 to 5 of the given string.</li>
  </ol>