Quick Start Guide

From Liberty BASIC Family
Jump to navigation Jump to search

Quick Start Guide

Who this Guide is for

If you already know BASIC and want to get Liberty BASIC quickly into your bag of tricks, the following information is designed to help.

Liberty BASIC has some unique features that are not in other versions of BASIC. This section will explain these features.

Note: Just BASIC and Run BASIC also share the same language features, and any exceptions will be noted.

Branch Labels

Many BASIC languages support line numbers, and Liberty BASIC also lets you use them, but it is really intended that the programmer use named branch labels instead.

Branch labels are letters and numbers surrounded by square brackets, for example: [exampleBranchLabel] or [letters123]

So, instead of using line numbers like so:

10 input "What is your name?"; yourName$
20 print "Nice to meet you, "; yourName$
30 input "Ask again (Y/N)"; yn$
40 if yn$ = "Y" or yn$ = "y" then 10
50 print "Bye."
60 end

The simplest example of this without line numbers is:

[ask]
    input "What is your name?"; yourName$
    print "Nice to meet you, "; yourName$
    input "Ask again (Y/N)"; yn$
    if yn$ = "Y" or yn$ = "y" then [ask]
    print "Bye."
    end

Notice that we only need one branch label instead of a program written using the line numbered style which has a line number for each line of code.

Here is what the same program looks like in QBasic:

ask:
    input "What is your name?"; yourName$
    print "Nice to meet you, "; yourName$
    input "Ask again (Y/N)"; yn$
    if yn$ = "Y" or yn$ = "y" then ask
    print "Bye."
    end

Variables

Liberty BASIC has two variable types, numeric and string. Consistent with the classic BASIC languages, variables in Liberty BASIC do not need to be declared before they are used.

Numeric variables are formed as letters and digits and must start with a letter. String variable names follow the same rules but end with a dollar sign $.

'Examples of numeric variables, which can hold either integer or floating point values.
count1 = 123
count2 = 234
count3 = 100
averageCount = (count1 + count2 + count3) / 3
print averageCount

When run, this code prints the number 152.333333.

'Examples of string variables. Notice that they do not need to be declared with DIM or other command.
firstName$ = "Jerry"
secondName$ = "Mandell"
fullName$ = secondName$ + ", " + firstName$
print fullName$

When run, this code print Mandell, Jerry.

Variable names can also have periods in them, like so:

first.name$ = "Jerry"
member.id = 21412

Numbers

Liberty BASIC has only two numeric types, integers and floats.

Integers in Liberty BASIC are represented internally behind the scenes in two formats:

Small form - 31 bit (-1073741824 to 1073741823)
Large form - arbitrary length integers which are outside the range of the 31-bit integers

Floats in Liberty BASIC are double precision using the IEEE 754 specification. Using an eight byte format this gives approximately 18 digits of precision and represents values in the range (+/-)4.19e-307 to (+/-)1.67e308. All floating point math is done using the computer's math coprocessor.

Conversion between the two integer formats and floating point is automatically handled behind the scenes. The programmer does not need to do anything.

Arrays

Liberty BASIC supports numeric and string arrays both single and double dimensioned. Note: Liberty BASIC 5.0 in development allows for more than 2 dimensions.

Similar to many BASICs, Liberty BASIC requires that arrays with more than 11 elements (0 to 10) are specified with a DIM statement:

  'Create a string array with 50 elements, 0 to 49
    dim stuff$(49)
  'Create a numeric array with 500 elements, 0 to 99 and 0 to 4
    dim item(99, 4)

More to come...