100% found this document useful (1 vote)
2K views62 pages

AP CSP Mock Test

Uploaded by

Vince Hernandez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
2K views62 pages

AP CSP Mock Test

Uploaded by

Vince Hernandez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

Practice Exam

Exam Content and Format


The AP Computer Science Principles Exam consists of the Create performance
task and an end-of-course AP Exam. The Create performance task requires at
least 12 hours of dedicated class time for students to complete. The end-of-course
exam is 2 hours long and includes 70 multiple-choice questions.

Administering the Practice Exam


This section contains instructions for administering the AP Computer Science
Principles Practice Exam. You may wish to use these instructions to create an
exam situation that resembles an actual administration. If so, read the indented,
boldface directions to the students; all other instructions are for administering
the exam and need not be read aloud. Before beginning testing, have all exam
materials ready for distribution. These include test booklets and answer sheets.
(Reminder: Final instructions for every AP Exam are published in the AP Exam
Instructions book.)
When you are ready to begin the exam, say:

You will be given 2 hours to answer 70 multiple-choice questions. Each


question has 4 answer choices.

• For question numbers 1 through 62, mark only the single best answer to
each question.

• For the remaining questions, numbered 131 through 138, mark the two
best answer choices for each question.

Your total score on this multiple-choice exam is based only on the number of
questions answered correctly. Points are not deducted for incorrect answers or
unanswered questions. When you do not know the answer to a question, you
should eliminate as many choices as you can, and then select the best answer
among the remaining choices. If you finish before time is called, you may
check your work.

Programming reference materials are located at the front of the exam.


The reference materials provide instructions and explanations to help you
understand the format and meaning of the questions on the test. As you
encounter programming questions on the test, you should use the reference
materials to clarify the behavior of programming statements found in those
questions.

You have 2 hours for this exam. Open your exam booklet and begin

Note Start Time here______ . Note Stop Time here______ . After 2 hours, say:

Stop working. The exam is over. I will now collect your exam materials.

Collect an exam booklet and answer sheet from each student.

4 AP Computer Science Principles Practice Exam


Name:

AP® Computer Science Principles


Answer Sheet

No. Answer No. Answer No. Answer


1 25 49
2 26 50
3 27 51
4 28 52
5 29 53
6 30 54
7 31 55
8 32 56
9 33 57
10 34 58
11 35 59
12 36 60
13 37 61
14 38 62
15 39
16 40 131
17 41 132
18 42 133
19 43 134
20 44 135
21 45 136
22 46 137
23 47 138
24 48

AP Computer Science Principles Practice Exam 5


AP Computer Science Principles Exam
®

Multiple Choice

DO NOT OPEN THIS BOOKLET UNTIL YOU ARE TOLD TO DO SO.

Instructions
At a Glance
This exam booklet contains 70 multiple-choice questions. Exam reference materials for
Total Time programming questions are located at the beginning of this booklet. As you encounter
2 hours programming questions on the exam, you should use the reference materials to clarify the
Number of Questions behavior of programming statements found in those questions.
70
Percent of Total Score Indicate all of your answers to the multiple-choice questions on the answer sheet. No
70% credit will be given for anything written in this exam booklet, but you may use the booklet
Writing Instrument for notes or scratch work.
Pencil required
Electronic Device
None allowed For questions 1 through 62, select the single best answer choice for each question.

For questions 131 through 138, select the two best answer choices for each question.

Use your time effectively, working as quickly as you can without losing accuracy. Do not
spend too much time on any one question. Go on to other questions and come back to
the ones you have not answered if you have time. It is not expected that everyone will
know the answers to all of the multiple-choice questions.
Your total score on the multiple-choice questions is based only on the number of
questions answered correctly. Points are not deducted for incorrect answers or unanswered
questions.

6
COMPUTER SCIENCE PRINCIPLES
Time — 2 hours
70 Questions

Programming reference materials are included on the following pages. As AP Computer Science Principles does not
designate any particular programming language, these reference materials provide instructions and explanations to help
you understand the format and meaning of the questions you will see on the exam. The reference materials include two
programming formats, text-based and block-based.
Programming instructions use four data types: numbers, Booleans, strings, and lists.
Instructions from any of the following categories may appear on the exam:
• Assignment, Display, and Input
• Arithmetic Operators and Numeric Procedures
• Relational and Boolean Operators
• Selection
• Iteration
• List Operations
• Procedures and Procedure Calls
• Robot

AP Computer Science Principles Practice Exam 7


REFERENCE MATERIALS

Instruction Explanation
Assignment, Display, and Input
Text: Evaluates expression and then assigns a copy
a ← expression of the result to the variable a.
Block:

Text: Displays the value of expression, followed by


DISPLAY(expression) a space.
Block:

Text: Accepts a value from the user and returns the input
INPUT() value.
Block:

Arithmetic Operators and Numeric Procedures


Text and Block: The arithmetic operators +, -, *, and / are
a + b used to perform arithmetic on a and b.
a - b
a * b For example, 17 / 5 evaluates to 3.4.
a / b
The order of operations used in mathematics applies
when evaluating expressions.
Text and Block: Evaluates to the remainder when a is divided
a MOD b by b. Assume that a is an integer greater than or
equal to 0 and b is an integer greater than 0.
For example, 17 MOD 5 evaluates to 2.

The MOD operator has the same precedence as the


* and / operators.
Text: Generates and returns a random integer from a to
RANDOM(a, b) b, including a and b. Each result is equally
likely to occur.
Block:
For example, RANDOM(1, 3) could return 1,
2, or 3.
Relational and Boolean Operators
Text and Block: The relational operators =, ≠, >, <, ≥, and ≤
a = b are used to test the relationship between two
a ≠ b variables, expressions, or values. A comparison
a > b using relational operators evaluates to a Boolean
a < b value.
a ≥ b
a ≤ b For example, a = b evaluates to true if a
and b are equal; otherwise it evaluates to false.

8 AP Computer Science Principles Practice Exam


REFERENCE MATERIALS

Instruction Explanation
Relational and Boolean Operators (continued)
Text: Evaluates to true if condition is false;
NOT condition otherwise evaluates to false.
Block:

Text: Evaluates to true if both condition1 and


condition1 AND condition2 condition2 are true; otherwise evaluates to
false.
Block:

Text: Evaluates to true if condition1 is true


condition1 OR condition2 or if condition2 is true or if both
condition1 and condition2 are true;
Block:
otherwise evaluates to false.

Selection
Text: The code in block of statements is
IF(condition) executed if the Boolean expression condition
{ evaluates to true; no action is taken if
<block of statements> condition evaluates to false.
}
Block:

Text: The code in first block of statements


