HP 35s User Manual
Have a look at the manual HP 35s User Manual online for free. It’s possible to download the document as PDF or print. UserManuals.tech offer 1114 HP manuals and user’s guides for free. Share the user manual or guide on Facebook, Twitter or Google+.
hp calculators HP 35s Using Calculator Memories to Help Solve Problems hp calculators - 5 - HP 35s Using Calculator memories to Help Solve Problems - Version 1.0 In RPN mode the calculation would be carried out using the following keys: Calculate the value and store it in V: 2*1%)0!!3 As the value is already on the stack, just calculate its arc sine, then multiply by 5: !4*+ Next, divide by the arc cosine of the expression, which is recalled from V: -3!65 Now multiply by the square root of three times the expression. In RPN there is no need for brackets: 2-3+7+ Figure 7 Answer: In RPN mode the answer is the same, and carrying out the calculation in a suitable order reduces the number of keystrokes needed. Practice Example: Exchanging and Viewing Registers Two more commands that work with memory registers are “exchange” and “view”. Pressing #8 displays the A..Z symbol, and any letter from A through Z can be entered. The value in the chosen register is exchanged with the value shown on the lower line of the calculator screen. One use for this is to see what value is stored in a register. For example, the engineer from Example 1 might forget whether the density of concrete is in register C for Concrete or in register D for Density. Pressing #89 will bring the value from register C to the lower line of the screen so it can be seen, and pressing #89 again will put the values back as they were. The exchange command is rarely used for this, because the VIEW command, described below, does the job better. Another use for the exchange command is shown in the example below. Example 3: In the middle of a calculation, the engineer from Example 1 decides that register D should be used to store the depth of the foundations of a building. Currently the Area, the height, and the depth of the building are in registers A, B and C. That means the density of concrete should be taken from D and placed in C, while the number in C must be placed in D, all without losing the value currently in use shown on the lower line of the display. How can this be done? Solution: The engineer first exchanges D with the current value. The current value gets stored in D and the density is in the current value. Then the density, now in the current value, is exchanged with the depth, in register C. This puts the density of concrete into register C and the depth into the current value. Finally, exchanging the depth in the current value with the original value now in D completes the exchange. The keys pressed are:
hp calculators HP 35s Using Calculator Memories to Help Solve Problems hp calculators - 6 - HP 35s Using Calculator memories to Help Solve Problems - Version 1.0 #8#89#8 Answer: The three exchanges swap values in two data registers without affecting an ongoing calculation. Note that this works in algebraic and in RPN mode. Pressing #: displays the A..Z symbol, and any letter from A through Z can be pressed. The value in the chosen register is displayed in a message without changing the value on the lower line of the calculator screen. For example, pressing #:9 after Examples 1 and 3 should now display the density of concrete stored in register C. Figure 8 Pressing the cancel key / on the lower left of the keyboard, or the back-arrow ; at the middle right, clears the message and brings back the display in the calculator screen. Other Operations with Memory Registers There is no special command to clear a register, it is enough to store a zero in it, but see also the description below of CLVARS and of the register catalog. Variables are used in equations and in programs. When the Solver is used, it asks which variable is the unknown one and prompts for values for the other variables. The Integrate command must be told which is the variable to integrate for. The INPUT command allows a program to request a value for a variable. Variables can also be used with the program loop control commands ISG (Increment and Skip if Greater) and DSE (Decrement and Skip if Equal). The CLVARS command is activated by pressing !
hp calculators HP 35s Using the indirect registers The HP 35s and indirect registers Differences from the HP 33s Examples using the indirect registers
hp calculators HP 35s Using the indirect registers hp calculators - 2 - HP 35s Using the indirect registers - Version 1.0 The HP 35s and indirect registers The HP35s contains registers or variables that can be referenced directly or indirectly. Variables A through Z can be directly addressed, as in a !# instruction. Indirect addressing uses two of these direct variables as indices that hold the location or address where an operation is to be performed. The two variables that are used this way are $ and %. The indirect registers begin at address 0 and can go up to 800, if the user allocates that many. That is 801 additional storage registers compared to the earlier HP 33s calculator. Figure 1 shows the HP 35s display when a non- zero value has been stored into indirect register 800 (which would allocate 801 indirect registers). NOTE: the indirect registers are allocated by the highest-numbered, non-zero indirect register in use. If the highest used register is cleared or has a zero stored into it, the allocation will shrink down to the next highest non-zero indirect register. Figure 1 Each allocated indirect register uses 37 bytes of program memory. This is to allow room for storing a real number, a complex number, or a 2-D or 3-D vector containing 2 or 3 real numbers. It is possible to use a short program to place 3 real numbers into each indirect register, reducing the memory required by nearly 2/3. See the Indirect Registers Data Packing module for more information. It is also possible to address the direct variables and the statistics variables indirectly using addresses of -1 through -32. Address -1 would refer to the direct variable #, address -26 would refer to the direct variable &, and -27 trough -32 would refer to the statistical summation registers. This is shown in a table on page 14-22 of the HP 35s user’s guide. The way indirect addressing works is to store the number corresponding to the register you wish to use in either $ or %. Then you perform a !7 or !A (or any other allowed operation). For example, if you wish to recall a value stored in direct register #, you can either press # or store -1 into $ by !7 and then perform a 7. Both will recall the value stored in A. As an example, suppose register I contains the number 5. If you have a number in the display you wish to store and you press !7, then the number displayed would be stored into indirect register 5, since that is the number that was in the I register. The J register works the same way. The address to be used is stored into either I or J, and then the special 7 or A part of an instruction tell the HP 35s to perform the operation on the register pointed to by the value in I or J. If you attempt to recall or use a value in an indirect storage location that is not allocated, you will get an error message in the HP 35s display. This becomes very useful is when you need to work with a lot of numbers, often within a program, or when you may not be able to know in advance where the number you wish to use is stored. Differences from the HP 33s On the HP 33s, a special register was used as the index for indirect operations, the register i. On the HP 35s, two registers can be used as two different indices, the variables I and J. On the HP 33s, the variables A through Z were referenced indirectly by values placed in register i of 1 to 26 in order. On the HP 35s, the variables A through Z are referenced by values in either I or J of -1 down to -26, with -1 referencing A and -26 referencing Z. Similarly, the statistics registers were referenced indirectly on the HP 33s using values of 28
hp calculators HP 35s Using the indirect registers hp calculators - 3 - HP 35s Using the indirect registers - Version 1.0 through 33. On the HP 35s, they are referenced using an index of -27 through -32. On the HP 33s the index register was itself referenced by a value of 27. Since the index registers on the HP 35s are the variables I and J, there is no specialized index register. On the HP 35s, the indirect registers are cleared using the CLVARx function, found in the !()menu. Press !(* and the display below will be shown. CLVARx is menu choice 6. Figure 1 The CLVARx function prompts for a 3-digit value. The function will clear all indirect registers larger than this value – they will be set to zero. Because the HP 35s allocates indirect registers based on the highest numbered register containing a non-zero value, this will change the number of allocated indirect registers. For example, if there are 100 indirect registers allocated, CLVARx 050 will clear and deallocate the indirect registers 50 and higher, leaving 0 through 49 available for use. CLVARx 000 would clear indirect registers 1 and higher. To clear indirect register 0, store 0 into it. The HP 35s indirect registers provides the user with many capabilities beyond what was available with the HP 33s. Examples using the indirect registers Example 1: Write a short program to load indirect registers 1 through 10 with random numbers. Solution: Press +,, and then enter the program below. Press !- and then these keystrokes: !.#/,0/!$!1!723$+#004 )25 The program will look like the one below and will have the length as shown in Figure 2. The program checksum is C289. Figure 2 A001 LBL A A002 1.01 A003 STO I A004 RANDOM A005 STO (I) A006 ISG I A007 GTO A004 A008 RTN
hp calculators HP 35s Using the indirect registers hp calculators - 4 - HP 35s Using the indirect registers - Version 1.0 Answer: Run the program by pressing 6#7. When the program completes, in RPN mode the last two random numbers generated will be shown while in algebraic mode, only the most recent random number will be shown in the display. Example 2: Assuming that indirect registers 1 through 10 contain the random numbers generated in example 1, write a short program to sort indirect registers 1 through 10 with the smallest number found in register 1. Solution: The program presented below will sort indirect registers 1 through 10 using the Bubble Sort. The program will run in either RPN mode only. Press +,, and then enter the program below. Press !- and then these keystrokes: !.8/,0/!$/9!%2:;07A2 23$23%+800>2:=0+ 800;252:/0!7 ?!A? +80/;25 The program will look like the one below and will have the length and checksum as shown in Figure 3. The program checksum is 5C10. Figure 3 B001 LBL B B002 1.01 B003 STO I B004 1 B005 + B006 STO J B007 CF 0 B008 RCL (I) B009 RCL (J) B010 X < Y? B011 GTO B018 B012 ISG I B013 ISG J B014 GTO B008 B015 FS? 0 B016 GTO B002 B017 RTN B018 SF 0 B019 STO (I) B020 X Y B021 STO (J) B022 X Y B023 GTO B012 Answer: Run the program by pressing 6)8 7. As the program executes, the flag 0 annunciator will flash on and off as the program loops through the indirect registers making exchanges of adjacent registers when needed. When the program completes the smallest value will be in indirect register 1 and the largest value will be in indirect register 10. Example 3: Jake wants a program that will loop through the numbered indirect registers to display the values stored within. Input is to be a number of the form bbb.eee, where bbb is the first indirect register to be viewed and eee is the highest to be viewed. If bbb.eee is positive, the program should PAUSE to display the contents. If bbb.eee is entered as a negative number, the program should STOP to display the value. Jake only wants a program that works in RPN mode. He also wants a program that displays the indirect register being displayed in Y and its contents shown in X.
hp calculators HP 35s Using the indirect registers hp calculators - 5 - HP 35s Using the indirect registers - Version 1.0 Solution: Jake wrote the program presented below which will display the indirect registers. The program will run in RPN mode only. Press +,, and then enter the program below. Press !- and then these keystrokes: !.@!A=2://!B!$$2CD7 2:=/E2:=/+@0/4!F23$+@00 D2:;/25) The program will look like the one below and will have the length and checksum as shown in Figures 4 and 5 below. Figure 4 Figure 5 C001 LBL C C002 X < 0? C003 SF 1 C004 ABS C005 STO I C006 RCL I C007 IP C008 RCL(I) C009 FS? 1 C010 STOP C011 FS? 1 C012 GTO C014 C013 PSE C014 ISG I C015 GTO C006 C016 CF 1 C017 RTN Answer: Run the program by pressing /,0/6@7. Since the input was positive, the HP 35s will pause and display each value stored in indirect registers 1 through 10. To have the HP 35s stop and display the value, key in the input as a negative number. Jake now has the program he wanted. NOTE: If you specify a range of bbb.eee which goes beyond the presently allocated indirect registers, this program will produce an error message.
hp calculators HP 35s Using Register Arithmetic Variables and Memory Registers Practice Examples: Calculating Using STO Arithmetic Calculating Using RCL Arithmetic in RPN mode Storage Arithmetic in a Program
hp calculators HP 35s Using Register Arithmetic hp calculators - 2 - HP 35s Using Register Arithmetic - Version 1.0 Variables and Memory Registers The purpose of this training aid is to show how arithmetic can be carried out directly using HP 35s memory registers. First, the following is a short explanation of variables and registers; the same information is given in the practice aid on using calculator memories. That training aid then gives more information on the various other uses of memory registers. When an equation is typed on the HP 35s, it can use variables with names from A through Z. For example an equation 3X² - 5X= A has the variables X and A in it. Variables can also be used in programs and in calculations from the keyboard. Each variable consists of a number and of a place in the calculator memory where the number is stored. The number is called the value of the variable. If no value has been give to a variable then its value is 0. The place in memory where this number is stored is called a data register, or a memory register, or just a register. Each memory register can be referred to by a numeral as well as by its name. Register A is -1 and register Z is -26. Six more registers can be referred to by numerals, holding values from statistics calculations. The names “data register” or “memory register” or “memory” refer to all of these, not just the variables, so these names are sometimes used in this training aid, rather than the name “variables.” The training aid on general uses of registers shows that numbers can be stored in registers by the STO command, and can be recalled from registers by the RCL command. This aid covers the special topic of how arithmetic can be carried out directly with memory registers using the commands STO+, STO-, STO!, STO, RCL+, RCL-, RCL! and RCL in RPN mode and also shows alternatives that can be used in algebraic mode. Practice Example: Calculating Using STO Arithmetic The HP 35s provides a set of physical constants, such as the speed of light. Users who need to store other constants can put them into the memory registers so they can be used in calculations. Example 1: A planetary scientist needs to perform several calculations using the masses of the Earth and the Moon. First the scientist wants to store the mass of the Earth in register E and of the Moon in M, in kilograms. The Earth-Moon system is sometimes called a “twin planet system” and the scientist wants to put the total mass of the Earth and the Moon in register T. Solution: First type the Moon’s mass, then press ! and the variable name to store the mass in that variable’s memory register. Press the keys as shown below. The key labeled # is above the $ on the keyboard. Typing #%% means “times 10 to the power 22”. &()$#%%!* (Note: In algebraic mode, press + after the * above)