App Dev Worksheet: Final Test
Developer's tip (Plan, design, build, check): Find the topic: what apps are, designing apps, or logic and building. Read every screen, list or code line carefully, top to bottom. For code, write each value down step by step and check it again.
NameDateTime takenScore ___ / 40
- 1.True or false: a step counter is a tool app. (a) True (b) False
-
2.🧪 What is the ACTUAL result of Test 1?
🚚 Rule: delivery is free (0) when the order is 800 or more; otherwise it costs 40.
function delivery(total) {
if (total > 800) {
return 0;
}
return 40;
}
Test 1: delivery(650) → expected 40
Test 2: delivery(800) → expected 0
Test 3: delivery(850) → expected 0 -
3.🔁 What is the LAST line this code shows?
let names = ["Zoya", "Meera", "Riya", "Aman"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Zoya (b) Hi, Riya (c) Hi, Aman (d) Hi, Meera - 4.🗒️ The first small, working version of an app is often called an ___. (a) FAQ (b) CPU (c) URL (d) MVP
-
5.👆 The user taps the button 3 times. What does the label show now?
let on = false;
button.onTap = function () {
on = !on;
if (on) {
label.text = "ON";
} else {
label.text = "OFF";
}
}; (a) OFF (b) ON - 6.🔍 Which is the odd one out? (a) labels on every icon (b) text that can grow (c) tiny tap areas (d) strong colour contrast
- 7.💡 Which app idea solves this problem: nobody knows whose bag it is? (a) a medicine reminder (b) a homework planner (c) a lost-and-found board (d) a bill splitter
- 8.🔁 list.length tells you ___. (a) how many items it has (b) the first item (c) the biggest item (d) the last item
- 9.📱 Which one has a home-screen icon: an app or a website? (a) an app (b) a website
-
10.🔁 What number does this code show?
let marks = [40, 52, 39];
let count = 0;
for (let i = 0; i < marks.length; i++) {
if (marks[i] >= 40) {
count = count + 1;
}
}
show(count); - 11.True or false: a website has a web address. (a) False (b) True
-
12.👆 The user taps the button 6 times. What does the label show now?
let on = false;
button.onTap = function () {
on = !on;
if (on) {
label.text = "ON";
} else {
label.text = "OFF";
}
}; (a) ON (b) OFF -
13.🧪 One test case fails. Which one?
📝 Rule: a quiz is passed with 7 or more right answers.
function result(right) {
if (right > 7) {
return "Pass";
}
return "Try again";
}
Test 1: result(8) → expected Pass
Test 2: result(7) → expected Pass
Test 3: result(5) → expected Try again (a) Test 1 (b) Test 2 (c) Test 3 - 14.🧭 Which part of navigation sits at the bottom? (a) the back button (b) a menu button (c) a tab bar
-
15.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let coins = 49; // start at 49
line 2: coins = coins + 7; // add 6
line 3: coins = coins - 1; // take away 1
line 4: coins = coins * 2; // double it
line 5: show(coins); // show it (a) line 4 (b) line 2 (c) line 1 (d) line 3 -
16.⚙️ Which line does the processing (works out the answer)?
line 1: let bill = 42; // typed by the user
line 2: let friends = 2; // typed by the user
line 3: let share = bill / friends;
line 4: show(share); (a) line 1 (b) line 4 (c) line 2 (d) line 3 -
17.🧩 Which of these is a button on this screen?
[title] Add Homework
[text box] Notes
[button] Save
[slider] Volume
[button] Back
[button] Cancel (a) Save (b) Volume (c) Notes -
18.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let coins = 50; // start at 50
line 2: coins = coins + 6; // add 6
line 3: coins = coins + 3; // take away 3
line 4: show(coins); // show it - 19.🔢 In a quiz-app flow, which comes first: “see if it is right” or “see the final score”? (a) see the final score (b) see if it is right
- 20.True or false: a final design looks like the real app. (a) True (b) False
-
21.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let coins = 32; // start at 32
line 2: coins = coins - 4; // take away 4
line 3: coins = coins + 4; // add 4
line 4: coins = coins + 6; // add 5
line 5: show(coins); // show it - 22.🐞 After fixing a bug you should ___. (a) test it again (b) never test (c) release at once (d) delete the test
- 23.🔘 Our rule: buttons are at least 48 px tall. The Help button is 36 px tall. How many px taller must it be?
-
24.⚙️ Which line does the processing (works out the answer)?
line 1: let price = 30; // typed by the user
line 2: let qty = 2; // typed by the user
line 3: let total = price * qty;
line 4: show(total); (a) line 4 (b) line 1 (c) line 3 (d) line 2 - 25.🧭 Tapping a tab usually takes you to ___. (a) the phone settings (b) a random page (c) that tab’s main screen (d) the last app used
- 26.True or false: taking a photo is an output. (a) True (b) False
- 27.🧪 A test fails when ___. (a) the app is new (b) both are the same (c) the font is big (d) actual is not expected
-
28.♿ Our rule: text is at least 16 px. Which text on this screen is too small?
Title: 19 px
Body text: 20 px
Hint: 20 px
Footer: 12 px (a) Body text (b) Footer (c) Hint (d) Title -
29.🧩 Which of these is a button on this screen?
[title] Edit Profile
[button] Save
[button] Cancel
[text box] Phone
[text box] Age
[text box] City (a) Phone (b) City (c) Age (d) Save -
30.🧪 What is the ACTUAL result of Test 1?
🎟️ Rule: a ticket costs 50 for children under 8, and 100 for everyone else.
function price(age) {
if (age <= 8) {
return 50;
}
return 100;
}
Test 1: price(11) → expected 100
Test 2: price(9) → expected 100
Test 3: price(7) → expected 50 -
31.🖼️ In this wireframe (top to bottom), which part is at the very bottom?
[ big picture ]
[ search box ]
[ list of items ]
[ title text ]
[ Save button ] (a) title text (b) Save button (c) list of items (d) big picture - 32.Which of these is true of a wireframe? (a) shows the real fonts (b) uses plain grey boxes (c) looks like the real app (d) uses the final pictures
- 33.🧭 Which part of navigation switches main sections? (a) the back button (b) a tab bar (c) a menu button
- 34.Which of these is a user need? (a) “I keep missing the bus” (b) a search bar (c) a dark mode switch (d) a reminder alarm
- 35.🗒️ When should nice-to-have features be built? (a) before anything (b) never (c) after the must-haves (d) on day one
- 36.🔢 In a sign-up flow, what comes right after “enter the code sent”? (a) type name and email (b) make a password (c) open the app (d) see the home screen
- 37.🔐 Which permission does a barcode scanner really need? (a) the microphone (b) contacts (c) location (d) the camera
- 38.🔐 Is this permission request fair or too much: voice notes → microphone? (a) too much (b) fair
-
39.🐞 This code has a bug. What number does it ACTUALLY show?
line 1: let score = 30; // start at 30
line 2: score = score * 2; // double it
line 3: score = score + 6; // add 4
line 4: score = score * 2; // double it
line 5: show(score); // show it - 40.👆 What kind of event is this: a finger hits Like? (a) a load event (b) a tap event (c) a text event (d) a timer event
Answer key
- False
- 40
- Hi, Aman
- MVP
- ON
- tiny tap areas
- a lost-and-found board
- how many items it has
- an app
- 2
- True
- OFF
- Test 2
- a tab bar
- line 2
- line 3
- Save
- 53
- see if it is right
- True
- 37
- test it again
- 12
- line 3
- that tab’s main screen
- False
- actual is not expected
- Footer
- Save
- 100
- Save button
- uses plain grey boxes
- a tab bar
- “I keep missing the bus”
- after the must-haves
- see the home screen
- the camera
- fair
- 132
- a tap event
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students