IF(condition) is executed if the Boolean expression
{ condition evaluates to true; otherwise the
<first block of statements> code in second block of statements is
} executed.
ELSE
{
<second block of statements>
}
Block:

AP Computer Science Principles Practice Exam 9


REFERENCE MATERIALS

Instruction Explanation
Iteration
Text: The code in block of statements is
REPEAT n TIMES executed n times.
{
<block of statements>
}
Block:

Text: The code in block of statements is


REPEAT UNTIL(condition) repeated until the Boolean expression
{ condition evaluates to true.
<block of statements>
}
Block:

List Operations
For all list operations, if a list index is less than 1 or greater than the length of the list, an error message is
produced and the program terminates.
Text: Creates a new list that contains the values
aList ← [value1, value2, value3, ...] value1, value2, value3, and ... at
indices 1, 2, 3, and ... respectively and
Block:
assigns it to aList.

Text: Creates an empty list and assigns it to aList.


aList ← []

Block:

Text: Assigns a copy of the list bList to the list


aList ← bList aList.

Block: For example, if bList contains


[20, 40, 60], then aList will also
contain [20, 40, 60] after the assignment.
Text: Accesses the element of aList at index i.
aList[i] The first element of aList is at index 1 and is
accessed using the notation aList[1].
Block:

10 AP Computer Science Principles Practice Exam


REFERENCE MATERIALS

Instruction Explanation
List Operations (continued)
Text: Assigns the value of aList[i] to the
x ← aList[i] variable x.

Block:

Text: Assigns the value of x to aList[i].


aList[i] ← x

Block:

Text: Assigns the value of aList[j] to aList[i].


aList[i] ← aList[j]
Block:

Text: Any values in aList at indices greater than or


INSERT(aList, i, value) equal to i are shifted one position to the right. The
length of the list is increased by 1, and value is
Block:
placed at index i in aList.

Text: The length of aList is increased by 1, and


APPEND(aList, value) value is placed at the end of aList.
Block:

Text: Removes the item at index i in aList and


REMOVE(aList, i) shifts to the left any values at indices greater than
i. The length of aList is decreased by 1.
Block:

Text: Evaluates to the number of elements in aList.


LENGTH(aList)
Block:

Text: The variable item is assigned the value of each


FOR EACH item IN aList element of aList sequentially, in order, from the
{ first element to the last element. The code in
<block of statements> block of statements is executed once for
} each assignment of item.
Block:

AP Computer Science Principles Practice Exam 11


REFERENCE MATERIALS

Instruction Explanation
Procedures and Procedure Calls
Text: Defines procName as a procedure that takes
PROCEDURE procName(parameter1, zero or more arguments. The procedure contains
parameter2, ...) block of statements.
{
<block of statements> The procedure procName can be called using
} the following notation, where arg1 is assigned
Block: to parameter1, arg2 is assigned to
parameter2, etc.:
procName(arg1, arg2, ...)

Text: Defines procName as a procedure that takes


PROCEDURE procName(parameter1, zero or more arguments. The procedure contains
parameter2, ...) block of statements and returns the value
{ of expression. The RETURN statement may
<block of statements> appear at any point inside the procedure and causes
RETURN(expression) an immediate return from the procedure back to the
} calling statement.
Block: The value returned by the procedure procName
can be assigned to the variable result using the
following notation:
result ← procName(arg1, arg2, ...)

Text: Returns the flow of control to the point where the


RETURN(expression) procedure was called and returns the value of
expression.
Block:

12 AP Computer Science Principles Practice Exam


REFERENCE MATERIALS

Instruction Explanation
Robot
If the robot attempts to move to a square that is not open or is beyond the edge of the grid, the robot will stay
in its current location and the program will terminate.
Text: The robot moves one square forward in the direction
MOVE_FORWARD() it is facing.
Block:

Text: The robot rotates in place 90 degrees


ROTATE_LEFT() counterclockwise (i.e., makes an in-place left turn).
Block:

Text: The robot rotates in place 90 degrees clockwise (i.e.,


ROTATE_RIGHT() makes an in-place right turn).
Block:

Text: Evaluates to true if there is an open square one


CAN_MOVE(direction) square in the direction relative to where the robot is
facing; otherwise evaluates to false. The value
Block:
of direction can be left, right,
forward, or backward.

AP Computer Science Principles Practice Exam 13


Directions: Each of the questions or incomplete statements below is followed by four suggested answers or
completions. Select the one that is best in each case and then enter the letter in the corresponding space on the
answer sheet.

1. Which of the following is an example of a phishing attack?

(A) Loading malicious software onto a user’s computer in order to secretly gain access to sensitive information
(B) Flooding a user’s computer with e-mail requests in order to cause the computer to crash
(C) Gaining remote access to a user’s computer in order to steal user IDs and passwords
(D) Using fraudulent e-mails in order to trick a user into voluntarily providing sensitive information

2. To be eligible for a particular ride at an amusement park, a person must be at least 12 years old and must be
between 50 and 80 inches tall, inclusive.

Let age represent a person’s age, in years, and let height represent the person’s height, in inches. Which
of the following expressions evaluates to true if and only if the person is eligible for the ride?
(A) (age ˛ 12) AND ((height ˛ 50) AND (height ˝ 80))

(B) (age ˛ 12) AND ((height ˝ 50) AND (height ˛ 80))


(C) (age ˛ 12) AND ((height ˝ 50) OR (height ˛ 80))

(D) (age ˛ 12) OR ((height ˛ 50) AND (height ˝ 80))

GO ON TO THE NEXT PAGE.

14 AP Computer Science Principles Practice Exam


3. Consider the following code segment.

What are the values of first and second as a result of executing the code segment?

(A) first = 100, second = 100


(B) first = 100, second = 200
(C) first = 200, second = 100
(D) first = 200, second = 200

4. Which of the following best explains the relationship between the Internet and the World Wide Web?
(A) Both the Internet and the World Wide Web refer to the same interconnected network of devices.
(B) The Internet is an interconnected network of data servers, and the World Wide Web is a network of user
devices that communicates with the data servers.
(C) The Internet is a local network of interconnected devices, and the World Wide Web is a global network that
connects the local networks with each other.
(D) The Internet is a network of interconnected networks, and the World Wide Web is a system of linked pages,
programs, and files that is accessed via the Internet.

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 15


5. A code segment is intended to display the following output.
up down down down up down down down
Which of the following code segments can be used to display the intended output?

(A) (B)

(C) (D)

GO ON TO THE NEXT PAGE.

16
6. Which of the following best exemplifies the use of multifactor authentication to protect an online banking
system?

(A) When a user resets a password for an online bank account, the user is required to enter the new password
twice.
(B) When multiple people have a shared online bank account, they are each required to have their own unique
username and password.
(C) After entering a password for an online bank account, a user must also enter a code that is sent to the user’s
phone via text message.
(D) An online bank requires users to change their account passwords multiple times per year without using the
same password twice.

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 17


7. A game is played by moving a game piece left or right along a horizontal game board. The board consists of
spaces of various colors, as shown. The circle represents the initial location of the game piece.

Yellow Black Green Green Red Yellow Black Black Yellow Black

The following algorithm indicates how the game is played. The game continues until the game is either won by
landing on the red space or lost when the piece moves off either end of the board.

Step 1: Place a game piece on a space that is not red and set a counter to 0.

Step 2: If the game piece is on a yellow space, move the game piece 3 positions to the left
and go to step 3. Otherwise, if the game piece is on a black space, move the game
piece 1 position to the left and go to step 3. Otherwise, if the game piece is on a
green space, move the game piece 2 positions to the right and go to step 3.

Step 3: Increase the value of the counter by 1.

Step 4: If game piece is on the red space or moved off the end of the game board, the game is
complete. Otherwise, go back to step 2.

If a game is begun by placing the game piece on the rightmost black space for step 1, what will be the value of
the counter at the end of the game?

(A) 2
(B) 3
(C) 4
(D) 5

GO ON TO THE NEXT PAGE.

18
8. Which of the following best describes a direct benefit in using redundant routing on the Internet?

(A) Redundancy enables messages to be transmitted with as few packets as possible.


(B) Redundancy enables network devices to communicate with as few network connections as possible.
(C) Redundancy often allows messages to be sent on the network even if some network devices or connections
have failed.
(D) Redundancy prevents network communications from being intercepted by unauthorized individuals.

9. Which of the following best explains how an analog audio signal is typically represented by a computer?
(A) An analog audio signal is measured as input parameters to a program or procedure. The inputs are
represented at the lowest level as a collection of variables.
(B) An analog audio signal is measured at regular intervals. Each measurement is stored as a sample, which is
represented at the lowest level as a sequence of bits.
(C) An analog audio signal is measured as a sequence of operations that describe how the sound can be
reproduced. The operations are represented at the lowest level as programming instructions.
(D) An analog audio signal is measured as text that describes the attributes of the sound. The text is
represented at the lowest level as a string.

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 19


Questions 10–11 refer to the information below.
The player controls in a particular video game are represented by numbers. The controls and their corresponding
binary values are shown in the following table.
Control Binary Value
˜ 01000
° 01001
˛ 01011
˝ 01111
Jump 11000
Run 11001
Pause 11011
Reset 11111
The numeric values for the controls can also be represented in decimal (base 10).

10. What is the decimal value for the jump control?


(A) 3
(B) 12
(C) 24
(D) 48

11. What control is represented by the decimal value 15 ?


(A) ˜
(B) °
(C) ˛
(D) ˝

GO ON TO THE NEXT PAGE.

20
12. The grid below contains a robot represented as a triangle, initially facing toward the top of the grid. The robot
can move into a white or gray square but cannot move into a black region.

The code segment below uses the procedure goalReached, which evaluates to true if the robot is in the
gray square and evaluates to false otherwise.
REPEAT UNTIL(goalReached())
{
<MISSING CODE>
}
Which of the following replacements for <MISSING CODE> can be used to move the robot to the gray
square?

(A) IF(CAN_MOVE(left)) (B) IF(CAN_MOVE(forward))


{ {
ROTATE_LEFT() MOVE_FORWARD()
MOVE_FORWARD() ROTATE_LEFT()
} }

(C) IF(CAN_MOVE(left)) (D) IF(CAN_MOVE(forward))


{ {
ROTATE_LEFT() MOVE_FORWARD()
} }
MOVE_FORWARD() ELSE
{
ROTATE_LEFT()
}

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 21


13. Which of the following is NOT a benefit of collaborating to develop a computing innovation?

(A) Collaboration can decrease the size and complexity of tasks required of individual team members.
(B) Collaboration can make it easier to find and correct errors during the development process.
(C) Collaboration eliminates the need to resolve differences of opinion.
(D) Collaboration facilitates multiple perspectives in developing ideas.

GO ON TO THE NEXT PAGE.

22
14. A list of numbers is considered increasing if each value after the first is greater than or equal to the preceding
value. The following procedure is intended to return true if numberList is increasing and return
false otherwise. Assume that numberList contains at least two elements.
Line 1: PROCEDURE isIncreasing(numberList)
Line 2: {
Line 3: count ← 2
Line 4: REPEAT UNTIL(count > LENGTH(numberList))
Line 5: {
Line 6: IF(numberList[count] < numberList[count - 1])
Line 7: {
Line 8: RETURN(true)
Line 9: }
Line 10: count ← count + 1
Line 11: }
Line 12: RETURN(false)
Line 13: }
Which of the following changes is needed for the program to work as intended?
(A) In line 3, 2 should be changed to 1.
(B) In line 6, < should be changed to ˛.
(C) Lines 8 and 12 should be interchanged.
(D) Lines 10 and 11 should be interchanged.

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 23


15. Consider the following procedure.

Procedure Call Explanation


drawLine(x1, y1, x2, y2) Draws a line segment on a coordinate grid with endpoints at
coordinates (x1, y1) and (x2, y2)
The drawLine procedure is to be used to draw the following figure on a coordinate grid.

Which of the following code segments can be used to draw the figure?

(A) xVal ← 1
yVal ← 0
len ← 1
REPEAT 5 TIMES
{
drawLine(xVal, yVal, xVal, yVal + len)
xVal ← xVal + 1
len ← len + 1
}
(B) xVal ← 1
yVal ← 0
len ← 1
REPEAT 5 TIMES
{
drawLine(xVal, yVal, xVal + len, yVal)
yVal ← yVal + 1
len ← len + 1
}

GO ON TO THE NEXT PAGE.

24
(C) xVal ← 5
yVal ← 0
len ← 5
REPEAT 5 TIMES
{
drawLine(xVal, yVal, xVal, yVal + len)
xVal ← xVal - 1
}

(D) xVal ← 5
yVal ← 0
len ← 5
REPEAT 5 TIMES
{
drawLine(xVal, yVal, xVal + len, yVal)
yVal ← yVal - 1
len ← len - 1
}

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 25


16. The author of an e-book publishes the e-book using a no-rights-reserved Creative Commons license. Which of
the following best explains the consequences of publishing the book with this type of license?

