ࡱ> t#` ~bjbj5G5G :W-W-t'     " JJJ8^4"  "ƜƜƜ$ŝ ѝ       $he8     ƜƜ   Ɯ Ɯ    \Ɯ ڤ~JnJ 0 (b\\H ٝ]^Lٝٝٝ  ^ٝٝٝ " " " DGfT?" " " fT" " "        Java Workshop Day 2 Introduction Todays goal is to introduce you to some basic java concepts. In particular, well talk about loops, if/then statements, methods, utilizing the Convert class. Loops There are several kinds of loops in javathe for loop, a while loop, and a do-while loop. Well focus on the for loop. More information about the others can be found in Appendix 1. The basic format for a for loop is for (initial counter value; logical statement; increment) { //put code here } Example: for (int counter=1; counter<=10; counter++) { //Put code here } This is a loop with an initial counter value of counter=1, a logical statement of counter<=10 (this causes the loop to run until counter has exceeded 10), and an increment of counter++ which increments the integer variable counter by 1 after each pass through the loop. Observations Note that Ive declared counter as an int inline. This means that I have not declared the variable counter previously. Of course, if I have previously declared the variable counter, then there is no need to declare it again here. One benefit of doing inline declarations is that when the program passes out of scope (i.e. out of this loop), the variable counter is no longer accessible and will prevent accidental increment/decrements. The expression counter++; is shorthand for counter=counter+1; If you wish to increment by 2, you can utilize the expression counter=counter+2; or counter+=2;. Both will do the same thing. Similarly, if you wish to decrement counter by one, counter--; will do the trick as will counter=counter-1;. If you wish to multiply the counter by 3 on each pass through the loop, counter=counter*3; and counter*=3; are equivalent expressions. Historical note. The ++ in the C++ programming language is a nod towards this shorthand notation and suggests that C++ is a little bit more than the language C. And this is certainly true since C is a subset of C++, even though C++ was developed after C was created. You try it Im assuming that you did the first part of the homework from last time. If you did not, you should create a new project named Day2Project. Add a package named edu.usafa.day2 and a JApplet named Day2Applet. Place a JPanel on the applet. On top of this, put two labels and a button. Name one of the labels loopLabel and the other methodLabel. Name the button computeButton. Finally, put a JTextField on your JPanel and name it nField. Write a loop that will add up the numbers one through 10 and store the answer in the integer variable answer when clicking computeButton. This means you will need to add a mouse click event to the computeButton. Right-click on the computeButton and choose Events/Mouse/MouseClicked. Output your answer to loopLabel. You must use the setText(String) method to output to loopLabel. Since this method requires a String as an argument, you must convert answer to String. The easiest way to do this is to append it to another String with the + operator. In the context of the setText(String) method, Java will force the type of the appended String and int to be a String. Build and run your applet. If youve done everything correctly, your result should be 55. See Sample Code 1 in Appendix to check work. Inputting data from the Applet/Using the Convert class Download and Import the Convert class. Were now going to modify our existing program so that we can take an integer n from the GUI via the text field nField and then add together the numbers 1 thru n. This process is a little bit more complicated, but the ability to input information through the GUI will allow us to do all sorts of interesting things when we program. Make the java class Convert.java available to your project. Download and save the file Convert2.0.jar in a place that you can remember. This file can be found at  HYPERLINK "http://www.jimrolf.com/java/javaWorkshop2007/javaClasses/Convert2.0.jar" http://www.jimrolf.com/java/javaWorkshop2007/javaClasses/Convert2.0.jar The Convert class is archived in this file in the package com.jimrolf.convert. Add the convert package to your class path. You must let Day2Project know where this .jar is located, so right-click on Day2Project and choose Properties/Libraries. Click on Add Jar/Folder and navigate to the file you just saved. After choosing Convert2.0.jar, click Ok and return to your project. Import the Convert class into Day2Applet.java. Your project now knows where the convert package is located. But you must still inform your applet class which files you need out of this package. It turns out that theres only one class in the package the Convert class. So scroll up to the top of your Day2Applet.java file. You will see the package declaration package edu.usafa.day2; Underneath this, type import com.jimrolf.convert.Convert; This line means import the Convert class from the com.jimrolf.convert package. Declare a String variable, inputString. While its not absolutely required to initialize a variable when declaring it, its good programming practice. With non-primitive data types, you may initialize them as null. Its usually a good idea to group all variable declarations at the beginning of the method. So I recommend making this declaration at the beginning of the computeButtonMouseClicked method. This means that inputString will be available only within the method. For todays workshop, this will be sufficient. Declare the double variable n and initialize to 0.0. We will use n to retrieve our data from nField. Retrieve String from the nField and store in inputString. You will want to utilize the getText()method. The important point here is all information coming through the GUI is a String. We will need to convert this string to an integer before proceeding. Convert inputString to type int and store it in n. Heres where the Convert class comes in handy. There are several methods in this class. One of them is Convert.toInt() that accepts an argument of type String and returns the equivalent int. Heres how you want to use it: inputNumber=Convert.toInt(inputString); The Convert class is a class with static methods. What this means for you is that the methods can be called with out first instantiating a Convert object (more about this in another lesson). There are several other methods in the Convert class that you may want to use, including Convert.toDouble(String). See the java docs at  HYPERLINK "http://www.jimrolf.com" www.jimrolf.com for more details Finally, add the numbers from 1 through n and output to loopLabel. Heres the code that I used to accomplish all of this: See Sample Code 2 in Appendix to check work. Methods A method is a subroutine that does something. For example, we may want to define and evaluate a function EMBED Equation.DSMT4 . We will utilize a method to evaluate this function and return the answer to a user-specified location. Methods must be declared in the main body of your program. This means they will never be declared in your computeButtonMouseClicked()method, nor in any other method. In general, methods have the form methodName( argument 1, argument 2, ){ //code goes here return answer of type ; } can be any type of variable or object, such as double, int, boolean, etc. You may even have a return type of void. This means that the method does something, but returns nothing. In the case of a void method, the last line, return answer of type ; cannot be used. Heres an example of a method that calculates EMBED Equation.DSMT4 . In order to do this, we will need to input x as a double and return the answer as a double. So the method might look like: double f(double x){ double answer=Math.sin(x)*Math.sin(x); //note the use of the // Math class here. // It has lots of functions! return answer; } If we wanted to calculate EMBED Equation.DSMT4  in the context of our computeButton method and put the result in the variable funcAnswer we would do this by double funcAnswer=f(Math.PI/4.0); Other Math functions and constants can be found in Appendix 3. Add a method named sum to your code that returns the value of the sum of the integers 1 through n. The sum of the first n integers can be computed via  EMBED Equation.DSMT4 . You have a couple of options to implement this method. Your may want to write a method that returns a double value. But you can also take advantage of the fact that this method always returns an integer, so you might choose a return type of int. Also the argument of this method can be an double or an int as well. So you have two reasonable choices for the argument type. You should pay special attention when dividing by two ints. For example, 3/2 is 1, not 1.5. 1/4 is 0, not 0.25. See Sample Code 3 in Appendix to check work Test your method by outputting to the methodLabel. Your applet should now take an input n, and return the sum of the first n integers computed two different waysvia a loop and via a method. Build and run your project. See Sample Code 4 in Appendix to check work Decision making structures. If/then/else statements and switch statements are two primary ways to make decisions in Java. Well talk primarily about if/then statements and leave you to refer to Appendix 5 for information needed to implement switch structures. If/then/else statements If/then statements have the general format if (logical statement){ // put code statement(s) here } else{ //put more code statement(s) here } A logical statement is a statement that is either true or false. Here are some examples: x<=y // is x less than or equal to y? x!=y // is x not equal to y? x!=y // is x not equal to y? x==y // is x equal to y? x||y // is x or y or both x and y true? x&&y // is x and y true? x>y // is x strictly greater than y? x // is x true? (This presumes x is a boolean variable) For example, if we want to determine the maximum of two numbers, we might have code similar to the following. double biggest=0.0; if (x>y){//We decide here which one is the max. biggest=x; } else{ biggest=y; } You are not required to utilize the else part of the if/then structure. So use it when it makes sense to you! Write code to examine the integer n inputted from nField and output an error message if n is negative. See Sample Code 5 in Appendix to check work. Using the debugger NetBeans has a very nice debugger. Instead of choosing Run File choose Debug File in order to engage the debugger. You can run your program as you would normally, except that you now have the ability to stop at various points in your code and step line-by-line in order to find bugs. Place a breakpoint in your code. Click on the narrow strip to the left of your source code and to the right of your Projects window. This will leave a pink box that is the breakpoint at which the debugger will stop.  HYPERLINK "images/debuggerScreenShot.GIF" Heres a screen shot of a sample breakpoint. Run program normally. The program will stop and highlight the breakpoint line in green when it reaches it. Use the debugger menu to step through code. This toolbar is above the source code.  HYPERLINK "images/debuggerMenuBar.GIF" See screen shot here. You can step a line at a time, step into a method, step out of a method, set the cursor several lines down and run to the cursor, and several other things. Use the Watches window to track variable values. This window is in the lower right hand corner. Click on the Watches tab. Right-click on the window and choose New Watch. Type in the variable that you want to keep track of. The debugger will update this value as you step through the code. Quit the debugger. Click on the yellow boxed x in the debugger tool bar. This stops execution of the debugger and will kill your applet window. The debugger can be an invaluable tool to speed up code development. It has much more functionality than I am familiar with, but there is some nice documentation under the help menu. Homework 2 Write code to implement Newtons method to find the roots of the function  EMBED Equation.DSMT4 . Your program should take an initial guess from the applet when clicking a button, find the root, and output the answer to a label. Note that Newtons method generates a sequence that converges to the root of the given function if the initial guess is close enough. This sequence is generated by the recurrence relationship  EMBED Equation.DSMT4 .. Your code should have two methodsone for the function  EMBED Equation.DSMT4  and another for its derivative. You will also need to decide when to stop looking for the root. One reasonable criteria is to check and see if  EMBED Equation.DSMT4  is less than a tolerance of, say,  EMBED Equation.DSMT4 .(Java accepts scientific notation and so  EMBED Equation.DSMT4 ). Also, you will probably want to use a while loop to implement Newtons method. See Appendix 1 for the format of these loops. See Sample Code 6 to check work Appendix 1 Do/while loops Do/while loops Do/while loops have the following general structure. do { // do something here } while ( logical expression ); For example the following code loops through code 10 times. int counter=1; do { // do something here counter++; } while ( counter<=10 ); The primary difference between while loops and do/while loops is that a do/while loop is guaranteed to go through the loop once before checking the logical expression. The while loop is not guaranteed to execute the loop even once. While loops While loops are very similar in structure to do/while loops; their general form follows. while ( logical expression ){ //do something here } The following example calculates 5 factorial. int counter=2; int factorial=1; while ( counter<=5 ){ factorial=factorial*counter; counter++; } Appendix 2 Converting data types: the Convert class The Convert class is useful for converting some data types to other data types. When writing applets, Ive primarily used the toDouble() and toInt() methods. Syntax for use is Convert.toType(argmument); For example, when converting a String named inputString to a double, we would call the method as follows. Convert.toDouble(inputString); Currently available methods are summarized in the following table. static public booleanisDouble(String snum) Checks to see if snum is number with a double value. This is useful for error checking input.static public longisInt(String snum) Checks to see if snum is a number with an integer value. This is useful for error checking input.static public double toDouble(int inum) Converts int to doublestatic public double[] toDouble(Object object) Converts Object to double[]static public double toDouble(String snum) Converts String to doublestatic public int toInt(double dnum) Truncates double to intstatic public int toInt(String snum) Converts String to intstatic public long toLong(String snum) Converts String to longstatic public int toRoundedInt(double dnum) Rounds double to intstatic public String toString(double dnum) Converts double to a Stringstatic public String toString(float fnum) Converts float to a Stringstatic public String toString(int inum) Converts int to a String Useage Here's an example of converting a double to a String: double x=3.645; String=stringx; stringx=Convert.toString(x); We can now output this using the setText() method. For example: label1.setText(stringx); Here's an example of converting an int to a String: int year; String=stringyear; stringyear=Convert.toString(year); Here's an example of converting a float to a String: float x=3.645; String=stringx; stringx=Convert.toString(x); But the primary use of the Convert class is to convert strings to ints, doubles, etc. Heres an example of converting the string 3 into an int. String string3=3; int answer=Convert.toInt(string3); answer will now have the integer value of 3. Code in Convert.java: Using wrapper classes. Ive used wrapper classes to construct the Convert.java class. Read on if you are interested in the details Other types of objects that we may encounter are ones defined by Double, and Integer classes. Note the capital letter at each of these classes. The class Double is known as a wrapper class for the primitive type double. Thus Double objects and double variables are two different things. The reason Java needs these classes is that it is an object-oriented language. With each of these classes is defined a myriad of different methods that operate on the Double object. But as you might expect there is a close relationship between an object defined by the Double class and a variable defined by the double primitive type. Heres an example of how to define a Double object. Double dval=new Double(70.5); This statement constructs a Double object named dval and gives it the value of 70.5. Now suppose you want to extract the value of dval and assign it to the double variable height. Heres how to do this: double height; height=dval.doubleValue(); Or, you can combine these three statements into one: double height=(new Double(70.5)).doubleValue(); You should observe that doubleValue() is one of many methods that will operate on a Double object. There are parallel concepts for Integer objects, Float objects, etc. Appendix 3 Methods and Constants in the Math Class ConstantsThese constants are referred to via the form Math.Constant. For example, Eulers constant is Math.Estaticdouble HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "E" E The double value that is closer than any other to e, the base of the natural logarithms.staticdouble HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "PI" PI The double value that is closer than any other to  EMBED Equation.DSMT4 , the ratio of the circumference of a circle to its diameter. MethodsAll methods are called by using the form Math.method(argument). The following example calls the method  EMBED Equation.DSMT4  and returns a value to be placed in the variable y. double y=Math.sin(x);static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "abs(double)" abs(doublea) Returns the absolute value of a double value.static float HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "abs(float)" abs(floata) Returns the absolute value of a float value.static int HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "abs(int)" abs(inta) Returns the absolute value of an int value.static long HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "abs(long)" abs(longa) Returns the absolute value of a long value.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "acos(double)" acos(doublea) Returns the arc cosine of an angle, in the range of 0.0 through  EMBED Equation.DSMT4 .static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "asin(double)" asin(doublea) Returns the arc sine of an angle, in the range of  EMBED Equation.DSMT4  through  EMBED Equation.DSMT4 .static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "atan(double)" atan(doublea) Returns the arc tangent of an angle, in the range of  EMBED Equation.DSMT4 through  EMBED Equation.DSMT4 .static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "atan2(double, double)" atan2(doubley, doublex) Converts rectangular coordinates (x,y) to polar  EMBED Equation.DSMT4 .static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "ceil(double)" ceil(doublea) Returns the smallest (closest to negative infinity) double value that is not less than the argument and is equal to a mathematical integer.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "cos(double)" cos(doublea) Returns the trigonometric cosine of an angle.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "exp(double)" exp(doublea) Returns Euler's number e raised to the power of a double value.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "floor(double)" floor(doublea) Returns the largest (closest to positive infinity) double value that is not greater than the argument and is equal to a mathematical integer.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "IEEEremainder(double, double)" IEEEremainder(doublef1, doublef2) Computes the remainder operation on two arguments as prescribed by the IEEE 754 standard.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "log(double)" log(doublea) Returns the natural logarithm (base e) of a double value.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "max(double, double)" max(doublea, doubleb) Returns the greater of two double values.static float HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "max(float, float)" max(floata, floatb) Returns the greater of two float values.static int  HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "max(int, int)" max(inta, intb) Returns the greater of two int values.static long HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "max(long, long)" max(longa, longb) Returns the greater of two long values.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "min(double, double)" min(doublea, doubleb) Returns the smaller of two double values.static float HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "min(float, float)" min(floata, floatb) Returns the smaller of two float values.static int HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "min(int, int)" min(inta, intb) Returns the smaller of two int values.static long HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "min(long, long)" min(longa, longb) Returns the smaller of two long values.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "pow(double, double)" pow(doublea, doubleb) Returns of value of the first argument raised to the power of the second argument.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "random()" random() Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "rint(double)" rint(doublea) Returns the double value that is closest in value to the argument and is equal to a mathematical integer.static long HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "round(double)" round(doublea) Returns the closest long to the argument.static int HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "round(float)" round(floata) Returns the closest int to the argument.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "sin(double)" sin(doublea) Returns the trigonometric sine of an angle.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "sqrt(double)" sqrt(doublea) Returns the correctly rounded positive square root of a double value.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "tan(double)" tan(doublea) Returns the trigonometric tangent of an angle.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "toDegrees(double)" toDegrees(doubleangrad) Converts an angle measured in radians to an approximately equivalent angle measured in degrees.static double HYPERLINK "http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html" \l "toRadians(double)" toRadians(doubleangdeg) Converts an angle measured in degrees to an approximately equivalent angle measured in radians. Appendix 4 Sample Code Sample Code 1 private void computeButtonMouseClicked(java.awt.event.MouseEvent evt) { int answer=0; for (int i=1; i<=10; i++){ answer+=i; } loopLabel.setText(""+answer); } Sample Code 2 private void computeButtonMouseClicked(java.awt.event.MouseEvent evt) { int answer=0; int n=0; String inputString=null; inputString=nField.getText(); n=Convert.toInt(inputString); for (int i=1; i<=n; i++){ answer+=i; } loopLabel.setText(""+answer); } I should point out that we can eliminate the use of the inputString variable by combining the two steps of getting the text fromnField and Converting it to an int. If we do this, the two lines inputString=nField.getText(); n=Convert.toInt(inputString); become the single statement n=Convert.toInt(nField.getText()); Sample Code 3 double sum(double x){ return x*(x+1)/2.0; } Note that I used 2.0 instead of 2. This clearly indicates to the compiler (and user) that I am doing arithmetic with double instead of int. int sum(int x){ return x*(x+1)/2; } Sample Code 4 double sum(double x){ return x*(x+1)/2.0; } private void computeButtonMouseClicked(java.awt.event.MouseEvent evt) { int answer=0; int n=Convert.toInt(nField.getText()); for (int i=1; i<=n; i++){ answer+=i; } loopLabel.setText(""+answer); methodLabel.setText(""+sum(n)); } Note that Im abusing the type of the variable n. The method Ive written requires a double argument. But in the line methodLabel.setText(""+sum(n)); Ive inputted an int into the method sum(x). The compiler has detected this and deals with it, However, you will often get a compile-time error.when you dont math types correctly. In general, this is not good programming practice. Sample Code 5 double sum(double x){ return x*(x+1)/2.0; } private void computeButtonMouseClicked(java.awt.event.MouseEvent evt) { int answer=0; int n=Convert.toInt(nField.getText()); if(n<0){ loopLabel.setText("n must be positive"); }else{ for (int i=1; i<=n; i++){ answer+=i; } loopLabel.setText(""+answer); methodLabel.setText(""+sum(n)); } } Sample Code 6 I used the existing computeButton, nField, and loopLabel from the previous exercise. I have not changed the name of these objects, but good programming practice will name objects something that will help the programmer understand the structure of the code and to debug it. double f(double x){ return Math.sin(x); } double fdot(double x){ return Math.cos(x); } private void computeButtonMouseClicked(java.awt.event.MouseEvent evt) { double x=Convert.toDouble(nField.getText()); while (Math.abs(f(x))>1.0e-12){ x=x-f(x)/fdot(x); } loopLabel.setText("root is "+x); } Appendix 5 The switch statement. The switch statement has the following format switch (arithmetic statement){ case label 1: case label 2: INCLUDEPICTURE "../../../../342/spring02/web/java/image7EL.JPG" \* MERGEFORMATINET  case label n: } where arithmetic statement must be type char, byte, short, or int. For example given the following switch statement, int gradeLevel; switch(gradeLevel){ //4= 4 degree, 1=1 degree case 1: // gradeLevel is 1 label1.setText("I am glad Im graduating"); break; case 2: // gradeLevel is 2 label1.setText("I wish I were a senior"); break; case 3: // gradeLevel is 3 label1.setText("I wish I could take this workshop"); break; case 4: // gradeLevel is 4 label1.setText("I need recognition"); break; } If gradeLevel=1, then the output is: I am glad Im graduating Note the use of the break statement above. The break statement interrupts the current loop and kicks out to execute the remainder of the program. For example if you eliminate the break statement and have the following code int gradeLevel; switch(gradeLevel){ //4= 4 degree, 1=1 degree case 1: // gradeLevel is 1 label1.setText("I am glad Im graduating"); case 2: // gradeLevel is 2 label1. ("I wish I were a senior"); case 3: // gradeLevel is 3 label1.setText("I wish I could take this workshop"); case 4: // gradeLevel is 4 label1.setText("I need recognition"); break; } and if gradeLevel=1, then the output will be I am glad Im graduating I wish I were a senior I wish I could take this workshop I need recogntion There are other subtleties associated with using the switch statement. Please refer to a good Java text for figuring these out.  The Math class gives you access to many functions. All of them are called with the format Math.function(x). Math.sin(x), Math.tan(x), Math.abs(x) are just a few of the functions. There are also some constants defined in the Math class. Two examples are Math.E and Math.PI.     PAGE  PAGE 4      6 9 ] }  ܸwbQ hhN(CJOJQJ^JaJ)hhN(B*CJOJQJ^JaJph)h'hN(B*CJOJQJ^JaJphhj')hyhhkB*CJOJQJ^JaJphhhkh hN(aJ h'aJhmhf5CJ\aJhxNh yh y0J%5CJaJhgh9! h+hN( h+h12 h%`yh,h, hbh,# + - > @ A P Q ^gd`gd`^gdN(gdN(gdN(gd9!gd\5gdN(gd,|}~     . > ? @ X m ~ ۿۋ}rhhhWSSh5T. hxj]hN(CJOJQJ^JaJh+hN(6]hhN(CJaJh>|CJOJQJ^JaJ)h>|h>|B*CJOJQJ^JaJph)hhN(B*CJOJQJ^JaJphh+hN(5\ h+hN()hhN(B* CJOJQJ^JaJph hhN(CJOJQJ^JaJ&hhN(6CJOJQJ]^JaJ ' ( M N O P ^ v } ~  7 D E   # - ? Q ޱ⑍{n{n{n{ng h`hqh`hq0J%CJaJhqhphBy0J%5CJaJhphByh0xh>|0J%5CJaJh]:h00J%5CJaJh0 h>|6 h]:h]:h]:0J%5CJaJhPVh>|0J%5CJaJh{;HhPVh>|h5T. h+hN(h5T.hN(0J%5CJaJ(Q ^  CD,gdq#kgdN(^gdN( ^`gdN( & Fgds]gds] & Fgdgd2~ & Fgd%5igd%gd{;H & F gd` & F gdPVgd{;H *<= J#2=O\_nxºvrvhhZ*ht0J%5CJaJht h)h%h%0J%5CJaJh$Hh%0J%5CJaJhsh%0J%5CJaJh%h%nH tH  hN(6h{;HhN(hB1hQh`h`hl0J%CJaJ h`hWSh`hq0J%CJaJhq* !'(h»ڭzseWPIEEh7 h6] h[6]hh[0J%5CJaJhhn 0J%5CJaJ hn 6]'h2~hN(5B*OJQJ\^Jph h+hN( h,] hZJ]hhO0J%5CJaJhh70J%5CJaJ hO6] hvK'hN(CJOJQJ^JaJ h]06] h76]h+hN(6]h+h%5i6]h%hFnH tH <Bjnt!',/8>BCD^_zfYh+hN(OJQJ^J'h+hN(5B*OJQJ\^Jph!h{;H5B*OJQJ\^Jph!hy<5B*OJQJ\^Jph!h2~5B*OJQJ\^Jph h+h7lhs]h7l6hs]hhs]6]hhv0J%5CJaJhvh7hh70J%5CJaJhh7l0J%5CJaJh7l,p{|y}DZxrl`UIlhChY0J%5aJhBhhY0J%aJhN9hY0J%5aJ hYCJ h{fCJh{fh{f6CJ]h0hN(OJQJ^JaJh+hN(CJh+hN(6CJ]hY6CJ] h+hN(hq#kh{}6 hq#kh{} hq#khN(hq#kh%5ihN(5CJ\aJhy5CJ\aJhq5CJ\aJh+hN(6],|}!"J  ^gd[#^gdy=8^8gds & FgdKCXh^hgdq#k hh^h`hgd&$a$gd&h^hgd& & FgdKCXgdN(gdq#k!"#/opvxyz.BDQ]IJwzЪۙyysmamWQ hKCXCJhhKCX6CJhN9hOC,0J%5aJ hOC,CJ hYCJ hXCJ hs6CJhKCXhi>z6CJhq#khq#kCJ hB<h&0JOJQJ^JaJ.jhB<h&OJQJU\^JaJh&h&0J%5CJaJh&0J%5CJaJjh&0J%5CJUaJh}Dh&CJ h&CJ hi>zCJz/5EJR[^ ^_ioyz157<CSž{h{_hT6CJ]$h [h'>0J%5B*CJaJph h'>CJh0hN(OJQJ^JaJh0hN(aJh*hN(0J%h+hN(6CJ]h+hN(CJ h[h{3 h[h6ZDh[h6ZDB*ph hxhshxhsB*ph hBhCJ h6ZDCJ hCJ h{3CJ hsCJ! ^_no  !!'" & Fgd{}h^hgdN(^gd*^gdO $h^ha$gdN(h^hgdYf & Fgd{}h^hgd{} & Fgd{} hh^h`hgdN( & FgdN( & Fgd'}gdN(^gdTS\rmnoz{ ƸƯ띏릃}ofZQhF36CJ]h'>CJOJQJ^Jh@6CJ]hthA0J%5CJaJ hACJhAOJQJ^JaJhthl0J%5CJaJhl6CJ]h+hN(CJh'}hN(CJh [htj0J%5CJaJ htjCJ]h ;hZ0J%5CJaJ hZCJ]hT6CJ]h+hN(6CJ]h%-6CJ]-6?[q"uۺsgaUFh+hN(CJOJQJ^Jh |OJQJ^JaJ hhCJh"OJQJ^JaJhPh"0J%5CJaJh0hN(OJQJ^JaJh+hN(6CJ]h+h{}CJOJQJ^Jh{}hN(CJOJQJ^J h=CJhF356CJ\]h+hN(56CJ\]h+hN(CJ hCJ]h0hOJQJ^JaJ hCJ    . 9 @ 1!I!L!^!a!b!!!!!!!!!!!ɺ|t|it`t|YMh+hN(6CJ] h\lhOhB<h.e0Jjh.eUjh.eUh.ehDh(5hDh(0J%5CJaJh(h*hOh*OJQJ^JaJhN(OJQJ^JaJh\lhN(OJQJ^JaJhNOJQJ^JaJhYfhYfCJ hN(CJh+hN(CJhPh^&N0J%CJaJ h^&NCJ!!!!!("*".";"<"H"W"X"_"`"b"h""""""͵uj`T`M`A: h a5aJjh a5UaJ hj*_5aJh+h:56aJh+h:5aJh%5ih:CJaJh%5ihmCJaJh+hN(CJaJ)hyJ5B*CJOJQJ\^JaJph)hh#S5B*CJOJQJ\^JaJph/h+hN(5B*CJOJQJ\^JaJph)h+hN(B*CJOJQJ^JaJphh+hN(CJh+hN(6CJ]hN6CJ]'"("W"X"`"P#Q###$$_$q$$$$%%%%&gdO$a$gdO$a$gd$a$gd:gd7_ $0]0a$gd: $0]0a$gdy$a$gd|gdN(h^hgdN("""""""""#M#Q########$F$Z$`$¸¸zn\M\h5CJOJQJ\^J"h\lh:5CJOJQJ\^Jh+h:5\aJh7_h:]h7_hDha?0J%5CJaJhDhW=0J%5CJaJ hW=h:hW=h:6 h5aJh+h:5aJ h5aJ h|5aJjh a5UaJ jZh ah a5EHUaJ$jeNB h a5CJUVnHtH`$q$r$x$$$$$$$$%%o%s%%%%%%%%׸}tdN<"h\lhO5CJOJQJ\^J+h\lhO5B*CJOJQJ\^Jphh\lhO5B*CJ\phhO5\aJht5\aJ hD~hO0J%5B*CJphh=$`5\aJh+hO5\aJh=$`hO0J%5CJh:5\aJ+h\lh:5B*CJOJQJ\^Jph"h\lh:5CJOJQJ\^J+h\lh:5B*CJOJQJ\^Jph3f%%%%%%%%% & & & &,&:&;&A&G&c&i&&&&&&&&&&&߷֨߉xxmfmf[fWfSh-55h.h ahOB*ph h"nhOhy=hOB*ph h ahO0J%5B*CJphh+hO56\aJ#jh ah.5EHU\aJjI h.5CJUVjhO5U\aJ#jh+hO0J5U\aJhO5\aJh+hO5\aJht5\aJh\lhO5CJ\&&&&')'8':';'''((@(A(**++  !gd:gd$^`a$gd: $ & Fa$gdj&$a$gd:$a$gdSgdO$a$gdO#gd^"; $^a$gdO&&&&&&&'' ''')'/':';'T'U'l'm'n'o''''''''ڹvdXLhghO0J%5CJhgh|0J%5CJ#jh ah|5EHU\aJjI h|5CJUVhO5\aJjhO5U\aJh+hO5\aJ"h+hO5OJQJ\^JaJh ahOB*phhy=h aB* phhy=h.B* phhy=hOB* phh-55h. h"nhOh"nhOB* ph''''''''(((?(@(A(M(T(W(X(`(ɳ}tkbVI?3?Ih1h10J%5CJh156]aJh )h:56]aJh+h:5\aJhS5\aJhu5\aJh:5\aJh:5\aJh )hO5CJ\"h )hO5CJOJQJ\^Jhg5CJOJQJ\^J+h )hO5B*CJOJQJ\^Jph"h+hO5OJQJ\^JaJh+hO5\aJhghO0J%5CJhghg0J%5CJ`(((((((((((((((()-)3)4)A)U)[)\)_)e)))))*,*ɼɯɠɁwogogogogo[ogogOhe he 0J%5CJhe h>mE0J%5CJhe he 5he h>mE5h>mE5\]aJh>mEh>mE5\]aJ#j2 h>mEh>mE5EHU]aJj2I h>mE5CJUVjh>mE5U]aJhmSh>mE56]aJh>mE5]aJh05]aJh056]aJh )h:56]aJh )h+56]aJ,*7*d*l*r*t*********++++;+<+xe[OB6hgLh:0J%5CJh )h:6\]aJh )h:6\aJh )h:\aJ%h+h:B*OJQJ^JaJphhyJB*OJQJ^JaJphhB*OJQJ^JaJphhB*OJQJ^JaJphh+h:5\aJh/h:5\aJhQb 5\]aJhHhj&0J%5CJhj&5\]aJh>mE5\]aJ he 5he h>mE5he he 5<+B+F+G+H+J+o+p++++++++,, ,!,",>,,ɽɽɶЬs]MF=hcuhaJ h/hD[h+h:OJQJ\^JaJ+h+h:5B*OJQJ\^JaJph%hyJ5B*OJQJ\^JaJph%h5B*OJQJ\^JaJph%h5B*OJQJ\^JaJphh+h:\aJ h^r\aJhN*hN*6\aJ hN*\aJh )h:\aJh )h:6\]aJhgLh:0J%5CJhgLhgL0J%5CJ+++!,",>,)-*-B-n---@.h...../-/ & Fgd:  !gd: !|^gd:  !|gd:gdq $ !|a$gd !|h^hgd: & F !|gdj&,(-)-*-B-n-p-r------------------?.@.F.f.n.......˼˼mf[f[f[f[fh+h:B* ph h+h:"hh:6CJOJQJ]^Jh+h:OJQJ^JaJ%hh:B* CJOJQJ^Jphhh:CJ"hh:6CJOJQJ]^Jhh:CJOJQJ^J%hh:B*CJOJQJ^Jphh+h:aJh+h:5aJ hqaJhcuhcuaJ#.../ /+/,/-/0/e/f//////0*0.0>0?0@0d0h000000ƶƶƶung]ShW8o6\]aJhvE6\]aJ h\aJ h/h8h8h80J%5CJaJh8h8CJOJQJ\^Jh:CJOJQJ\^J(h/h:B* CJOJQJ\^Jphh/h:CJOJQJ\^J(h/h:B*CJOJQJ\^Jphh+h:\aJh+h:\ h+h:h+h:B* ph-/f/g/////0'0*000<0?0@00011G1 $]a$gdKgd: & F !|gd  !|gdgd8  !|gd8 !|^gd:  !|gd: & Fgd:00001111111$1*1+171F1G1Z1[11|2}22V3ua]YUQYIEhvhQChv6huhYh;oh 'h+h:5B*OJQJ\^Jph!hm@5B*OJQJ\^Jph!h K5B*OJQJ\^Jph!h4<5B*OJQJ\^Jph!hLa5B*OJQJ\^Jph h+h:h+hdY!\aJhvE6\]aJhW8ohW8o6\]aJhW8ohW8o0J%5CJhW8o6\]aJhW8o\]aJG1H1[1}23 4R5}67777799;;;;;;;gdj'$a$gdj'$a$gd41gd41gd41gd Ngd}DgdU & Fgdvgd;ogd;ogdj'V3W33333333 4J4L4Q4s4t4444444435Q5R55|6}66667777"8#8:8ûðǣǛ{vlvjh41U\ h41\h41hUhIhh^hXhXh^6hELhXhEL6h8^h h 0Jjh5uUjh Uh hR;hXhR;6hQChQChQC6hvhv0JjYh UhvjhvU%:8;8<8=8999999999999:::::::::::: ;;%;̷̄u`Qjh(b[h41EHU\)jAI h41CJPJUVaJnH tH j}h(b[h41EHU\)jBI h41CJPJUVaJnH tH jsh@h41EHU\jhvLh41EHU\)jAI h41CJPJUVaJnH tH  h41\jh41U\jh@h41EHU\)j@I h41CJPJUVaJnH tH %;&;';(;;;;;;;;;;;;;;,<.<H<N<d<e<f<g<<<{wsleZSZSwSewHh+hj'B*ph hNhj'hNhj'B*ph h+hj' hVhj'hVhj' h G(hj' hj'hj'h hj'h$ t h+h41'h+h415B*OJQJ\^Jph!h415B*OJQJ\^Jphh41h@h41\ h41\jh41U\jh(b[h41EHU\)jBI h41CJPJUVaJnH tH ;;,<1<F<f<g<<<<<<<<<===A>B>`>t>v>w>>gd,s[gdV gdcs#^gdF#gd^";gdj'gdV<<<<<<<<<<<<<<==!=)=:=B========>#>@>B>H>^>`>t>u>w>>îîîîæynjh,s[hFhB* ph hNhhNhB*phhhjhoh hVaJhVhVaJhVhoSg\)h G(hj'B*CJOJQJ^JaJph h+hj'hj'hNhj'B*ph hNhj' h hj' h@Qhj'h@Qhj'B*ph h+hj'%>>>>>>>??? ??>???@??@@y@@@@@ gdH $ a$gdU gdUgdggd]gd]#^gdF#gd^";gd,s[>>>>>>>>>>>>>>>????? ? ?=?>?D?K?k?o?y?z?~????????@@.@𶲮njhze hUhUCJOJQJ^JaJhv (hU0J%5CJaJhUhHhv (hL0J%5CJaJhL hHh3|hghVh] h,s[h,s[ hEhEhE hNh,s[hNh,s[B*phh,s[h,s[nH tH  h+h,s[h,s[h+h,s[B*ph(.@4@;@F@L@R@x@y@@@@@@@@@@@@@@AgAiA|AAA B濪uddO)h/&Gh/B*CJOJQJ^JaJph h/&Ghq#kCJOJQJ^JaJ)hq#khq#kB*CJOJQJ^JaJphhq#kCJOJQJ^JaJ#hq#kB*CJOJQJ^JaJph)h/&Ghq#kB*CJOJQJ^JaJphhBj[hUCJOJQJ^JaJh/&G hUhUCJOJQJ^JaJhU)hUhUB*CJOJQJ^JaJph@@hAiA|AArkd"$$Ifl0@ ,"  t0644 layt, $Ifgd,AA B3Brr $Ifgd,kd/#$$Ifl0@ ,"  t0644 layt, BBBBB$B%B(B)B+B,B2B4BHBJBMBVB\BcBdBeBmBnBtBuBwBxB~BBBBBBBBBBBBBBBBBBBBBBCCCCC CC#C)C0C8C9C?C@CBCCCFCHCNCZC]CcCڳڳڳ#h/B*CJOJQJ^JaJph hlh/h/CJOJQJ^JaJ)h/&Gh/B*CJOJQJ^JaJph h/&Gh/CJOJQJ^JaJF3B4BMBBrr $Ifgd,kd#$$Ifl0@ ,"  t0644 layt,BBBBrr $Ifgd,kd$$$Ifl0@ ,"  t0644 layt,BBBCrr $Ifgd,kdj$$$Ifl0@ ,"  t0644 layt,C CCGCrr $Ifgd,kd$$$Ifl0@ ,"  t0644 layt,GCHC]CCrr $Ifgd,kd<%$$Ifl0@ ,"  t0644 layt,cCdCjClCqCyCzCCCCCCCCCCCCCCCCCCCCCCCDD D DDDDD.D7DFDFMFOFVFkFmFлЭحxxxcxcxcxxxcxcx)hMPhJB*CJOJQJ^JaJph)hMPhJB*CJOJQJ^JaJphhMPhJB*ph)h!=hJB*CJOJQJ^JaJphhJB*OJQJ^Jph)hMPhJB*CJOJQJ^JaJphhJB*ph)h!=hJB*CJOJQJ^JaJph#hJB*CJOJQJ^JaJph&E.FlFmFFFGG8G9GfGgGhGGHHJJJJ%K&KK h^hgdcs gd\^ gdcsgdcsgd'Wgde gd\^#gdJgdJmFGG9G?GfGhGGGGGHHHHGHMHSHZHHHHHHHHHHHHHI&IcIdIIIټ٩ٖهققzu`u`uټ\h2(h'Whcs5B*CJOJQJaJph hcs5hcsOJQJ hcs6h hcsCJOJQJaJ%hrNhcsB*CJOJQJaJph%h'WhcsB*CJOJQJaJphhrNh'W h\^h\^CJOJQJ^JaJh\^hcs hJ5\hFhJ0J%CJaJhFhJB*phhJ$III7J=JbJhJJJJJJJJJJJJKKKKSKWKmKsK}KKKKKKKKLLLLLLL2LKLXLLLLLL|h?%h\^hcsB*CJOJQJaJphhcshcsCJaJh\^hcsCJOJQJaJh'W%hcshcsB*CJOJQJaJph%h'WhcsB*CJOJQJaJphhv (hcs0J%5CJaJhcsOJQJhcshcsCJOJQJaJhcs0KKKKKKL2L3LLLLLLMMM"M $IfgdHgQ$a$gd=(gd gd  gdcs gdl $ a$gd\^ h^hgdcsLLLLLLLLLLLLMM"MMMMMMMMMMMMMMN*N+NRNXNYN_N`NaNNNNlel h=6]$h=0J5CJOJQJ\^JaJh=0J5\jh=0J5U\ h=0Jhe3h=0JB*ph he3h=CJOJQJ^JaJ he3h=h=h h=h= h, h, hMP hlh\^ hFh\^hcs%h'WhcsB*CJOJQJaJph'"M#MMM $$Ifa$gd= $Ifgd=gkd'$$Ifl,"" t0644 laMMMQN $Ifgd= $$Ifa$gd=gkd'$$Ifl,"" t0644 laQNRN`NMOxo $Ifgd= $$Ifa$gd=zkdD($$Ifl0,"~ t0644 laNNNNNN O OOOOOWOXOOOOOOOOOOOOOOOOOOO P PȻ|hY|j+h`Xh=0JEHU'jwQB h`Xh=CJPJUVaJjh`Xh=0JUh`Xh=0J h=0Jh@Zh=0J h7jh=$he3h=0JCJOJQJ^JaJj(he3h=EHU!jxQB h=CJPJUVaJjh=Uhe3h=0JB*phh=jh=0J5U\ MONOOOWOv $IfgdHgQgd=zkd:+$$Ifl0,"~ t0644 laWOXOP%P $$Ifa$gd= $Ifgd=ikd+$$Iflw,"" t0644 la P PPP#P$P%P&P-P3P4P5PPPPPPPPPPPPPPP@QAQDQEQFQKQNQzQQQQQQQQQȾȡviviȾȡviviȾȡh1h=0JB*phh7jh=0J*h7jh=0J5CJOJQJ\^JaJh7jh=0J5\jh7jh=0J5U\hGh=0JB*phh=0JB*ph h7jh=h`Xh=0J5\h`Xh=0Jh`Xh=0JB*ph h=0Jh=0J6])%P&P4PP $Ifgd= $$Ifa$gd=ikd.$$Iflw,"" t0644 laPPPQvm $Ifgd= $$Ifa$gd=|kd.$$Ifl0,"~ t0644 laQQQ/Rvm $Ifgd= $$Ifa$gd=|kdU/$$IflC0,"~ t0644 laQQQQQQ$R'R0R7R;R^?^^^^^^^^^^^^^^^^^X_Y_\_]_^_d_h_n_Ұҧ⧡ҰҧҰҧҰҧh1h=B*phh1h=0JB*ph h=0Jh7jh=0J*h7jh=0J5CJOJQJ\^JaJh7jh=0J5\jh7jh=0J5U\h3h=0JB*phh=0JB*ph h7jh=6]]]1^vm $Ifgd= $$Ifa$gd=|kd F$$Ifl0,"~ t0644 la1^2^>^^xo $Ifgd= $$Ifa$gd=zkdpF$$Ifl0,"~ t0644 la^^^_vm $Ifgd= $$Ifa$gd=|kdF$$Ifl0,"~ t0644 lan_q________`````!`%`*`-`T`Y`c`j`m`n`o``````````aaaaaaa}a~aaaaaaaaaaaaaaa8b9bbξξξξ*h7jh=0J5CJOJQJ\^JaJh7jh=0J5\jh7jh=0J5U\h1h=B*phh=0JB*phh1h=0JB*ph h7jh=h7jh=0J=___b`vm $Ifgd= $$Ifa$gd=|kd2G$$Ifl0,"~ t0644 lab`c`n`avm $Ifgd= $$Ifa$gd=|kdG$$Ifl0,"~ t0644 laaaaavm $Ifgd= $$Ifa$gd=|kdG$$Ifl0,"~ t0644 laaaabvm $Ifgd= $$Ifa$gd=|kd[H$$Ifl0,"~ t0644 la>bDbHbNbQbbbbbbcccc!c7c=cscvcccccccccccccddd#d|ddddddddddddee-e4e7e8e9eeeeeeeeeͽͽͽͽ*h7jh=0J5CJOJQJ\^JaJh7jh=0J5\jh7jh=0J5U\h1h=B*phh=0JB*ph h7jh=h7jh=0Jh1h=0JB*ph=bbbcvm $Ifgd= $$Ifa$gd=|kdH$$Ifl0,"~ t0644 laccc{dvm $Ifgd= $$Ifa$gd=|kd!I$$Ifl0,"~ t0644 la{d|dd,evm $Ifgd= $$Ifa$gd=|kdI$$Ifl0,"~ t0644 la,e-e8eevm $Ifgd= $$Ifa$gd=|kdI$$Ifl0,"~ t0644 laeeeeeeeCfDfGfHfIfOfRfffffffffffggIgOgXg_gegfgggggggggg hhhhh{h|hhhhhhi iiiiqiri{i|i}iξξξξξ*h7jh=0J5CJOJQJ\^JaJh7jh=0J5\jh7jh=0J5U\h1h=B*phh1h=0JB*phh=0JB*ph h7jh=h7jh=0J=eeefvm $Ifgd= $$Ifa$gd=|kdJJ$$Ifl0,"~ t0644 lafffWgvm $Ifgd= $$Ifa$gd=|kdJ$$Ifl0,"~ t0644 laWgXgfg hvm $Ifgd= $$Ifa$gd=|kdK$$Ifl0,"~ t0644 la h hhipg $Ifgd=$ !B$Ifa$gd=|kdsK$$Ifl0,"~ t0644 laiiiivm $Ifgd= $$Ifa$gd=|kdK$$Ifl0,"~ t0644 la}iiiiiijjjjjj j!j(j)j-jjjjjjjjjjjkkk k k|kkkkkk'lžѾѸѭѢѭњ||qjqjqjqjqj hh#Sh?h+Rh?B*ph h+Rh?h?B*CJaJphhkth?nH tH h?nH tH hah?B*phhSh?B*ph h?PJ h<h? h?5 h/h?h?h85CJ\h= h7jh=h7jh=0Jh1h=0JB*ph&iiijjj j!jjjjj}xxsnii```#^gdF#gd^";gd?gd?gd?gd=|kd9L$$Ifl0,"~ t0644 la jjjjjjjkktkkkkkkll)؃;)'/mRLegbg2r٫PGc?#Bx=6Z-mcWNlR+meŸl,ba=e )t5U˪p7a"rPRГV2\qj.NF)U $ '*}2'x0/'F8u0ӛWt *~Dd hb  c $A? ?3"`?2<ҟ1ߝ =tN`!ҟ1ߝ =tN(@`\|xڝRkAlMhZPڂm mŤB~H6!SKKxA衇]tz\L6Erag7o޾oA,OA"IhNS_ALb[\e=eb >,\18\3]!*_77j ˉ#mf~0,?.>~Y޼p!4na=4r"T{> 2vǿ@8 G2Dzo/#߮\q-Uٌr;l&dDgaڀ>/CK1};΂3ljˋ%ǾTnJ7,bxb%.n5lAJ)قl ɹL7=gܨ~h>_qeK]~j FDg(k1t%o#ƒ5>l0D q$xq1WԐhFqȯG J=)(*JcW`忠)qTGob t}-@V<ƮO6aDyK yK <images/debuggerScreenShot.GIFDyK yK 6images/debuggerMenuBar.GIF Dd <@b   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntryU F~@%Data 8MWordDocumentT:ObjectPoolW 8ؤ~~_1112446053F 8ؤ~ 8ؤ~Ole CompObjiObjInfo  !"%()*+.1234569<=>?BEFGHKNOPQTWXY\_`adghilopqtwxy| FMathType 5.0 Equation MathType EFEquation.DSMT49q~DDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  f(x)Equation Native _12378210751 F 8ؤ~ 8ؤ~Ole CompObj i FMathType 5.0 Equation MathType EFEquation.DSMT49q DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  sin 2 ObjInfo Equation Native  _1237821080F 8ؤ~ 8ؤ~Ole (x) FMathType 5.0 Equation MathType EFEquation.DSMT49q DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_ECompObjiObjInfoEquation Native +_12379879736F 8ؤ~ 8ؤ~_A  sin 2  p4() FMathType 5.0 Equation MathType EFEquation.DSMT49q$DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APOle CompObjiObjInfoEquation Native G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   n(n++1)2 FMathType 5.0 Equation MathType EFEquation.DSMT49qDSMT5WinAllBasicCodePages_1237991598F 8ؤ~ 8ؤ~Ole #CompObj$iObjInfo&Equation Native '_1237991824,F 8ؤ~ 8ؤ~Ole ,CompObj -iTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  f(x)==sin(x) FMathType 5.0 Equation MathType EFEquation.DSMT49qObjInfo!/Equation Native 0_1237992135$F 8ؤ~ 8ؤ~Ole 7eDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  x n++1 ==x n "- f(x n )f(x n )CompObj#%8iObjInfo&:Equation Native ;_1237991919)F 8ؤ~ 8ؤ~ FMathType 5.0 Equation MathType EFEquation.DSMT49q DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  f(x n )Ole @CompObj(*AiObjInfo+CEquation Native D FMathType 5.0 Equation MathType EFEquation.DSMT49qDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  10 "-12 FMathType 5.0 Equation MathType EFEquation.DSMT49q DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_1237991941'".F 8ؤ~ 8ؤ~Ole ICompObj-/JiObjInfo0LEquation Native M1_11126356333F 8ؤ~ 8ؤ~Ole RCompObj24Si_A  10 "-12 ==1.0e"-12 FMathType 5.0 Equation MathType EFEquation.DSMT49q<(DDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APObjInfo5UEquation Native V_1112635379J 8F 8ؤ~ 8ؤ~Ole ZG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  p FMathType 5.0 Equation MathType EFEquation.DSMT49q<(<DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APCompObj79[iObjInfo:]Equation Native ^_1112634624E=F 8ؤ~ 8ؤ~G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  sin(x) FMathType 5.0 Equation MathType EFEquation.DSMT49q<(dDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APOle bCompObj<>ciObjInfo?eEquation Native fG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  p FMathType 5.0 Equation MathType EFEquation.DSMT49q<(DDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/AP_1112634623BF ڤ~ ڤ~Ole jCompObjACkiObjInfoDmEquation Native n_1112634622@GF ڤ~ ڤ~Ole rCompObjFHsiG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  "- p2 FMathType 5.0 Equation MathType EFEquation.DSMT49q<(DDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APObjInfoIuEquation Native v_1112634648;OLF ڤ~ ڤ~Ole zG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   p2 FMathType 5.0 Equation MathType EFEquation.DSMT49q<(DDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APCompObjKM{iObjInfoN}Equation Native ~_1112634672QF ڤ~ ڤ~G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   p2 FMathType 5.0 Equation MathType EFEquation.DSMT49q<(\DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APOle CompObjPRiObjInfoSEquation Native G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  r,q()Oh+'0 0< \ h t  Programming in Java WorkshopAdministratorjava      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsuvwxyz{|}~ c $A? ?3"`?2T{>O!X<1F0Q`!({>O!X<1F<` xڕRkAlVta7["x MsIYLV7u!?J6%iz'?ƒz?U+F%a߼og޼o7(8* Jtkt!Y[8M@l]9cSMrLǜn1Pz=p, 2ئ -3.;Nk/wlGZcⰫc##e /oM12ca '>bUeL{_"Tv:Me^S&/0!D4ʹrZ Zfs {}vYuʬ&:ߕȦu^Y'uˉ k9/]d|^j4pzIhbZsˮ5:H`1S< $*@Qb@N?Mi !yk# m|6 {~ c6ch9̿?`Dd b  c $A? ?3"`?26_o2nߚ!Q`!6_o2nߚ! @xڵUoA3B—L$R$@A"X*@1qɃҪ%+Ǧl~ (Q3/X^(?^=f:*3Q}_#ͪ;CaO`*涌B47$`'O.zڴa c"IkLGDꟼo&RLy eX~k_MEK.lJ[Va[?J"ݤ{)gØTgrw,lC\׉^i i4O⹘…\)]+b\Ɲ1v1m.ct|\xWYpeb:֌Nq.N|=vÎ01ܜˠtDx׌Syhf=Bx*dv<ņl F n1@{7 f=&CmO}A geYÊ_1$hhwc[[Cozm)ݗlTba6 u+')b@f Dd <@b  c $A? ?3"`?2T{>O!X<1F0Q`!({>O!X<1F<` xڕRkAlVta7["x MsIYLV7u!?J6%iz'?ƒz?U+F%a߼og޼o7(8* Jtkt!Y[8M@l]9cSMrLǜn1Pz=p, 2ئ -3.;Nk/wlGZcⰫc##e /oM12ca '>bUeL{_"Tv:Me^S&/0!D4ʹrZ Zfs {}vYuʬ&:ߕȦu^Y'uˉ k9/]d|^j4pzIhbZsˮ5:H`1S< $*@Qb@N?Mi !yk# m|6 {~ c6ch9̿?`Dd b  c $A? ?3"`?2cD6!:mnaK@?Q`!7D6!:mnaK@`PhxڕR;oPεC4DNUPS qfHT,H&DʣJLT 1d 3CCvg Y@`W~> Sȕ-"D"ݡlYvq$9F.XE %y[:ˑUE}rHksal6mRC<%XPJG(zK~)fVXz4xctۺsO7*6!r6 b'ׂ.. o앚G b1`*XȤ9LQRao(*\ǭno7gށWm<&gڤk{oy}DV-g<7d~˙o]uW g.#(k? %~tK62"3"TCmZ"]izC1K.W˺s>:gSNg3^qUwL,ғЂߴV ^'!iH%9|]h?HDd @b   c $A? ?3"`?2;fH#vU΅Q`!fH#vU΅@  xڝR1o@9D€TACP7{ĢKb ( J35B0*1d(& T`ݻ)y HDt>2( FWNXE" =njZE F;!(1l軨$:xFXn?wqF[eqw*GlkFzجEXP>' )gu\R,IV^K!B;YIQu4tKǽ hk}N C6%=tÁD)씽 3kެb˼/0>gr<Yf];Ly0ps"q$xiPRǛ簏+]{dW˝;-mZ8V B9O=>R[ٳ5*}?#|{ι.%|Db2(G|_Tq11B˘`l@cϘ>=&tQ?*j1ky7KDbwsrhwM;aRWnko_Ϋe9Ze![8 /i? ~S_,$KtJ:vĘu X,̲?䱒*3z%э$G}ؽau8keYH=KŘzGuL}@'$Mln.Qzqxmt:k-}dmmF"f|i<>'1;{'/\g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,g$$If!vh5 5#v #v:V l t65 5yt,G$$If!vh5"#v":V l t65"G$$If!vh5"#v":V l t65"]$$If!vh55~#v#v~:V l t655~Dd b  c $A? ?3"`? 2L*d:"I%R& `!L*d:"I%R*``!!xEQKO@ق#i9E9(;9!ŤTm 0ؓWA8Ƭ'Zdy|Prq$ 1B07#_-Ҭ=*P$H愋 T$eeOn;Td`y8"fAO3ׇi<81]yѽOmI?ŏzv Ծa:Gsw5{^սkm8c;NiC(xݻH!ku dd:픍Y[zs{pNՁ|j!M 53xjTI?4 %a\|F" l5IĞb%G V*_x %H|S_X`km]$$If!vh55~#v#v~:V l t655~K$$If!vh5"#v":V lw t65"Dd @b   c $A ? ?3"`? 2 (LHtړ(`!(LHtړ@2 xڕRkQ[mZC!$ТBrϪK<IJTݶKGq-*k?$@a{*{eؙy @D$řQH, J"/-Xћ':vLysh*JBmT8?q__^{r]Qy1oOj ^`yQyH[6&x,fk}8qAfu~{fSqkͳ/@&;5'/_U?75\<˲5M;4#Ǵv?MV:VF^jjENyYtj}`aA$qҗ'EXXSu^՜C+Orx1hs9:$IK$$If!vh5"#v":V lw t65"a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V lC t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~Dd b  c $A? ?3"`? 2Snߌ?줷6-`!Snߌ?줷6*``!!xEQJ@$j@kB(؃-mbR?FWsC\ym Al7ς;MHФzp; &lݼ\X5F;V#hnn .(fG5ԙxiTQ7N1cLpB ]H8c-e/<̭jXgۚc,Fȣ<Nlk0a$$If!vh55~#v#v~:V l t655~Dd 0b  c $A? ?3"`? 2I8 xUzz D%0`!8 xUzz DNkxuRn@f7ֵdR*H\8M,z ("8Z,?%A!P>r#p# !d. fw2xo%=AY]l6]Hckbg }gt T2~,#ޱf٨EXO^kn dHP$V0+62UN<,܋DžNƏq$܄!=J~AWi6$ݘt9ɶk =~;_p|8'8>ֻp%"sz]l~AXj^ [*q=z.kirJ٠"rZPֱry۟Vz:wBE\K;!#שa'[n2Ց2vx[a5yM 6O ݫdެozjXdoKFÿLFln;28tn6&QQ3+?K͖Dd b  c $A? ?3"`?2#^:e3`!^:ehxmRMO@݂򕴈DD$~;9!RⱩZP ֋iK|# (zfى8K/"aD¦Tq,r@otm’vɩ׫N# =_Op<-^&Z'8bTwĎ*j1I~jsˆzMԟ_5+V!+ 4aZ7]E32YWsn@Yt57i.gҸI#gh.{T9BpBP IYC @|wCźO ~NLNlS+0GJݲjlW<^Na$$If!vh55~#v#v~:V l t655~Dd 0b   c $A? ?3"`?2I8 xUzz D%6`!8 xUzz DNkxuRn@f7ֵdR*H\8M,z ("8Z,?%A!P>r#p# !d. fw2xo%=AY]l6]Hckbg }gt T2~,#ޱf٨EXO^kn dHP$V0+62UN<,܋DžNƏq$܄!=J~AWi6$ݘt9ɶk =~;_p|8'8>ֻp%"sz]l~AXj^ [*q=z.kirJ٠"rZPֱry۟Vz:wBE\K;!#שa'[n2Ց2vx[a5yM 6O ݫdެozjXdoKFÿLFln;28tn6&QQ3+?K͖Dd b   c $A ? ?3"`?2#^0~d~Lڿ9`!^0~d~LڿhxmRMO@݂򕴈DD$~;9!RŤZP ֋='qD%>QRāNketaC*8I9 ڷXy6aIXNUh}MG{8/-'1W*@bG+Z͘v4[?eC?=WT&֯ɂvj0mV"jme񂬂n7c R,[4n3i\Ԥ34=!8h($!nFb=z?P &?#k%nY5 yXyS/'kda$$If!vh55~#v#v~:V l t655~Dd Db  c $A? ?3"`?2P&7(1ܫP<,<`!$&7(1ܫP<hxڕSOALl[A0&Y illRؖ=zL?၃8r'Lmff dD1"4ZkڄbGIFw/rf}bn@k*>T<ДاE:w*RXި GFQWF> WimlU.'3=ڦ>)9VZ~;Q60.> q,C sЅ8qL#8F׋ձ.< $E̗ 几ɧ V[KMdedM&klU?P?IYu+pWn.9],sյ?n06mDNt'ꮸ,3ͻkQW,Yc`ϻy׉gq$Ih=InݛۏrYi_z/}z*͖_W3%aǝԲa$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~]$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~a$$If!vh55~#v#v~:V l t655~Dd ?P  C ,image7EL1Table1SummaryInformation(VDocumentSummaryInformation8CompObjq/D@D N9NormalCJ_HaJmH nHsH tHL@L ,N9 Heading 1$$@&a$5CJPJ\tH F@F N9 Heading 2$@&5CJPJ\tH J@J N9 Heading 3$@&56PJ\aJtH R@R N9 Heading 4$h@&^h5CJPJ\aJtH DA@D N9Default Paragraph FontRi@R  Table Normal4 l4a (k@(N9No List <B@< $N9 Body Text5PJ\tH LC@L N9Body Text Indent ^PJtH F@F N9 Footnote TextCJPJaJtH @&@!@ N9Footnote ReferenceH*6U@16 N9 Hyperlink >*B*ph>P@B> N9 Body Text 2 CJPJtH BJ@RB N9Subtitle$a$5PJaJtH VOQbV N9MTDisplayEquation$ !a$5\:>@r: N9Title$a$5PJ\tH LZ@L N9 Plain TextCJOJPJQJ^JaJtH LOL N9Short Return AddressPJtH 4@4 N9Header  !4 @4 N9Footer  !.)@. N9 Page NumberFV@F N9FollowedHyperlink >*B* phB^@B N9 Normal (Web)dd[$\$Bb@B N9 HTML CodeCJOJPJQJ^JaJj@j N9 Table Grid7:V 0 2O!2 N9Style1! 5CJ\8O!"8 N9Style2"$a$ 5CJ\4O4 %^";code # OJQJROAR N9Body Text Char5CJ\_HaJmH sH tH 6OBQ6 #^"; code Char OJQJ^J&Ob& ' ycode2&LOqL & y code2 Char CJPJ_HaJmH nHsH tH@O@ Heding 1($a$5CJ\aJDOD HgQ Sheading 2)$a$5CJ\aJ4O4 ? Headeing 3*tH ZY@Z }Y Document Map+-D M CJOJQJ^JaJROR BYHeading 1 Char5CJ\_HaJmH sH tH 0K@0 N9 Salutation.vv#+->@APQ^ C D  , |}!"J  ^_no'(WX`PQ_q)8:;  @ A ""####!$"$>$)%*%B%n%%%@&h&&&&&'-'f'g'''''('(*(0(<(?(@((())G)H)[)}*+ ,R-}./////1133333333,414F4f4g444444444555A6B6`6t6v6w66666666777 77>7?7@7788y888888h9i9|999 :3:4:M:::::::; ;;G;H;];;;;;;;<<.<^<_<u<<<<<<"=#=e=~====.>l>m>>>??8?9?f?g?h??@@BBBB%C&CCCCCCCD2D3DDDDDDEEE"E#EEEEEQFRF`FMGNGOGWGXGH%H&H4HHHHIII/J0JVVVVWWWbXcXnXYYYYYYZZZ[[[{\|\\,]-]8]]]]^^^W_X_f_ ` ``aaaaaabbb b!bbbbbbbbbbbcctccccccdd@A^ C D  , |}J  ^_no'(WX`PQ_q)8:;  @ A ""####!$"$>$)%*%B%n%%%@&h&&&&&'-'f'g'''''('(*(0(<(?(@((())G)1133333333,414F4f4g444444444555A6B6`6t6v6w66666666777 77>7?7@778y8888899 :3:4:M:::::::; ;;G;H;];;;;;;;<<.<^<_<u<<<<<"=#=e=~====.>?8?9?f??@@BBBB%C&CCCCCCCD2D3DDDDDDEEE"E#EEEEEQFRF`FMGNGOGWGXGH%H&H4HHHHIII/J0JVVVVWWWbXcXnXYYYYYYZZZ[[[{\|\\,]-]8]]]]^^^W_X_f_ ` ``aaaaaabbb b!bbbbbbbbbbbcctccccccdd @0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/00%0000@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/@0K/ @0@(0;@0;@0;@0; @0; @0;@0; @0; @0; @0; @0; @0; @0; @0; @0;@0; @0; @0;@0; @0;@0; @0;@0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0; @0;@0; @0 @0@0X@0X@#0X@#0X@#0X@#0X@#0X@#0X@#0X@#0X@0X@0X@0X@0X@0Y@#0Y@#0Y@#0Y@#0Y@#0Y@#0Y@#0Y@#0Y@#0Y@#0Y@#0Y@#0Y@#0Y@#0Y@0Y@0Y@#0Y@#0Y@#0Y@0Y@0Y@0Y@#0Y@0Y@0X@#0\@#0\@#0\@#0\@0\@0\@0\@#0\@#0\@#0\@0\@0\@0X@0]@#0]@#0]@#0]@#0]@#0]@#0]@#0]@#0]@#0]@#0]@#0]@#0]@#0]@#0]@0]@0]@0]@#0]@0]@0]@0]@0] @0@#0`@#0`@#0`@0`@#0`@#0`@#0`@#0`@#0`@#0`@#0`@#0`@#0`@#0`@#0`@#0`@#0`@#0`@0`@0`@0b@0b@#0b@#0b@#0b@#0b@#0b@#0b@#0b@#0b@#0b@#0b@#0b@#0b@#0b#0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b &&&) zS!"`$%&'`(,*<+,.0V3:8%;<>.@ BcC_D!EmFILN PQST/VX\n_>be}i'lo-qHtuvxy{|~@CDFGHIKLNOPQSTUWXYZ[]^`bcdfhilrwy{|~Q , '"&+-/G1;>@A3BBBCGCCCD^DDEK"MMQNMOWO%PPQ/RRSTUVWcX(Y?ZF[\\]1^^_b`aabc{d,eefWg hiijMmoBrtw}~AEJMRV\_aegjkmnopqstuvxz}~B"ya  Tln V+++s,,,"0:0<0111111222222 3%3'3EEE`FFFF GGGGG4HHHH@IDIIIIVVVVXW\WWXXnXXXY}YYY8Z *urn:schemas-microsoft-com:office:smarttags PersonName HF   # 2 = O \ n x  ' d q   , /  @Sz -4u1A*4)","""<#G#&&&&T'['(([)c)004466667777788 8;8F8y888888889999|999999 ::::::%:(:M:U:]:c:::::::::::;;;;;";*;.;C;F;];c;k;o;;;;;;;;;;;;;.<6<=<A<u<}<~<<<<<<<<<== = ==D=K=t={===========E>L>O>V>W>g>>>?? ?-?p?|???BBCCSCWCCC#D.DKDVDPE]EEEGGH HIIII$J'JFKJK*L.L$M(MPPRRUUUUUU%V(VjXmXXXXXYY9Z3>??9???G@N@BBCCCCDDKDWDFFGGHHAIDIIIJJFKJK*L.L$M(M)N.N O OPPPPQQRRSSxT{T6U9UUUVVYW\WXXXX~YY9ZtMttttuuuuuuuuuuuuuu vvtuuuuuuuuuuuu vv"|ꕚ,}">t ~J BG.Ƥz#غ*i]O)u' |y9 ?|>*l8S F!$Ȟ&O6&^OS&ZZ@V[c9'*p.>x N6|wo>-@ZnEDCI/Nh4OD|O;PSTvR*XXj`dsxLs tzEDy tz/$.^`.^`.88^8`.^`. ^`OJQJo( ^`OJQJo( 88^8`OJQJo( ^`OJQJo(hh^h`. hh^h`OJQJo(h^`OJQJo(hH^`o(.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`OJQJo(hH^`o(.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh^`OJQJo(hH^`o(.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh^`OJQJo(hH^`o(.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`OJQJo(hH^`o(.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH.^`o(.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.P^`PB*OJQJo(phhH^`o(.  ^ `o(.  ^ `.xx^x`.HLH^H`L.^`.^`.L^`L.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHP^`PB*OJQJo(phhH^`OJQJ^Jo(hHopp^p`OJQJo(hH@ @ ^@ `OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHoPP^P`OJQJo(hHh 88^8`OJQJo(h ^`OJQJo(oh   ^ `OJQJo(h   ^ `OJQJo(h xx^x`OJQJo(oh HH^H`OJQJo(h ^`OJQJo(h ^`OJQJo(oh ^`OJQJo(88^8`o(. ^`o(hH.  ^ `o(.  ^ `.xx^x`.HLH^H`L.^`.^`.L^`L.P^`PB*OJQJo(phhH^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`OJQJo(hHhpp^p`OJQJ^Jo(hHoh@ @ ^@ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhPP^P`OJQJ^Jo(hHoh  ^ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh88^8`OJQJo(hH^`o(. L ^ `L.  ^ `.xx^x`.HLH^H`L.^`.^`.L^`L.PPP^P`PB*OJQJo(phhHpp^p`OJQJ^Jo(hHo@ @ ^@ `OJQJo(hH^`OJQJo(hH^`OJQJ^Jo(hHo^`OJQJo(hH^`OJQJo(hHPP^P`OJQJ^Jo(hHo  ^ `OJQJo(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hH^`o(.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h ^`o(hH.^`o(.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h ^`o(hH.^`o(.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L.h^`OJQJo(hHhpp^p`OJQJ^Jo(hHoh@ @ ^@ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhPP^P`OJQJ^Jo(hHoh  ^ `OJQJo(hH"EDyCIZnE[c9'TvRwo>p.0/N0j`8S 9 /4O|O;P>=xLs!$?s?O6&?S&]O)'  N6~}|"" *fC        *fC                 *fC                 *fC        *fC                *fCf                                @Z_@     Basics.dot Jim Rolf287Microsoft Office Word@e l@4ǖ @Whx@J~o`c  FMicrosoft Office Word Document MSWordDocWord.Document.89q  USAFA;t Programming in Java Workshop Tita/lang/Math.html abs(long)n:<<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html abs(int)Y9<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html abs(float)6<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html abs(double)^-<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlPI7*<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlEqoimages/debuggerMenuBar.GIF TBimages/debuggerScreenShot.GIF f+http://www.jimrolf.com/ 7`Hhttp://www.jimrolf.com/java/javaWorkshop2007/javaClasses/Convert2.0.jar <h                            *fC                         *fC        *fC                X*Z\pXddsr<@-Ae 8v+VXq12z ;vE|/[v!+';>EgE #  Qb j n az  T , _ e VsWqNbmS I(T*hkho= *o 8WS+gLPDopK]fpx ?0f jZSedY!uD"^$"$,$aI%j&''vK'j'/p'v (L;( G(am) */*M ++/+&,OC,%-.8.5T._.e.(/00B1`:2363pV3_3{3^4-55iX6s8!9"9S*:Z:]:q:^";R; };-<4<]<|f<y<===!=W=y='>u>@&A@m@AAAJA0BZsB6ZD}D E E>mE FCFXFY[F!G/&G{;HXHHRIIJ7JmJKKLWLvLfMFM)MN^&NrNO!OP[aP3Q@QeWQHgQ+RPRh#S(%SlS7TU*U3UNeUUPVG_V'WKCX YZ)ZRZD[N[(b[Bj[,s[p?\t\ ]F]]g`]xj]s]v^8^j*_=$`^` a aEagala6Cb|b}b=cQc+dY6d+vd{fYf?sfggoSgtgtgBhfi%5i[JiJri jjrjLjQjTj3cjejhjtjq#k^k7l@lm.mArmW8o;oGo%No~p5gp?q\drs6scs$ t<tkt"u.uwAw#Uw^w0xByi>z |>|F|`u|{}'}y}Ja~8MXc,3X41Oi:NY*urP=j&&&I[_>}(#Nw5T@|h?XRjuThp%*O!E6J KELMLkMRA=]Zm8Fj>kl FKS)}YJV\l"&O27*EJ[W FHvy=u"n\2 sHY_u# Tclb5? ?FeyN9<xNYcu-/F3G$HV( `Nl&I7_p|+%dB.e"Q[N\N\^ y9!0Je}8ZR@XF_"t(yJ )Z_m@PB-m|&`G3|2YJlEtOze-N c.Cxc]uR))7Z27BYa^rEg~FG&agX/S`PU{"B ZAd"I5 Nb3]FqJ yB{" )]0>@0՜.+,D՜.+,L hp  USAFA;t Programming in Java Workshop Title(RZ _PID_HLINKS MTWinEqnsA,l~<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmltoRadians(double)}j<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmltoDegrees(double)<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html tan(double) f<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html sqrt(double)<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html sin(double):<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html round(float)v<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlround(double)=~<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html rint(double):v<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html random()JP<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlpow(double, double)NV<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlmin(long, long)1)<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlmin(int, int)2*<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlmin(float, float)NV~<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlmin(double, double)X^{<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlmax(long, long)'!x<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlmax(int, int)$"u<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlmax(float, float)X^r<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlmax(double, double)o<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html log(double)!0l<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlIEEEremainder(double, double)gti<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlfloor(double) f<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html exp(double) c<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html cos(double)+j`<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html ceil(double)%Z<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.htmlatan2(double, double)!yQ<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html atan(double))~H<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html asin(double)/sB<http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Math.html acos(double)qu?<http://java.sun.com/j2se/1.4.1/docs/api/javILG:oX/D^G`mN">,SVdZN1o}-ps/q\5WTOyz 0UIht{)n[ =QCEFlU~a?Ql~p+EopZi?)P5uw< ""/f]LaQ [x8Voy&N*p:t%D~ZJ,MP N(2U2~1 O_ 88h9i9|999 :3:4:M:::::::; ;;G;H;];;;;;;;<<.<^<_<u<<<DEEE"E#EEEEQFRF`FMGNGOGWGXG%H&H4HHHHIII/J0JVVVVWWWbXcXnXYYYYYYZZZ[[[{\|\\,]-]8]]]]^^^W_X_f_ ` ``aaaaa!bjv!W d U@v@UnknownGz Times New Roman5Symbol3& z Arial?5 z Courier New71 CourierWSimSunArial Unicode MS5& zaTahoma;Wingdings"1hZ3CVto`c;o`c;!4dtt 2QHP P2VC:\Documents and Settings\jim.rolf\Application Data\Microsoft\Templates\javaBasics.dotProgramming in Java Workshop AdministratorJim Rolf"                           !