Pascal: Questions on Variables, Arrays & Booleans

  • Thread starter Thread starter C0nfused
  • Start date Start date
  • Tags Tags
    Pascal
Click For Summary
SUMMARY

This discussion focuses on fundamental concepts in Pascal programming, specifically variables, boolean expressions, and arrays. A variable in Pascal is defined as a named memory location, and its value is retrieved by referencing its name in expressions, such as in (3*x + 5). Boolean variables can be directly used in conditional statements without explicit comparison, and arrays in Pascal function similarly to individual variables, allowing for procedures to accept array elements as parameters. The distinction between assignment and comparison operators is also clarified, emphasizing the use of := for assignment and = for comparison in Pascal.

PREREQUISITES
  • Understanding of Pascal programming language syntax
  • Familiarity with variable declaration and data types in Pascal
  • Knowledge of boolean logic and expressions
  • Basic concepts of arrays in programming
NEXT STEPS
  • Explore Pascal variable declaration and memory management
  • Learn about boolean expressions and control flow in Pascal
  • Investigate array manipulation and procedures in Pascal
  • Study the differences between assignment and comparison operators in Pascal
USEFUL FOR

Beginner and intermediate Pascal programmers, educators teaching programming fundamentals, and anyone looking to solidify their understanding of variables, boolean logic, and arrays in Pascal.

C0nfused
Messages
139
Reaction score
0
Hi everybody,
Probably some easy questions in pascal:1) what exactly is a variable?Is it just a "place" to store data? And how do we retrieve this data from variables? When we write a variable's name in an expression the value of the variable is used in this expression?For example when we have an integer variable named "x" then when we write (3*x+5) the pc retrieves the value of x and uses it to calculate the value of the expression? So the name of the variable "represents" its value?

2) When we have a boolean type variable, named for example "check" are we allowed to use it in the following way: " if check then <statement1> else <statement2> " or like this :
" while check do <statement3> " ? In these cases the variable is like a boolean expression whose value(true/false) is the value of the boolean type variable? So the above examples are the same as these:
" if (check=true) then <statement1> else <statement2> " and
" while (check=true) do <statement3> " ?
This also applies when we write "(not check")?This is the same as (check=false) ? Generally writing " check and test" (where test is another boolean type variable) is like writing "((check=true) and (test=true))" ? They are all considered boolean expressions?
And one thing about arrays: when we use an array [1..10] of integer for example named "ar" then each cell of the array(ar[1],ar[2] etc) is exactly the same as a simple integer variable? So if we have a procedure that uses a variable parameter and a value parameter, for example
" procedure sum(a:integer;var b:integer); etc " then we can call it in the main body of the porgram using two of the cells of the array as real parameters of the procedure? For example we can make this call of the above procedure: " sum(ar[1],ar[2+3]) ? This applies to any kind of arrays that have the same type of values( integer,real etc) with the type of the parameters of the procedure?

Thanks
 
Last edited:
Computer science news on Phys.org
Very late reply in case others have similar questions...
C0nfused said:
Hi everybody,
Probably some easy questions in pascal:1) what exactly is a variable?Is it just a "place" to store data?
Pretty much. I like to define a variable as a memory location that is named. The actual size of the memory depends on the type used when the variable is declared.
C0nfused said:
And how do we retrieve this data from variables? When we write a variable's name in an expression the value of the variable is used in this expression?
Yes.
C0nfused said:
For example when we have an integer variable named "x" then when we write (3*x+5) the pc retrieves the value of x and uses it to calculate the value of the expression?
The program code evaluates the expression 3*x + 5 by using the current value of x.
C0nfused said:
So the name of the variable "represents" its value?
Yes
C0nfused said:
2) When we have a boolean type variable, named for example "check" are we allowed to use it in the following way: " if check then <statement1> else <statement2> " or like this :
" while check do <statement3> " ? In these cases the variable is like a boolean expression whose value(true/false) is the value of the boolean type variable? So the above examples are the same as these:
" if (check=true) then <statement1> else <statement2> " and
" while (check=true) do <statement3> " ?
It's been a very long time since I wrote any Pascal code, but I believe that all of what you wrote is mostly correct. One difference between Pascal and languages derived from C is that Pascal uses = for comparison and := for assignment, which C etc. use == for comparison and = for assignment.
The only thing I see wrong is "while check do ...". This should be "while (check) do ..."
C0nfused said:
This also applies when we write "(not check")?This is the same as (check=false) ? Generally writing " check and test" (where test is another boolean type variable) is like writing "((check=true) and (test=true))" ? They are all considered boolean expressions?
Yes. If check is a Boolean variable, then check = false is a Boolean expression that could be true or false, depending on the value of check.
C0nfused said:
And one thing about arrays: when we use an array [1..10] of integer for example named "ar" then each cell of the array(ar[1],ar[2] etc) is exactly the same as a simple integer variable?
Yes, assuming that the type of the array is integer. In that case, each cell of the array is an integer.
C0nfused said:
So if we have a procedure that uses a variable parameter and a value parameter, for example
" procedure sum(a:integer;var b:integer); etc " then we can call it in the main body of the porgram using two of the cells of the array as real parameters of the procedure? For example we can make this call of the above procedure: " sum(ar[1],ar[2+3]) ? This applies to any kind of arrays that have the same type of values( integer,real etc) with the type of the parameters of the procedure?
Yes. As long as the actual arguments (ar[1] and ar[5]) are the right type, they would match the formal parameters, both of which are type integer. Keep in mind though, that the var prefix suggests that the second parameter is an "out" parameter, and can have its value changed.
 

Similar threads

  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
235
Views
15K
Replies
20
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 40 ·
2
Replies
40
Views
9K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 16 ·
Replies
16
Views
4K