(A) The contents of the e-book will be encrypted and can only be decrypted by authorized individuals.
(B) Individuals can freely distribute or use the contents of the e-book without needing to obtain additional
permissions from the author.
(C) Individuals will be legally prevented from sharing the e-book on a peer-to-peer network.
(D) Individuals will be legally prevented from using excerpts from the e-book in another published work.

GO ON TO THE NEXT PAGE.

26
Questions 17–18 refer to the information below.
The figure below represents a network of physically linked devices labeled A through I. A line between two devices
indicates that the devices can communicate directly with each other.
Any information sent between two devices that are not directly connected must go through at least one other device.
For example, in the network represented below, information can be sent directly between A and B, but information sent
between devices A and G must go through other devices.

17. What is the minimum number of connections that must be broken or removed before device B can no longer
communicate with device C?
(A) Three
(B) Four
(C) Five
(D) Six

18. Which of the following statements is true about the network?


(A) Information sent from device A to device D can use at most two unique paths.
(B) Information sent from device A to device I will pass through at most four other devices.
(C) If devices B and F fail, then device A will not be able to communicate with device G.
(D) If devices C and F fail, then device D will not be able to communicate with device H.

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 27


19. Which of the following best explains how devices and information can be susceptible to unauthorized access if
weak passwords are used?

(A) Unauthorized individuals can deny service to a computing system by overwhelming the system with login
attempts.
(B) Unauthorized individuals can exploit vulnerabilities in compression algorithms to determine a user’s
password from their decompressed data.
(C) Unauthorized individuals can exploit vulnerabilities in encryption algorithms to determine a user’s
password from their encryption key.
(D) Unauthorized individuals can use data mining and other techniques to guess a user’s password.

20. A local router is configured to limit the bandwidth of guest users connecting to the Internet. Which of the
following best explains the result of this configuration as compared to a configuration in which the router does
not limit the bandwidth?

(A) The amount of time it takes guest users to send and receive large files is likely to decrease.
(B) The number of packets required for guest users to send and receive data is likely to decrease.
(C) Guest users will be prevented from having fault-tolerant routing on the Internet.
(D) Guest users will be restricted in the maximum amount of data that they can send and receive per second.

GO ON TO THE NEXT PAGE.

28
21. A video-streaming Web site keeps count of the number of times each video has been played since it was first
added to the site. The count is updated each time a video is played and is displayed next to each video to show
its popularity.
At one time, the count for the most popular video was about two million. Sometime later, the same video
displayed a seven-digit negative number as its count, while the counts for the other videos displayed correctly.
Which of the following is the most likely explanation for the error?

(A) The count for the video became larger than the maximum value allowed by the data type used to store the
count.
(B) The mathematical operations used to calculate the count caused a rounding error to occur.
(C) The software used to update the count failed when too many videos were played simultaneously by too
many users.
(D) The software used to update the count contained a sampling error when using digital data to approximate
the analog count.

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 29


22. The question below uses a robot in a grid of squares. The robot is represented as a triangle, which is initially in
the center square and facing toward the top of the grid.

The following code segment is used to move the robot in the grid.
count ← 1
REPEAT 4 TIMES
{
REPEAT count TIMES
{
MOVE_FORWARD()
}
ROTATE_LEFT()
count ← count + 1
}
Which of the following code segments will move the robot from the center square along the same path as the
code segment above?
(A) count ← 0 (B) count ← 0
REPEAT 4 TIMES REPEAT 4 TIMES
{ {
count ← count + 1 count ← count + 1
REPEAT count TIMES ROTATE_LEFT()
{ REPEAT count TIMES
MOVE_FORWARD() {
} MOVE_FORWARD()
ROTATE_LEFT() }
} }

(C) count ← 0 (D) count ← 0


REPEAT 4 TIMES REPEAT 4 TIMES
{ {
REPEAT count TIMES ROTATE_LEFT()
{ REPEAT count TIMES
ROTATE_LEFT() {
} MOVE_FORWARD()
MOVE_FORWARD() }
count ← count + 1 count ← count + 1
} }

GO ON TO THE NEXT PAGE.

30
23. Which of the following statements about the Internet is true?

(A) The Internet is a computer network that uses proprietary communication protocols.
(B) The Internet is designed to scale to support an increasing number of users.
(C) The Internet requires all communications to use encryption protocols.
(D) The Internet uses a centralized system to determine how packets are routed.

24. In which of the following situations would it be most appropriate to choose lossy compression over lossless
compression?
(A) Storing digital photographs to be printed and displayed in a large format in an art gallery
(B) Storing a formatted text document to be restored to its original version for a print publication
(C) Storing music files on a smartphone in order to maximize the number of songs that can be stored
(D) Storing a video file on an external device in order to preserve the highest possible video quality

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 31


25. In the following procedure, the parameter n is an integer greater than 2.

Which of the following best describes the value returned by the procedure?
(A) The procedure returns nothing because it will not terminate.
(B) The procedure returns the value of 2 * n.
(C) The procedure returns the value of n * n.
(D) The procedure returns the sum of the integers from 1 to n.

26. Which of the following best describes a challenge involved in using a parallel computing solution?
(A) A parallel computing solution may not be appropriate for an algorithm in which each step requires the
output from the preceding step.
(B) A parallel computing solution may not be appropriate for an algorithm in which the same formula is
applied to many numeric data elements.
(C) A parallel computing solution may not be appropriate for an algorithm that can be easily broken down into
small independent tasks.
(D) A parallel computing solution may not be appropriate for an algorithm that searches for occurrences of a
key word in a large number of documents.

GO ON TO THE NEXT PAGE.

32
27. A certain social media application is popular with people across the United States. The developers of the
application are updating the algorithm used by the application to introduce a new feature that allows users of the
application with similar interests to connect with one another. Which of the following strategies is LEAST
likely to introduce bias into the application?

(A) Enticing users to spend more time using the application by providing the updated algorithm for users who
use the application at least ten hours per week
(B) Inviting a random sample of all users to try out the new algorithm and provide feedback before it is
released to a wider audience
(C) Providing the updated algorithm only to teenage users to generate excitement about the new feature
(D) Testing the updated algorithm with a small number of users in the city where the developers are located so
that immediate feedback can be gathered

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 33


Questions 28–29 refer to the information below.
A flowchart provides a way to visually represent an algorithm and uses the following building blocks.
Block Explanation
Oval The start or end of the algorithm
Rectangle One or more processing steps, such as a statement that assigns a value to a variable
A conditional or decision step, where execution proceeds to the side labeled true if the
Diamond
condition is true and to the side labeled false otherwise
Parallelogram Displays a message
In the flowchart below, assume that j and k are assigned integer values.

28. Which of the following initial values of j and k will cause the algorithm represented in the flowchart to
result in an infinite loop?
(A) j = -5, k = 5
(B) j = 0, k = 5
(C) j = 5, k = 0
(D) j = 5, k = -5

GO ON TO THE NEXT PAGE.

34
29. Based on the algorithm represented in the flowchart, what value is displayed if j has the initial value 3 and
k has the initial value 4 ?

(A) 7
(B) 9
(C) 10
(D) 12

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 35


30. Which of the following best explains how data is transmitted on the Internet?

(A) Data is broken into packets, which are all sent to the recipient in a specified order along the same path.
(B) Data is broken into packets, which can be sent along different paths.
(C) All data is transmitted in a single packet through a direct connection between the sender and the recipient.
(D) Multiple data files are bundled together in a packet and transmitted together.

31. A binary number is to be transformed by appending three 0s to the end of the number. For example, 11101 is
transformed to 11101000. Which of the following correctly describes the relationship between the transformed
number and the original number?

(A) The transformed number is 3 times the value of the original number.
(B) The transformed number is 4 times the value of the original number.
(C) The transformed number is 8 times the value of the original number.
(D) The transformed number is 1,000 times the value of the original number.

GO ON TO THE NEXT PAGE.

36
32. Which of the following is a true statement about the use of public key encryption in transmitting messages?

(A) Public key encryption enables parties to initiate secure communications through an open medium, such as
the Internet, in which there might be eavesdroppers.
(B) Public key encryption is not considered a secure method of communication because a public key can be
intercepted.
(C) Public key encryption only allows the encryption of documents containing text; documents containing
audio and video must use a different encryption method.
(D) Public key encryption uses a single key that should be kept secure because it is used for both encryption
and decryption.

33. A company delivers packages by truck and would like to minimize the length of the route that each driver must
travel in order to reach n delivery locations. The company is considering two different algorithms for
determining delivery routes.
Algorithm I: Generate all possible routes, compute their lengths, and then select the shortest
possible route. This algorithm does not run in reasonable time.

Algorithm II: Starting from an arbitrary delivery location, find the nearest unvisited delivery
location. Continue creating the route by selecting the nearest unvisited location
until all locations have been visited. This algorithm does not guarantee the

shortest possible route and runs in time proportional to n2.

Which of the following best categorizes algorithm II?

(A) Algorithm II attempts to use an algorithmic approach to solve an otherwise undecidable problem.
(B) Algorithm II uses a heuristic approach to provide an approximate solution in reasonable time.
(C) Algorithm II provides no improvement over algorithm I because neither algorithm runs in reasonable time.
(D) Algorithm II requires a much faster computer in order to provide any improvement over algorithm I.

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 37


34. In a science experiment, result X is expected to occur 25% of the time and result Y is expected to occur the
remaining 75% of the time. The following code segment is intended to simulate the experiment if there are 100
trials.
Line 1: xCount ← 0
Line 2: yCount ← 0
Line 3: REPEAT 100 TIMES
Line 4: {
Line 5: IF(RANDOM(1, 4) = 1)
Line 6: {
Line 7: xCount ← xCount + 1
Line 8: }
Line 9: IF(RANDOM(1, 4) > 1)
Line 10: {
Line 11: yCount ← yCount + 1
Line 12: }
Line 13: }
Line 14: DISPLAY("Result X occurred")
Line 15: DISPLAY(xCount)
Line 16: DISPLAY("times and result Y occurred")
Line 17: DISPLAY(yCount)
Line 18: DISPLAY("times.")
A programmer runs the code segment, and the following message is displayed.
Result X occurred 24 times and result Y occurred 70 times.
The result shows that 94 trials were counted, rather than the intended 100 trials. Which of the following
changes to the code segment will ensure a correct simulation of the experiment?
(A) Replacing line 9 with IF(RANDOM(1, 4) ˛ 2)
(B) Replacing line 9 with ELSE
(C) Interchanging lines 5 and 9
(D) Interchanging lines 7 and 11

GO ON TO THE NEXT PAGE.

38
35. A city maintains a database of all traffic tickets that were issued over the past ten years. The tickets are divided
into the following two categories.
• Moving violations
• Nonmoving violations
The data recorded for each ticket include only the following information.
• The month and year in which the ticket was issued
• The category of the ticket
Which of the following questions CANNOT be answered using only the information in the database?

(A) Have the total number of traffic tickets per year increased each year over the past ten years?
(B) In the past ten years, were nonmoving violations more likely to occur on a weekend than on a weekday?
(C) In the past ten years, were there any months when moving violations occurred more often than nonmoving
violations?
(D) In how many of the past ten years were there more than one million moving violations?

36. Individuals sometimes attempt to remove personal information from the Internet. Which of the following is the
LEAST likely reason the personal information is hard to remove?

(A) Internet users with a copy of the information might redistribute the personal information without first
seeking permission.
(B) There are potentially an extremely large number of devices on the Internet that may contain the
information.
(C) Automated technologies collect information about Internet users without their knowledge.
(D) All personal information is stored online using authentication measures, making the information hard to
access.

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 39


37. In the following code segment, assume that the variable n has been initialized with an integer value.

Which of the following is NOT a possible value displayed by the program?


(A) "artichoke"
(B) "broccoli"
(C) "carrot"
(D) "daikon"

GO ON TO THE NEXT PAGE.

40
38. A scientist wants to investigate several problems. In which of the following situations is using a simulation
LEAST suitable for solving a problem?

(A) When a scientific study requires performing a large number of trials that need to be conducted very quickly
(B) When it is considered acceptable to make simplifying assumptions when modeling a real-world object or
phenomenon
(C) When performing an experiment that would be too costly or dangerous to conduct in the real world
(D) When the solution to the problem requires real-world data inputs that are continually measured at regular
intervals.

39. A store uses binary numbers to assign a unique binary sequence to each item in its inventory. What is the
minimum number of bits required for each binary sequence if the store has between 75 and 100 items in its
inventory?

(A) 5
(B) 6
(C) 7
(D) 8

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 41


40. A state government is attempting to reduce the digital divide. Which of the following activities has the greatest
potential to contribute to the digital divide rather than reducing it?

(A) Providing programs that focus on technology literacy at local libraries


(B) Requiring applicants for government jobs to apply using an online platform
(C) Working with technology companies to offer computing devices at discounted prices to individuals with
reduced incomes
(D) Working with telecommunications companies to build network infrastructure in remote areas

