Introduction to Computer Science Using Python: A Computational Problem-Solving Focus
Charles Dierbach, John Wiley and Sons (1st Edition)
CHAPTER 1 TEST BANK QUESTIONS
Section 1.1 What is Computer Science?
True/False Questions
-
True or False? Programming defines the field of computer science.
-
True or False? A representation of a problem that includes the relevant aspects of what is being represented is known as an abstraction.
-
True or False? In order to solve a problem computationally, two things are needed: a representation that captures all the relevant aspects of the problem, and an algorithm that solves the problem by use of the representation.
-
True or False? In the Man, Cabbage, Goat and Wolf problem example, the state [W, E, W, E] indicates that the cabbage and wolf are on the east side of the river, and the man and goat are on the west side.
-
True or False? Regardless of your skills as a programmer, computing problem solving cannot be performed without the knowledge and use of computer algorithms.
-
True or False? The Traveling Salesman Problem becomes intractable using a brute-force approach for more than twenty cities.
-
True or False? There are more possible chess games that can be played than the number of grains of sand it would take to fill the universe solid.
-
True or False? Any algorithm that correctly solves a given problem must solve the problem in a reasonable amount of time; otherwise it is of limited practical use.
-
True or False? The brute force approach is one of the most widely used algorithmic programming solutions because it is such an efficient problem – solving method.
-
True or False? Any algorithm that solves a general computational problem is referred to as tractable.
Multiple Choice Questions
-
Computer science is fundamentally about
-
computational Problem Solving
-
programming
-
software engineering
-
The idea of a brute force approach can be described as
-
trying all possible solutions to a given problem
-
a computational approach that uses a great deal of memory
-
the most efficient, effective, and direct means to solve a problem
-
An algorithm is of practical use if it
-
uses the brute force approach
-
can find a solution a problem in a reasonable amount of time
-
bypasses the need for computational problem solving
Fill-in-the-Blank Questions
-
An __algorithm___ is a finite number of clearly described, unambiguous, “doable” steps that can be systematically followed to produce a desired result for given input in a finite amount of time.
Open Response Questions
-
For the Man, Cabbage, Goat, Wolf problem, assume that each state is represented by a sequence of the form [man, cabbage, goat, wolf], in which a value of 0 indicates that the item is on the east side of the river, and a value of 1 indicates that the item is on the west side. For example, [1,0,1,0] would indicate that the cabbage and wolf are on the east side of the river, and the man and goat on the west side.
(a) Give a list of all the invalid states in this representation.
(b) Give a sequence of states that solves the problem (assuming that all items start on
the east side of the river, and the village is on the west side.)
ANSWERS
(a) [1,0,0,0] [0,1,1,1] [1,1,0,0] [0,0,1,1] [1,0,0,1] [0,1,1,0]
(b) [0,0,0,0], [1,0,1,0], [0,0,1,0] , [1,1,1,0] , [0,1,0,0], [1,1,0,1], [0,1,0,1] , [1,1,1,1]
OR
[0,0,0,0], [1,0,1,0], [0,0,1,0], [1,0,1,1] , [0,0,0,1] , [1,1,0,1], [0,1,0,1] , [1,1,1,1]
Section 1.2 Computer Algorithms
True/False Questions
-
True or False? All algorithms must terminate after a finite amount of time.
-
True or False? Algorithms are general computational methods for solving specific problems.
-
True or False? The computation that a given computer performs is only as good as the underlying algorithm used.
-
True or False? Because computers can execute instructions very quickly and reliably without error, algorithms and computers are a perfect match.
Multiple Choice Questions
-
Which of these is not an algorithm?
-
A pasta recipe
-
A shopping list
-
The steps used in performing long division
-
Most algorithms require computers because
-
they would require too much time and/or detail for a person to apply
-
algorithms are only written in programming languages
-
most algorithms are simple and practical enough for computers to understand
Open Response Questions
-
ANSWERS
-
Wednesday
-
Monday
-
Saturday
For the Day of the Week algorithm given below, determine the day of the week for the following dates:
-
September 14, 1864
-
April 5, 1971
-
February 21, 2004
1. Let century_digits be equal to the first two digits of the year.
2. Let year_digits be equal to the last two digits of the year.
3. Let value be equal to year_digits + floor(year_digits / 4)
4. If century_digits equals 18, then add 2 to value, else
if century_digits equals 20, then add 6 to value.
5. If the month is equal to January and year is not a leap year,
then add 1 to value, else,
if the month is equal to February and the year is a leap year, then
add 3 to value; if not a leap year, then add 4 to value, else,
if the month is equal to March or November, then add 4 to value, else,
if the month is equal to April or July, then add 0 to value, else,
if the month is equal to May, then add 2 to value, else,
if the month is equal to June, then add 5 to value, else,
if the month is equal to August, then add 3 to value, else,
if the month is equal to October, then add 1 to value, else,
if the month is equal to September or December, then add 6 to value,
6. Set value equal to ( value + day) mod 7
7. If value is equal to 1, then the day of the week is Sunday; else
if value is equal to 2, day of the week is Monday; else
if value is equal to 3, day of the week is Tuesday; else
if value is equal to 4, day of the week is Wednesday; else
if value is equal to 5, day of the week is Thursday; else
if value is equal to 6, day of the week is Friday; else
if value is equal to 0, day of the week is Saturday
Section 1.3 Computer Hardware
True/False Questions
-
True or False? The more voltage levels that the hardware is able to utilize and distinguish, the more reliable the hardware design becomes.
-
True or False? All of the information in a computer system is represented using digits 0-9.
-
True or False? Digital computers are designed to either use binary values 0,1.
-
True or False? In binary representation, each digit represents either the value -1, 0, or 1.
-
True or False? A transistor is an electronic switch that can switch at very high speed.
-
True or False? Integrated circuits, the building blocks of computer hardware, are made up millions or even billions of transistors.
-
True or False? The decimal value of the binary number 1001 is 9.
-
True or False? The binary number 1000 is larger than binary number 0111.
-
True or False? The number following binary number 1011 is 1100.
-
True or False? The term “bit” stands for binary digit.
-
True or False? A byte is a group of (usually) eight bits.
-
True or False? The algorithm for converting a number in base 10 to base 2 is to successively divide the number by ten until the remainder becomes 0.
-
True or False? The fundamental hardware components of computer system are the central processing unit (CPU), main memory, volatile memory, input/output devices, and buses.
-
True or False? Main memory is volatile, meaning that its contents are retained only when power is supplied.
-
True or False? A Central Processing Unit is designed to execute instructions written as a sequence of bits.
-
True or False? A flash (USB) drive is an example of a device containing nonvolatile memory.
-
True or False? Buses provide communication between hardware components.
-
True or False? An operating system is the part of the hardware that controls all the other hardware components of a computer system.
-
True or False? An operating system is an example of system software.
-
True or False? An operating system is what determines the look and feel of a given computer system, not the particular hardware components of the system.
-
True or False? Moore’s Law states that the number of transistors that can be put on a silicon chip doubles roughly every two years, first predicted in 1980.
Multiple Choice Questions
-
Computer hardware comprises
-
applications and programs used by your computer
-
files stored on your computer
-
the physical parts of a computer system
-
All information within a computer system is represented by the use of
-
graphs, charts, numbers, and complex algorithmic languages
-
only two digits, 0 and 1
-
sixteen digits, 0 – 9 and A – F known as hexadecimal representation
-
The term bit stands for
-
beta digit
-
binary digit
-
binary integrated transistor
-
Although values represented in base 2 are significantly longer than those represented in base 10, binary representation is used in digital computing because
-
it’s impossible to design a switch with more than two options
-
of the resulting simplicity of hardware design
-
early technology wasn’t advanced enough to utilize binary representation
-
An operating system
-
is software that manage the hardware of a computer and provides a user interface
-
converts binary data to hexadecimal data for the computer to understand
Fill-in-the-Blank Questions
-
We are used to representing numbers in a decimal system, that is, in base __ten___.
-
Any information can be represented by use of only __two____ symbols.
-
10011 is a binary number. The number that it translates to in the decimal system that we are used to is __19___.
-
A byte usually consists of __eight__ bits.
-
The prediction that the number of transistors that would be able to be put on a silicon chip would double roughly every two years is known as _Moore’s Law__.
Open Response Questions
-
Convert the following binary numbers to base ten.
(a) 1010 (b) 10000 (c) 1111 (d) 1111111 (e) 10000001
(a) 10 (b) 16 (c) 15 (d) 127 (e) 129
-
Show all steps for converting the following base ten values into binary (base 2)
representation.
(a) 11 (b) 25 (c) 47
ANSWERS
(a) 11 / 2 5, with remainder 1
5 / 2 2, with remainder 1
2/2 1, with remainder 0
1/2 0, with remainder 1
Thus, 11 = 1011 (base 2)
(b) 25 / 2 12, with remainder 1
12 / 2 6, with remainder 0
6/2 3, with remainder 0
3/2 1, with remainder 1
1/2 0, with remainder 1
Thus, 25 = 11001 (base 2)
(c) 47 / 2 23, with remainder 1
23 / 2 11, with remainder 1
11/2 5, with remainder 1
5/2 2, with remainder 1
2/2 1, with remainder 0
1/2 0, with remainder 1
Thus, 47 = 101111 (base 2)
Section 1.4 Computer Software
True/False Questions
-
True or False? Charles Babbage is considered the first computer programmer.
-
True or False? While system software is intrinsic to a computer system, application software serves the particular needs of the user.
-
True or False? The statement “Hear are the results.” contains a semantic error.
-
True or False? Programming languages are artificial languages, and therefore do not have a clear set of rules of syntax.
-
True or False? Most programs are written in machine code because this is the only thing the CPU can process.
-
True or False? Python is a “high level” programming language?
-
True or False? Compiled programs generally execute faster than interpreted programs.
-
True or False? Computers do not understand what a program is meant to do, they only follow given instructions.
-
True or False? Program debugging is a small part of program development.
-
True or False? Syntax errors are generally easier to find than logic (semantic) errors.
-
True or False? The two major programming paradigms in use today are imperative programming and object-oriented programming.
Multiple Choice Questions
-
A photo editing program is an example of
-
system software
-
application software
-
security software
-
none of the above
-
“Hello there, how are you?” is an example of an English sentence that is
-
syntactically correct
-
semantically incorrect
-
both of the above
-
“Colorless green ideas sleep furiously” is an example of an English sentence that is
-
syntactically correct
-
semantically correct
-
neither the above
Fill-in-the-Blank Questions
-
The Central Processing Unit can only run programs written in __machine code____.
-
The two major programming paradigms in use today are __imperative__ programming and ___object-oriented___ programming.
Open Response Questions
-
For each of the following, indicate whether it contains a syntax error, a semantic (logic) error, or has no syntax or semantic errors.
(a) n1 = 10
n2 = 20
print('The sum of n1 + n2 is', n2)
Semantic (logic) error: print('The sum of n1 + n2 is', n1 + n2)
(b) n1 = 5
n2 = 10
n3 = 20
result = n1(n2 + n3)
print('Result =', result)
Syntax error: n1(n2 + n3) should be n1 * (n2 + n3)
(c) firstname = input('Please enter your first name: ')
lastname = input('Please enter your last name: ')
print('Hello', firstname, lastname)
No errors (syntactically and semantically correct)
Section 1.5 The Process of Computational Problem Solving
True/False Questions
-
True or False? A brute force approach to computational problem solving is never tractable.
-
True or False? Every computational problem has an infinite number of solutions.
-
True or False? There is only one best solution for any given computational problem.
-
True or False? The best representation of the data in a given program is the one that is most intuitive and understandable by other programmers.
-
True or False? Algorithms that work well in general, but not necessarily for every problem instance, are called probabilistic algorithms.
-
True or False? Any changes made in correcting a program error should be fully understood as to why the changes correct the detected error.
Multiple Choice Questions
-
Software testing is a crucial part of software development. Testing is done
-
incrementally as the program is being developed
-
when the program is complete
-
when the program needs to be updated
-
all of the above
-
A program is generally designed to solve a problem. For each problem, there may be:
-
only one solution
-
only an approximate solution
-
a best solution
-
numerous solutions
-
any of the above
Open Response Questions
-
Give the four fundamental steps of computational problem solving described in chapter 1.
ANSWER: Analysis, Design, Implementation, Testing
Section 1.6 The Python Programming Language
True/False Question
-
True or False? Guido van Rossum is the created of the Python programming language.
-
True or False? IDLE is the integrated development environment (IDE) bundled with the Python programming language.
-
True or False? The Python Standard Library is a collection of example Python programs.
-
True or False? The values of the arithmetic expression 2 * (2 ** 3) in Python is 16.
-
True or False? The following expressions 4(2 + 6) and 4*(2 + 6) are equivalent in Python.
-
True or False? The input function in Python both displays output on the screen and gets input from the user.
Multiple Choice Questions
-
Python is most commonly translated by use of an
-
interpreter
-
compiler
-
executer
-
Characters within quotes, such as ‘Hello World!’, are called
-
buffers
-
textlines
-
strings
-
For the following lines of Python code, assuming that the user enters “Charles” when prompted for their name, what would the output be?
name = input(‘What is your name? ‘)
print(‘Hello’, name)
-
Hello, Charles
-
Hello, Charles
-
Hello, Charles!
Fill-in-the-Blank Questions
-
“A name that is assigned to a value” is a simple description of what fundamental programming concept? ___a variable___
Open Response Questions
-
Give the value of each of the following in Python.
(a) 4 * 3 (b) (4 * 5) + 12 (c) (6 + 9) / 10 (d) 2 ** 4
(a) 12 (b) 32 (c) 1.5 (d) 16
-
What is displayed by the following Python code?
(a) n = 20
print('n = ', n)
Displays on screen: n = 20
(b) n = 20
k = n + 10
print('k = ', n)
Displays on screen: k = 30
(c) n = 20
k = 10
print('n + k = ', n + k)
Displays on screen: n + k = 30
-
What is displayed by the following Python code? Assume that the user enters Crystal for each of the following user prompts.
(a) name = input('What is your name? ')
print('Hello', name)
Displays on screen: Hello Crystal
(a) name = input('What is your name? ')
print('Hello,', name, 'is a nice name')
Displays on screen: Hello, Crystal is a nice name
Introduction to Computer Science Using Python – Dierbach Copyright 2013 John Wiley and Sons
Share with your friends: |