IMS 3253: Math 1 Dr. Lawrence West, MIS Dept., University of Central Florida Topics Five Fundamental Math Operations Precedence of Math Operations –Using Parentheses to override precedence Writing and Interpreting VB Calculation Statements Mathematical Functions “A computer lets you make more mistakes faster than any invention in human history—with the possible exceptions of handguns and tequila” Mitch Ratcliffe
IMS 3253: Math 2 Dr. Lawrence West, MIS Dept., University of Central Florida Numeric Operations in Computer Code Computers were invented to process large quantities of numeric data Computers perform arithmetic operations on numeric values incredibly rapidly All computer operations can be performed using the basic operations of addition, subtraction, multiplication, and division. Most computer languages also provide for exponentiation Most also provide built in functions for more complex operations
IMS 3253: Math 3 Dr. Lawrence West, MIS Dept., University of Central Florida Objectives Understand the five fundamental arithmetic operations in VB Understand how to write and interpret mathematical calculations in VB Understand the precedence of mathematical operations in computers and how parenthetical grouping affects calculation order Understand the use of predefined mathematical functions available in VB
IMS 3253: Math 4 Dr. Lawrence West, MIS Dept., University of Central Florida Five Fundamental Arithmetic Operations VB supports five built-in arithmetic operations: OperationConventional NotationComputer Symbol –Addition –Subtraction –Multiplication3 x 43 * 4 –Division3 3 / 4 –Exponentiation ^ 4
IMS 3253: Math 5 Dr. Lawrence West, MIS Dept., University of Central Florida The Assignment Operation Many times the results of a calculation or other operation are assigned to a variable, property, or other value holder intSum = intFirstValue + intSecondValue intSum = Val(txtFirst.Text) + Val(txtSecond.Text) MainMenu.Top = (Screen.Height - MainMenu.Height) / 3 The calculation on the right of the equal sign is performed first and assigned to the location on the left The Equal Sign is an assignment operator
IMS 3253: Math 6 Dr. Lawrence West, MIS Dept., University of Central Florida Using Numeric Calculations Legal statements x = 4 y = 2 z = x + 5 t = x * 2 txtPrice.Text = x + y Const Pi = 3.14 dblDiameter = Pi * sglRadius dSqrt = x ^.5 Illegal statements 4 x + y z% = x% + txtInput.Text sglPrice = $1,456.98
IMS 3253: Math 7 Dr. Lawrence West, MIS Dept., University of Central Florida Precedence of Numeric Calculations Q: What is the result of * 2 ? A: Numeric operations have a defined hierarchy or precedence of calculation 1.Exponentiation 2.Multiplication and division 3.Addition and subtraction 4.Left to right within categories –Because multiplication precedes addition 5 is multiplied by two giving 10 first after which the three is added to give 13
IMS 3253: Math 8 Dr. Lawrence West, MIS Dept., University of Central Florida Precedence Exercises x + y / 2 y ^ 3 / 4 x + 2 * y - 2 * x 8 + x * y / y ^ ^ (1 / 4) What are the results of the following calculations if x = 12 and y = 4 ?
IMS 3253: Math 9 Dr. Lawrence West, MIS Dept., University of Central Florida Using Parentheses to Group Calculations Operations grouped in parentheses are performed first, regardless of the natural order of calculation * 2 = 13 (3 + 5) * 2 = 16 Parentheses may be nested ((3 + 5) * 8) / (2 * 4) = ? Parentheses may be used to visually format mathematical expressions even if no change to the calculation order is needed Inner parentheses are evaluated first
IMS 3253: Math 10 Dr. Lawrence West, MIS Dept., University of Central Florida More Precedence Exercises Write computer expressions for each mathematical expression
IMS 3253: Math 11 Dr. Lawrence West, MIS Dept., University of Central Florida Numeric Functions VB (and most other programming languages) provide predefined numeric calculations in the form of functions Functions often operate on a value and return some transformation of the value E.g. in x = 25 y = Sqrt(x) Sqr( ) is a predefined function which returns the square root of its argument (x in this case)
IMS 3253: Math 12 Dr. Lawrence West, MIS Dept., University of Central Florida Functions and Expressions as Arguments Functions may be nested E.g., in Math.Sqr(Math.Abs(x)) the absolute value of x is determined first and then becomes the argument of the square root function A calculation may be performed inside the argument of a function E.g., in Math.Sqr(x ^ 2) the value of x is first squared and then the square root of the result is taken Functions are always calculated from the inside out
IMS 3253: Math 13 Dr. Lawrence West, MIS Dept., University of Central Florida Empty Variables in Mathematical Operations Variables which have never been assigned a value are said to be ‘empty’ If a mathematical operation is performed on an empty variable the variable behaves as if its value is zero Be very careful as division by zero results in a runtime error which will crash the program. NB: Variables loaded from databases may sometimes contain a null value which is different from empty.
IMS 3253: Math 14 Dr. Lawrence West, MIS Dept., University of Central Florida Converting Data Types VB will automatically convert many numeric data types before performing calculations –Single precision values can be multiplied by integers, assigned to currency variables etc. Some conversions cannot take place –String values cannot be assigned to explicitly declared numeric variables (non variants) –Commonly arises when using text boxes, list boxes, grid controls, etc. Introduces inefficiency
IMS 3253: Math 15 Dr. Lawrence West, MIS Dept., University of Central Florida The Val( ) Function Val( ) returns the numeric value of its argument –Argument is typically a string but may be a number –Val converts strings to numbers A common use of Val is to convert values which must be treated as text into numbers intQty = Val(txtQty.Text) intCourse = Val(cboCourseNumber.Text) sglPrice = Val(InputForm.Tag) Or use the Convert method Some properties always contain characters
IMS 3253: Math 16 Dr. Lawrence West, MIS Dept., University of Central Florida The Val ( ) Function: Examples Val (“123.54”) Val (““) 0 Val(“123A45”) 123 Val(“A123”) 0 Val(“ ”)
IMS 3253: Math 17 Dr. Lawrence West, MIS Dept., University of Central Florida Methods of the Math Class NameDescription AbsOverloaded. Returns the absolute value of a specified number. AcosReturns the angle whose cosine is the specified number. AsinReturns the angle whose sine is the specified number. AtanReturns the angle whose tangent is the specified number. Atan2 Returns the angle whose tangent is the quotient of two specified numbers. BigMulProduces the full product of two 32-bit numbers. Ceiling Overloaded. Returns the smallest integer greater than or equal to the specified number. CosReturns the cosine of the specified angle. CoshReturns the hyperbolic cosine of the specified angle. DivRem Overloaded. Calculates the quotient of two numbers and also returns the remainder in an output parameter. ExpReturns e raised to the specified power. Floor Overloaded. Returns the largest integer less than or equal to the specified number.
IMS 3253: Math 18 Dr. Lawrence West, MIS Dept., University of Central Florida Methods of the Math Class (cont.) IEEERemainder Returns the remainder resulting from the division of a specified number by another specified number. LogOverloaded. Returns the logarithm of a specified number. Log10Returns the base 10 logarithm of a specified number. MaxOverloaded. Returns the larger of two specified numbers. MinOverloaded. Returns the smaller of two numbers. PowReturns a specified number raised to the specified power. Round Overloaded. Rounds a value to the nearest integer or specified number of decimal places. SignOverloaded. Returns a value indicating the sign of a number. SinReturns the sine of the specified angle. SinhReturns the hyperbolic sine of the specified angle. SqrtReturns the square root of a specified number. TanReturns the tangent of the specified angle. TanhReturns the hyperbolic tangent of the specified angle. TruncateOverloaded. Calculates the integral part of a number.