41. An online gaming company is introducing several new initiatives to encourage respectful communication
between players of online games. Which of the following best describes a solution that uses crowdsourcing?
(A) The company allows individual players to endorse fellow players based on courteous interactions. Once a
player receives enough endorsements, the player is given free rewards that can be used during gameplay.
(B) The company eliminates chat from gameplay and sets the default chat policy to off. Players must actively
turn on chat to converse outside of gameplay.
(C) The company introduces software that monitors all chats. Inappropriate conversations are identified, and
players involved in the conversations are banned from the game.
(D) The company updates the acceptable content guidelines to explicitly describe appropriate and
inappropriate behavior. All players must electronically sign an agreement to adhere to the guidelines.

GO ON TO THE NEXT PAGE.

42
42. Consider the following code segment.

What value is displayed as a result of executing the code segment?

(A) 3
(B) 4
(C) 9
(D) 12

43. Which of the following best exemplifies the use of keylogging to gain unauthorized access to a computer
system?
(A) A user unintentionally installs a program on their computer that records all user input and forwards it to
another computer. A few weeks later, someone else is able to access the user’s computer using the
recorded data.
(B) A user has a very common password for an online banking account. Someone else guesses the password
after a few attempts and gains access to the user’s account.
(C) A user logs into an unsecure Web site. Someone else is able to view unencrypted log-in information as it is
transmitted over the Internet. The user has the same username and password for multiple accounts, so the
user’s log-in information for multiple systems may be compromised.
(D) A user receives an e-mail that claims to be from the user’s bank. The e-mail instructs the user to click on a
link to a Web site and enter a username and password to verify an account. Shortly after following the
steps, the user discovers that the Web site is fraudulent and that the user’s username and password were
stolen.

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 43


44. A program developed for a Web store represents customer account balances using a format that approximates
real numbers. While testing the program, a software developer discovers that some values appear to be
mathematically imprecise. Which of the following is the most likely cause of the imprecision?
(A) The account balances are represented using a fixed number of bits, resulting in overflow errors.
(B) The account balances are represented using a fixed number of bits, resulting in round-off errors.
(C) The account balances are represented using an unlimited number of bits, resulting in overflow errors.
(D) The account balances are represented using an unlimited number of bits, resulting in round-off errors.

GO ON TO THE NEXT PAGE.

44
45. The following question uses a robot in a grid of squares. The robot is represented by a triangle, which is initially
facing right.

Consider the following procedure.

Which of the following code segments will move the robot to the gray square along the path indicated by the
arrows?
(A) (B)

(C) (D)

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 45


Questions 46–47 refer to the information below.
A large spreadsheet contains the following information about local restaurants. A sample portion of the spreadsheet is
shown below.
C D E
A B
Number of Average Accepts
Restaurant Name Price Range
Customer Ratings Customer Rating Credit Cards
1 Joey Calzone’s Pizzeria lo 182 3.5 false
2 78th Street Bistro med 41 4.5 false
3 Seaside Taqueria med 214 4.5 true
4 Delicious Sub Shop II lo 202 4.0 false
5 Rustic Farm Tavern hi 116 4.5 true
6 ABC Downtown Diner med 0 -1.0 true
• In column B, the price range represents the typical cost of a meal, where "lo" indicates
under $10, "med" indicates $11 to $30, and "hi" indicates over $30.
• In column D, the average customer rating is set to -1.0 for restaurants that have no
customer ratings.

46. A student is developing an algorithm to determine which of the restaurants that accept credit cards has the
greatest average customer rating. Restaurants that have not yet received any customer ratings and restaurants
that do not accept credit card are to be ignored.

Once the algorithm is complete, the desired restaurant will appear in the first row of the spreadsheet. If there are
multiple entries that fit the desired criteria, it does not matter which of them appears in the first row.

The student has the following actions available but is not sure of the order in which they should be executed.

Action Explanation
Filter by number of ratings Remove entries for restaurants with no customer
ratings
Filter by payment type Remove entries for restaurants that do not accept
credit cards
Sort by rating Sort the rows in the spreadsheet on column D
from greatest to least
Assume that applying either of the filters will not change the relative order of the rows remaining in the
spreadsheet.

Which of the following sequences of steps can be used to identify the desired restaurant?
I. Filter by number of ratings, then filter by payment type, then sort by rating
II. Filter by number of ratings, then sort by rating, then filter by payment type
III. Sort by rating, then filter by number of ratings, then filter by payment type

(A) I and II only


(B) I and III only
(C) II and III only
(D) I, II, and III

GO ON TO THE NEXT PAGE.

46
47. A student wants to count the number of restaurants in the spreadsheet whose price range is $30 or less and
whose average customer rating is at least 4.0. For a given row in the spreadsheet, suppose prcRange
contains the price range as a string and avgRating contains the average customer rating as a decimal
number.

Which of the following expressions will evaluate to true if the restaurant should be counted and evaluates to
false otherwise?

(A) (avgRating ˛ 4.0) AND ((prcRange = "lo") AND (prcRange = "med"))


(B) (avgRating ˛ 4.0) AND ((prcRange = "lo") OR (prcRange = "med"))
(C) (avgRating ˛ 4.0) OR ((prcRange = "lo") AND (prcRange = "med"))
(D) (avgRating ˛ 4.0) OR ((prcRange = "lo") OR (prcRange = "med"))

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 47


48. Which of the following is an example of an attack using a rogue access point?

(A) An unauthorized individual gains the ability to view network traffic by connecting to a network router that
uses weak or no security measures.
(B) An unauthorized individual physically disconnects an exposed network router, making the network
unavailable to some users.
(C) An unauthorized individual poses as a network administrator and attempts to trick a user into providing
personal information.
(D) A group of unauthorized individuals overwhelms a network router with traffic, making it unavailable to
some users.

49. Which of the following best explains the ability to solve problems algorithmically?

(A) Any problem can be solved algorithmically, though some algorithmic solutions may require humans to
validate the results.
(B) Any problem can be solved algorithmically, though some algorithmic solutions must be executed on
multiple devices in parallel.
(C) Any problem can be solved algorithmically, though some algorithmic solutions require a very large amount
of data storage to execute.
(D) There exist some problems that cannot be solved algorithmically using any computer.

GO ON TO THE NEXT PAGE.

48
50. Which of the following best explains how symmetric encryption algorithms are typically used?

(A) Symmetric encryption uses a single key that should be kept secret. The same key is used for both
encryption and decryption of data.
(B) Symmetric encryption uses a single key that should be made public. The same key is used for both
encryption and decryption of data.
(C) Symmetric encryption uses two keys that should both be kept secret. One key is used for encryption, and
the other is used for decryption.
(D) Symmetric encryption uses two keys. The key used for encryption should be made public, but the key used
for decryption should be kept secret.

51. Which of the following research proposals is most likely to be successful as a citizen science project?

