Skip to content

← Final exam model papers

Final Exam Model Paper 8

Theory paper: 50 marksTime: 2 hours

Practical exam: 25 marksTime: 1 hour 30 minutes

All questions are compulsory.

A full practice run of the Grade 8 final exam: the theory paper (50 marks, 2 hours) and, below it, the practical exam (25 marks, 1 hour 30 minutes, at a computer, marked by the school). In the theory paper, work out on paper what each program does, as in the exam hall: its programs have no Run button. In the practical exam, the programs run on this page.

A practice paper by Science Playground, made to its own course’s grid; not an official exam paper.

Write your answers on paper first. Then open each answer and its marking scheme, and give yourself one mark for each point you got. In multiple choice, your first choice counts.

Section A

10 × 1 = 10

1. Choose the correct option for each of the following questions.

a.

Ghorepani is at 2,860 m. What does this program print?

altitude = 2860print(2000 < altitude < 3000)

Pick an answer to see why.

b.

A patch of water hyacinth on Phewa Lake covers 3 square meters, and doubles every week. What does this program print?

area = 3weeks = 0while area < 100:    area = area * 2    weeks = weeks + 1print(weeks)

Pick an answer to see why.

c.

Rabin draws a flowchart for making stream water safe on a trek. It has a diamond, “Is the water boiling?”, with one arrow out of it, to “Let it cool”. Which judgment is right?

Pick an answer to see why.

d.

In the CSS declaration color: green;, what is color?

Pick an answer to see why.

e.

Hari photographs a single rhododendron flower close up, with the forest behind it. Each time, the phone makes the trees behind sharp and the flower blurred. What should he do?

Pick an answer to see why.

f.

Trekkers at a lodge in Ghorepani have lost the dice for their ludo game. Bina makes one with a micro:bit: each time it is shaken, it should show a number from 1 to 6.

from microbit import *import random while True:    if ________:        display.show(random.randint(1, 6))

What goes in the gap?

Pick an answer to see why.

g.

A message in the trekking guides’ chat group says “New version of the permit app: install this!”, with an APK file. What should Bikram do?

Pick an answer to see why.

h.

A trekking app publishes a map of every route its users have shared, drawn as glowing lines. Each user shared only their own walks. Which judgment is right?

Pick an answer to see why.

i.

In 1948, Claude Shannon wrote English-like sentences with a next-word model, long before chatbots. How did he do it?

Pick an answer to see why.

j.

Why does making a one-minute video with AI use far more electricity than writing one sentence?

Pick an answer to see why.

Section B

8 × 1 = 8

2. Write very short answers to the following questions.

a.

What is the data type of the value True?

Answer

bool (a Boolean): it has only two values, True and False.

Marking scheme
  • bool.
b.

What does the string method .lower() give?

Answer

A copy of the string with every capital letter made small: "Ulleri".lower() is "ulleri".

Marking scheme
  • The string with all its letters small (lowercase).
c.

At dusk on Poon Hill, why should Bina hold her phone with both hands, elbows against her body, to take a photo?

Answer

In poor light the camera keeps its shutter open longer to collect enough light, so any shake while it is open blurs the photo. Holding the phone steady stops the shake.

Marking scheme
  • In poor light the shutter stays open longer, so any shake blurs the photo.
d.

A lodge’s water tank controller runs on a microcontroller, far slower than a phone’s processor. Why doesn’t it need to be fast?

Answer

It runs one small program, the same one, all day, every day: checking a few sensors and switching a pump needs very little work. Being small and slow, it costs little and uses very little electricity.

Marking scheme
  • It runs one small program over and over, which needs little speed (so it can be cheap and use little power).
e.

Write the opening tag of the <html> element for a page written in Nepali.

Answer
<html lang="ne">
Marking scheme
  • <html lang="ne">.
f.

A photo of 4,000 × 3,000 pixels is cropped to half its width and half its height. How many pixels are left?

Answer

2,000 × 1,500 = 3,000,000 pixels: a quarter of the 12,000,000 it had.

Marking scheme
  • 3,000,000 pixels (a quarter).
g.

This program should add up the kilometers a trekker walks on 5 days and print the total once, at the end. Instead it prints a line after every day. Which line is wrong, and what should be done with it?

total = 0for day in range(1, 6):    km = int(input(f"Kilometers walked on day {day}: "))    total = total + km    print("Kilometers in all:", total)
Answer

Line 5 is indented under the for, so it runs on every round of the loop. Take away its indent, so that it comes after the loop and runs once, when all 5 days have been added.

