A-level Computing/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Fundamentals of Programming/One-Dimensional Arrays

dim animals(3) as string
animals(0) = "Dog"
animals(2) = "Cat"
Dim friends(0 To 2) As String
friends(0) = "Barry"
friends(1) = "Aubrey"
friends(2) = "Gertrude"
You can also declare arrays by placing the values directly into them, this code does exactly the same as the above:
Dim friends() As String = {"Barry", "Aubrey", "Gertrude"}
You can pick out individual items by using their index
Console.WriteLine(friends(2))
Console.WriteLine(friends(0))
Would output:
You can treat indexed array items as variables and change their values:
friends(0) = console.readline()
Exercise: One-Dimensional Arrays Declare an array listing 5 animals in a zoo (aardvark, bear, cuckoo, deer, elephant) in alphabetical order: Answer: dim zooanimals() as string = {"aardvark","bear","cow","deer","elephant"}
Write code to output the first and last animal Answer: console.writeline(zooanimals(0))
console.writeline(zooanimals(4))
Someone has accidentally eaten the cuckoo, let the user add a new third animal and print them all out: Answer: console.write("Insert new third animal:")
zooanimals(2) = console.readline()
console.writeline("1: " & zooanimals(0))
console.writeline("2: " & zooanimals(1))
console.writeline("3: " & zooanimals(2))
console.writeline("4: " & zooanimals(3))
console.writeline("5: " & zooanimals(4))
''Alternatively an A-grade student might write:
for x = 0 to 4
console.writeline(x + 1 & ": " & zooanimals(x))
next
|
To print out the entire array it is best to use some form of iteration:
For x As Integer = 0 To 2
Console.WriteLine(friends(x))
Next
Would print out:
To overwrite something, you treat it like a variable:
friends(1)="Peter"
For x As Integer = 0 To 2
Console.WriteLine(friends(x))
Next
Would output:
Exercise: One-Dimensional Arrays What is the output of the following code: dim primes() as integer = {2,3,5,7,11,13,17,19,23}
dim count = 8
While count >= 0
console.write(primes(count) & ", ")
count = count - 1
end while
Declare an array that will hold the names of your 5 best friends, call is Answer: dim befr(5) as string 'befr(4) would also be accepted
Write a loop so that you can input each of your five best friends and it will output them in the order you input them. For example: Answer: dim befr(5) as string
console.writeline("Insert best friends:")
for x = 1 to 5
console.write(x & ": ")
befr(x) = Console.ReadLine()
next
console.writeline("You listed:")
for x = 1 to 5
console.write(befr(x) & ", ")
next
Adjust the code above so that it outputs the list in reverse order: Answer: dim befr(5) as string
console.writeline("Insert best friends:")
for x = 1 to 5
console.write(x & ": ")
befr(x) = Console.ReadLine()
next
console.writeline("You listed:")
for x = 5 to 1 step -1
console.write(befr(x))
next
|
Extension: For each Sometimes you might not know the length of an array that you area dealing with yet you will still want to cycle through all the elements. If you don't know what numbers to put into the Dim someNumbers() as integer = {1,2,3,4,5,6,7,23,77}
For Each n In someNumbers
Console.Write(n & ", ")
Next
The above code would output: |
Uses
Arrays are very useful for solving all manner of problems, ranging from sorting lists to storing the results to calculations.
Take the Fibonacci sequence of numbers where: the first two numbers in the Fibonacci sequence are 0 and 1, and each subsequent number is the sum of the previous two.

For example:
This could take some time to calculate by hand but and we can use an array to calculate and store this sequence:
dim fib(30) as integer
'initiate the first two values
fib(0) = 0
fib(1) = 1
for x = 0 to 28
fib(x+2) = fib(x) + fib(x+1)
next
console.writeline("The first 31 fibonacci numbers are:")
for y = 0 to 30
console.write(fib(y) & ",")
next
Exercise: Calculating with arrays Update the above code to allow the user to input a number, then the program to store and display that many fibonacci numbers. Test it for 10 and 1000 Answer: dim size as integer
size = console.readline()
'integer is too small to hold this value so we change to single
dim fib(size) as single
'initiate the first two values
fib(0) = 0
fib(1) = 1
for x = 0 to size - 2
fib(x+2) = fib(x) + fib(x+1)
next
console.writeline("The first " & size & " fibonacci numbers are:")
for y = 0 to size
console.write(fib(y) & ",")
next
|
Arrays are also very important when we are searching and sorting data. You will learn a lot more about this in A2, but for the moment take a look at this linear search routine:
dim attendance() as string = {"Callum", "John", "Olamide", "Mathew", "Gabriel", "Dong"}
dim search as string
console.writeline("Who are you searching for:")
search = console.readline()
for x = 0 to attendance.length - 1 'why do we need -1 here?
if attendance(x) = search then
console.writeline(search & " found at position : " & x)
end if
next
If we were to try and find Olamide we should see the following:
Exercise: Searching arrays Why do we have attendance.length - 1 in the above code? Answer: As the array starts at location 0, the length of the array will be 1 more than the largest index number. Adjust the code above to tell you when it hasn't found a person: Answer: 'there are multiple ways of doing this:
dim attendance() as string = {"Callum", "John", "Olamide", "Mathew", "Gabriel", "Dong"}
dim search as string
dim found as boolean = false
console.writeline("Who are you searching for:")
search = console.readline()
for x = 0 to attendance.length - 1 'why do we need -1 here?
if attendance(x) = search then
console.writeline(search & " found at position : " & x)
found = true
end if
next
if found = false then
console.writeline(search & " NOT found in the array")
end if
|