(A) Collecting pictures of birds from around the world that can then be analyzed to determine how location
affects bird size
(B) Monitoring a group of cells in a laboratory to determine how growth rate is affected by exposure to varying
temperatures
(C) Using a simulation to determine which one from a set of chemicals causes the most significant change to
local animal and plant life
(D) Using specialized equipment to perform three-dimensional scans of complex proteins found in human cells

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 49


52. A sorted list of numbers contains 128 elements. Which of the following is closest to the maximum number of
list elements that can be examined when performing a binary search for a value in the list?

(A) 2
(B) 8
(C) 64
(D) 128

GO ON TO THE NEXT PAGE.

50
53. A list of numbers has n elements, indexed from 1 to n. The following algorithm is intended to display
true if the value target appears in the list more than once and to display false otherwise. The
algorithm uses the variables position and count. Steps 4 and 5 are missing.
Step 1: Set count to 0 and position to 1.

Step 2: If the value of the element at index position is equal to target, increase
the value of count by 1.

Step 3: Increase the value of position by 1.

Step 4: (missing step)

Step 5: (missing step)

Which of the following could be used to replace steps 4 and 5 so that the algorithm works as intended?
(A) Step 4: Repeat steps 2 and 3 until the value of position is greater than n.
Step 5: If count is greater than or equal to 2, display true. Otherwise, display
false.

(B) Step 4: Repeat steps 2 and 3 until the value of position is greater than n.
Step 5: If count is greater than or equal to position, display true.
Otherwise, display false.

(C) Step 4: Repeat steps 2 and 3 until the value of count is greater than 2.
Step 5: If position is greater than or equal to n, display true. Otherwise,
display false.

(D) Step 4: Repeat steps 2 and 3 until the value of count is greater than n.
Step 5: If count is greater than or equal to 2, display true. Otherwise, display
false.

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 51


54. Delivery trucks enter and leave a depot through a controlled gate. At the depot, each truck is loaded with
packages, which will then be delivered to one or more customers. As each truck enters and leaves the depot, the
following information is recorded and uploaded to a database.
• The truck’s identification number
• The truck’s weight
• The date and time the truck passes through the gate
• Whether the truck is entering or leaving the depot
Using only the information in the database, which of the following questions CANNOT be answered?

(A) On which day in a particular range of dates did the greatest number of trucks enter and leave the depot?
(B) What is the average number of customer deliveries made by each truck on a particular day?
(C) What is the change in weight of a particular truck between when it entered and left the depot?
(D) Which truck has the shortest average time spent at the depot on a particular day?

GO ON TO THE NEXT PAGE.

52
55. A code segment is intended to transform the list utensils so that the last element of the list is moved to the
beginning of the list.

For example, if utensils initially contains ["fork", "spoon", "tongs", "spatula",


"whisk"], it should contain
["whisk", "fork", "spoon", "tongs", "spatula"] after executing the code segment.

Which of the following code segments transforms the list as intended?


(A) len ← LENGTH(utensils)
temp ← utensils[len]
REMOVE(utensils, len)
APPEND(utensils, temp)
(B) len ← LENGTH(utensils)
REMOVE(utensils, len)
temp ← utensils[len]
APPEND(utensils, temp)

(C) len ← LENGTH(utensils)


temp ← utensils[len]
REMOVE(utensils, len)
INSERT(utensils, 1, temp)

(D) len ← LENGTH(utensils)


REMOVE(utensils, len)
temp ← utensils[len]
INSERT(utensils, 1, temp)

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 53


56. Each student at a school has a unique student ID number. A teacher has the following spreadsheets available.
• Spreadsheet I contains information on all students at the school. For each entry in this
spreadsheet, the student name, the student ID, and the student’s grade point average are
included.
• Spreadsheet II contains information on only students who play at least one sport. For each
entry in this spreadsheet, the student ID and the names of the sports the student plays are
included.
• Spreadsheet III contains information on only students whose grade point average is greater
than 3.5. For each entry in this spreadsheet, the student name and the student ID are
included.
• Spreadsheet IV contains information on only students who play more than one sport. For
each entry in this spreadsheet, the student name and the student ID are included.
The teacher wants to determine whether students who play a sport are more or less likely to have higher grade
point averages than students who do not play any sports. Which of the following pairs of spreadsheets can be
combined and analyzed to determine the desired information?

(A) Spreadsheets I and II


(B) Spreadsheets I and IV
(C) Spreadsheets II and III
(D) Spreadsheets III and IV

GO ON TO THE NEXT PAGE.

54
57. A certain computer has two identical processors that are able to run in parallel. The following table indicates the
amount of time it takes to execute each of four processes on a single processor. Assume that none of the
processes is dependent on any of the other processes.

Process Execution Time on


Either Processor
P 30 seconds
Q 10 seconds
R 20 seconds
S 15 seconds
Which of the following parallel computing solutions would minimize the amount of time it takes to execute all
four processes?

(A) Running processes P and Q on one processor and processes R and S on the other processor
(B) Running processes P and R on one processor and processes Q and S on the other processor
(C) Running processes P and S on one processor and processes Q and R on the other processor
(D) Running process P on one processor and processes Q, R, and S on the other processor

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 55


Questions 58–62 refer to the information below.
RunRoutr is a fitness tracking application for smartphones that creates suggested running routes so that users can run
with each other. Upon downloading the application, each user creates a username, a personal profile, and a contact list
of friends who also use the application. The application uses the smartphone’s GPS unit to track a user’s location,
running speed, and distance traveled. Users can use the application to review information and statistics about their
previous runs.
At the beginning of a run, users indicate the distance they want to run from their current location, and the application
suggests a running route. Once a user accepts a suggested route, the application shares the suggested route with other
compatible users in the area so that they can run together. Users are considered compatible if they are on each other’s
contact lists or if they typically run at similar speeds.
A basic RunRoutr account is free, but it displays advertisements that are targeted to individual users based on data
collected by the application. For example, if a user’s running route begins or ends near a particular store, the
application may display an advertisement for that store. Users have the ability to pay a monthly fee for a premium
account, which removes advertisements from the application.

58. Which of the following data must be collected from a user’s smartphone in order for RunRoutr to suggest a
running route?
(A) Available running routes near the user’s home
(B) The current time
(C) The starting location of the user’s previous run
(D) The user’s geographic position

59. Adrianna uses RunRoutr to suggest a running route. All compatible users near Adrianna receive a notification
that shows her running route. Which of the following data is not obtained using data collected from Adrianna’s
smartphone but necessary for RunRoutr to share Adrianna’s running route?

(A) Adrianna’s average running speed


(B) Adrianna’s preferred running distance
(C) The current locations of other RunRoutr users
(D) The usernames on Adrianna’s contact list

GO ON TO THE NEXT PAGE.

