department of computer science and information systemssjmaybank/itp/it... · initially empty. water...
TRANSCRIPT
![Page 1: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/1.jpg)
Birkbeck College, U. London 1
Introduction to Programming
Department of Computer Science and Information Systems
Lecturer: Steve Maybank
Spring 2020
Revision of the Summer 2017 Examination
![Page 2: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/2.jpg)
Question 1a
Birkbeck College, U. London 2
Which of the following are names of variables
_3y6
3y_6
Y3-6
_ _ # adjacent underscores
p08_
![Page 3: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/3.jpg)
Rules for the Names of Variables
The only characters allowed are numbers, letters and underscore
A name cannot begin with a number
Birkbeck College, U. London 3
![Page 4: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/4.jpg)
Question 1b
What are the final values of a, b, c, d, e?
p = 3
q = 2
a = p+q*4
b = 10**p**q
c = 5*p-q/5
d = 5-(4-(3-(2-p)))
e = p%2+q%2
Birkbeck College, U. London 4
![Page 5: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/5.jpg)
Operators and Precedence
Exponentiation: **
Times: * Real Division: / Remainder: %
Plus: + Minus: -
Apply the highest precedence operator first:
25%2**3
If the operators have the same precedence then evaluate left to right:
25%3*8
Birkbeck College, U. London 5
![Page 6: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/6.jpg)
Question 2b
A swimming pool with volume poolVolume litres is initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number mFill of minutes required to fill the pool.
(inSpeed - outSpeed) *Mfill = poolVolume
Note the camel case names
Birkbeck College, U. London 6
![Page 7: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/7.jpg)
Volume of Water
The volume entering the pool in one minute is
(inSpeed-outSpeed)*1
The volume entering the pool in mFill minutes is
(inSpeed-outSpeed)*mFill
The definition of mFill ensures that the last quantity is the pool volume.
Birkbeck College, U. London 7
![Page 8: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/8.jpg)
Question 2c
A train with an average speed of 100km per hour travels from L to B in 3 hours, but it has to wait at B. As a result, the average speed is reduced to 90km per hour. Find the waiting time.
90 = distance/totalTime
= distance/(journeyTime+waitingTime)
= 300/(3+waitingTime)
waitingTime = 1/3 hours
Birkbeck College, U. London 8
![Page 9: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/9.jpg)
Question 3
Find five errors in the code
import = 0 # import is a reserved word
if export > import : # export not defined
import = 3.0
export = 3E-5
print("import is"+3.0) # string+number
else # missing colon
export = export//import # division by zero
Birkbeck College, U. London 9
![Page 10: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/10.jpg)
Question 4
Write code to show "Please enter the price:" in the shell and to return a value entered at the keyboard. The returned value is converted to floating point and assigned to a variable price.
price = float(input("Please enter the price:" ))
Birkbeck College, U. London 10
![Page 11: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/11.jpg)
Question 4, Second Part
What is the value of price for each of these inputs in the shell
Please enter the price: 5 # 5.0
Please enter the price: "5" # error
Please enter the price: 6.2 #6.2
Please enter the price: 5*6.2 # error
Birkbeck College, U. London 11
![Page 12: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/12.jpg)
Question 4, Part c (i)
What is printed when the following code is run?
print("He said\n\"Hello\" and 'Goodbye'\ntoday.")
"He … today." # The quotes contain a string
said\n # \n is new line
\"Hello\" # \" is a character in a string
'Goodbye' # ' is a character in a string
\ntoday # \n is new line
Birkbeck College, U. London 12
![Page 13: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/13.jpg)
Question 4, Part c (ii) and (iii)
What is printed when the following code is run?
houseNumber = 32
streetName = “Hamilton Road”
print(houseNumber + streetName)
print(len("\\"*3+"Harry"))
"\\" # string with the single character backslash
"\\"*3 # repeat the string three times
+ # string concatenationBirkbeck College, U. London 13
![Page 14: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/14.jpg)
Question 4, Part c (iv) and (v)
What is printed when the following code is run?
firstName = "Mickey"
lastName = "Mouse"
print(firstName[3], lastName[-3])
names = ["Amir", "Barry", "Chris", "Dylan"]
print(names[-1][-1])
Birkbeck College, U. London 14
![Page 15: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/15.jpg)
Question 5a
What is printed? Use ~ to indicate a space
temperature = 39.8954
print("A:", "%d" % temperature)
A:~39 # %d implies integers
print("B:", "%.f" % temperature)
B:~40 # %.f implies floating point, no fraction
Birkbeck College, U. London 15
![Page 16: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/16.jpg)
Question 5a Continued 1
What is printed? Use ~ to indicate a space
temperature = 39.8954
print("C:", "%s" % temperature)
C:~39.8954 # %s implies string
print("D:", "%06.2f" % temperature)
D:~039.90 # %06.2f implies a field width
# of 6, 2 decimal places and 0 padding
Birkbeck College, U. London 16
![Page 17: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/17.jpg)
Question 5a Continued 2
What is printed? Use ~ to indicate a space
temperature = 39.8954
print("E:", "%-7d%%" % temperature)
E:~39~~~~~% # %-7d implies integer
# in a field of width 7 and left justified. # %% implies a single character %
Birkbeck College, U. London 17
![Page 18: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/18.jpg)
Question 5b
Write code to print the following using a multiple format specifier
Temperature:~39.9~C~~Feeling:~~~Great
st1 = "Temperature:~%4.1f~C~~Feeling:~%7s"
# %4.1f implies a field of width 4 and 1 decimal place
# %7s implies a string in a field of width 7
print(st1 % (temperature, "Great"))
Birkbeck College, U. London 18
![Page 19: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/19.jpg)
Question 6a
Explain how the lexicographic ordering for characters is extended to give a lexicographic ordering for strings
Let a, c1, c2 be any strings. Let b1, b2 be distinct characters, i.e. strings of length 1.
st1 = a+b1+c1
st2 = a+b2+c2
If b1 < b2 then st1 < st2. If b1 > b2 then st1 > st2
Birkbeck College, U. London 19
![Page 20: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/20.jpg)
Question 6b
space < numbers < uppercase < lowercase
True or False:
"1" < "2"
"cart" < "carp"
"milestone" < "mile stone"
"Corn"< "2Corn"
"car" < "care"
Birkbeck College, U. London 20
![Page 21: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/21.jpg)
Question 7a
Write nested if statements to print the correct descriptions given a non-negative value of s. Use if … elif … else.
Birkbeck College, U. London 21
wind speed description
s <= 1 calm
1 < s <= 3 light air
3 < s <= 7 light breeze
7 < s out of range
![Page 22: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/22.jpg)
Question 7a Continued
if s<= 1:
print("calm")
elif s <= 3:
print("light air")
elif s <= 7:
print("light breeze")
else:
print("out of range")
Birkbeck College, U. London 22
wind speed description
s <= 1 calm
1 < s <= 3 light air
3 < s <= 7 light breeze
7 < s out of range
![Page 23: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/23.jpg)
Question 8a
What is printed when the following code is run?
sumSquares = 0
for x in range(3):
sumSquares = sumSquares+x*x
print(sumSquares)
# x in range(3), so x takes the values 0, 1, 2
Birkbeck College, U. London 23
![Page 24: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/24.jpg)
Question 8b
What is printed when the following code is run?
sumSquares = 0
for x in range(3):
sumSquares = sumSquares+x*x
print(sumSquares)
# x in range(3), so x takes the values 0, 1, 2
Birkbeck College, U. London 24
![Page 25: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/25.jpg)
Question 8c
large = float(input("Enter a number:"))
position = 1
for i in range(2, 7):
x = float(input("Enter a number:"))
if x > large:
large = x
position = i
print("position of largest no:", position)
Birkbeck College, U. London 25
Write code toinput 6 numbersand then print outthe position ofthe largest number.
![Page 26: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/26.jpg)
Question 9a
Identify in the following code the name of a variable, the name of a function and the values of the arguments to a function
quantity = 5*8
price = round(6.8275, 2)
Birkbeck College, U. London 26
![Page 27: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/27.jpg)
Question 9c
def main():
result = cubeVolume(2)
print("side length 2, volume", result)
main()
def cubeVolume(sideLength):
if (sideLength <= 0) :
return 0
return sideLength**3Birkbeck College, U. London 27
describe thecompile timeerror in thecode.
![Page 28: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/28.jpg)
Question 9d
Identify the branches in the function cubeVolume
def cubeVolume(sideLength):
if (sideLength <= 0) :
return 0
volume = sideLength**3
return volume
Birkbeck College, U. London 28
![Page 29: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/29.jpg)
Question 10b
What is the length of the list scores? Which non-negative integers can be indices to scores?
scores = [17, 5, 3]
Birkbeck College, U. London 29
![Page 30: Department of Computer Science and Information Systemssjmaybank/ITP/IT... · initially empty. Water enters at inSpeed litres/min, but leaks away at outSpeed litres/min. Find the number](https://reader034.vdocument.in/reader034/viewer/2022052015/602d16f2be5a8161f151ecf4/html5/thumbnails/30.jpg)
Question 10c
Which number is printed by the following code?
scores = [17, 5, 3]
values = scores
scores[0] = 10
print(values[0])# two names but only one list of numbers
Birkbeck College, U. London 30