* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Working with floating point expressions
Survey
Document related concepts
Falcon (programming language) wikipedia , lookup
Reactive programming wikipedia , lookup
C Sharp syntax wikipedia , lookup
Name mangling wikipedia , lookup
Structured programming wikipedia , lookup
Functional programming wikipedia , lookup
APL syntax and symbols wikipedia , lookup
Scala (programming language) wikipedia , lookup
Go (programming language) wikipedia , lookup
Java (programming language) wikipedia , lookup
Corecursion wikipedia , lookup
Standard ML wikipedia , lookup
Transcript
Working with floating point expressions Arithmetic expressions • Using the arithmetic operators: •+ •− •* •/ and brackets ( ... ), we can construct arithmetic expression Arithmetic expressions (cont.) • Using brackets: • Brackets ( ... ) can be used to group expressions together • An expression grouped by brackets ( ... ) is evaluated first (When brackets are nested, the inner bracketed expression is evaluated first) Arithmetic expressions (cont.) • Example: computing the average of 3 numbers public class Average { public static void main(String[] args) { double a, b, c, avg; // Define 4 variables a = 3.0; b = 4.0; c = 6.0; avg = (a + b + c)/3.0; System.out.print("The average = "); System.out.println(avg); } } Arithmetic expressions (cont.) • Example Program: (Demo above code) – Prog file: http://mathcs.emory.edu/~cheung/Courses/170/Syllabus/04/Progs/ Average.java • How to run the program: • Right click on link and save in a scratch directory • To compile: javac Average.java • To run: java Average Arithmetic expressions containing Mathematical functions • Scientific calculations often involve Mathematical functions, such as sin, cos, tan, log, and so on. Examples: sin and ln functions on a calculator Arithmetic expressions containing Mathematical functions (cont.) • Programming languages allow you to embed Mathematical functions within a arithmetic expression. Furthermore, a computer allows you to use variables are arguments to a Mathematical function Arithmetic expressions containing Mathematical functions (cont.) • In other words: • Suppose you have define a variable x as follows: double x = 2.0; • You can write expressions like these: sin(x) computes the sin of x sin(2*x) computes the sin of 2*x Arithmetic expressions containing Mathematical functions (cont.) • Note: • The names of the sin, cos, tan, ln, and other Mathematical functions in Java is a little bit different than what you are used to. • They are given below Java's function library • The Java programming language has an extensive collection of functions organized in various libraries Note: a bit of history • In Mathematics, the sin() operation is called a function • In Java, the sin() operation is implemented by a Java method • In fact, we used the words "function" and "method" interchangeably in Computer Science. • Before the word method became popular, other words used were: subroutine, procedure and function Java's function library • The documentation of the functions are online at the following website: http://download.oracle.com/javase/6/docs/api/inde x.html • We will now look at the Mathematical functions which are documented on this webpage: http://download.oracle.com/javase/6/docs/api/java/ lang/Math.html Java's Mathematical functions • Here are some of the names of Java's Mathematical functions: Java's method name Math.sin(x) Math.cos(x) Math.tan(x) Math.asin(x) Math.acos(x) Math.atan(x) Math.exp(x) Math.log(x) Math.log10(x) Corresponding Mathematical function Sine function of value x Cosine function of value x Tangent function of value x Arc sine (inverse of sine) function of value x Arc cosine function of value x Acr tangent function of value x ex Natural log function of value x 10-based log function of value x Math.pow(a, b) Math.sqrt(x) a Squared root of the number x b Using Java's Mathematical functions • Example: compute √2 Math.sqrt(2.0) = √2 Using Java's Mathematical functions (cont.) • You can apply a Mathematical function on a floating point variable Examples: double a; Math.sqrt(a) Math.sqrt(a+1) will compute the squared root on the value that is current stored in the variable a will compute the squared root on the value a+1 A note on "computing values" in a computer program • We just learned how to compute √2 Consider the following Java program: public class CompVal { public static void main(String[] args) { Math.sqrt(2.0); // Computes √2 } } A note on "computing values" in a computer program (cont.) • Interesting result: • When you compile and run this program, you will see .... absolutely nothing !!! A note on "computing values" in a computer program (cont.) • Example Program (Demo above code) – Prog file: http://mathcs.emory.edu/~cheung/Courses/170/Syllabus/04/Progs/ CompVal.java • How to run the program: • Right click on link and save in a scratch directory • To compile: javac CompVal.java • To run: java CompVal A note on "computing values" in a computer program (cont.) • The reason is: • Unlike a calculator that always shows the result of a computation on its display.... A computer will only show the result of a computation when it is told !!! A note on "computing values" in a computer program (cont.) • Example: public class CompVal2 { public static void main(String[] args) { Print !! } System.out.println( Math.sqrt(2.0) ); // } This program will print: 1.4142135623730951 (which is the decimal value of √2) A note on "computing values" in a computer program (cont.) • Programming facts: • A computed value is not printed If you want to print a computed value, use a print statement •A computed value is not stored If you want to store (save) a computed value, use an assignment statement A note on "computing values" in a computer program (cont.) • Example: storing a computed value public class CompVal3 { public static void main(String[] args) { double a; value later } } a = Math.sqrt(2.0); // Save computed value in variable System.out.println(a); // You can print the saved A real-life example: programming the a,b,cformula • Quadratic equation: • Solutions: x1 = x2 = A real-life example: programming the a,b,cformula (cont.) • The Mathematical expressions are written in Java as follows: written as: ( -b - Math.sqrt( b*b - 4*a*c ) ) / (2*a) written as: ( -b + Math.sqrt( b*b - 4*a*c ) ) / (2*a) A real-life example: programming the a,b,cformula (cont.) • Here is a Java program to compute the famous a,b,cformula: public class Abc { public static void main(String[] args) { double a, b, c, x1, x2; // Define 5 variable a = 1.0; b = 0.0; c = -4.0; x1 = ( -b - Math.sqrt( b*b - 4*a*c ) ) / (2*a); x2 = ( -b + Math.sqrt( b*b - 4*a*c ) ) / (2*a); A real-life example: programming the a,b,cformula (cont.) System.out.print("a = "); System.out.println(a); System.out.print("b = "); System.out.println(b); System.out.print("c = "); System.out.println(c); System.out.print("x1 = "); System.out.println(x1); System.out.print("x2 = "); System.out.println(x2); } } A real-life example: programming the a,b,cformula (cont.) • Example Program: (Demo above code) – Prog file: http://mathcs.emory.edu/~cheung/Courses/170/Syllabus/04/Progs/ Abc.java • How to run the program: • Right click on link and save in a scratch directory • To compile: javac Abc.java • To run: java Abc