56
60. Which of the following is most likely to be a benefit to users of the application?

(A) The application allows users to identify all other users in a particular area.
(B) Users of the application may be able to easily identify all other users in a particular area as a result of the
application’s algorithm for determining whether users are compatible.
(C) Users of the application may see health benefits as a result of the application encouraging them to exercise
with each other.
(D) Users of the application who live in rural areas have the ability to use all the features of the application,
even when they do not have Internet and geolocation connectivity.

61. Which of the following is most likely to be a data privacy concern for RunRoutr users?

(A) Users of the application are required to carry their smartphones with them while running in order to enable
all of the application’s features.
(B) Users of the application may have the ability to determine information about the locations of users that are
not on their contact lists.
(C) Users of the application may not be able to accurately track their running history if they share their
smartphone with another family member.
(D) Users of the application may not be compatible with any other users in their area.

62. Businesses have the ability to target advertisements to different groups of people who use RunRoutr. Which of
the following groups is LEAST likely to receive targeted advertisements?

(A) Individuals who appear on each other’s contact lists


(B) Individuals who are interested in running and fitness
(C) Individuals who sign up for a premium account
(D) Individuals whose running routes begin or end near a particular business location

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 57


Questions 131–138

Directions: For each of the questions or incomplete statements below, two of the suggested answers are correct. For
each of these questions, you must select both correct choices to earn credit. No partial credit will be earned if only one
correct choice is selected. Select the two that are best in each case and then enter the letters in the corresponding
spaces that begin with number 131 on the answer sheet.

131. The following table shows the value of expression based on the values of input1 and input2.

Value of input1 Value of input2 Value of expression


true true false
true false true
false true true
false false true
Which of the following expressions are equivalent to the value of expression as shown in the table?
Select two answers.
(A) (NOT input1) OR (NOT input2)
(B) (NOT input1) AND (NOT input2)
(C) NOT (input1 OR input2)
(D) NOT (input1 AND input2)

GO ON TO THE NEXT PAGE.

58
132. In the following procedure, the parameter age represents a person’s age. The procedure is intended to return
the name of the age group associated with age. People who are under 18 are considered minors, people who
are 65 and older are considered senior citizens, and all other people are considered adults. The procedure does
not work as intended.
Line 1: PROCEDURE ageGroup(age)
Line 2: {
Line 3: result ← "adult"
Line 4: IF(age ˜ 65)
Line 5: {
Line 6: result ← "senior citizen"
Line 7: }
Line 8: RETURN(result)
Line 9:
Line 10: result ← "adult"
Line 11: IF(age < 18)
Line 12: {
Line 13: result ← "minor"
Line 14: }
Line 15: RETURN(result)
Line 16: }
Removing which two lines of code will cause the procedure to work as intended?
Select two answers.
(A) Line 3
(B) Line 8
(C) Line 10
(D) Line 15

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 59


133. Assume that the Boolean variable hot is assigned the value true and the Boolean variable humid is
assigned the value false. Which of the following will display the value true ?

Select two answers.


(A) (B)

(C) (D)

GO ON TO THE NEXT PAGE.

60
134. In a certain video game, players are awarded bonus points at the end of a level based on the value of the integer
variable timer. The bonus points are awarded as follows.
• If timer is less than 30, then 500 bonus points are awarded.
• If timer is between 30 and 60 inclusive, then 1000 bonus points are awarded.
• If timer is greater than 60, then 1500 bonus points are awarded.
Which of the following code segments assigns the correct number of bonus points to bonus for all possible
values of timer ?
Select two answers.

(A) (B)

(C) (D)

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 61


1
135. The following spinner is used in a game. The region labeled "blue" represents of the spinner. The
regions labeled "orange" and "purple" are equal in size. 4

Which of the following code segments can be used to simulate the behavior of the spinner?
Select two answers.

(A) (B)

GO ON TO THE NEXT PAGE.

62
(C) (D)

GO ON TO THE NEXT PAGE.

AP Computer Science Principles Practice Exam 63


136. The following code segment is intended to remove all duplicate elements in the list myList. The procedure
does not work as intended.
j ← LENGTH(myList)
REPEAT UNTIL(j = 1)
{
IF(myList[j] = myList[j - 1])
{
REMOVE(myList, j)
}
j ← j - 1
}
For which of the following contents of myList will the procedure NOT produce the intended results?

Select two answers.

(A) [10, 10, 20, 20, 10, 10]


(B) [30, 30, 30, 10, 20, 20]
(C) [30, 50, 40, 10, 20, 40]
(D) [50, 50, 50, 50, 50, 50]

137. A group of students take hundreds of digital photos for a science project about weather patterns. Each photo file
contains data representing the level of red, green, and blue for each pixel in the photo. The file also contains
metadata that describes the date, time, and geographic location where the photo was taken. For which of the
following goals would analyzing the metadata be more appropriate than analyzing the data?

Select two answers.


(A) Determining the chronological order of the photos
(B) Determining the number of clouds in a particular photo
(C) Determining whether a photo is suitable for printing in black-and-white
(D) Determining whether two photos were taken at the same location on different days

GO ON TO THE NEXT PAGE.

64
138. The following procedures are available for string manipulation.

Procedure Call Explanation


substring(str, start, end) Returns a substring of consecutive characters of str starting
with the character at position start and ending with the
character at position end. The first character of str is
considered position 1. For example,
substring("delivery", 3, 6) returns "live".
concat(str1, str2) Returns a single string consisting of str1 followed by str2.
For example, concat("key", "board") returns
"keyboard".
len(str) Returns the number of characters in str. For example,
len("key") returns 3.
A programmer wants to create a new string by removing the character in position n of the string oldStr.
For example, if oldStr is "best" and n is 3, then the new string should be "bet". Assume that
1 < n < len(oldStr).
Which of the following code segments can be used to create the desired new string and store it in newStr ?
Select two answers.
(A) left ← substring(oldStr, 1, n - 1)
right ← substring(oldStr, n + 1, len(oldStr))
newStr ← concat(left, right)
(B) left ← substring(oldStr, 1, n + 1)
right ← substring(oldStr, n - 1, len(oldStr))
newStr ← concat(left, right)
(C) newStr ← substring(oldStr, 1, n - 1)
newStr ← concat(newStr, substring(oldStr, n + 1, len(oldStr)))
(D) newStr ← substring(oldStr, n + 1, len(oldStr))
newStr ← concat(newStr, substring(oldStr, 1, n - 1))

STOP

IF YOU FINISH BEFORE TIME IS CALLED, YOU MAY


CHECK YOUR WORK ON THIS TEST.

AP Computer Science Principles Practice Exam 65

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy