Pass Task 8.1: Reading Another Language
Overview
Now that you have examined the programming concepts in one language, you should be able to apply that understanding to read the code from other programming languages.
Purpose: Demonstrate that you can read and understand code from another language.
Task: Hand execute the following programs to demonstrate how they work.
Instructions
Demonstrate how the following snippets of code execute when they are run by the computer.
1. Use the Hand Execution process (see Hand Execution videos).
- With arrays you want to show the use of the index variable (typically i) and how it is used to access the element from the array.
- For these exercises draw boxes for each variable to represent their location in memo- ry. Update the value in the box by crossing out the old value and writing in a new one.
Demonstrate how the following C code is executed in the computer.
Hand Execute the program with the following parameter values to see if you can work out what it does.
data
|
SZ
|
Result
|
[5, -2, 3, -1, 6]
|
5
|
|
[-1, 0, 4, -3]
|
4
|
|
int ???(int data[], int sz)
{
int i;
int result = 0;
for ( i = 0; i < sz; i++ )
{
if ( data[i] < 0 ) result++;
}
return result;
}
Provide a name for this function in this weeks answer sheet.
The following Visual Basic code performs a useful tasks with an array of Integer values. What does it do?
Function ???? (data As Integer(), val As Integer) As Boolean
Dim i As Integer
For i = 0 To data.Length - 1
If data(i) = val Then Return True;
End If End For Return False;
End Function
Hand execute the function with the following parameter values.
data
|
val
|
Result
|
[2, 6, -3, 3, 7]
|
5
|
|
[-1, 8, 2, -4, 9]
|
2
|
|
Provide a name for this function in the answer sheet.
Read the following Python code and provide answers to the questions in the Answer sheet.
def add(a, b):
print "ADDING %d + %d" % (a, b) return a + b
def subtract(a, b):
print "SUBTRACTING %d - %d" % (a, b) return a - b
def subtract(a, b):
print "SUBTRACTING %d - %d" % (a, b) return a - b
fruit = ['bananas', "oranges", 'figs', "lemons"]
for f in fruit:
print "I like %s", f
print "My favourite fruit is %s", fruit[3]
What will the code output when run? What are age, height, and fruit?
Read the following Swift code then answer the questions in the answer sheet.
let individualScores = [57, 26, 107, 92, 15]
let bonusScore = 5
let baseScore = 2
var teamScore = 0
print("Checking score: \(individualScores)")
for score in individualScores
{
print("Checking score \(score)");
if score > 50
{
teamScore += bonusScore
} else {
teamScore += baseScore
}
}
print(teamScore)
What will the code output when run?
What are individualScores, bonusScore, baseScore, and teamScore? What do you think the difference is between the keywords let and var?