Logic flow in T3000 Basic

I noticed that the compiler removes the parentheses in an expression. Are they virtually still there?
For example I wanted to convert Celcius to Fahrenheit so here is that program line 20:
“20 TempFarhen = (TempC × 1.8) + 32”
When it compiles it looks like this:
“20 TempFarhen = TempC × 1.8 + 32” and it calculates correctly. What if I wanted to do this:
20 TempFarhen = (TempC × 1.8) + (32 * CompFactor)
Would it calculate correctly even though the parentheses were missing?

Also, what about “greater than or equal to”? The compiler would not accept this:
70 IF TEM => 85 AND TEM < 90 THEN GOSUB 270
So I tried this:
70 IF (TEM = 85 OR TEM > 85) AND TEM < 90 THEN GOSUB 270
It compiled it as this:
70 IF TEM = 85 OR TEM > 85 AND TEM < 90 THEN GOSUB 270
Happily, the statement seems to work as intended. It’s almost as if the parentheses were still there. Is there another preferred way to say or a symbol to use for “greater than or equal to”??

Hi,

  1. parenthesis compiler does not support.
    wrong:
    20 TempFarhen = (TempC × 1.8) + (32 * CompFactor)
    correctly:
    20 var1 = TempC × 1.8
    30 var2 = 32 * CompFactor
    40 TempFarhen = var1 + var2

2 interchange the position = and > - will work.
70 IF TEM >= 85 AND TEM < 90 THEN GOSUB 270

Zamild is partly correct but I can clarify that parentheses are supported when there’s a ‘need’ for them. In your formula the multiplication has has a higher priority than the addition so the compiler judged the parentheses as redundant and has unceremoniously tossed them out. Here’s an example where the parentheses do matter and the compiler correctly interprets them and keeps them around for next time you return to the program.

image

One thing that might help you out is to put the temperature in DegF right at the device itself. I believe you’re programming points on the outdoor humidity sensor, you can set the engineering units from the user interface: click on the device in the left hand tree at Tab1, then toggle the units from C to F by clicking on the Range field at Tab2. If you need to calibrate you can do that at Tab3.