User Tools

Site Tools


fb_variables

Table of Contents

Variables

Variables are simple containers for values, and are the core piece of any programming language. Variables can contain a wide variety data of different types. Types define what sort of data is contained inside a variable.

x = 1               // Variables can contain numbers
x = 'Hello World'   // Text

a = 1
b = 2
c = a + b          // Or even other variables

result = someSubroutine //or Results to a function or subroutine, which we'll discuss in later chapeters.

Before a variable can be used, it must be declared. FreeBASIC provides several ways of declaring variables, but we will focus on

DIM

,

VAR

and

CONST

variables.

DIM

The keyword DIM is the variable declaration you will use the most in FreeBASIC. With DIM, you are required to declare what sort of data the variable will hold. For instance:

dim as string personName
dim as integer personAge
dim as single radius
 
dim as integer x,y

VAR

The second way to declare a variable is use of the keyword VAR. Unlike DIM, VAR does not require the type of data to be declared. While this may seem convenient, it comes with some trade-offs. For instance when mixing types. DIM also places everything into an array, which could be thought of as an ice tray with each cubby holding a bit of information. We'll discuss arrays in a later chapter.

CONST

CONST variables are constants, that is their assigned value does not change. An example would be

const as single pi = 3.14

Types

Understanding types is a key concept for understanding strongly typed languages such as FreeBASIC, C, Rust, Pascal, etc. Strongly typed languages require you to declare the type of value you wish to hold. There are a variety of types and each have its own set of characteristics. For the purpose of this tutorial we will primarly be focusing on the following:

Variable types
integers Any whole number that is neither a decimal nor a fraction
single Any number with a decimal place (single precision)
string A string of characters

Scope

Variables are said to be scoped depending on where they are within the program. They can either be local or global scoped. Local scoped variables can only be used in the function or subroutine they were initialized in. A global scoped variable can be used anywhere in the program. VAR variables are always locally scoped. Don't worry if this doesn't click. We'll revisit this when we discuss functions and subroutines.

Exercise

For this exercise we will be writing a short program to explore variables and their behavior, as well as introduce your first function, print, which prints on the screen.

First, open up your preferred text editor and enter the following statement

dim as integer a
dim as integer b
dim as integer c
 
a = 5
b = 4
c = a + b
 
print "The number is " & c

Save your file as chap1.bas, and at the unix prompt type 'fbc chap1.bas' to compile the program. Type './chap1' to run the program. That was a lot so let's break down what we did.

First

dim as integer a
dim as integer b
dim as integer c

declares 3 variables of the integer type.

a = 5
b = 4
c = a + b

assigns values to our 3 variables and

print "The number is " & c

prints our result to the screen. Please note the '&' symbol. This concatenates things of different types together.

Play around with your program! Try changing the operands (+,*,-,/) and see what happens. Change the variable type. Is there any difference? Does it error? Why?

If you have questions, feel free to post them in BBOARD!

fb_variables.txt · Last modified: 2022/12/04 01:39 by praetor