Marking scheme
  • Line 5; un-indent it so it runs once, after the loop.
h.

Sita’s little brother has a fever at night, and her mother wants to ask a chatbot how much medicine to give him. What should Sita advise? Give one reason.

Answer

Don’t rely on the chatbot: ask a health worker or a pharmacist, or follow the medicine’s own leaflet. A wrong dose could hurt him, and a chatbot can give a wrong answer in confident words that she can’t check.

Marking scheme
  • Ask a health worker or pharmacist (or the leaflet), because a mistake could hurt him and the chatbot can be wrong.

Section C

8 × 2 = 16

Write short answers to the following questions.

3.
[2]

Bina wrote this about her walk from Ghorepani, at 2,860 m, to Poon Hill:

altitude = 2860altitude = altitude + 350print("Poon Hill is at", "altitude", "meters")
  • i.Write what it prints, and say why it doesn’t show a number.
  • ii.Rewrite line 3 so that it prints the altitude of Poon Hill.
Answer
  • i.It prints Poon Hill is at altitude meters. "altitude" in quotes is a string, the word itself, not the variable; Python prints it as it is.
  • ii.Leave out the quotes, so that Python uses the variable’s value:
altitude = 2860altitude = altitude + 350print("Poon Hill is at", altitude, "meters")

Output

Poon Hill is at 3210 meters
Marking scheme
  • i. Poon Hill is at altitude meters, because the quotes make it a string, not the variable.
  • ii. print("Poon Hill is at", altitude, "meters") (or an f-string).
4.
[2]

Three friends share a jeep from Pokhara to Nayapul, at the start of the trek to Ghorepani. The jeep costs Rs 2,900.

fare = 2900friends = 3share = fare / friendsprint("Each pays:", share)print("Each pays:", round(share))
  • i.Write the output of the program.
  • ii.Each friend pays the rounded amount. How much does the driver get, and why isn’t it exactly Rs 2,900?
Answer

i. / gives a float, and 2,900 ÷ 3 doesn’t come out exactly; round() with no second number rounds it to a whole number:

Output

Each pays: 966.6666666666666Each pays: 967

ii. 3 × 967 = Rs 2,901, one rupee more than the fare: each share was rounded up, by about 33 paisa, and the three bits add up to about a rupee.

Marking scheme
  • i. Each pays: 966.6666666666666, then Each pays: 967.
  • ii. Rs 2,901, because each share was rounded up a little, and three of those add up to about Rs 1.
5.
[2]

A lodge in Ghorepani works out its bills with this function:

def lodge_bill(nights, rate=1500):    return nights * rate print(lodge_bill(2))print(lodge_bill(2, 2500))
  • i.Write the output.
  • ii.What would happen if someone called lodge_bill(), with nothing in the brackets? Why?
Answer

i. The first call gives no rate, so rate takes its default, 1500: 2 × 1,500 = 3,000. The second gives 2500: 2 × 2,500 = 5,000.

Output

30005000

ii. A TypeError: nights has no default, so it must be given. rate is optional; nights isn’t.

Marking scheme
  • i. 3000, then 5000.
  • ii. A TypeError, because the parameter nights has no default and is missing.
6.
[2]

On the trek to Ghorepani, Bina walked 16 km in 5 hours and Rohit 15 km in 4 hours. Write a function average_speed(km, hours) that returns the speed in kilometers an hour, and use it to print both their speeds.

Answer
def average_speed(km, hours):    return km / hours print("Bina:", average_speed(16, 5))print("Rohit:", average_speed(15, 4))

Output

Bina: 3.2Rohit: 3.75

Rohit walked faster.

Marking scheme
  • A function average_speed with the parameters km and hours that returns km / hours.
  • Two calls with the right arguments, printing 3.2 and 3.75.
7.
[2]

An online trekking permit form asks for a photo “JPG, 800 pixels wide, under 200 KB”. Maya’s phone photo is 4,000 × 3,000 pixels and 4 MB.

  • i.What should she do first, and what size in pixels will the photo be?
  • ii.If it is still over 200 KB, what should she do next? Why not just take a screenshot of the photo?
Answer
  • i.Resize a copy (keeping the original) to 800 pixels wide. The width is divided by 5 (4,000 ÷ 800), so the height is too: 3,000 ÷ 5 = 600. It will be 800 × 600 pixels.
  • ii.Save it as a JPEG with the quality a little lower (about 80), only as low as needed. A screenshot makes a new picture of the screen, at the screen’s size, with the phone’s bar along the top, and often a bigger file.
Marking scheme
  • i. Resize first, to 800 × 600 pixels.
  • ii. Then lower the JPEG quality a little; a screenshot isn’t smaller and adds the screen’s parts.
8.
[2]

A lodge’s micro:bit checks the level of its water tank and, when the water is low, switches on the pump through a relay.

  • i.Name the device’s input and output, and say what the relay does.
  • ii.If the tank under the ground is empty, what should the program do, and why?
Answer
  • i.Input: a sensor measuring the water level. Output: the pump. The relay is a switch worked by electricity: the board’s small current turns on the big current the pump’s motor needs.
  • ii.Leave the pump off (and sound a warning), even if the roof tank is low: a pump that runs with no water burns out.
Marking scheme
  • i. Input the water level (a sensor), output the pump; the relay lets the small current switch the pump’s big one.
  • ii. Leave the pump off and warn, because a pump running dry burns out.
9.
[2]

Write one benefit and one risk of companies and governments collecting data about people.

Answer

Any one benefit: apps and services that fit you (a map that knows the traffic); safety (a bank blocks a login from a strange place); free apps, paid for by ads; for everyone, disease outbreaks found early, aid sent where people are, roads and buses planned where people travel; research that needs many people’s data.
Any one risk: it can be used against you (ads when you are weakest, prices set by what you will pay); it can leak in a data breach; scammers use leaked data to sound real; wrong guesses can decide things, such as a loan refused; it lasts for years and may be used for things nobody has thought of yet.

Marking scheme
  • One benefit.
  • One risk.
10.
[2]

In a class debate on “AI will take away the jobs of trekking guides in Nepal”, three students give these as evidence:

  • Anil: “A chatbot told me guides will not be needed in five years.”
  • Binita: “My uncle, a guide in Pokhara, says two of his groups this year planned their whole trek with AI, but still hired him to lead them.”
  • Chandan: “A video with a million likes says so.”

Judge how strong each is as evidence.

Answer

Binita’s is evidence: something that happened, told by the person it happened to. It is weaker evidence, one guide’s story, but it counts if she says what it is. Anil’s is not evidence: a chatbot’s answer is likely words, not a source. Chandan’s is not evidence either: likes measure how many people watched, not whether it is true.

Marking scheme
  • Binita’s is evidence (from the person it happened to), though weaker because it is one person’s story.
  • Anil’s (a chatbot’s answer) and Chandan’s (a popular video) are not evidence.

Section D

4 × 4 = 16

Write long answers to the following questions.

11.
[4]

A trekking agency’s rule: a porter carries at most 25 kg. It wants a program that asks for the weight of each bag, in kilograms, until 0 is typed. A weight below 0 is a typing mistake: say so, and don’t add it. A bag that would take the load over 25 kg is not added: print “Too heavy: find another porter for this bag.” Otherwise, add it and print the load so far. At the end, print the porter’s load.

  • i.Write the program. (3)
  • ii.Write two tests at the edge of the 25 kg rule, and what each should print. (1)
Answer

i.

load = 0weight = int(input("Weight of the bag in kg (0 to stop): "))while weight != 0:    if weight < 0:        print("A weight can't be below 0. Try again.")    elif load + weight > 25:        print("Too heavy: find another porter for this bag.")    else:        load = load + weight        print("Load so far:", load, "kg")    weight = int(input("Weight of the bag in kg (0 to stop): "))print("The porter carries", load, "kg.")

For the bags 8, 12, −3, 7 and 5:

Output

Weight of the bag in kg (0 to stop): 8Load so far: 8 kgWeight of the bag in kg (0 to stop): 12Load so far: 20 kgWeight of the bag in kg (0 to stop): -3A weight can't be below 0. Try again.Weight of the bag in kg (0 to stop): 7Too heavy: find another porter for this bag.Weight of the bag in kg (0 to stop): 5Load so far: 25 kgWeight of the bag in kg (0 to stop): 0The porter carries 25 kg.

ii. For example: bags of 20 and 5 should reach exactly 25 kg and be allowed (“Load so far: 25 kg”); bags of 20 and 6 would make 26 kg, so the 6 should be refused (“Too heavy…”). (A first bag of 25, allowed, and of 26, refused, are also edge tests.)

Marking scheme
  • i. A while loop that asks for each weight with int(input(…)) and stops at 0.
  • i. Refuses a weight below 0, and a bag that would take the load over 25, without adding them.
  • i. Adds the other bags to a running total that starts at 0, printing the load so far, and the load once at the end.
  • ii. Two edge tests, at exactly 25 (allowed) and just over 25 (refused), with what each should print.
12.
[4]

A trekking app keeps these 9 villages of the Annapurna region in alphabetical order:

Position 0 1 2 3 4 5 6 7 8
Village Birethanti Chhomrong Ghandruk Ghorepani Landruk Pothana Tadapani Tatopani Ulleri
  • i.Search for “Ulleri” with a binary search, using middle = (low + high) // 2. Show low, high, middle and the village there at each look. (2)
  • ii.Why must the villages be in alphabetical order for this search to work? (1)
  • iii.If the app held 1,000 villages in alphabetical order, at most how many looks would a binary search need? (1)
Answer

i.

Look low high middle Village there Compared with Ulleri
1 0 8 4 Landruk comes before: low = 5
2 5 8 6 Tadapani comes before: low = 7
3 7 8 7 Tatopani comes before: low = 8
4 8 8 8 Ulleri equal: found at position 8
  • ii.After each look, binary search throws away half the list: if the name it wants comes after the middle one, it knows the name can only be to the right. That is true only when the list is in order; in a jumbled list, the name could be on either side, and the search could miss it.
  • iii.10 looks: each look halves what is left, and 1,000 halved 10 times is less than 1.
Marking scheme
  • i. Looks 1 and 2 correct: middle 4 (Landruk, low = 5), then middle 6 (Tadapani, low = 7).
  • i. Looks 3 and 4 correct: middle 7 (Tatopani, low = 8), then middle 8, Ulleri found.
  • ii. Each look throws away half, which is safe only if the list is in order.
  • iii. 10.
13.
[4]

Read the web page and its style sheet, and answer the questions that follow.

index.html

<!DOCTYPE html><html lang="ne">  <head>    <meta charset="utf-8">    <title>घोरेपानी</title>    <link rel="stylesheet" href="style.css">  </head>  <body>    <h1>घोरेपानी</h1>    <p>म्याग्दी जिल्लाको घोरेपानीबाट बिहान पुनहिल चढेर हिमालमा सूर्योदय हेर्न सकिन्छ।</p>    <h2>के के लैजाने</h2>    <ul>      <li>न्यानो लुगा</li>      <li>टर्च</li>    </ul>    <img src="poon-hill.jpg" alt="photo">  </body></html>

style.css

h1 {  color: darkgreen  font-size: 40px;}
  • i.What does a visitor see of lines 4 to 6, the head, and where? (1)
  • ii.The main heading shows in black, at its usual size. Why, and how is it fixed? (1)
  • iii.Write two other things in this page that make it harder for some people to use, and how to fix each. (2)
Answer
  • i.Only the title, घोरेपानी, shown on the browser’s tab (and in bookmarks and search results). The head holds information about the page: the charset and the link to the style sheet are used by the browser but not shown.
  • ii.A semicolon is missing after darkgreen. The browser reads darkgreen font-size: 40px as one strange color and skips it, without any message, so both declarations are lost. Add the semicolon: color: darkgreen;.

iii.

  • The alt text “photo” tells a blind visitor nothing. Say what it shows, in Nepali: alt="पुनहिलबाट देखिएको हिमालमा सूर्योदय".
  • There is no viewport line, so a phone lays it out as a screen about 980 px wide and shrinks it. Add <meta name="viewport" content="width=device-width, initial-scale=1"> in the head.
Marking scheme
  • i. Only the title, on the browser’s tab; the rest of the head isn’t shown.
  • ii. The missing semicolon makes the browser skip both declarations; add it after darkgreen.
  • iii. The alt text “photo”, with a fix that says what the photo shows.
  • iii. The missing viewport line, with the line added.
14.
[4]

Read the given passage and answer the questions that follow.

Bikram, a trekking guide in Myagdi, keeps his guests’ trip photos and videos in free cloud storage, synced with his phone. On the trail he has only mobile data. He shares one group’s album with a link set to “anyone with the link”. His friend says, “Your photos are up in the sky now, safe for ever.”

  • i.What is “the cloud” really? (1)
  • ii.Why should he set the syncing to Wi-Fi only? (1)
  • iii.Who can see the album he shared? (1)
  • iv.Everything in his cloud storage hangs on one thing. What, and what would happen if he lost it? (1)
Answer
  • i.Computers in data centers, run by companies, that he reaches over the internet: his files are on someone else’s disks, far away.
  • ii.Syncing big videos uses a lot of data, which would use up his mobile data pack (and cost money).
  • iii.Anyone who gets the link, not only the group: a link set to “anyone with the link” means exactly that, and it can be forwarded.
  • iv.His account: lose it, and he loses every file in it, on every device. (That is why the account needs strong protection and a way back in.)
Marking scheme
  • i. Computers in companies’ data centers, reached over the internet.
  • ii. Syncing big files uses a lot of mobile data.
  • iii. Anyone who has the link, not only the group.
  • iv. One account; losing it loses every file on every device.

Practical exam

25 marks

Marked by the school. Work alone at a computer, with no internet and no AI, in front of the teacher, for 1 hour 30 minutes. Write and run each program, show it working, and answer the teacher’s questions. On this page, press Edit on a program to type in it, and Run to run it.

P1.
[8]

Climb slowly. Above 3,000 m, trekkers are advised not to sleep more than 500 m higher than the night before, so that the body can get used to the thin air. Write a program that:

  • asks for the altitude where the trek starts, and then for the altitude where the trekkers sleep on each of the next 5 nights;
  • prints how much higher (or lower) each night is than the night before;
  • prints “Too fast: plan a rest day” when a night is above 3,000 m and more than 500 m higher than the night before;
  • at the end, prints how many nights were too fast, or “A safe plan” if none were.

Run it in front of the teacher with a trek from Lukla (2,860 m) to Phakding (2,610), Namche Bazaar (3,440), Namche again (a rest day), Tengboche (3,860) and Dingboche (4,410).

# Climb slowly: write your program heretoo_fast = 0
Answer
too_fast = 0before = int(input("Altitude at the start: "))for night in range(1, 6):    altitude = int(input(f"Altitude on night {night}: "))    climb = altitude - before    print("Higher by", climb, "m")    if altitude > 3000 and climb > 500:        print("Too fast: plan a rest day")        too_fast = too_fast + 1    before = altitudeif too_fast == 0:    print("A safe plan")else:    print("Nights too fast:", too_fast)

Output

Altitude at the start: 2860Altitude on night 1: 2610Higher by -250 mAltitude on night 2: 3440Higher by 830 mToo fast: plan a rest dayAltitude on night 3: 3440Higher by 0 mAltitude on night 4: 3860Higher by 420 mAltitude on night 5: 4410Higher by 550 mToo fast: plan a rest dayNights too fast: 2

The line before = altitude at the end of each round makes tonight the “night before” for the next round. Other wordings of the messages are fine.

Marking scheme
  • Asks for the starting altitude before the loop, with int(input(…)).
  • A loop that asks for exactly 5 nights’ altitudes.
  • Works out each night’s climb as tonight’s altitude minus the night before’s, and prints it.
  • An if with both conditions joined by and: above 3,000 and a climb of more than 500.
  • Prints the warning and counts it, only for those nights.
  • Keeps tonight’s altitude as the next round’s “night before”.
  • After the loop, prints the number of nights too fast, or “A safe plan” if there were none.
  • Runs it in front of the teacher with 2860, 2610, 3440, 3440, 3860, 4410 and gets the right output.
P2.
[4]

The porters’ pay. A trekking agency pays each porter Rs 2,000 a day. This program should work out the day’s pay for all the porters, and say so when none were hired. Run it.

porters = int(input("How many porters? "))pay = porters * 2000if porters = 0:    print("No porters today.")print("Pay for the day: Rs", pay)
  • i.Write the kind of error and the line Python names.
  • ii.Say why it happens.
  • iii.Fix the program.
  • iv.Test it with 3, 1 and 0 porters: write what each should print first, then run it.
Answer

i. and ii. A SyntaxError, on line 3:

Error message

  File "main.py", line 3    if porters = 0:       ^^^^^^^^^^^SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?

One = sets a variable; it can’t ask a question. An if needs a comparison, and “is it equal?” is two equals signs, ==. Python found the mistake before running anything, so it never asked for the porters. (:= is something else, not used in this course.)

iii. Use == on line 3:

porters = int(input("How many porters? "))pay = porters * 2000if porters == 0:    print("No porters today.")print("Pay for the day: Rs", pay)

Output

How many porters? 3Pay for the day: Rs 6000

iv.

