QCAA Digital Solutions Real-world problems and solution requirements
5 sample questions with marking guides and sample answers · Avg. score: 59.7%
An application accesses an API that obtains data relating to books read by users. The data that needs to be stored locally includes:
• one or more images of each book’s cover
• book recommendation notes
• a comment on each book.
Book data is located using the ISBN — a unique identifier for each published book. When searching for a book, the returned JSON data is outputted:
{
"volumeInfo":{
"title": "Designing Relational Databases",
"subtitle": "A beginner’s guide",
"authors": [
"Joan Janson",
"Katy Pratt"
],
"isbn": "1440569239562",
"publisher": "Books Ltd",
"publishedDate": "2016-05",
"pageCount": 367,
"imageLinks": {
"smallThumbnail": "http://books.abcd.com/books?id=jedfoYprny465&image=1&source=gbs _ api",
"thumbnail": "http://books.abcd.com/books?id=jedfoYprny465&image=3&source=gbs _ api"
}
}
}
What is the most appropriate method to store the data in local tables so it can be easily retrieved for display?
Table: book
| Field | Type |
|---|---|
| ISBN | Text |
| title | Text |
| pages | Integer |
| authors | Text |
| comments | Text |
| recommendation | Boolean |
Table: images
| Field | Type |
|---|---|
| type | Text |
| image_link | Jpg |
| ISBN | Integer |
Table: books
| Field | Type |
|---|---|
| ISBN | Text |
| title | Text |
| pages | Integer |
| comments | Text |
| recommendation | Text |
| image_link | Text |
Table: authors
| Field | Type |
|---|---|
| ISBN | Text |
| name | Text |
Table: book
| Field | Type |
|---|---|
| ISBN | Integer |
| title | Text |
| pages | Integer |
| comments | Text |
| recommendation | Boolean |
Table: images
| Field | Type |
|---|---|
| ISBN | Integer |
| image_type | Text |
| image_link | Text |
Table: authors
| Field | Type |
|---|---|
| ISBN | Integer |
| name | Text |
Table: books
| Field | Type |
|---|---|
| ISBN | Integer |
| title | Text |
| pages | Text |
| comments | Text |
| recommendation | Text |
| publisher | Text |
| published_date | Text |
Table: authors
| Field | Type |
|---|---|
| title | Text |
| name | Text |
Table: images
| Field | Type |
|---|---|
| ISBN | Integer |
| image_link | Text |
Which algorithmic statement determines the value of y between 10 and 50 inclusive?
IF 10 > y OR y > 50
IF 10 > y AND y < 50
IF y >= 10 OR y <= 50
IF y >= 10 AND y <= 50
Refer to Stimulus 1 in the stimulus book.
Describe the listed algorithm constructs and identify one example of each from the stimulus. Use corresponding line numbers to identify examples.
Assignment:
Example:
Condition:
Example:
Iteration:
Example:
Explain the purpose of modularisation and identify an example of how it is used in the stimulus. Use corresponding line numbers in your response.
An esports club records player details and results for playing a popular online game. The data is stored in JSON format. The club wants to display the gamer tag of each player, their age and the percentage of games won. A sample of the JSON data is shown.
{
'players': [
{
'name': 'Brandon Rioli',
'gamerTag': 'Madskills',
'dateOfBirth': '22/12/2007',
'gamesPlayed': 10,
'gamesWon': 4
},
{
'name': 'Chloe Pezer',
'gamerTag': 'PezerGirl',
'dateOfBirth': '03/04/2007',
'gamesPlayed': 58,
'gamesWon': 55
}
]
}
Use pseudocode to symbolise the algorithmic statements needed to display the required data.
A games arcade has developed a digital solution for recording members’ points. Members receive a membership card, which they scan when they play games at the arcade. The card records how many points a member receives from winning a game. A sample of the data is shown.
members
| id | given_name | last_name | phone | |
|---|---|---|---|---|
| 24 | Adalai | Akkad | adacutiepie@email.com | 0491 570 006 |
| 25 | Michael | McNealy | mikemcnealy@email.com | 0491 571 266 |
| 26 | Shruti | Flynn | shrutikins@email.com | 0491 574 118 |
| 27 | Adam | Steinberg | steintheman@email.com | 0491 577 644 |
| 28 | Julia | Wong | juliawong@email.com | 0491 579 455 |
members_activity
| id | card_number | join_date | last_visit | points_balance |
|---|---|---|---|---|
| 24 | 789987 | 2005-08-12 | 2020-01-20 | 570 |
| 25 | 456654 | 2009-02-15 | 2019-12-20 | 80 |
| 26 | 753951 | 2010-05-05 | 2020-02-25 | 249 |
| 27 | 654123 | 2019-10-19 | 2020-03-10 | 1200 |
Develop an algorithm to list all members by name. Sort the list alphabetically by last name.
Develop an algorithm to list member IDs and join dates for memberships of 10 or more years. Sort the list by join date in ascending order.
Develop an algorithm to provide the contact details for members who currently have more than 3000 points.