Join TSR now and get all your revision questions answeredSign up now
    • Thread Starter

    I've acquired one of these calculators, but the manual is pretty confusing :/ I'm intending to use it for these things:

    Rms speed calculations
    Calculate pHs of buffer solutions etc.
    Equilibrium constant calculations
    Born Haber cycle calculations

    Basically writing/storing a formula in there so I can check my answers during the exam. I found this as an example on the internet of what other people do with another (banned) type of calculator.
    Has anyone here had experience with program writing for this calculator that could help me find my feet?
    • Thread Starter

    Anyone? :/

    Did my reply not go through? Let me try again.
    Edit: hmm, is there a moderation process or something... I posted it, but it's not showing up.
    Maybe it's too long
    Do you even want help with this any more?
    • Thread Starter

    (Original post by Widgity)
    Did my reply not go through? Let me try again.
    Edit: hmm, is there a moderation process or something... I posted it, but it's not showing up.
    Maybe it's too long
    Do you even want help with this any more?
    Ooh, please help! You're the only reply I've had

    Posted from TSR Mobile

    Ok, I’ll try posting it in parts:
    hmm, still doesn't want to work. Maybe it's the hyperlink...

    I have had this calculator for a while now, but only recently started programming it (like literally 3 days ago) I have already nearly finished a pong game for it! (Now I have something to do when I finish C4 early XD) I could try to help you if you have any specific queries, and I guess I’ll try to give you some tips

    Firstly, this website really helped me:
    (google " basic tutorial", it should be the first result)

    Secondly: you can’t just type commands, which was what got me. Let’s say you wanted to put an “IF” command in (which you probably won’t have to for your equations) you can’t just type “IF”, you have to press {SHIFT} {VARS} (to get into the program menu) then {F1} for the common commands, then {F1} again for “If”
    It isn’t the most intuitive menu, but you get used to it. If you look at the manual on the disk, on chapter 8 page 37, there is a table showing how to get to all of the items.

    Ok, I’ll talk you through an example, let’s take Crms (I assume that’s what you meant, as in kinetic gas theory?) as this one will actually be useful for me too XD

    So we start with the equation Crms = ((C1^2 + C2^2 + … + CN^2)/N)^1/2
    This hard, because we don’t know how many C values the user will want to input.

    So create a new program (I’m going to assume you’ve got that far).
    The first thing we want to do is ask the user how many C values they will input (what N will be). To do this:
    -Press {F6}for the character menu and select the double quotation marks (“)
    -Type a message to display such as “how many values”
    -Close the quotation marks.
    -Press {SHIFT}, then {VARS} to get into the program menu.
    -Press {F4} for the “?” (this asks for a user input)
    -press the arrow key (->) the one with the letter L above it. This says we are setting the following variable to the value of the value of the variable to the left (in this case, the users input).
    -assign a variable (I suggest N, as that is what it is in the formula) (i.e., type “N”)

    That is the first line done, you can now press “EXE” to get to the next line

    Now we need to get values of C and we’ll put them in a list:
    So set up the list
    -type “N”, then the press the arrow key (->)
    -press the {OPTN} key to open the options menu
    -press {F1} to select list
    -press {F3} to select “Dim”
    -press {F1} to select “List”
    -type a letter to represent the list (I’m going to use A, but you could use whatever)
    This says set the dimension of list A to the value of N, so list A is now N long.

    Now we need to populate that list with C values. To do this, we will use a loop:
    -Press {SHIFT} and {VARS} to get back to the program menu
    -press {F1}
    -press {f6} to go to the next page (should start with For) these are the For loop commands (each page of commands relate to eachother)
    To set up a For loop, we need the following:
    For 1->(variable) To (number)

    Let me explain this. you assign a variable, the loop will repeat until (variable) is equal to (number), increasing variable by 1 each time (though you can add “step (number)” at the end to make it increase by a different number each time.
    The “Next” tells the calculator what to do after the loop, so whatever you want to loop needs to go between those two lines.

    The easiest way to set this up is:
    -press {F1} for “For”
    - type 1 and press the arrow key (->)
    -assign a variable (can be anything except N because we are using that, I will use B) (i.e. type “B”)
    -press {F2} for “To”
    -type “N” (say we want to go up to whatever N is)
    -press {EXE} to get to the next line
    -press {Next} to close the loop (this is just so you don’t have to do it later)
    -use the arrow pad to navigate back up, press {EXE} again so you are editing the line between the “For…” and “Next

    Now we need to set up the loop. What we are going to do is asking the user for a C value, and then put that value into the list at item A (where B is the loop number)
    For example, if you had 4, 6, and 9 as values of C, you have set N to 3 (you have 3 values) the code will set B to 1, and ask for the first value of C, you input 4, it puts 4 into item 1 of list A, it then increases B by 1 and asks for the next C value, which it will put into item 2 of list A (as B is now 2) it repeats this one more time, then continues with the rest of the code (where we will do the calculation)

    To do this, fist follow the first few steps again to set up an ask command
    (you can press “EXIT” to get back to the main menu (where F1 is top, F2 is bottom…) to access the character menu if you need to, careful you don’t exit the script though, even though you can just press {F2} to get back into edit mode)
    You should end up with something like
    “value of C”?->
    Change the message, and don’t specify a variable, we need to put the matrix there!
    So on the same line, straight after that:
    -go back to the list menu {OPTN} then {F1}
    -press {F1} again to insert “List”
    -we now need to specify which list, so type “A”
    -we now need to specify which item so type “[B]” (the square brackets are in the character menu and ARE NEEDED)

    That’s it for the loop, only one line (that should have only been one line)
    Scroll back down under the “Next”. See, if we hadn’t put that in earlier, we would have to go back to the For loop menu to close it

    So now we have everything we need, a value of N, and a list of values of C.
    There is, however, a problem. We can’t just type the equation in, because we don’t know how many terms to include

    To get around this, we do it in stages and with loops.
    Fist, let’s square all the C terms like so:

    For 1->B To N
    (List A[B])^2 -> List A[B]

    Note: we can use B again, as the previous loop is no longer using it, we could just as easily use any other letter (except N)
    What this is saying is: take item B of list A, square it, and put it in item B of list A
    So we square all of the terms. You should be able to work out how to input this. just go back and look at how we set up the previous loop.

    Right, the next thing to do is add them all up. Here comes another loop , but first we will need a variable… we’ll call it S for sum (it is good to put meaning to your variable names, and I write down what each one is used for in longer projects, or you loose track)
    So to so this, we simply assign S a value of 0

    Then the loop:

    For 1->B To N
    List A[B]+S->S

    This basically just says add the list item to S, and then move to the next list item. We end up with S as the sum of the squares of the C values (we’re nearly there! )
    (I’m assuming you can do this on your own by now?)

    The rest of it is just some maths, no more loops!
    So we will divide the total by N:
    That is literally what it sounds like you type {S} {divided by symbol} {N} {arrow} {S}
    Then square root the answer:
    {root} {S} {arrow} {S}

    And that’s it! The formula is done, now we need to output the answer.
    Just type {S} and then there is a symbol that is a little triangle in the lower right of the character space… here’s how to get it:
    Press {SHIFT} {VARS} for the program menu, then press {F5} for the symbol.

    That is it, it will now output the Crms of the values you input.

    There is more you can do however (here’s what I did)

    After the stage that calculates the total of the C^2 s, add a line:
    S (triangle symbol) as described in the previous step, it will now output the sum of C^2 (useful for showing working ), then the Crms when you press EXE again.

    You can also add lines like “Crms” (triangle symbol) to add notes so you remember what values it is outputting (so add that just before the final line)

    To use the program, press {F1} to execute it, input the number of values (N), press {EXE}, input the values (press {EXE} to enter each one) then press {EXE} to display the answer (or press it multiple times if you are outputting more than one answer) press {AC} to exit.

    Just ask if you have any questions, I will try to help. It’s not too hard once you get used to it (though I do have previous programming experience).

    Hope this helped.
    • Thread Starter

    Woah, thank you so much for going to all that effort! Repping you

    Do you do Chemistry? Because I was also looking for a way to check my equilibrium constant/pH calculations, how would I do that if it isn't too mud trouble for you to explain to me? I'm so grateful!

    Not sure what you mean by pH, isn’t that just –log(base10)[H+]? I don’t see how a program would make that any easier.

    Kc on the other hand is an interesting one. You could form a program that calculates it, and then theoretically it could tell you the units too.

    I’m not going to talk you through this one, but I will explain some things first.

    A matrix is like a list, but 2 dimensional, for example:
    [1] [2] [3]
    [4] [5] [6]
    [7] [8] [9]
    You reference them based on coordinates:
    Mat A[2,3] for example would give the value 8.
    The matrix menu is under {OPTN} {F2}

    In this, we are going to use a matrix to store concentrations and powers of products and reactants. With two matrixes P and R, each with 2 rows.

    (oh, and anything after a // is a comment, don’t include that in the code)

    “Number of products”?->P
    “Number of reactants”?->R
    {P,2}->Dim Mat P
    {R,2}->Dim Mat R
    //this sets up the matrixes to have 2 columns and as many rows as we need (or is that the other way round, I forget )
    For 1->A To P
    “concentration of product”?-> Mat P[1,A]
    “order of product”?-> Mat P[2,A]
    For 1->A To R
    “concentration of reactant”?-> Mat R[1,A]
    “order of reactant”?-> Mat R[2,A]
    //this should now give us the 2 complete matrices
    //now we need to put all the concentrations to the power of the orders
    For 1->A To P
    (Mat P[1,A])^(Mat P[2,A])->Mat P[1,A]
    For 1->A To R
    (Mat R[1,A])^(Mat R[2,A])->Mat R[1,A]
    //now the first values in each row of both matrixes should be concentrations to the orders. You could an output in that loop to output those values so you have some working out to show if you want
    For 1->A To P
    T*(Mat P[1,A])->T
    For 1->A To R
    B*(Mat R[1,A])->B
    //now we have T(top) and B(bottom) which are the product of the top of the fraction and the product of the bottom. You could output these for more working
    //do the final division step (K represents Kc)
    K(output symbol)

    And that’s it. I haven’t tested this, and am writing it from memory, so if I have got something wrong or it doesn’t work or you have questions, just ask. Also, you might want to check it on a couple of practice questions to make sure it actually works XD
    If it comes up with an error, tell me which line the cursor goes to (that’s the line which is wrong) I might be able to work out why it doesn’t like it.

    Also, this interface might get confusing. Lets say you wanted to input
    [12]^2[15]^3 / [5]
    You would first tell it how many products: 1
    Then how many reactants: 2
    Then input the product: 5
    Then the order of the product: 1
    Then the first reactant: 12
    Then the order: 2
    Then second reactant: 15
    And order: 3

    Did you get the other one working yet?
Which web browser do you use?

The Student Room, Get Revising and Marked by Teachers are trading names of The Student Room Group Ltd.

Register Number: 04666380 (England and Wales), VAT No. 806 8067 22 Registered Office: International House, Queens Road, Brighton, BN1 3XE

Quick reply
Reputation gems: You get these gems as you gain rep from other members for making good contributions and giving helpful advice.