Porters Should print Kind of test
3 Pay for the day: Rs 6000 ordinary
1 Pay for the day: Rs 2000 edge: the smallest group
0 No porters today. then Pay for the day: Rs 0 edge: nobody hired
Marking scheme
  • Names the SyntaxError and line 3.
  • Explains that = sets a variable, and an if needs == to compare.
  • Fixes line 3 with ==, and it runs.
  • Writes the expected results for 3, 1 and 0 first, and the program gives them.
P3.
[7]

A page about Ghorepani in spring. Make a small web page with:

  • a title, and a main heading;
  • a sentence or two about Ghorepani;
  • a list of three things to see or do there;
  • the photo rhododendrons.jpg, of a rhododendron forest in flower, with alt text;
  • at least one CSS rule in the style sheet that changes how the page looks.

Show it to the teacher, on a phone width as well.

Try it

A page about Ghorepani

Your page, titled
  • Title

  • Language

  • Headings

  • Pictures

  • Contrast

  • Phone width

Change the code until every row has a ✓.

Your page is kept in this browser only. Nothing you type is sent anywhere.

rhododendrons.jpg: Greg Willis from Denver, CO, usa, CC BY-SA 2.0, via Wikimedia Commons

Answer

One good page (yours will be different):

index.html

<!DOCTYPE html><html lang="en">  <head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1">    <title>Ghorepani in Spring</title>    <link rel="stylesheet" href="style.css">  </head>  <body>    <h1>Ghorepani in Spring</h1>    <p>Ghorepani is a village in Myagdi district, at about 2,860 meters. In Chaitra and Baisakh, the forests around it are red and pink with rhododendron, Nepal’s national flower.</p>    <h2>Things to do</h2>    <ol>      <li>Climb Poon Hill before dawn to watch the sunrise</li>      <li>Walk through the flowering rhododendron forest</li>      <li>Look out over the Dhaulagiri and Annapurna mountains</li>    </ol>    <img src="rhododendrons.jpg" alt="A hillside of rhododendron trees covered in red and pink flowers">  </body></html>

style.css

body {  font-family: sans-serif;  margin: 16px;} h1 {  color: #9b1b30;} img {  max-width: 100%;}

The max-width: 100% rule keeps the photo inside a phone’s screen.

Marking scheme
  • A <title> that says what the page is, with the skeleton (lang, head and body) kept correct.
  • One <h1> main heading at the top of the body.
  • A paragraph (<p>) about Ghorepani.
  • A list (<ul> or <ol>) with three <li> items, opened and closed correctly.
  • The photo shown with <img src="rhododendrons.jpg">.
  • Alt text that says what the photo shows (not just “photo” or “image”).
  • A CSS rule with a selector and a declaration (property: value;) that changes how the page looks.
P4.
[6]

Viva. The teacher asks each student about their own work, for example:

  • i.In your climbing program, why does before = altitude come at the end of the loop, inside it? What would go wrong without it? (2)
  • ii.Your programs use names like porters, pay and too_fast. Why are such names better than p, x and t? And why is it too_fast, with an underscore, and not too fast? (2)
  • iii.You send only your index.html to a friend, by email. When she opens it, what will she see, and why? (2)
Answer
  • i.Each night must be compared with the night before, so after a night is checked, its altitude becomes before for the next one. Without the line, before would stay 2,860 m, the start: every night would be compared with the start, so the rest day at Namche would show 580 m higher and be called too fast.
  • ii.A name that says what the variable holds makes the program easy to read and check, for the teacher, a friend, or yourself a month later; p and x say nothing. A variable’s name can’t have a space in it (Python would read too fast as two names side by side), so the underscore joins the words into one name.
  • iii.The page’s text, headings and list, but without its CSS styles and without the photo (at most its alt text). The style sheet and the photo are separate files: index.html only names them (href="style.css", src="rhododendrons.jpg"), and the browser looks for them beside the page. She needs all three files, in the same folder.
Marking scheme
  • i. It makes this night the one the next night is compared with.
  • i. Without it, every night is compared with the start (the rest day would be called too fast).
  • ii. Names that say what they hold make the program easy to read and check.
  • ii. A name can’t contain a space, so _ joins the words.
  • iii. The text and headings, but without the styles and the photo.
  • iii. The style sheet and photo are separate files that the page only names; they must be sent with it.

Your score

0 / 50 theory

0 / 25 practical

34 questions not marked yet

Section A–Full marks 10
Section B–Full marks 8
Section C–Full marks 16
Section D–Full marks 16
Practical exam–Full marks 25

Marks lost, by unit

Mark a question to see your score here.

Score 0 of 0 0 of 34 marked Time left: 2:00:00