Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Document preview thumbnail
Preview 4 out of 74 pages
Exam (elaborations)

CMPT 145 Exam Prep 2026 | 200 Questions & Answers with Explanations | Latest Update

Document preview thumbnail
Preview 4 out of 74 pages

CMPT 145 Exam Prep 2026 | 200 Questions & Answers with Explanations | Latest Update

Content preview

CMPT 145 ALL TESTED QUESTIONS WITH ANSWERS GRADED
A+ / 2025/2026

1. When is software considered correct?

> A) It runs without crashing

> B) It does everything that it is intended to do and nothing that it is not intended to do

> C) It produces output within a given time limit

> D) It passes a random set of test cases



Correct Answer: B

Explanation: A program is correct if it meets its specification precisely. It must implement all required
functions and avoid any unintended side effects or behaviours. Just running without errors is not
sufficient for correctness; correctness requires performing the intended task exactly as specified without
errors or omissions.



2. Which of the following best describes software efficiency?

> A) The program’s ability to handle unexpected inputs

> B) The relative measure of the degree to which software consumes computational resources, including
time and memory

> C) The frequency of software updates

> D) The number of features in the software



Correct Answer: B

Explanation: Software efficiency is about resource usage. An efficient program accomplishes its task
while using as little CPU time and memory as possible. It is a quantitative measure: we can compare two
programs on the same hardware to determine which uses fewer resources for the same input.



3. Which statement about Abstract Data Types (ADTs) is false?

> A) An ADT permits programmers to use a data structure without knowing its internal implementation.

> B) Understanding the internal implementation of an ADT is not necessary to use it correctly.

,> C) An ADT is defined by its interface and operations, not its implementation details.

> D) An ADT is defined by an implementation, not an interface.



Correct Answer: D

Explanation: ADTs are defined by their public interface (the set of operations you can perform), not by
the internal implementation. Hiding the implementation details is the entire point of abstraction; it
allows programmers to change the underlying code without breaking the programs that use the ADT.



4. True or False: It is necessary to understand the internal implementation of an ADT to correctly use it.

> A) True

> B) False



Correct Answer: B

Explanation: The whole purpose of an ADT is to hide the implementation details behind a well-defined
interface. As long as you know what the operations do, you can use the ADT correctly without knowing
how it works inside. In fact, the implementation could change entirely (e.g., from an array to a linked
list), and your code using the ADT would still work as long as the interface remains the same.



5. True or False: Software reusability is a quantitative (measurable) software goal.

> A) True

> B) False



Correct Answer: B

Explanation: Reusability is a qualitative quality goal, not a quantitative one. It is difficult to assign a
precise number to measure “how reusable” a piece of code is. While there are metrics like the number
of times code is reused, these are indirect and do not directly measure reusability as a property of the
code itself.



6. True or False: Software efficiency measures the relative consumption of computational resources,
such as time and memory.

> A) True

> B) False

,Correct Answer: A

Explanation: Efficiency is precisely about how well software uses computational resources. It is often
measured in terms of time complexity (how many steps are executed) and space complexity (how much
memory is used). Efficiency can be expressed as a function of the input size, allowing comparisons
between different algorithms.



7. True or False: In the context of describing a function’s interface, the Purpose is a brief statement in
plain language about what the function is intended to do.

> A) True

> B) False



Correct Answer: A

Explanation: Documenting the Purpose is the first step in specifying a function’s interface. It should be a
clear, concise description in plain English of the function’s intended behaviour, such as “returns the sum
of all elements in the list.” It does not need to describe how the function achieves its purpose, only what
it accomplishes.



8. What happens every time you evaluate an expression in Python?

> A) A variable is created

> B) An object is created

> C) A frame is created

> D) A reference is updated



Correct Answer: B

Explanation: When Python evaluates an expression (like `2 + 3` or `“hello“.upper()`), it creates a new
object in memory to hold the resulting value. That object then has a specific type and a location in the
heap. For example, evaluating `5` creates an integer object with the value `5`. The static integer `5` is not
copied; a new object is created every time a literal is evaluated.



9. Which of the following correctly describes a Pure function?

> A) A function that never uses loops

, > B) A function that modifies global variables

> C) A function with no effect other than returning a value

> D) A function that always returns None



Correct Answer: C

Explanation: A pure function’s output depends only on its input arguments, and it has no side effects (no
printing, no modifying global variables, no file I/O). It returns a value based solely on its inputs. Pure
functions are easier to test and reason about because they behave like mathematical functions.



10. What does the arrow represent on a Frame diagram?

> A) The value of a variable

> B) The type of an object

> C) An address or reference to an object in memory

> D) The priority of execution



Correct Answer: C

Explanation: In frame diagrams used to visualize Python’s memory model, arrows represent references.
A variable “points to” its object, meaning that the variable stores the address (memory location) where
that object resides. Frequently when you write `a = b`, you are not copying the object—you are copying
the reference, so both variables point to the same object.



11. Do assignment statements in Python copy objects?

> A) Yes, they always create a copy of the object

> B) Yes, but only for mutable objects

> C) No, references get copied but objects do not

> D) No, they only copy the frame



Correct Answer: C

Explanation: In Python, assignment copies the reference, not the object itself. For immutable objects like
integers and strings, this is usually fine because they are treated as values. But for mutable objects like
lists, assigning one variable to another creates a second reference to the same list, not a separate copy.
If you modify the list through one reference, the change is visible through the other.

Document information

Uploaded on
April 30, 2026
Number of pages
74
Written in
2025/2026
Type
Exam (elaborations)
Contains
Questions & answers
$38.49

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Seller avatar
francisndungu1
5.0
(1)
Sold
7
Followers
0
Items
589
Last sold
3 days ago


Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions